ควบคุม Stepper Motor ด้วย ภาษาซี Stepping Motor หรือ Stepper Motor เป็นมอเตอร์ที่มีลักษณะเมื่อเราป้อนไฟฟ้าให้กับมอเตอร์ทำให้หมุนเพียงเล็กน้อยตามเส้นรอบวงและหยุด ซึ่งต่าง จากมอเตอร์ ทั่วไปที่จะหมุนทันทีและตลอดเวลาเมื่อป้อนแรงดันไฟฟ้าข้อดีของสเต็ปมอเตอร์ สามารถกำหนด ตำแหน่งของการหมุนด้วยตัวเลข(องศาหรือระยะทาง) ได้อย่างละเอียดโดย ใช้คอมพิวเตอร์หรือ ไมโครคอนโทรลเลอร์เป็น เครื่องกำหนดและจัดเก็บตัวเลข…
ควบคุม Servo Motor ภาษาซี เซอร์โวมอเตอร์ (Servo Motor) เป็นการรวมมอเตอร์ไฟฟ้ากระแสตรง (DC Motor) เข้ากับวงจรควบคุม โดยความแตกต่างที่สำคัญของเซอร์โวมอเตอร์กับมอเตอร์แบบอื่น ๆ คือเซอร์โวมอเตอร์จะรู้ตำแหน่งที่ตัวเองอยู่ และสั่งเปลี่ยนตำแหน่งโดยการเปลี่ยนองศาได้ นิยมใช้งานในเครื่องบินบังคับ เรือบังคับ โดยใช้กำหนดทิศทางของหางเสือเป็นองศา การทํางานเพียงตัว Servo…
ควบคุม DC Motor ด้วย L298N มอเตอร์ไฟฟ้ากระแสตรง (DC motor) เป็นอุปกรณ์ที่ทำหน้าที่เปลี่ยนพลังงานไฟฟ้าเป็นพลังงานกล โดยเมื่อจ่ายไฟให้แก่มอเตอร์ จะทำให้แกนของมอเตอร์หมุน จึงสามารถนำการหมุนของแกนมอเตอร์ไปใช้ในการขับเคลื่อนวัตถุให้เกิดการเคลื่อนที่ มอเตอร์ไฟฟ้ากระแสตรงมีขนาดและพิกัดแรงดันให้เลือกใช้มากมาย ในบทความนี้จะเน้นไปที่มอเตอร์ขนาดเล็กที่ใช้แรงดันในย่าน +1.5 ถึง +12V ซึ่งมีการใช้งานในหุ่นยนต์หรือสิ่งประดิษฐ์ที่มีกลไกเคลื่อนไหว บทความนี้จะสอนใช้งาน ATmega328P ควบคุมความเร็วมอเตอร์ไฟฟ้ากระแสตรง (DC motor) ด้วยการเขียนโปรแกรมภาษาซี (C)…
การใช้งาน PWM ภาษาซี
การใช้งานอินเตอร์รัพท์ ภาษาซี อินเตอร์รัพท์ (Interrupt) คือการขัดจังหวะการทำงานของโปรแกรมปกติ เมื่อเกิดเหตุการณ์บางอย่างขึ้น ทำให้ซีพียูไปทำงานที่กำหนดไว้เมื่อเกิดอินเตอร์รัพท์ คำสั่ง Interrupt ใน ATmega328P คือ การขัดจังหวะ คำสั่งนี้มีประโยชน์มาก โดยเมื่อ ATmega328P ได้รับสัญญาณ Interrupt แจ้งเข้ามา จะหยุดพักงานที่ทำอยู่…
Push Button กดติดปล่อยดับ การใช้งานสวิตช์ ต่อกับ ATmega328P เพื่อใช้การกดปุ่ม ให้เป็น Input ให้กับ ATmega328P ในการประมวลผลต่อไป เช่น การเขียนโปรแกรมให้กดสวิตช์แล้วให้ไฟติด แล้วเมื่อปล่อยสวิตช์ให้ไฟดับ โดยเราจะกำหนดสัญญาณ 0 หรือ 1 ให้กับขาของ…
การเขียนโปรแกรม GPIO เบื้องต้น GPIO (General Purpose Input / Output) คืออินเทอร์เฟซที่ควบคุมด้วยซอฟต์แวร์ซึ่งมักพบในไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์ ICs หรือชิปเซ็ตอินเทอร์เฟซบางตัว โดยทั่วไปแล้ว GPIO จะเป็นขาหนึ่งตัวขึ้นไปบน IC ซึ่งไม่มีจุดประสงค์พิเศษในตัวมันเอง แต่ช่วยอำนวยความสะดวกให้กับนักออกแบบอุปกรณ์ในการสร้างอินเทอร์เฟซ / การเชื่อมต่อระหว่าง…
อัพโหลดโค้ด ATmega328P ด้วย External Tools ในบทความนี้เราจะเรียนรู้วิธีโหลดโปรแกรมไปยังบอร์ด ATmega328P โดยใช้ Atmel Studio สิ่งนี้มีประโยชน์เมื่อคุณต้องการพัฒนาโปรแกรมโดยใช้คุณสมบัติขั้นสูงเพิ่มเติมหรือในภาษาอื่นในเช่นเราจะใช้ภาษา C , Assembly ในการทำงานนี้เราจะใช้ตัวเลือก “avrdude” และ “external tools” ใน…
ในบทความนี้เราจะเรียนรู้วิธีโหลดโปรแกรมไปยังบอร์ด Arduino UNO โดยใช้ Atmel Studio แทน Arduino IDE สิ่งนี้มีประโยชน์เมื่อคุณต้องการพัฒนาโปรแกรมโดยใช้คุณสมบัติขั้นสูงเพิ่มเติมหรือในภาษาอื่นในเช่นเราจะใช้ภาษา C , Assembly หากคุณได้ลองแล้วคุณควรรู้ว่าการโหลดโปรแกรมผ่าน de arduino USB นั้นยุ่งยากมากเพราะ Atmel Studio…
การเขียน ภาษา Assembly กับ Arduino Uno ATmega328P ภาษา Assembly คือ ภาษาที่ใช้ในการเขียนโปรแกรมภาษาหนึ่ง ซึ่งจะทำงานโดยขึ้นกับรุ่นของไมโครโพรเซสเซอร์ หรือหน่วยประมวลผล (CPU) ของเครื่องคอมพิวเตอร์ การใช้ภาษาแอสเซมบลีจำเป็นต้องผ่านการแปลภาษาด้วยคอมไพเลอร์เฉพาะเรียกว่า แอสเซมเบลอร์ (Assembler) ภาษาแอสเซมบลี จัดอยู่ในภาษาระดับต่ำ…