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

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

โปรแกรมแรก VB.NET กับ Visual Studio 2015

โปรแกรมแรก VB.NET กับ Visual Studio 2015 ภาษา VB.NET ซึ่งได้รับการต่อยอดมาจากภาษายอดนิยมอย่าง VB6 นั่นเอง สิ่งสำคัญที่เพิ่มเข้ามาใหม่ใน VB.NET ก็คือความสามารถด้าน OOP (Object Oriented Programming: การเขียนโปรแกรมเชิงวัตถุ) ที่ได้รับการปรับปรุงจนเรียกได้ว่า…

โปรแกรมแรก ภาษาปาสคาล กับ Arduino

โปรแกรมแรก ภาษาปาสคาล กับ Arduino ตัวอย่างง่ายๆซึ่งจะใช้ช่องทางติดต่อการสื่อสารผ่านพอร์ทอนุกรม (Series Port) จากคอมพิวเตอร์ไปที่ Arduino UNO R3 เพื่อทำการควบคุมการทำงาน เปิด/ปิด หลอดไฟ LED ที่เชื่อมต่อกับขา 13 ซึ่งมาพร้อมกับบอร์ดอยู่แล้ว โดยใช้ แอปพลิเคชั่นลาซารัส…

เปิดปิดไฟ LED ของ Arduino ด้วยภาษา C#

เปิดปิดไฟ LED ของ Arduino ด้วยภาษา C# ตัวอย่างง่ายๆซึ่งจะใช้ช่องทางติดต่อการสื่อสารผ่านพอร์ทอนุกรม (Series Port) จากคอมพิวเตอร์ไปที่ Arduino UNO R3 เพื่อทำการควบคุมการทำงาน เปิด/ปิด หลอดไฟ LED ที่เชื่อมต่อกับขา 13 ซึ่งมาพร้อมกับบอร์ดอยู่แล้ว…

โปรแกรมแรก C# กับ Visual Studio 2015

โปรแกรมแรก C# กับ Visual Studio 2015 สำหรับโปรแกรม Visual Studio นั้น เป็นโปรแกรมที่เป็นเครื่องมือในการพัฒนาหรือสร้างโปรแกรม ระบบต่างๆ บนฝั่ง Window หรือ Mobile เป็น IDE ตัวนึงที่รองรับ Project…

โปรแกรมแรก กับ Visual Studio 2019

โปรแกรมแรก กับ Visual Studio 2019 สำหรับโปรแกรม Visual Studio นั้น เป็นโปรแกรมที่เป็นเครื่องมือในการพัฒนาหรือสร้างโปรแกรม ระบบต่างๆ บนฝั่ง Window หรือ Mobile เป็น IDE ตัวนึงที่รองรับ Project ที่สร้างด้วยหลายๆภาษา…

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

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

โปรแกรมแรก กับ บอร์ด micro:bit

โปรแกรมแรก กับ บอร์ด micro:bit ในโลกของการเขียนโปรแกรม “Hello World” คือ คำที่นิยมใช้เวลาเริ่มเขียนโปรแกรมแรก (มักเป็นโปรแกรมง่ายๆ เพื่อทดสอบการทำงาน ว่าสามารถทำงานได้จริง) ในโลกของอิเล็กทรอนิกส์ก็เช่นกัน “Hello World” ก็คือ การทำ “ไฟกระพริบ” ด้วยตัวอย่างโปรแกรมแรก กับ…

ภาษาแอสเซมบลี ปุ่มขัดจังหวะ interrupt

AVR ภาษาแอสเซมบลี #6 ปุ่มขัดจังหวะ interrupt

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

AVR ภาษาแอสเซมบลี #5 ควบคุมความสว่าง LED ด้วย PWM

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

AVR ภาษาแอสเซมบลี #4 ไฟกระพริบ ด้วย Timer

ภาษาแอสเซมบลี ไฟกระพริบ ด้วย Timer ในบทความนี้จะโบกมือลาให้กับการนับลูปที่ยาวและน่าเบื่อ เราปล่อยให้ตัวจับเวลาภายในทำหน้าที่ในการนับให้เป็นอิสระจากการดำเนินการของโปรแกรม ความรู้เบื้องต้นเกี่ยวกับฮาร์ดแวร์จับเวลา ตัวจับเวลาในตัว (exact: timer/counter, TC0) เป็นส่วนประกอบฮาร์ดแวร์ภายในที่ใช้บ่อยที่สุด ในฐานะที่เป็นองค์ประกอบที่หลากหลายจึงมีโหมดต่างๆมากมายขึ้นอยู่กับความต้องการของเรา เราจะใช้ตัวจับเวลาในการอธิบายในภายหลังดังนั้นในการอธิบายครั้งต่อไปเราจะใช้ตัวจับเวลานี้ในโหมดต่างๆเพื่อควบคุม LED อุปกรณ์ AVR ที่แตกต่างกันมีตัวนับจำนวนที่แตกต่างกัน สิ่งเหล่านี้มีชื่อว่า TC0, TC1…

AVR ภาษาแอสเซมบลี Blink ไฟกระพริบ LED

AVR ภาษาแอสเซมบลี #3 Blink ไฟกระพริบ LED

AVR ภาษาแอสเซมบลี Blink ไฟกระพริบ LED บทความนี้ จะกล่าวถึงการทำให้ LED ที่อยู่เชื่อมต่ออยู่ที่ ขา PB0 ของ ATtiny13 ให้กระพริบได้ ด้วยการหน่วงเวลา หรือเว้นระยะ ในการ เปิดไฟ LED ซึ่งพื้นฐานของการสลับพอร์ตเอาต์พุตได้อธิบายไว้แล้วในบทความก่อนหน้านี้ว่า:…

AVR ภาษาแอสเซมบลี โปรแกรมแรก

AVR ภาษาแอสเซมบลี #2 โปรแกรมแรก เปิดไฟ LED

AVR ภาษาแอสเซมบลี โปรแกรมแรก เปิดไฟ LED ไมโครคอนโทรลเลอร์ ATtiny13 ไมโครคอนโทรลเลอร์ ATtiny13 มี 8 ขา ซึ่งสามารถใช้เป็นขา GPIO (General Purpose Input / Output) ได้…