บทความ

กำลังแสดงโพสต์จาก มกราคม, 2019

LCD กับ Arduino

รูปภาพ
เมื่อต่อวงจรเรียบร้อยแล้ว ต่อสาย USB เข้ากับบอร์ด Arduino จะเห็นกล่องสีเหลี่ยมทั้งหมด 16 ตัว (หากเป็นจอ 16x2) ในบรรทัดแรก หากไม่พบกล่อง ให้ปรับความชัดได้จาก VR ที่ต่ออยู่กับขา V0 เมื่ออัพโหลดโค้ดลงไปเรียบร้อยแล้ว หากมองไม่เห็นตัวอักษร หรือเห็นไม่ชัด ให้ปรับความคมชัดที่ VR 10K อีกครั้ง เมื่อปรับอยู่ในระดับที่พอดี กดปุ่ม Reset บนบอร์ด Arduino จะได้ผลออกมาตามคลิปด้านล่างเป็นผลลัพธ์ที่ถูกต้อง #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7 void setup() {   lcd.begin(16, 2); // จอกว้าง 16 ตัวอักษร 2 บรรทัด   lcd.print("LCDisplay"); // แสดงผลคำว่า Hello, world! ออกหน้าจอ   lcd.setCursor(0, 1); // เลื่อนเคเซอร์ไปบรรทัดที่ 2 ลำดับที่ 0 (ก่อนหน้าตัวอักษรแรก)   lcd.print("www.ioxhop.com"); // แสดงผลคำว่า www.ioxhop.com   delay(3000); // หน่วงเวลา 3 วินาที   lcd.clear(); // ล้างหน้าจอ } void loop() {   lcd.setCursor(0, 0);   lcd.print(" InFunction ");   lcd.setCursor(0, 1); ...

Learning 7 Segment + Arduino

รูปภาพ
การควบคุม LED แต่ละ Segment ขึ้นอยู่กับการจ่าไฟไปยัง Segment นั้นๆ แต่ไม่ได้หมายความว่า เมื่อจ่ายไฟบวกไปยัง Segment ใดๆ แล้ว Segment นั้นไฟจะติด เพราะมันขึ้นอยู่กับว่า 7 Segment ของเราเป็นแบบขาบวกร่วม หรือลบร่วม แบบ  Common Anode  เมื่อต้องการให้ไฟที่ Segment ใดๆติด จะต้องให้ขาของ Segment นั้นเป็น 0 หรือ LOW แบบ  Common Cathode  เมื่อต้องการให้ไฟที่ Segment ใดๆติด จะต้องให้ขาของ Segment นั้นเป็น 1 หรือ HIGH เนื่องจาก ตามหลักการที่ว่า กระแสไฟฟ้าย่อมไหลจาก ศักย์สูง ไปยัง ศักย์ต่ำ นั่นหมายถึง การที่ไฟ LED จะติดได้ จะต้องเกิดจากการที่มีกระแสไฟฟ้าไหลผ่านตัวมัน จากจุดที่มีศักย์ไฟฟ้าสูงกว่า ไปยังจุดที่มีศักย์ไฟฟ้าต่ำกว่า หรือที่เรียกว่าความต่างศักย์นั่นเอง เพราะฉะนั้นขาร่วมแบบ  "บวกร่วม"  จะมีศักย์ไฟฟ้าที่สูงกว่า จึงต้องทำให้ปลายอีกข้างเป็น LOW เพื่อให้กระแสไหลผ่านได้ ส่วนขาร่วมแบบ  "ลบร่วม"  ก็จะตรงกันข้ามนั่นเอง โดยค่าความต่างศักย์ จะต้องไม่เกินค่าที่ LED นั้นๆทนได้ ซึ่งในบทเรียนนี้ เราจะยกตัวอย่างเป็น 7 Segment LED สีแดง ซึ่งจะทนความต่า...