Lesson 03 : ทำป้ายโฆษณา จาก LCD

ในบทเรียนนี้จะสอนให้น้อง ๆ เรียนรูปการใช้งานโปรแกรม Arduino แบบง่าย ๆ โดยเราจะจำลองการทำป้ายโฆษณาขายของกัน

ระดับความยาก :  

สิ่งที่ต้องทราบก่อนเริ่มเรียน

สิ่งที่จะได้จากบทเรียนนี้

อุปกรณ์

ลำดับชิ้นส่วนจำนวน
1Board Arduino UNO1 ชิ้น
2Bread Board1 ชิ้น
3สาย Jump ผู้ – เมีย4 เส้น
4จอ LED1 จอ
5ตัวต้านทาน 1kโอม1 ตัว
6Micro Switch1 ตัว
7สาย Jump แบบผู้ – ผู้5 เส้น

ให้ต่ออุปกรณ์ดังรูปต่อไปนี้

Coding กันเลย
เปิดโปรแกรม Arduino และ New File ขึ้นมาดังภาพที่ 1

ภาพที่ 1 แสดงการสร้างไฟล์ใหม่

พิมพ์ code ตามภาพที่ 2 (download code here) จากนั้นกดปุ่มบันทึกและตั้งชื่อตามที่ต้องการ

/**
* @desc Class นี้ใช้สำหรับเรียนรู้การทำงานเบื้องต้นของ Arduino และ LED
* @author Prayoon V.,
* Email : themakerthailand@hotmail.com
* Facebook : @MrMakerThailand
*///เรียนใช้ Library สำเร็จรูป
#include
#include

//ประกาศค่าตัวแปร LCD โดย
//ค่า 0x3f หมายถึง LCD Address
//16 หมายถึง จำนวนการแสดงผลในหนึ่งบรรทัด 16 ช่องอักษร
//2 หมายถึง จำนวนบรรทัดที่จะแสดงผล
LiquidCrystal_I2C lcd(0x3F,16,2);

//กำหนดหมายเลข PIN รับค่าจาก Switch
#define SWITCH_PIN 2

#define DELAY 1000

void setup() {
//เรียก function init() ก่อนเพื่อเริ่มใช้ LCD
lcd.init();

//กำหนดให้ LCD แสดงแสงพื้นหลัง
lcd.backlight();
//lcd.noBacklight(); //หากไม่ต้องการแสดงแสงพื้นหลังให้ลองใช้คำสั่งนี้

//กำหนดให้ Arduino Board รับทราบว่าหมายเลข PIN นี้เป็น PIN แบบ INPUT เพื่อรอรับค่าจาก Switch
pinMode(SWITCH_PIN,INPUT);

Serial.begin(9600);
}

void loop() {
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“Wait for press.”);

int buttonState = digitalRead(SWITCH_PIN);
//ถ้า Switch ปุ่มใดโดนกดจะมีค่าเป็น HIGH
if(buttonState == HIGH){
Serial.println(“button pressed.”);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“The Maker”);
lcd.setCursor(5,1);
lcd.print(“Thailand”);
}else{
Serial.println(“button not pressed.”);
}

delay(DELAY);
}

ภาพที่ 2 แสดง Sourcecode


ภาพที่ 3 แสดงการบันทึก

สั่ง Compile code โดยใช้คลิกที่ปุ่ม Verify ตามภาพที่ 4

ภาพที่ 4 แสดงการ Verify และ Compile Sourcecode

สั่ง Deploy code ไปที่ Board Arduino ตามภาพที่ 5

ภาพที่ 5 แสดงการ Upload Program ไปที่ Board Arduino

รอดูผลลัพธ์น้อง ๆ จะเห็นว่าจอ LCD จะแสดงผลดังภาพที่ 6 และเมื่อกดปุ่มจอ LCD ก็จะสลับมาแสดงข้อความดังภาพที่ 7

ภาพที่ 6 จอ LCD แสดงข้อความแบบที่ 1


ภาพที่ 7 เมื่อกดปุ่มจอ LCD แสดงข้อความแบบที่ 2

ภาพที่ 8 ผลลัพธ์การทำงาน

!!!สำเร็จแล้ว!!!

ฝากการบ้าน
น้อง ๆ ลองทำให้ตัวอักษร วิ่ง จากซ้ายไปขวาดูนะครับ ถ้าทำไม่ได้ สอบถามมาได้เลยนะครับ โดยคลิกที่นี่ Line
เมื่อน้อง ๆ ทำสำเร็จแล้วอย่าลืมแชร์ให้เพื่อนๆ ดูได้ที่ Facebook MrMakerThailand
และหากน้องๆ ทำไม่ได้ ให้ติดต่อมาได้ตลอดเวลาที่ Inbox นะครับ