► C

การเขียนโปรแกรม ไมโครคอนโทรลเลอร์ ด้วย ภาษาซี (C Programming Language) คือ ภาษาคอมพิวเตอร์ใช้สำหรับพัฒนาโปรแกรมทั่วไป C หรือ C Language (ภาษาซี) ถูกพัฒนาโดยเดนนิส ริสชี่ (Dennis Ritchie)

การใช้งาน ATmega32 ภาษาซี กับ 7 Segment

การใช้งาน ATmega32 ภาษาซี กับ 7 Segment Seven Segment Display (SSD) เป็นอุปกรณ์แสดงผลแบบคลาสสิกสำหรับอุปกรณ์อิเล็กทรอนิกส์ดิจิทัลระดับล่าง 7 Segment คือหน้าจอแสดงผลตัวเลข – ตัวอักษร (ได้บางตัว) ที่มีหน้าจอทำมาจากการจัดวางหลอด LED ในแนวยาว…

โปรแกรมแรก กับ ATmega32 Board

โปรแกรมแรก กับ ATmega32 Board สำหรับไมโครคอนโทรลเลอร์ Atmega328 เป็นไอซีไมโครคอนโทรลเลอร์ของบริษัท Atmel มีโครงสร้าง ภายในเป็นแบบ RISC (Reduced instruction set Computer) มีหน่วยความจำโปรแกรมภายในเป็นแบบแฟลช สามารถเขียน-ลบโปรแกรมใหม่ได้หลายครั้ง โปรแกรมข้อมูลเป็นแบบ In-System programmable…

ATmega328P ภาษาซี C9: ควบคุม Stepper Motor

ควบคุม Stepper Motor ด้วย ภาษาซี Stepping Motor หรือ Stepper Motor เป็นมอเตอร์ที่มีลักษณะเมื่อเราป้อนไฟฟ้าให้กับมอเตอร์ทำให้หมุนเพียงเล็กน้อยตามเส้นรอบวงและหยุด ซึ่งต่าง จากมอเตอร์ ทั่วไปที่จะหมุนทันทีและตลอดเวลาเมื่อป้อนแรงดันไฟฟ้าข้อดีของสเต็ปมอเตอร์ สามารถกำหนด ตำแหน่งของการหมุนด้วยตัวเลข(องศาหรือระยะทาง) ได้อย่างละเอียดโดย ใช้คอมพิวเตอร์หรือ ไมโครคอนโทรลเลอร์เป็น เครื่องกำหนดและจัดเก็บตัวเลข…

ควบคุม DC Motor ด้วย L298N

ATmega328P ภาษาซี C7: ควบคุม DC Motor ด้วย L298N

ควบคุม DC Motor ด้วย L298N มอเตอร์ไฟฟ้ากระแสตรง (DC motor)  เป็นอุปกรณ์ที่ทำหน้าที่เปลี่ยนพลังงานไฟฟ้าเป็นพลังงานกล โดยเมื่อจ่ายไฟให้แก่มอเตอร์ จะทำให้แกนของมอเตอร์หมุน จึงสามารถนำการหมุนของแกนมอเตอร์ไปใช้ในการขับเคลื่อนวัตถุให้เกิดการเคลื่อนที่ มอเตอร์ไฟฟ้ากระแสตรงมีขนาดและพิกัดแรงดันให้เลือกใช้มากมาย ในบทความนี้จะเน้นไปที่มอเตอร์ขนาดเล็กที่ใช้แรงดันในย่าน +1.5 ถึง +12V ซึ่งมีการใช้งานในหุ่นยนต์หรือสิ่งประดิษฐ์ที่มีกลไกเคลื่อนไหว บทความนี้จะสอนใช้งาน ATmega328P ควบคุมความเร็วมอเตอร์ไฟฟ้ากระแสตรง (DC motor) ด้วยการเขียนโปรแกรมภาษาซี (C)…

ATmega328P ภาษาซี C5: การใช้งานอินเตอร์รัพท์

การใช้งานอินเตอร์รัพท์ ภาษาซี อินเตอร์รัพท์ (Interrupt) คือการขัดจังหวะการทำงานของโปรแกรมปกติ เมื่อเกิดเหตุการณ์บางอย่างขึ้น ทำให้ซีพียูไปทำงานที่กำหนดไว้เมื่อเกิดอินเตอร์รัพท์ คำสั่ง Interrupt ใน ATmega328P คือ การขัดจังหวะ คำสั่งนี้มีประโยชน์มาก โดยเมื่อ ATmega328P ได้รับสัญญาณ Interrupt แจ้งเข้ามา จะหยุดพักงานที่ทำอยู่…

ATmega328P ภาษาซี C4: Push Button กดติดปล่อยดับ

Push Button กดติดปล่อยดับ การใช้งานสวิตช์ ต่อกับ ATmega328P เพื่อใช้การกดปุ่ม ให้เป็น Input ให้กับ ATmega328P ในการประมวลผลต่อไป เช่น การเขียนโปรแกรมให้กดสวิตช์แล้วให้ไฟติด แล้วเมื่อปล่อยสวิตช์ให้ไฟดับ โดยเราจะกำหนดสัญญาณ 0 หรือ 1 ให้กับขาของ…

ATmega328P ภาษาซี C3: การเขียนโปรแกรม GPIO เบื้องต้น

การเขียนโปรแกรม GPIO เบื้องต้น GPIO (General Purpose Input / Output) คืออินเทอร์เฟซที่ควบคุมด้วยซอฟต์แวร์ซึ่งมักพบในไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์ ICs หรือชิปเซ็ตอินเทอร์เฟซบางตัว โดยทั่วไปแล้ว GPIO จะเป็นขาหนึ่งตัวขึ้นไปบน IC ซึ่งไม่มีจุดประสงค์พิเศษในตัวมันเอง แต่ช่วยอำนวยความสะดวกให้กับนักออกแบบอุปกรณ์ในการสร้างอินเทอร์เฟซ / การเชื่อมต่อระหว่าง…

ATmega328P ภาษาซี C2: อัพโหลดโค้ด ด้วย External Tools

อัพโหลดโค้ด ATmega328P ด้วย External Tools ในบทความนี้เราจะเรียนรู้วิธีโหลดโปรแกรมไปยังบอร์ด ATmega328P โดยใช้ Atmel Studio สิ่งนี้มีประโยชน์เมื่อคุณต้องการพัฒนาโปรแกรมโดยใช้คุณสมบัติขั้นสูงเพิ่มเติมหรือในภาษาอื่นในเช่นเราจะใช้ภาษา C , Assembly ในการทำงานนี้เราจะใช้ตัวเลือก “avrdude” และ “external tools” ใน…

ATmega328P ภาษาซี C1: โปรแกรมแรก กับ ATmega328P

โปรแกรมแรก กับ ATmega328P ไมโครคอนโทรลเลอร์ Atmega328P เป็นไอซีไมโครคอนโทรลเลอร์ของบริษัท Atmel มีโครงสร้างภายในเป็นแบบ RISC (Reduced instruction set Computer) มีหน่วยความจำโปรแกรมภายในเป็นแบบแฟลช สามารถเขียน-ลบโปรแกรมใหม่ได้หลายครั้ง โปรแกรมข้อมูลเป็นแบบ In-System programmable Atmel Studio…

ATmega328P ภาษาซี C0: เบิร์น Bootloader ATmega328P

เบิร์น Bootloader ATmega328P การจะทำให้ ATmega328P ใช้งานเป็น Arduino ได้นั้น จำเป็นที่จะต้องมี Bootloader ก่อน ซึ่งเจ้า Bootloader นี่มันคือ firmware ที่ทำหน้าที่ช่วยในการ upload sketch ที่เราเขียนผ่านทางสาย USB…

การใช้ Atmel Studio 7 อัพโหลดโค้ด บอร์ด Arduino UNO

ในบทความนี้เราจะเรียนรู้วิธีโหลดโปรแกรมไปยังบอร์ด Arduino UNO โดยใช้ Atmel Studio แทน Arduino IDE สิ่งนี้มีประโยชน์เมื่อคุณต้องการพัฒนาโปรแกรมโดยใช้คุณสมบัติขั้นสูงเพิ่มเติมหรือในภาษาอื่นในเช่นเราจะใช้ภาษา C , Assembly หากคุณได้ลองแล้วคุณควรรู้ว่าการโหลดโปรแกรมผ่าน de arduino USB นั้นยุ่งยากมากเพราะ Atmel Studio…

การใช้งาน STM32CubeIDE กับ STM32F103C8T6

การใช้งาน STM32CubeIDE กับ STM32F103C8T6 บทความนี้เกี่ยวกับการใช้ STM32CubeIDE เพื่อพัฒนาแอปพลิเคชันสำหรับไมโครคอนโทรลเลอร์ STM32 ทำไมต้องพัฒนาแอปพลิเคชันโดยใช้ STM32Cube IDE และข้อดีและข้อเสียของการใช้งานคืออะไร? อุปกรณ์ที่ใช้ 1. STM32F103C8T6 Development Board Minimum STM32 2. ST-Link V2…

การติดตั้งโปรแกรม STM32CubeIDE

การติดตั้งโปรแกรม STM32CubeIDE STM32CubeIDE เป็นของบริษัท STMicroelectronics โดยปรับใช้ TrueSTUDIO IDE ของบริษัท Atolic ซอฟต์แวร์นั้นใช้ Eclipse (opensource) สำหรับทำหน้าที่เป็น IDE ร่วมกัน GNU C/C++ for Arm…