แสดงบทความที่มีป้ายกำกับ ATmega16 แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ ATmega16 แสดงบทความทั้งหมด

วันพฤหัสบดีที่ 19 พฤษภาคม พ.ศ. 2559

ATmega16+LCD เริ่มเขียนโปรแกรมติดต่อ LCD

หลังจากที่ทดสอบบอร์ด ATmega16 ได้แล้ว ก็เริ่มศึกษาการใช้งาน เริ่มต้นก็ทำให้ LED กระพริบ และรับค่าทาง input ที่เป็นสวิทช์กดติดปล่อยดับได้แล้ว แต่ก็ยังไม่ค่อยเข้าใจหลักการที่แท้จริง เลยลองต่อ LCD เพื่อแสดงผล โดยปกติในเว็บต่างๆ มักเป็นตัวอย่างการเชื่อมต่อ และเขียนโปรแกรมโดยใช้ lcd.h

แต่ก็ยังไม่เป็นที่พอใจเพราะตัวอย่างยังไม่ทราบหลักการพื้นฐานการติดต่อ และการส่งคำสั่งไปยังอุปกรณ์ (LCD) ดังนั้นจึงค้นหาไปเรื่อยๆ เพื่อหาตัวอย่างง่ายๆ สั้นๆ แต่ครอบคลุมพื้นฐานโดยไม่ต้องใช้ไลบรารีภายนอก

ATmega16+LCD

มีตัวอย่างอยู่ในเว็บแห่ง electronics hub มีตัวอย่างการใช้งาน 16x2 LCD กับ ATmega16 อยู่ด้วย แต่วงจรที่ให้มากับโปรแกรมไม่ตรงกันจึงต้องแก้ไขนิดหน่อย

สำหรับเว็บเรียนรู้เกี่ยวกับเขียนโปรแกรมติดต่อกับ LCD ผ่าน Arduino IDE ก็ลองอ่านจากเว็บของ thaieasyelec นะครับ

และเว็บ www.kanda.com จะมีเรื่อง AVR keypad LCD in WinAVR C จะมีตัวอย่างคำสั่งให้ศึกษาอีกเว็บหนึ่ง

วันอังคารที่ 17 พฤษภาคม พ.ศ. 2559

เพิ่ม ATmega16 เข้าไปใน boards.txt

การเริ่มเรียนรู้ วิธีการเขียนโปรแกรมด้วย AVR Studio 7 บางครั้งก็สับสนไม่แน่ใจว่าโปรแกรมผิดหรือว่าอุปกรณ์ใช้ไม่ได้ ดังนั้นควรมีหลักในการยึดเพื่อเปรียบเทียบบ้างก็จะดี ทำให้หาสาเหตุได้ง่าย โดยผู้เขียนมักจะใช้ Arduino IDE เป็นหลักในการยัด โดยจะทดสอบกับ Arduino IDE แล้วสามารถใช้งานได้ ก็ถือว่าบอร์ดนั้นใช้ได้ จะได้หาสาเหตุที่โปรแกรมต่อไป

โดยปกติแล้ว ATmega16 ไม่ได้อยู่ในรายการบอร์ดของ Arduino IDE เพราะเท่าที่เห็นแล้วบอร์ด Arduino ไม่ได้ใช้ Chip 40 ขา ซึ่งจะมี I/O มากกว่า โดยมี Port A, B, C และ D สามารถเลือกใช้งานขา I/O ได้ถึง 32 ขา ดังนั้นหากต้องการควบคุมอุปกรณ์เป็นจำนวนมากแล้วย่อมต้องเลือก ATmega16 แต่ถ้าอุปกรณ์เพียงไม่กี่ชิ้นก็ไม่เหมาะเพราะไอซี 40 ขาตัวนี้ค่อนข้างใหญ่เทอะทะพอสมควร

ดังนั้นหากต้องการใช้บน Arduino IDE ก็ต้องเข้าไปเพิ่มอุปกรณ์ในไฟล์ boards.txt และอื่นๆ อีกเล็กน้อย โดยเริ่มแรกหาจากอินเตอร์เน็ต ซึ่งทำตามแล้วยังใช้ไม่ได้ เพราะ IDE คนละเวอร์ชัน สภาพแวดล้อมเปลี่ยนจากเดิม แต่ก็ไม่เหนือบ่ากว่าแรง หากพยายามและมีหลักการการค้นหาปัญหา

ATmega16 ที่เพิ่มเข้าไปใน Arduino IDE จะแยกเป็นฮาร์ดแวร์อีกกลุ่มหนึ่ง

วันอังคารที่ 10 พฤษภาคม พ.ศ. 2559

AVR Loader วิธีง่ายๆ เพื่อใช้สัญญานนาฬิกาภายในไอซี

หลังจากที่พยายามให้ไอซี Atmega8 และ 16 ใช้ Internal Clock เพื่อลดการใช้ X-TAL โดยเบิร์น Bootloader เข้าไปก็ไม่ได้ผลเท่าที่ควร เพราะยุ่งยาก แต่ก็มีวิธีง่ายๆ สำหรับการกำหนดค่า โดยใช้โปรแกรม AVR Loader

การกำหนดค่า FUse จะเป็นการบอกว่าจะใช้สัญญานนาฬิกาจากไหน โดยโปรแกรม AVR Loader สามารถดาวน์โหลดได้จากอินเตอร์เน็ต

โปรแกรม AVR Loader สำหรับแก้ไข อัพโหลดไฟล์ .hex สำหรับ ATmega

Gtk4 ตอนที่ 6 Defining a Child object

Defining a Child object A Very Simple Editor ในบทความที่ผ่านมาเราสร้างโปรแกรมอ่านไฟล์ชนิดข้อความ และในบทความนี้ก็จะมาปรับแต่งโปรแกรมกันสักหน...