Lab 3 Digital Output

จุดประสงค์การเรียนรู้

เพื่อใช้งานสัญญาณDigital OutputในการควบคุมการทำงานของหลอดLED


สาระการเรียนรู้

1. สัญญาณ Digital

เป็นสัญญาณที่มีความเที่ยงตรงที่ค่อนข้างสูง มีได้ 2 ค่า คือ HIGH กับ LOW หรือ 1 กับ 0 นั่นเอง

2. คำสั่งการใช้งาน

รูปแบบการใช้งานคำสั่งในภาษาซีของArduino IDEในเนื้อหานี้ จะใช้คำสั่งดังต่อไปนี้

วัสดุอุปกรณ์

1. ไมโครสวิตซ์ ชนิดกดติดปล่อยดับ จำนวน 1 ตัว

2. ตัวต้านทาน 10 กิโลโอห์ม จำนวน 1 ตัว

3. บอร์ด ESP32 Devkit V.1 จำนวน 1 บอร์ด

4. สายMicro USB จำนวน 1 เส้น

5. Breadboard

6. สายแพร Male-Male

7. หลอด LED จำนวน 3 หลอด

8. ตัวต้านทาน 220 โอห์ม จำนวน 3 ตัว


วิธีทำการทดลอง

1. ต่อวงจรเพิ่มเติมจากLab1 โดยใช้หลอด LED จำนวน 1 หลอด ต่อเข้ากับตัวต้านทานดังนี้ โดยขาสั้นLED(ขั้ว- หรือขั้วCathode)ต่อเข้ากับGND ของบอร์ดESP32 และขายาวLED(ขั้ว+หรือขั้วAnode)ต่อเข้ากับตัวต้านทาน 220 โอห์ม แล้วต่อเข้าที่พอร์ตD5 ของบอร์ดESP32 ดังตาราง Datasheet และรูปการต่อวงจรด้านล่าง

2. ทำการCopy Codeด้านล่างก่อนUpload code Arduino IDE ลงไปใบนบอร์ด ESP32 Devkit v1 ควรเลือกที่Tool -> Board -> ESP32 Arduino ->ESP32 Dev Module (ดังภาพประกอบด้านล่าง)

Arduino IDE Code

void setup() {

pinMode(5,OUTPUT); // port5 output

}


void loop() {

digitalWrite(5,HIGH); // port5 LED on

delay(100); // time 100 ms

digitalWrite(5,LOW); // port 5 LED off

delay(100); // time 100 ms

}

3.หลังจากนั้นให้เข้ามาที่ Tool -> Port แล้วเลือกพอร์ตCom portที่เชื่อมกับUSB ดังรูปข้างล่าง

** กรณีใช้งานใน Ubuntu พอร์ตที่ใช้อาจจะเป็นพอร์ตttyUSB0 ซึ่งจะต้องเลือกเป็นพอร์ตชื่อนี้แทนCom port และก่อนกดUpload ให้ทำการเปิดTerminal โดยเข้าไปที่desktop คลิกขวาตรงพื้นที่ว่าง แล้วเลือก Open Terminal หลังจากนั้นให้พิมพ์ข้อความในTerminalดังนี้เพื่อทำการเปิดพอร์ตUSB : sudo chmod 666 /dev/ttyUSB0 หลังจากนั้นให้กดEnter และทำการกรอกรหัสผ่านของเครื่องพร้อมกับกดปุ่มEnterอีกครั้ง หลังจากนั้นก็Upload codeในArduino IDE


4.ทำการกดปุ่มUpload ที่เป็นรูปหัวลูกษร หรือจะกด Ctrl+u ที่คีย์บอร์ดเพื่อทำการUploadโปรแกรมไปที่บอร์ดESP32 ดังรูปข้างล่าง

5.หลังจากที่Uploadโปรแกรมแล้วจะจะสังเกตเห็นหลอดไฟได้กระพริบติดดับสลับกันอย่างต่อเนื่อง

ตอนที่ 2 ต่อวงจรเพิ่มเติมดังDatasheetและรูปข้างล่าง

หลังจากต่อวงจรเสร็จให้ทำการCopy Code และทำการUpload codeลงในบอร์ดESP32 จะเห็นได้ว่าหลอดLEDทั้ง 3 ดวง

ติดดับสลับกันอย่างต่อเนื่อง

Arduino IDE Code V2

void setup() {

pinMode(5,OUTPUT);

pinMode(19,OUTPUT);

pinMode(23,OUTPUT);

}


void loop() {

digitalWrite(5,HIGH);

delay(100);

digitalWrite(5,LOW);

delay(100);

digitalWrite(19,HIGH);

delay(100);

digitalWrite(19,LOW);

delay(100);

digitalWrite(23,HIGH);

delay(100);

digitalWrite(23,LOW);

delay(100);

}