59
…………. 8. ในกรณที ตี่ ้องการใช้ LED ตัวโต ๆ ท่ตี ้องการกระแสมากกวา่ 20 mA ซง่ึ เกนิ กวา่ กระแสของ
พอรต์
……√……. เอาตพ์ ุตของไมโครคอนโทรลเลอรจ์ า่ ยออกมาได้ จงึ ต้องใช้ทรานซสิ เตอรข์ บั กระแสเพมิ่ เติม
9. ฟงั กช์ นั unsigned long last1, last2, last3; แสดงวา่ ตัวแปร last1, last2, last3; จะตอ้ งใช้
……√……. หน่วยความจำขนาด 32 บติ state ใหม่ ให้มคี ่าตรงกนั ขา้ มกับ state เดิม
10. คำสัง่ state = !state ต้องการให้
ตอนท่ี 2 จงอธิบายสนั้ ๆ ใหไ้ ด้ใจความ
1. จากฟงั กช์ ัน pinMode(pin,mode) ซ่งึ pin หมายถงึ ...ห...ม...า.ย...เ.ล..ข...ข..า..ข..อ...ง..ด..ิจ..ิท...ัล..พ...อ..ร..ต์...ข..อ...ง.บ...อ..ร...ด์ ...A...r.d...u..i.n..o.......
2. คำสง่ั int swPin = 5; มจี ุดประสงคใ์ ด ........ก..ำ..ห...น..ด...ใ.ห...้ .s..w....ต...่อ..ท...พ่ี ...อ..ร..์ต...ด..ิจ..ทิ...ลั ....5.........................................
3. จากฟังก์ชนั digitalRead(D10) ผลลัพธท์ ่ีไดม้ คี ่าเปน็ .................0........................หรอื ..........1...........................
4. จากฟงั กช์ นั digitalWrite(pin,value) ซึ่ง value หมายถงึ .......0...........................หรือ.......1............................
5. ....d..e...l.a..y..(.1...0..0..).;....... เปน็ คำส่งั สำหรบั หน่วงเวลา 100 มิลลวิ ินาที
6. ....d..e...l.a..y..u...s.(.2...5..0..).;... เปน็ คำสง่ั สำหรบั หน่วงเวลา 250 ไมโครวนิ าที
7. ฟังกช์ นั millis มไี ว้เพื่อจุดประสงค์ ...ส...ำ..ห..ร..บั...ก..า..ร..น...ับ...เ.ว..ล..า....(.t.i.m....e..r..)..โ..ด..ย..ท...ำ..ง..า..น..อ...ย..ู่ห...ล..ัง..โ.ป...ร..แ..ก...ร..ม......................
8. สัญญาณรบกวนทเี่ กิดจากหน้าสมั ผสั ของสวติ ชเ์ มื่อถกู กดหรอื ปลอ่ ยน้ัน จะมคี าบเวลาประมาณ....5..0....... ms
9. ภาษาองั กฤษคำว่า debounce มคี วามหมายว่า ...ต..ดั...ส..ญั...ญ...า..ณ....ร..บ..ก...ว..น..อ...อ..ก...ไ.ป..................................................
10. ปรมิ าณกระแสไฟฟ้าท่ีไหลผ่าน LED ทีข่ นาด 5 มิลลิเมตร ท่เี หมาะสมคอื ......1..0.......... มิลลิแอมแปร์
ตอนท่ี 3 จงเลอื กคำตอบท่ีถกู ทส่ี ดุ แลว้ ทำเคร่ืองหมาย x ลงในกระดาษคำตอบ
แบบทดสอบหลงั เรียน
ข้อที่ คำตอบ
1ง
2ข
3ง
4ค
5ง
6ง
7ข
8ง
9ข
10 ก
ไมโครคอนโทรลเลอร์
60
ไมโครคอนโทรลเลอร์
แผนการสอนท่ี 5 หนว่ ยที่ 5
ช่ือวชิ า ไมโครคอนโทรลเลอร์
สอนคร้ังท่ี 7-8
ชื่อหนว่ ย จอแสดงผลสำหรับใช้งานรว่ มกับบอรด์ Arduino
ชอื่ เร่ือง จอแสดงผลสำหรับใชง้ านรว่ มกับบอร์ด Arduino ชว่ั โมงรวม 3 ชว่ั โมง
จำนวน 3 ชัว่ โมง
หัวข้อเร่ืองและงาน
1. การแสดงผลท่หี นา้ จอคอมพวิ เตอร์ด้วย Software serial
2. การแสดงผลด้วยจอ Character LCD
3. การแสดงผลด้วยจอ TFT LCD
4. การแสดงผลดว้ ยจอ OLED
สมรรถนะท่ีต้องการ
1. แสดงความรเู้ ก่ียวกับการแสดงผลท่ีหน้าจอคอมพวิ เตอร์ด้วย Software serial
2. แสดงความรเู้ ก่ยี วกับการแสดงผลดว้ ยจอ Character LCD
3. แสดงความรูเ้ กย่ี วกบั การแสดงผลดว้ ยจอ TFT LCD
4. แสดงความรู้เกีย่ วกับการแสดงผลด้วยจอ OLED
5. เขียนและแก้ไขโปรแกรมภาษา C ทีเ่ ก่ยี วขอ้ งกับการแสดงผลท่ีหน้าจอคอมพิวเตอร์ด้วย Software
สาระสำคญั
การส่ือสารข้อมูลระหว่างบอร์ด Arduino กับไมโครคอมพิวเตอร์นั้น ภายใน Arduino จะมีโมดูล
ส่ือสารข้อมูลอนุกรมที่มาพร้อมกับ Arduino software ท่ีเรียกว่า UART การแสดงผลด้วย character LCD
เป็นที่นิยมใช้สำหรับการแสดงผลของ Arduino เนื่องจากมีราคาถูกและใช้งานง่าย สามารถต่อได้ท้ังแบบ 4
bit แบบ 8 Bit และแบบ i2c นอกจากน้ียังมีผพู้ ัฒนา Software สำหรับการพัฒนาการใชง้ าน character LCD
ไว้เป็นจำนวนมาก หากใช้การสื่อสารแบบ i2C จะมี Chip เบอร์ PCF 8574 เป็นตัวจัดการระบบ เป็นผลให้
การใช้สายหรือคอร์ดของ Arduino ใช้เพียง 2 เส้น คือ Serial Data (SDA) และ Serial clock (SCK) การ
แสดงผลด้วยจอ TFT LCD สามารถใช้ในไมโครคอนโทรลเลอร์ Arduino ได้เช่นกัน คร่ึงจอแสดงผล TFT
LCD มีหลายชนิดสามารถใช้งานได้ตามความเหมาะสมของผู้ใช้งาน เบอร์ที่มีราคาถกู จะเปน็ chipset เบอร์
ST7735 ซึ่งใช้การติดต่อส่ือสารแบบ SPI จะต้องไปต้ัง library ของจอแสดงผลนั้น ๆ ด้วย จอแสดงผลแบบ
OLED ที่ ทน่ี ิยมใช้กนั มีท้ังขนาดมีตัง้ แตข่ นาด 0.96 นวิ้ และ 1.3 นว้ิ ให้สีขาว สีนำ้ เงนิ สีเหลอื งน้ำเงิน
59
จุดประสงคเ์ ชิงพฤตกิ รรมทพี่ ึงประสงค์ ทกั ษะ คุณธรรม/จริยธรรม
ความรู้ 1. ต่อบอร์ด Arduino แสดงผลท่ี 1. ตรงต่อเวลา
จอมอนเิ ตอรข์ องคอมพิวเตอร์ได้ 2. มคี วามตระหนกั ในหนา้ ท่ี
1. อธิบายการทำงานของการแสดงผลที่
หน้าจอคอมพิวเตอรไ์ ด้ 2. เขียนโปรแกรมภาษา C++ เพ่อื ของนักศึกษา
แสดงผลทจี่ อมอนเิ ตอร์ของ 3. มคี วามรบั ผดิ ชอบตอ่
2. อธิบายฟังกช์ นั ที่ใชง้ านนาย Software คอมพิวเตอรไ์ ด้
Serial ได้ ตนเองและสังคม
3. แก้ไขโปรแกรมภาษา C++ 4. แต่งกายถูกต้องตาม
3. อธบิ ายโครงสรา้ งของ character แสดงผลท่ีจอมอนเิ ตอร์ของ
LCD ได้ คอมพิวเตอรต์ ามที่กำหนดได้ ระเบียบ
5. แสดงความเคารพดว้ ยทา่ ที
4. อธบิ ายฟงั ก์ชนั ท่ใี ช้งานใน character 4. ตอ่ วงจรจอแสดงผล Character
LCD ได้ LCD เข้ากบั บอร์ด Arduino โดย ทสี่ วยงาม
ต่อแบบ 4 บติ ได้ 6. ทำงานดว้ ยความเตม็ ใจ
5. อธิบายวิธีการตอ่ character LCD 7. ใชว้ สั ดุอุปกรณ์และ
แบบ 4 Bit ได้ 5. ต่อวงจรจอแสดงผล Character
LCD เข้ากบั บอร์ด Arduino โดย เครื่องมอื อย่างประหยดั
6. เขยี นโปรแกรมเพ่ือใช้งาน character ตอ่ แบบ I2C ได้ ตระหนกั ถงึ ความปลอดภัย
LCD การเชื่อมต่อแบบ I2C ได้
6. เขียนโปรแกรมเพ่ือแสดงผลที่
7. อธิบายการใชง้ านจอแสดงผลชนดิ TFT จอแสดงผล Character LCD ได้
LCD ได้
7. แก้ไขโปรแกรมเพือ่ แสดงผลท่ี
8. เขียนโปรแกรมเพื่อใชง้ านจอแสดงผล จอแสดงผล Character LCD ได้
ชนดิ TFT LCD ได้
8. ต่อวงจรจอแสดงผล TFT LCD
9. อธิบายการใชง้ านจอแสดงผลชนิด เขา้ กับบอร์ด Arduino ได้
OLED ได้
9. เขียนโปรแกรมเพ่ือแสดงผลที่
10. อธิบายการเขียนโปรแกรมเพ่อื ติดตอ่ จอแสดงผล TFT LCD ได้
กับจอแสดงผลชนิด OLED ได้
10. แกไ้ ขโปรแกรมเพ่อื แสดงผลท่ี
จอแสดงผล TFT LCD ได้
11. ตอ่ วงจรจอแสดงผล OLED
เขา้ กับบอร์ด Arduino ได้
12. เขยี นโปรแกรมเพ่อื แสดงผลท่ี
จอแสดงผล OLED ได้
13. แก้ไขโปรแกรมเพอ่ื แสดงผลท่ี
จอแสดงผล OLED ได้
ไมโครคอนโทรลเลอร์
60
การบรู ณาการหลักปรัชาของเศรษฐกจิ พอเพยี ง
การวิเคราะห์การนำหลักปรชั าของเศรษฐกิจพอเพยี งของหน่วยการเรียนรู้ “จอแสดงผลสำหรับใช้งาน
ร่วมกับบอรด์ Arduino (จอ Monitor, LCD)” มาใช้ในการรจัดกจิ กรรมการรเรยี นรู้
1. ผเู้ รยี นไดเ้ รียนรหู้ ลกั คดิ และฝกึ ปฏบิ ตั ิตามหลัก 3 ห่วง 2 เง่อื น ดงั น้ี
ความพอประมาณ ความมีเหตผุ ล การมภี ูมคิ มุ้ กนั ในตวั ทด่ี ี
- ใช้วสั ดอุ ุปกรณอ์ ย่างประหยดั - มีความรู้ความเขา้ ใจ - ฝกึ การใชง้ านจอแสดงผล
พอประมาณและเกิดประโยชน์ จอแสดงผลสำหรบั ใชง้ าน สำหรับใช้งานจอ
สูงสุด รว่ มกับบอร์ด Arduino Monitor, LCD
- ใช้ครุภณั ฑ์อย่างระมัดระวงั - รู้คณุ คา่ แหล่งการเรียนรู้ รว่ มกบั บอรด์ Arduino
และดูแลบำรุงรกั ษาสมำ่ เสมอ โดยศึกษาจากแหล่ เรียนรู้ จนเกดิ ความชำนาญ
หลกั พอเพียง - แต่ละกลมุ่ แบง่ หน้าท่ใี นกลุ่ม ตา่ ง ๆ ได้อย่างสอดคล้อง - ฝึกการมสี ว่ นรว่ มในการ
เหมาะสมกบั ความสามารถ
กับเน้อื หาทเ่ี รียน ทำงานเป็นหมคู่ ณะ
และพอเพียงกับจำนวนสมาชกิ - รู้จกั การทำงานรว่ มกบั ผู้อนื่ - สร้างความสามคั คจี นทำ
ใหง้ านสำเรจ็
- นกั ศึกษาใช้วัสดอุ ปุ กรณ์
ดว้ ยความระมัดระวงั
และคำนึงถึง
ความปลอดภัย
- ร้เู รอื่ งจอแสดงผลแบบจอ Monitor, LCD สำหรับใชง้ านร่วมกับบอร์ด Arduino
- รเู้ รอื่ งบอรด์ ไมโครคอนโทรลเลอร์ Arduino
เงื่อนไขความรู้ของผเู้ รียน - รู้เร่ืองซอฟต์แวร์ Arduino IDE
- ร้วู ธิ นี ำหลกั ปรัชญาเศรษฐกจิ พอเพยี งบรู ณาการกับชวี ติ ประจำวนั
- สืบคน้ ข้อมูลเพื่อเสริมสร้างความรดู้ ้วยวิธกี ารท่หี ลากหลาย
- ศึกษา ค้นควา้ วิธกี าร หลักการ ทำการปฏบิ ตั งิ าน ทำแบบฝึกปฏิบตั ิ เพ่ือสรุปองค์ความรู้
- มคี วามรบั ผิดชอบในหน้าที่ที่ ปฏิบตั ิงานด้วยความเรียบร้อย ถูกตอ้ ง และเสรจ็ ทนั เวลา
- มคี วามสามคั คีในหมู่คณะ
เง่ือนไขคุณธรรมของผู้เรียน - มีวนิ ัยเปน็ ผนู้ ำและผู้ตามทด่ี ขี ณะปฏิบัตงิ านรว่ มกนั
- ร่วมกิจกรรมการเรียนรู้ดว้ ยความกระตอื รอื ร้น สนใจ ต้งั ใจ และใฝเ่ รยี นรู้
- มีความตระหนักในการใช้คุรุภัณฑแ์ ละสถานทีเ่ รียนรู้
ไมโครคอนโทรลเลอร์
61
2. ผู้เรยี นได้เรียนรกู้ ารใชช้ ีวติ ท่สี มดุลและพร้อมรบั การเปลีย่ นแปลงใน 4 มิตติ ามหลักปรชั ญาของเศรษฐกิจ
พอเพียง ดงั น้ี
ด้าน สมดลุ และพรอ้ มรบั การเปลยี่ นแปลงในด้านต่าง ๆ
องคป์ ระกอบ
ความรู้ วัตถุ สงั คม สงิ่ แวดล้อม วัฒนธรรม
ทักษะ มคี วามรู้ ความเข้าใจ -มีความร้เู ก่ียวกับการ ใชพ้ ดั ลมดดู อากาศ มุ่งเนน้ วฒั นธรรมภมู ิ
เกยี่ วกับจอแสดงผลแบบ ทำงานระบบกลมุ่ และดดู กลนิ่ ควนั ของ ปัญญาทอ้ งถิน่ วา่ เปน็
คา่ นยิ ม จอ Monitor, LCD -นักเรียนมีความร้เู กีย่ วกับ ตะกวั ่ บดั กรี ฐานความคดิ สำคัญ
สำหรับใช้งานรว่ มกับ การวางแผน การทำงาน ของคนไทย ใหส้ ามารถ
บอร์ดArduino เพอื่ ใช้ ร่วมกับผู้อ่ืน ดำรง วิถีชีวิตและปรบั
แกป้ ญั หาและพัฒนาวิถี ประยุกตใ์ ชไ้ ด้ อยา่ ง
ชวี ิต เหมาะสม
เขยี นโปรแกรมภาษา C - ปฏบิ ตั ิในการทำงาน - ทำความสะอาดหอ้ ง
เพือ่ แสดงผลสำหรับจอ เปน็ หมคู่ ณะดว้ ยหลกั เรยี นห้องปฏบิ ัติการ
Monitor, LCD โดยใช้ เอาใจเขามาใสใ่ จเรา ใหส้ ะอาด เปน็ ระเบยี บ
บอร์ดไมโครคอน เรยี บรอ้ ย พร้อมใชง้ าน
โทรลเลอร์ Arduino ได้
- มีวนิ ยั และมงุ่ มั่น ในการ เห็นความสำคญั ของการ เกดิ ความตระหนกั และ
ทำงานด้วยความซอ่ื สตั ย์ ทำงานรว่ มกบั ผูอ้ ่ืน และ เห็นคณุ ค่าของ จอ
สุจริต การทำงาน ในระบบกลุ่ม Monitor, LCD สามารถ
นำไปประยกุ ต์ใชก้ ับวิถี
ชวี ิตของตนเอง ไดอ้ ย่าง
เหมาะสม
3. ศาสตร์ที่นำมาใชใ้ นหน่วยเรยี น
ศาสตรพ์ ระราชา ศาสตร์สากล ศาสตร์ภมู ิปัญญา
- ปรัชญาของเศรษฐกิจพอเพียง - ซอฟต์แวร์ Arduino IDE - อยอู่ ย่างไทย
- เข้าใจ เขา้ ถงึ พฒั นา - ภาษา C และ C++ สำหรับ - ร้รู ักสามัคคี
- การพฒั นาท่ยี ัง่ ยนื ไมโครคอนโทรลเลอร์ Arduino - สะเตม็ ศึกษา หรือ “STEM”
- พระราชกระแสรับส่งั “เราตอ้ งฝึกหัด - ไมโครคอมพวิ เตอรพ์ รอ้ มซอฟต์แวร์
ใหน้ ักเรยี นรจู้ กั ทำงานร่วมกนั เปน็ กล่มุ
เป็นหม่คู ณะมากข้ึน จะไดม้ ีความ
สามคั ครี ู้จักดูแลชว่ ยเหลอื ซึ่ง กันและ
กนั เอื้อเฟื้อเผอ่ื แผ่ความรู้ และ
ประสบการณแ์ ก่กนั ” (5 ก.ค. 55
ไมโครคอนโทรลเลอร์
62
แบบทดสอบก่อนเรยี น วิชาไมโครคอนโทรลเลอร์
หนว่ ยที่ 5 ช่อื หน่วย จอแสดงผลสำหรบั ใช้งานร่วมกบั บอร์ด Arduino
คำชี้แจง จงเลือกคำตอบทีถ่ กู ท่ีสดุ แลว้ กาเคร่อื งหมายกากบาท (X) ลงในกระดาษคำตอบ
1. ฟังก์ชนั ใดไมจ่ ำเปน็ สำหรบั เขียนโปรแกรมเพอื่ ใช้งาน character LCD การเช่อื มต่อแบบ I2C
ก. #include <Wire.h> ข. #include <LiquidCrystal_I2C.h>
ค. LiquidCrystal_I2C lcd(0x27, 16, 2); ง. #include <SPI.h>
วงจรสำหรับขอ้ 2-3
16 MHz RESET DIGITA L (WPM ~)AREF
TX GN D
RX
L UNO
IOREF ARDUINO ~~~111123109 VCC TFT LCD
R ESE T GND 1S12T.847x4713i2n58
3.3V ATmega328p 8 CS
5V P OW E R RESET
GN D A0
GN D SDA
Vin SCK
ANALOG IN ~~765 LED
A0 ~43
AA21
AAA345 2
ON TX 1
ICSP RX 0
2. จากวงจรทก่ี ำหนด การสือ่ สารระหว่างบอรด์ Arduino กับจอแสดงผล TFT LCD เป็นชนิดใด
ก. I2C ข. UART
ค. SPI ง. CAN bus
3. การใชจ้ อแสดงผล TFT LCD ฟงั ก์ชันใดกำหนดขนาดของตัวอักษร
ก. tft.setTextSize(1); ข. tft.initR(INITR_144GREENTAB);
ค. Serial.println("Initialized"); ง. tft.setCursor(20, 55);
4. ขอ้ ใดเป็นจุดเดน่ ของจอแสดงผลแบบ OLED
ก. ใชพ้ ลังงานต่ำ ข. การแสดงขอ้ ความได้ชัดเจน
ค. ไม่ต้องพง่ึ พาแสง Backlight ง. ใช้งานงา่ ย ราคาถูก
วงจรสำหรบั ขอ้ 5
ไมโครคอนโทรลเลอร์
63
16 MHz RESET DIGITA L (WPM ~)AREF
TX GN D
RX
L UNO
IOREF P OW E R ATmega328p ARDUINO ~~~111131029 CS
R ESE T
3.3V 8 DC
5V RES
GN D SDA
GN D SCL
VCC
GND
Vin ANALOG IN ~~657 OLED
~43
AAA210
AA34 2
A5 ON TX 1
ICSP RX 0
5. จากวงจรที่กำหนด ฟงั ก์ชนั ใดไมจ่ ำเป็นต้องใช้ในโปรแกรมสำหรับวงจรนี้
ก. #include <SPI.h> ข. #include <Adafruit_GFX.h>
ค. #include <Wire.h> ง. #include <Adafruit_ST7735.h>
6. การแสดงผลของไมโครคอนโทรลเลอร์ Arduino ทจี่ อมอนิเตอร์จะต้องใชก้ ารสอ่ื สารในลักษณะใด
ก. I2C ข. UART
ค. SPI ง. CAN bus
7. ฟงั กช์ ันทใี่ ช้งานนาย Software Serial ทกี่ ำหนดความเรว็ ในการสอ่ื สารคือขอ้ ใด
ก. overflow() ข. peek()
ค. begin(speed) ง. Read()
วงจรสำหรบั ข้อ 8-9
16 MHz RESET DIGITAL (WPM ~)AREF
GND
TX
RX 13
L UNO 12
IOREF ATmega328p ARDUINO ~~~11910
RESET
3.3V POWER ANALOG IN ON 8
5V ICSP
GND ~~657
GND ~43
Vin
A0 2
AA21 TX 1
AA34 RX 0
A5
68 W
10 kW
VVRVdDDDDDDDDRsosAK24607531EWSd
1 16
LCD 16x2
8. จากวงจรทกี่ ำหนด ขา Vo (ขา3) ของจอแสดงผล LCD มีไวเ้ พื่อจุดประสงค์ใด
ก. ปรบั ความสวา่ งของ black light ข. ปรับความเรว็ ของการสื่อสาร
ค. ปรบั ความคมชัดของข้อความ ง. ปรับความเข้มของตวั อักษรให้พอเหมาะ
ไมโครคอนโทรลเลอร์
64
9. จากรูปทก่ี ำหนด ฟงั ก์ชนั ใดกำหนดฮารด์ แวร์ไดถ้ ูกตอ้ ง
ก. liquidCrytal lcd(12,11,4,5,6,7) ข. liquidCrytal lcd(11,12,4,5,6,7)
ค. liquidCrytal lcd(12,11,7,6,5,4) ง. liquidCrytal lcd(12,7,4,5,6,11)
10. ขอ้ ใดไมใ่ ช่ฟังก์ชนั ท่ใี ช้งานสำหรบั Character LCD
ก. #include <Adafruit_GFX.h> ข. begin(cols, rows);
ค. print(data); ง. print(data, base);
ไมโครคอนโทรลเลอร์
65
เนือ้ หาสาระ
1. การแสดงผลทีห่ นา้ จอคอมพวิ เตอร์ดว้ ย SoftwareSerial
2. การแสดงผลดว้ ย character LCD
2.1 โครงสรา้ งและการทำงานของ LCD
สดมภ์ ี่ท 1
สดมภ์ ่ีท 16
แถวท่ี 1 00
แถวท่ี 2 11
22
33
44
55
66
77
88
99
10 10
11 11
12 12
13 13
14 14
15 15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
GND
Vcc
CONTRAST
RS
R/W
EN
D0
D1
D2
D3
D4
D5
D6
D7
A
K
2.2 การเช่ือมต่อระหว่าง character LCD กบั บอร์ด Arduino แบบ 4 บติ VCC ต่อไ +3.3 V
2.3 การเชอ่ื มต่อระหวา่ ง character LCD แบบ I2C กบั บอรด์ Arduino GND
3. การแสดงผลด้วยจอ TFT LCD CS
RESET
4. การแสดงผลดว้ ย OLED A0
SDA
ไมโครคอนโทรลเลอร์ SCK
LED ตอ่ ไ +3.3 V
66
4.1 ไลบรารี ฟงั ก์ชนั และฟอรน์ สำหรับจอแสดงผล OLED
4.2 การเชอ่ื มต่อระหวา่ ง OLED กับบอรด์ Arduino แบบ I2C
16 MHz RESET DIGITAL (WPM ~)AREF
GND
TX
RX 1132
L UNO ~~~11910
GND VCC SCL SDA IOREF ATmega328p ARDUINO
RESET 8
12O8LxED64 3.3V POWER ANALOG IN
5V ~67
GND ON ~5
GND ~43
Vin ICSP
2
A0 TX 1
AA21 RX 0
SCL AA34
SDA A5
4.3 การเช่อื มตอ่ ระหว่าง OLED กบั บอรด์ Arduino แบบ SPI
16 MHz RESET DIGITAL (WPM ~)AREF
TX GND
RX
L UNO
IOREF ATmega328p ARDUINO 1132 CS
RESET ~~~11109
3.3V POWER ANALOG IN DC
5V 8 RES
GND SDA
GND SCL
VCC
GND
Vin ~67 OLED
~5
A0 ~43
AA21
AA34 2
A5 ON TX 1
RX 0
ICSP
ไมโครคอนโทรลเลอร์
67
กิจกรรมการเรยี นการสอน
ข้นั ตอนการสอน ขน้ั ตอนการเรียน เครอ่ื งมอื /การวดั ผล
(กจิ กรรมผูเ้ รยี น) ประเมนิ ผล
(กจิ กรรมของครู)
1.1 นกั เรยี นรบั ฟงั จุดประสงคข์ องการเรียนใน 1. คำถามประจำหนว่ ย
1.ขน้ั นำเขา้ ส่บู ทเรยี น บทเรียนน้ี 2. แบบทดสอบกอ่ น
1.1 ครบู อกจุดประสงคข์ องการเรยี นใน 1.2 นักเรียนบอกความสำคญั ของจอแสดงผล เรียนหนว่ ยท่ี 5
บทเรียนน้ี สำหรับใชง้ านรว่ มกับบอร์ด Arduino
1. power point
1.2 ครสู อบถามความสำคัญของจอแสดงผล 1.3 นกั เรียนทำทดสอบกอ่ นเรียนหนว่ ยท่ี 5 หนว่ ยที่ 5
สำหรับใช้งานรว่ มกบั บอร์ด Arduino
2.1 รบั ฟังคำบรรยาย 2. คำถามหนว่ ยท่ี 5
1.3 ครแู จกแบบทดสอบกอ่ นเรยี นหนว่ ยที่ 5 2.2 ตอบคำถามและแสดงความคดิ เห็น
1. ใบสรปุ หนว่ ยท่ี 5
2. ขน้ั สอนทฤษฎี
2.1 ครูอธบิ ายความสำคญั ของจอแสดงผล 1. ใบตรวจผลงาน
ตามใบงานท่ี 5
สำหรับใช้งานรว่ มกบั บอรด์ Arduino
ใชส้ อ่ื power point ประกอบการสอน 1. แบบทดสอบหลงั เรยี น
2.2 ซักถามปญั หาเก่ยี วกบั การทำงานของ หนว่ ยท่ี 5
จอแสดงผลสำหรบั ใช้งานร่วมกบั บอรด์
Arduino 5. ใบมอบงานหนว่ ยที่ 5
3. ขน้ั สรุป
3.1 ครูและนกั เรยี นชว่ ยกนั สรปุ และครซู ักถาม 3.1 นักเรยี นชว่ ยครูสรุปและตอบคำถาม
ปัญหาข้อสงสยั 3.2 จดบททึกย่อ
4. ขั้นสอนปฏิบตั ิ
4.1 เตรียมบอรด์ Arduino UNO และ 4.1 นกั ศึกษาแสดงวธิ ีการต่อวงจร และเขยี น
จอแสดงผล Character LCD, TFT LCD โปรแกรมตามใบงานท่ี 5 บนั ทึกผลลงใน
และ จอ OLED และใบงานที่ 5 ใบงานที่ 5
5. ขั้นการประเมนิ ผล
5.1 ครูแจกใบประเมินผลหลังเรยี นหน่วยท่ี 5 5.1 รบั ใบประเมินผลหลังเรียนหน่วยท่ี 5
5.2 ดแู ลนักเรียนไมใ่ หท้ ุจรติ 5.2 ทำแบบทดสอบหลังเรยี น
5.3 เมื่อครบเวลาที่กำหนดรับแบบทดสอบคืน 5.3 เมือ่ ครบเวลาทีก่ ำหนดส่งแบบทดสอบคืน
6. ขัน้ มอบหมายงาน 6.1 รบั มอบหมายงาน
6.1 ใหน้ กั เรียนไปคน้ ควา้ เพ่มิ เติมเก่ียวกบั
จอแสดงผลสำหรบั ใชง้ านร่วมกับบอร์ด
Arduinoและทำแบบฝกึ หัดท้ายหน่วย
เรียนหน่วยที่ 5 สง่ ในสปั ดาห์ตอ่ ไป
7. ขน้ั ตรวจสอบความเรียบร้อย
ไมโครคอนโทรลเลอร์
7.1 ตรวจความเรยี บรอ้ ยและความเรียบรอ้ ย 7.1 ช่วยกนั จดั เก็บและทำความสะอาด 68
ของหอ้ งเรียนหอ้ งปฏบิ ตั งิ าน หอ้ งเรยี นหอ้ งปฏิบตั ิงานใหเ้ รียบร้อย 1. ใบตรวจสอบความ
เรยี บร้อย
งานที่มอบหมายหรอื กจิ กรรม
กอ่ นเรียน
- นกั ศกึ ษาทำแบบทดสอบกอ่ นเรยี นหนว่ ยท่ี 5
ขณะเรยี น
ให้นักศึกษาอภิปรายเก่ียวกับและสรุปเก่ียวกับจอแสดงผลสำหรับใช้งานร่วมกับบอร์ด
Arduino
หลังเรียน
ใหน้ กั เรียนไปค้นควา้ เพิม่ เตมิ เกี่ยวกบั จอแสดงผลสำหรบั ใช้งานร่วมกับบอรด์ Arduino
และทำแบบฝึกหัดทา้ ยหนว่ ยเรียนหน่วยท่ี 5 สง่ ในอาทติ ยต์ ่อไป
ส่อื การเรียนการสอน
1. หนังสอื เรยี นไมโครคอนโทรลเลอร์ หน่วยท่ี 5 เรื่องจอแสดงผลสำหรับใชง้ านร่วมกับบอร์ด
Arduino
2. power point เร่ืองโครงสร้างและส่วนประกอบของไมโครคอนโทรลเลอร์
3. แบบฝกึ หัดท้ายหน่วยเรียนที่ 5
การวัดผลการเรียน
กอ่ นเรยี น
ทดสอบก่อนเรียน (Pre-test) โดยใชข้ ้อสอบหน่วยที่ 5 จำนวน 10 ข้อ
ขณะเรียน
ถาม – ตอบปญั หา, ความสนใจ, ความต้งั ใจ, การอภปิ ราย
หลงั เรยี น
ทดสอบหลงั เรยี น (Post-test) โดยใช้ขอ้ สอบหน่วยที่ 5
- แบบวเิ คราะหถ์ ูกผิด จำนวน 10 ข้อ
- แบบสอบสั้น ๆ จำนวน 10 ข้อ
- แบบตวั เลอื ก จำนวน 10 ข้อ
การประเมนิ ผล
1. การประเมินผลโดยใช้แบบประเมินผลกอ่ นเรียนหน่วยที่ 5 จำนวน 10 ข้อ (แบบเลือกตอบ)
2. การประเมินผลโดยใชแ้ บบประเมนิ ผลหลังการเรียนหน่วยที่ 5
2.1 แบบวเิ คราะห์ถูกผิด จำนวน 10 ข้อ
2.2 แบบสอบสนั้ ๆ จำนวน 10 ข้อ
ไมโครคอนโทรลเลอร์
69
2.3 แบบตัวเลอื ก จำนวน 10 ขอ้
3. สงั เกตการมีส่วนรว่ มในการเรยี น
4. สงั เกตจากการตอบคำถาม / การอภปิ ราย
เอกสารอ้างอิง
1. สุชิน ชินสีห์. (2563). ไมโครคอนโทรลเลอร์ (Arduino Microcontroller)
นนทบุรี : โรงพมิ พ์ บริษทั ศูนยห์ นังสอื เมอื งไทย จำกัด.
2. เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอร์ รหัสวชิ า 20105-2105
บนั ทึกหลงั การจดั การเรียนรู้ของครู
วันท่ี……….… เดอื น……………..…...………. พ.ศ………….…
รหสั วิชา 20105-2105 ชื่อรายวชิ า ไมโครคอนโทรลเลอร์
สาขาวิชา ช่างอเิ ล็กทรอนกิ ส์ ระดบั ช้ัน ปวช. ปที ่ี 3 กลมุ่ ท่ี 1,2
หวั ขอ้ เน้ือหาทส่ี อน จอแสดงผลสำหรบั ใช้งานร่วมกบั บอร์ด Arduino หนว่ ยท่ี 5
จำนวนนกั ศกึ ษาเขา้ เรยี น ……… คน
รายละเอยี ดการสอน เขา้ ใจ/ ไม่เข้าใจ ปฏิบัติ หมายเหตุ สำหรับนกั ศกึ ษาที่ไมเ่ ขา้ ใจหรอื ปฏบิ ตั ิ
ปฏิบัตไิ ด(้ คน) ไม่ได้ (คน) ไมไ่ ดจ้ ะแกไ้ ขในการสอนครงั้ ตอ่ ไป
รายละเอยี ด/หวั ข้อ ในวนั ท่ี……....เดอื น……...............…..พ.ศ……..........
เนอ้ื หาทส่ี อน โดยจะดำเนินการดงั น้ี
1. ………………………….……........……………………….
1. การแสดงผลทีห่ น้าจอคอมพวิ เตอร์ดว้ ย 2. …………………………….…........……………………….
2So. กftาwรaแrสeดsงeผrลiaดlว้ ยจอ Character LCD 3. ……………………….………….................................
4. ……………………….………….................................
3. การแสดงผลด้วยจอ TFT LCD
4. การแสดงผลด้วยจอ OLED
ลงชื่อ…………………………………………………..
( นายสุชนิ ชินสีห์)
ครผู ูส้ อน
ผลการใชแ้ ผนการสอน
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
ผลการเรยี นของนักเรียน
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
ไมโครคอนโทรลเลอร์
70
..........................................................................................................................................................................
.......
.................................................................................................................................................................................
ผลการสอนของครู
.................................................................................................................................................................................
.................................................................................................................................................................................
แบบให้คะแนนการปฏบิ ตั งิ าน
วิชา ไมโครคอนโทรลเลอร์ รหัสวชิ า 20105-2105
ชอื่ หนว่ ย จอแสดงผลสำหรับใช้งานร่วมกบั บอรด์ Arduino
เรื่อง จอแสดงผลสำหรับใช้งานร่วมกบั บอร์ด Arduino
รายการท่ปี ระเมิน คะแนน หมายเหตุ
คะแนน คะแนน
1. กระบวนการปฏบิ ตั ิงาน เต็ม ทไ่ี ด้
1.1 การจดั เตรียมวัสดุอปุ กรณ์ และเครือ่ งมอื
1.2 การใช้เคร่ืองมอื ได้ถูกตอ้ ง 0.5
1.3 ปฏิบตั งิ านถูกต้องตามขัน้ ตอน 0.5
1.4 เก็บรักษาเครื่องมอื และชุดทดลอง 1
0.5
2. ผลงาน
2.1 การแสดงผลที่หนา้ จอคอมพิวเตอร์ด้วย Software serial 3
2.2 การแสดงผลด้วยจอ Character LCD 4
2.3 การแสดงผลด้วยจอ TFT LCD 4
2.4 การแสดงผลด้วยจอ OLED 4
3. กจิ นสิ ัยในการปฏิบตั งิ าน 0.5
3.1 การใหค้ วามสนใจในการปฏบิ ัติงาน 1
3.2 ความปลอดภัยในการปฏิบัตงิ าน 0.5
3.3 ความเรยี บร้อยหลงั ปฏิบัติงาน 0.5
3.4 ความรว่ มมือในกลมุ่ 20
รวม
ลงช่ือ ผู้ประเมนิ
ไมโครคอนโทรลเลอร์
71
ใบประเมินผลหลงั เรียนหน่วยท่ี 5
วชิ า ไมโครคอนโทรลเลอร์ ชอื่ หนว่ ย จอแสดงผลสำหรับใชง้ านร่วมกับบอร์ด Arduino
คำชีแ้ จง แบบทดสอบมี 3 ตอน
ตอนท่ี 1 เป็นแบบทดสอบแบบอา่ นขอ้ ความ แลว้ วเิ คราะห์วา่ ขอ้ ความนนั้ ถกู ตอ้ งหรือผดิ
ตอนที่ 2 เป็นแบบอธบิ ายสนั้ ๆ ใหไ้ ดใ้ จความ
ตอนที่ 3 เป็นแบบตวั เลอื กชนิด 4 ตวั เลอื ก
ตอนท่ี 1 ใหก้ าเคร่อื งหมายถกู √ หนา้ ขอ้ ทค่ี ดิ วา่ ถกู และกาเครอ่ื งหมายผดิ x หนา้ ข้อทคี่ ดิ วา่ ผดิ
........ 1. Software Serial มไี วส้ าหรบั ตดิ ต่อสอ่ื สารระหวา่ งบอร์ด Arduino กบั จอมนิ ิเตอร์
.
........ 2. baud rate ของ Software Serial ใน Arduino มคี า่ ความเรว็ 300, 600, 1200, 2400,
. 4800, 9600, 14400, 19200, 28800, 31250, 38400, 57600 และ 115200
........ 3. หากใชค้ าสงั่ Serial.println("Hi........."); ทจ่ี อมอนิเตอรจ์ ะแสดงขอ้ ความ Hillo……..
.
........ 4. ขา Anode ของไดโอดเปลง่ แสง backlight ของจอ LCD (ขาท่ี 15) ต่อลงกราวด์ จงึ จะสวา่ ง
.
........ 5. การเชอ่ื มต่อระหวา่ ง character LCD กบั บอรด์ Arduino แบบ 4 บติ ต้องใชส้ าย 6 เสน้
.
........ 6. liquidCrytal lcd(4,5,6,7,8,9) แสดงว่าการตอ่ อารด์ แวร์ โดยตอ่ ขา EN ต่อขา 4, RS ต่อขา
.5
D4 ตอ่ ขา 6 , D5 ต่อขา 7 , D6 ต่อขา 8 , D7 ต่อขา 9 ตามลาดบั
........ 7. การตดิ ตอ่ สอ่ื สารแบบ I2C เป็นการสอ่ื สารอนุกรมแบบซงิ โครนสั ทใี่ ชส้ ายสญั ญาณ จานวน
.2
เสน้ คอื SDA และ SCL
........ 8. การใชง้ านจอแสดงผลแบบ TFT LCD ทใ่ี ช้ chipset เบอร์ ST7735 จะตอ้ งทาการดาวน์
. โหลด Adafruit-ST7735.h และ Adafruit_GFX.h ผนวกเขา้ ไปใน Library ของ Arduino
........ 9. ฟังก์ชนั tft.fillScreen(ST7735_BLACK); เพอ่ื ทาใหส้ พี น้ื จอภาพใหเ้ ป็นสขี าวตวั หนังสอื สี
. ดา
........ 10 ในไลบรารี Adafruit_SSD1306.h จะถกู ตงั้ ค่ามาใชก้ บั OLED ขนาด 128x32
.
ไมโครคอนโทรลเลอร์
72
ตอนท่ี 2 จงอธบิ ายสนั้ ๆ ใหไ้ ดใ้ จความ
1. ในการสอ่ื สารขอ้ มลู อนุกรมระหวา่ งบอรด์ Arduino กบั จอมอนิเตอร์ของคอมพวิ เตอร์
ฟังก์ชนั isListening () ใชส้ าหรบั
.....................................................................................................................
2. ในการส่อื สารขอ้ มลู อนุกรมระหว่างบอร์ด Arduino กบั จอมอนเิ ตอรข์ องคอมพวิ เตอร์
ฟังกช์ นั ..................... ใชส้ าหรบั อา่ นขอ้ มูลจากบฟั เฟอร์รบั ขอ้ มูลตาแหน่งล่าสุดโดยสง่ กลบั คา่ เป็น
ตวั อกั ษร
แต่ถา้ หากไม่มกี ารส่งขอ้ มูลคา่ จะเป็น -1
3. คาวา่ LCD ยอมาจาก
......................................................................................................................................
4. ขา contrast ของจอแสดงผลแบบ LCD ขนาด 16x2 มไี วเ้ พอ่ื
.......................................................................
5. ขา EN ของจอแสดงผลแบบ LCD ขนาด 16x2 มไี วเ้ พอ่ื
.................................................................................
6. เมอ่ื ใชค้ าสงั่ lcd.setCursor(0, 1); และ lcd.print("THAILAND"); จอ LCD ขนาด 16x2 จะแสดงขอ้ ความ
วา่ ................................................ ทบี่ รรทดั ท่ี .................... คอลมั น์ที่
............................................................
7. การสอ่ื สารระหวา่ งจอ LCD กบั บอรด์ Arduino UNO แบบ I2C ตอ่ ทพ่ี อร์ตแอนะลอก A…….. กบั
A…………
8. OLED ยอมาจาก
..............................................................................................................................................
9. ในการใชง้ านจอ OLED ฟังกช์ นั #include <Adafruit_GFX.h> มไี วเ้ พอ่ื
.......................................................
10. ในการใชง้ านจอ OLED ฟังกช์ นั #include <Adafruit_SSD1306.h> มไี วเ้ พ่อื
............................................
ตอนที่ 3 จงเลอื กคำตอบท่ีถูกท่ีสุดแลว้ กาเคร่ืองหมายกากบาท (X) ลงในกระดาษคำตอบ
1. การแสดงผลของไมโครคอนโทรลเลอร์ Arduino ทจ่ี อมอนเิ ตอรจ์ ะต้องใช้การส่อื สารในลกั ษณะใด
ก. I2C ข. UART
ค. SPI ง. CAN bus
2. ฟงั กช์ ันทใ่ี ช้งานนาย Software Serial ท่ีกำหนดความเรว็ ในการสื่อสารคอื ขอ้ ใด
ก. overflow() ข. peek()
ค. begin(speed) ง. Read()
วงจรสำหรับ ข้อ 3-4
ไมโครคอนโทรลเลอร์
73
16 MHz RESET DIGITAL (WPM ~)AREF
GND
TX
RX 13
L UNO 12
IOREF ATmega328p ARDUINO ~~~11910
RESET
3.3V POWER ANALOG IN ON 8
5V ICSP
GND ~~657
GND ~43
Vin
A0 2
AA21 TX 1
AA34 RX 0
A5
68 W
10 kW
Vss
VRVdDDDDDDDDRoAK76543210EWSd
1 16
LCD 16x2
3. จากวงจรที่กำหนด ขา Vo (ขา3) ของจอแสดงผล LCD มีไวเ้ พอื่ จดุ ประสงคใ์ ด
ก. ปรับความสว่างของ black light ข. ปรบั ความเรว็ ของการสื่อสาร
ค. ปรบั ความคมชดั ของข้อความ ง. ปรับความเข้มของตัวอกั ษรใหพ้ อเหมาะ
4. จากรปู ที่กำหนด ฟังก์ชันใดกำหนดฮาร์ดแวร์ได้ถกู ต้อง
ก. liquidCrytal lcd(5,4,6,7,8,9) ข. liquidCrytal lcd(4,5,6,7,8,9)
ค. liquidCrytal lcd(5,4,9,8,7,6) ง. liquidCrytal lcd(4,5, 9,8,7,6)
5. ขอ้ ใดไมใ่ ชฟ่ งั กช์ นั ที่ใชง้ านสำหรบั Character LCD
ก. #include <Adafruit_GFX.h> ข. begin(cols, rows);
ค. print(data); ง. print(data, base);
6. ฟังก์ชนั ใดไมจ่ ำเป็นสำหรับเขยี นโปรแกรมเพ่อื ใชง้ าน character LCD การเชื่อมตอ่ แบบ I2C
ก. #include <Wire.h> ข. #include <LiquidCrystal_I2C.h>
ค. LiquidCrystal_I2C lcd(0x27, 16, 2); ง. #include <SPI.h>
วงจรสำหรับข้อ 7-8
ไมโครคอนโทรลเลอร์
74
16 MHz RESET DIGITA L (WPM ~)AREF
TX GN D
RX
L UNO
IOREF ARDUINO 13 VCC TFT LCD
R ESE T ~~~1112109 GND 1S12T.847x4713i2n58
3.3V ATmega328p CS
5V P OW E R 8 RESET
GN D A0
GN D SDA
Vin SCK
ANALOG IN ~~765 LED
AAA210 ~43
AAA345
ON 2
ICSP TX 1
RX 0
7. จากวงจรทกี่ ำหนด การส่ือสารระหวา่ งบอรด์ Arduino กบั จอแสดงผล TFT LCD เป็นชนดิ ใด
ก. I2C ข. UART
ค. SPI ง. CAN bus
8. การใชจ้ อแสดงผล TFT LCD ฟังก์ชนั ใดกำหนดขนาดของตวั อกั ษร
ก. tft.setTextSize(1); ข. tft.initR(INITR_144GREENTAB);
ค. Serial.println("Initialized"); ง. tft.setCursor(20, 55);
9. ข้อใดเป็นจดุ เดน่ ของจอแสดงผลแบบ OLED
ก. ใชพ้ ลังงานต่ำ ข. การแสดงขอ้ ความได้ชดั เจน
ค. ไมต่ อ้ งพงึ่ พาแสง Backlight ง. ใชง้ านงา่ ย ราคาถกู
วงจรสำหรบั ข้อ 10
16 MHz RESET DIGITA L (WPM ~)AREF
TX GN D
RX
L UNO
IOREF P OW E R ATmega328p ARDUINO ~~~111131029 CS
R ESE T
3.3V 8 DC
5V RES
GN D SDA
GN D SCL
VCC
GND
Vin ANALOG IN ~~657 OLED
~43
A0
AA21
AA34 2
A5 ON TX 1
ICSP RX 0
10. จากวงจรที่กำหนด ฟังก์ชนั ใดไม่จำเปน็ ต้องใชใ้ นโปรแกรมสำหรบั วงจรน้ี
ก. #include <SPI.h> ข. #include <Adafruit_GFX.h>
ค. #include <Wire.h> ง. #include <Adafruit_ST7735.h>
ไมโครคอนโทรลเลอร์
75
เฉลยใบประเมินผลหนว่ ยท่ี 5
เฉลยแบบทดสอบกอ่ นเรียน หน่วยท่ี 5
แบบทดสอบก่อนเรียน
ข้อที่ คำตอบ
1ข
2ค
3ง
4ก
5ง
6ง
ไมโครคอนโทรลเลอร์
76
7ข
8ง
9ค
10 ก
เฉลยแบบทดสอบหลงั เรยี น หน่วยท่ี 5
ต..อ..√.น...ท่ี11. ใหก้ าเคร่อื งหมายถูก √ หน้าขอ้ ทค่ี ดิ ว่าถูก และกาเครอ่ื งหมายผดิ x หน้าขอ้ ทค่ี ดิ วา่ ผดิ
Software Serial มไี วส้ าหรบั ตดิ ต่อสอ่ื สารระหวา่ งบอร์ด Arduino กบั จอมนิ ิเตอร์
.
........ 2. baud rate ของ Software Serial ใน Arduino มคี า่ ความเรว็ 300, 600, 1200, 2400,
. 4800, 9600, 14400, 19200, 28800, 31250, 38400, 57600 และ 115200
........ 3. หากใชค้ าสงั่ Serial.println("Hi........."); ทจี่ อมอนเิ ตอร์จะแสดงขอ้ ความ Hillo……..
.
....√..... 4. ขา Anode ของไดโอดเปล่งแสง backlight ของจอ LCD (ขาท่ี 15) ตอ่ ลงกราวด์ จงึ จะสวา่ ง
........ 5. การเชอ่ื มต่อระหวา่ ง character LCD กบั บอร์ด Arduino แบบ 4 บติ ตอ้ งใชส้ าย 6 เสน้
.
........ 6. liquidCrytal lcd(4,5,6,7,8,9) แสดงว่าการต่ออารด์ แวร์ โดยตอ่ ขา EN ต่อขา 4, RS ต่อขา
.5
√ D4 ตอ่ ขา 6, D5 ต่อขา 7, Dv6 ตอ่ ขา 8, D7 ต่อขา 9 ตามลาดบั
........ 7. การตดิ ตอ่ สอ่ื สารแบบ I2C เป็นการสอ่ื สารอนุกรมแบบซงิ โครนสั ทใ่ี ชส้ ายสญั ญาณ จานวน
.2
√ เสน้ คอื SDA และ SCL
........ 8. การใชง้ านจอแสดงผลแบบ TFT LCD ทใ่ี ช้ chipset เบอร์ ST7735 จะต้องทาการดาวน์
. โหลด Adafruit-ST7735.h และ Adafruit_GFX.h ผนวกเขา้ ไปใน Library ของ Arduino
........ 9. ฟังกช์ นั tft.fillScreen(ST7735_BLACK); เพ่อื ทาใหส้ พี นื้ จอภาพใหเ้ ป็นสขี าวตวั หนงั สอื สี
√ . ดา
........ 10 ในไลบรารี Adafruit_SSD1306.h จะถูกตงั้ คา่ มาใชก้ บั OLED ขนาด 128x32
.
ตอนท่ี 2 จงอธบิ ายสนั้ ๆ ใหไ้ ดใ้ จความ
1. ในการสอ่ื สารขอ้ มูลอนุกรมระหวา่ งบอร์ด Arduino กบั จอมอนเิ ตอรข์ องคอมพวิ เตอร์
ฟังกช์ นั isListening () ใชส้ าหรบั ฟงั ก์ชันทดสอบพอร์ตอนุกรมว่ายงั คงทำงานอยหู่ รือไม่
.......โ..ด..ย..ส..ง่ ..ก..ล..บั...ค..า่ ..เ.ป..น็....b..o...o..l.e..a..n....T..r.u..e....ห..ร..อื ...F..a..l..e............................................
ไมโครคอนโทรลเลอร์
77
.................................................................................................................................................................
.........
2. ในการสอ่ื สารขอ้ มลู อนุกรมระหวา่ งบอร์ด Arduino กบั จอมอนิเตอรข์ องคอมพวิ เตอร์
ฟังกช์ นั ....P..e..e..k..(.)........ ใชส้ าหรบั อา่ นขอ้ มูลจากบฟั เฟอร์รบั ขอ้ มลู ตาแหน่งล่าสุดโดยสง่ กลบั คา่ เป็น
ตวั อกั ษร
แต่ถา้ หากไม่มกี ารสง่ ขอ้ มูลค่าจะเป็น -1
3. คาว่า LCD ยอมาจาก Liquid Crystal Display
................................................................................................ค..ว...า.ม...ค..มุ...ค..ว..า..ม...เ.ข..ม้...ข..อ..ง..ข..อ้. ความที่
4. ขา contrast ของจอแสดงผลแบบ LCD ขนาด 16x2 มไี วเ้ พอ่ื แสดง
รบั สญั ญาณพลั สเ์ พอ่ื ควบคมุ การทางานของ
.......................................................................
5. ขา EN ของจอแสดงผลแบบ LCD ขนาด 16x2 มไี วเ้ พL่อื CD
.................................................................................
6. เมอ่ื ใชค้ าสงั่ lcd.setCursor(0, 1); และ lcd.print("THAILAND"); จอ LCD ขนาด 16x2 จะแสดงขอ้ ความ
ว่า ..T..H...A..I.L..A..N...D............................... ทบี่ รรทดั ท่ี1.................... คอลมั 2น์ที่
............................................................ 45
7. การสอ่ื สารระหว่างจอ LCD กบั บอร์ด Arduino UNO แบบ I2C ต่อทพ่ี อรต์ แอนะลอก A…….. กบั
Organic Light Emitting Diode
A…………
8. OLED ยอมาจาก
.............................................................................................................เ..ร..ยี ..ก..ใ..ช..แ้..ก..น...ก..ร..า..ฟ...ฟ...ิก..
9. ในการใชง้ านจอ OLED ฟังกช์ นั #include <Adafruit_GFX.h> มไี วเ้ พ่อื
....................................................... เรยี กใชไ้ ดร์เวอร์ของ
10. ในการใชง้ านจอ OLED ฟังกช์ นั #include <Adafruit_SSD1306.h> มไี วเ้ พโ่อื มดลู จอแสดงผล OLED
.......จ..อ..แ..ส..ด..ง..ผ..ล...O...L.E...D...เ.บ..อ..ร..์ .S..SD1306 เบอร์ SSD1306
.................................................................................................................................................................
.........
ตอนท่ี 3 จงเลือกคำตอบทถ่ี ูกทสี่ ดุ แล้วทำเครื่องหมาย x ลงในกระดาษคำตอบ
แบบทดสอบหลังเรยี น
ขอ้ ที่ คำตอบ
1ข
2ค
3ง
4ก
ไมโครคอนโทรลเลอร์
78
5ง
6ง
7ข
8ง
9ค
10 ก
ไมโครคอนโทรลเลอร์
แผนการสอนท่ี 6 หนว่ ยท่ี 6
ช่ือวชิ า ไมโครคอนโทรลเลอร์ สอนครัง้ ที่ 9-10
ชอ่ื หน่วย การใช้งานแอนะลอก PWM ของบอรด์ Arduino ชว่ั โมงรวม 8 ช่วั โมง
ช่อื เรื่อง การใช้งานแอนะลอก และ PWM ของบอรด์ Arduino จำนวน 8 ชวั่ โมง
หัวข้อเรื่องและงาน
1. พอร์ตแอนะลอกอนิ พตุ ของบอร์ด Arduino
2. การใช้ PWM ของบอร์ด Arduino
3. การสร้างสัญญาณเสียงดว้ ย Buzzer
สมรรถนะท่ตี ้องการ
1. แสดงความรเู้ กยี่ วกับพอรต์ รับสัญญาณแอนะลอกของบอร์ด Arduino
2. แสดงความรู้เกี่ยวกบั PWM ของบอรด์ Arduino
3. แสดงความรูเ้ กี่ยวกับการใช้บอรด์ Arduino สำหรบั กำเนดิ สัญญาณเสยี ง
4. เขียนและแกไ้ ขโปรแกรมภาษา C ทเี่ ก่ียวขอ้ งกบั สัญญาณแอนะลอก
สาระสำคัญ
ไอซีไมโครคอนโทรลเลอร์ตระกูล AVR จะมีโมดูลแปลงสัญญาณแอนะลอกเป็นสัญญาณดิจิทัล ความ
ละเอียด 10 บิต ส่วนจำนวนช่องที่สามารถต่อแอนะลอกได้นั้นแตกต่างกันไป เช่น ไอซีไมโครคอนโทรลเลอร์
เบอร์ ATmega328/p มีจำนวน 8 ชอ่ ง เบอร์ ATmega32U4 มจี ำนวน 12 ชอ่ ง เบอร์ ATmega2560 มจี ำนวน
12 ชอ่ ง ถงึ อยา่ งไรก็ตามเมือ่ นำมาสร้างเปน็ บอร์ด Arduino รุ่นมาตรฐาน ผ้อู อกแบบไดอ้ อกแบบชอ่ งแอนะลอก
อนิ พุตไว้เพียง 6 ช่อง คือช่อง A0 ถึง A5 ส่วนบอร์ด Arduino รนุ่ Mega น้นั มีช่องแอนะลอกอนิ พุตจำนวน 16
ช่อง คือช่อง A0 ถึง A15 สำหรับบอร์ด Arduino รุ่นที่สอง (DUE) จะมีช่องช่องแอนะลอกอินพุตจำนวน 12
ช่อง คือช่อง A0 ถึง A11 และมคี วามละเอียด 12 บิต เนื่องจากใชไ้ อซไี มโครคอนโทรลเลอร์เบอร์ ATSAM3X8E
บอร์ด Arduino รุ่น UNO จะมีขาสำหรับสง่ ออก PWM จำนวน 6 ขา ได้แก่ D3, D5, D6, D9, D10 และ D11
ความถ่ีของ PWM ประมาณ 490 Hz การกำหนดค่า Duty cycle สามารถกำหนดได้โดยค่าตัวเลข 0 ถึง 255
หมายถึงค่ากำหนดคา่ Duty cycle 0 % ถึง 100 % น้ันกำหนดด้วยคา่ ตัวเลข 0 ถึง 255 ฟังก์ชันที่กำหนดให้
ส่งสัญญาณ PWM สำหรับ Buzzer เป็นอุปกรณ์ไฟฟ้าท่ีนำผลของแม่เหล็กไฟฟ้ามาดึงดูดให้แกนอามาเจอร์
(Armature) เคล่ือนท่ีมาเคาะกับกระดิ่ง (Bell) ทำให้เกิดเสียงดังได้ ฟังก์ชันที่ใช้กำเนิดสัญญาณเสียงคือ
wave(speakerPin, f, t) ซึ่ง speakerPin คือพอร์ตที่ต่อกับ Buzzer หรือลำโพง f คือค่าความถี่ท่ีต้องการให้
เกิดขน้ึ มหี นว่ ยเป็น Hz ส่วน t คอื เวลาทีเ่ กิดเสียง มีหน่วยเป็น ms
76
สมรรถนะทีพ่ งึ ประสงค์
ความรู้ ทกั ษะ คุณธรรม/จริยธรรม
1. อธบิ ายการใช้งานพอรต์ แอนะลอกของ 1. ตอ่ วงจรสำหรบั รบั สัญญาณ 1. ตรงตอ่ เวลา
ไมโครคอนโทรลเลอร์ตระกลู AVR ได้ แอนะลอกของบอร์ด Arduino 2. มีความตระหนักในหนา้ ท่ี
2. ระบจุ ำนวนชอ่ งสำหรบั รบั สัญญาณ ไดอ้ ย่างถูกตอ้ ง ของนกั ศกึ ษา
แอนะลอกของบอรด์ Arduino 2. ใช้ฟังก์ชนั สำหรบั การรับ 3. มคี วามรับผดิ ชอบต่อ
แต่ละรุ่นได้ สัญญาณแอนะลอกได้ ตนเองและสงั คม
3. เลือกใชง้ านพอร์ตแอนะลอกของบอร์ด 3. ใช้ฟงั กช์ ันสำหรบั PWM ได้ 4. แตง่ กายถูกต้องตาม
Arduino ได้ 4. เขียนโปรแกรมภาษาซีเพือ่ รับ ระเบยี บ
4. บอกฟงั กช์ ันภาษา C ทใ่ี ชง้ านสำหรับรบั คา่ สญั ญาณแอนะลอกได้ 5. แสดงความเคารพด้วยทา่ ที
สัญญาณแอนะลอกของบอรด์ Arduino 5. เขียนโปรแกรมภาษาซีเพ่ือใช้ ท่สี วยงาม
ได้ ฟงั กช์ นั PWM ได้ 6. ทำงานดว้ ยความเต็มใจ
5. เขียนโปรแกรมภาษา C สำหรับรับ 7. ใช้วสั ดุอุปกรณ์และ
สัญญาณแอนะลอกของบอร์ด Arduino เครอื่ งมอื อยา่ งประหยดั
ได้ ตระหนักถึงความปลอดภยั
6. อธบิ ายการใช้ PWM ของบอรด์
Arduino ได้
7. ระบคุ วามถขี่ องสัญญาณ PWM ของ
บอรด์ Arduino ได้
8. อธบิ ายฟังกช์ ันภาษา C ท่ใี ช้งานสำหรบั
สญั ญาณ PWM ของบอร์ด Arduino ได้
9. อธบิ ายการใช้บอร์ด Arduino สำหรบั
กำเนดิ เสยี งได้
10. เขยี นโปรแกรมภาษา C สำหรับสร้าง
สัญญาณเสียงได้
ไมโครคอนโทรลเลอร์
77
การบูรณาการหลักปรชั าของเศรษฐกจิ พอเพยี ง
การวเิ คราะห์การนำหลกั ปรัชาของเศรษฐกิจพอเพียงของหน่วยการเรียนรู้ “การใช้งานแอนะลอกและ PWM
ของบอร์ดบอรด์ Arduino” มาใช้ในการรจดั กจิ กรรมการรเรยี นรู้
1. ผู้เรียนได้เรียนรู้หลักคิดและฝกึ ปฏิบัตติ ามหลกั 3 หว่ ง 2 เงือ่ น ดังนี้
ความพอประมาณ ความมีเหตผุ ล การมีภมู ิคมุ้ กนั ในตวั ท่ดี ี
- ใช้วัสดอุ ุปกรณ์อยา่ งประหยดั - มคี วามรูค้ วามเข้าใจ - ฝกึ การใชง้ านการใช้งาน
พอประมาณและเกดิ ประโยชน์ การใช้งานแอนะลอกและ แอนะลอกและ
สงู สดุ PWM ของบอรด์ บอร์ด PWM ของบอรด์ บอร์ด
- ใช้ครุภัณฑอ์ ยา่ งระมัดระวัง Arduino Arduino
และดแู ลบำรงุ รกั ษาสม่ำเสมอ - รคู้ ุณค่าแหลง่ การเรียนรู้ จนเกิดความชำนาญ
หลักพอเพยี ง - แต่ละกลมุ่ แบง่ หน้าทใ่ี นกลุ่ม โดยศกึ ษาจากแหล่ เรียนรู้ - ฝกึ การมีสว่ นร่วมในการ
เหมาะสมกับความสามารถ ต่าง ๆ ได้อยา่ งสอดคลอ้ ง ทำงานเป็นหมคู่ ณะ
และพอเพยี งกับจำนวนสมาชกิ กบั เนอื้ หาที่เรียน - สรา้ งความสามัคคจี นทำ
- รู้จกั การทำงานร่วมกบั ผอู้ นื่ ให้งานสำเรจ็
- นกั ศกึ ษาใชว้ ัสดุอุปกรณ์
ดว้ ยความระมัดระวงั
และคำนึงถึง
ความปลอดภัย
- รูเ้ รือ่ งการใชง้ านแอนะลอกและPWM ของบอรด์ บอรด์ Arduino
- รเู้ รอ่ื งบอรด์ ไมโครคอนโทรลเลอร์ Arduino
เงื่อนไขความรู้ของผ้เู รียน - รู้เรอ่ื งซอฟตแ์ วร์ Arduino IDE
- รวู้ ิธีนำหลักปรัชญาเศรษฐกจิ พอเพียงบรู ณาการกบั ชวี ิตประจำวนั
- สืบค้นข้อมลู เพื่อเสริมสร้างความรู้ด้วยวิธีการทีห่ ลากหลาย
- ศึกษา ค้นคว้า วธิ กี าร หลักการ ทำการปฏิบตั งิ าน ทำแบบฝึกปฏบิ ตั ิ เพ่อื สรุปองคค์ วามรู้
- มคี วามรบั ผดิ ชอบในหนา้ ท่ที ี่ ปฏบิ ตั ิงานดว้ ยความเรียบรอ้ ย ถูกต้อง และเสร็จทนั เวลา
- มคี วามสามคั คีในหมู่คณะ
เงอ่ื นไขคุณธรรมของผู้เรียน - มีวินยั เป็นผู้นำและผู้ตามท่ดี ีขณะปฏบิ ัติงานรว่ มกัน
- รว่ มกจิ กรรมการเรียนรู้ด้วยความกระตอื รอื ร้น สนใจ ตง้ั ใจ และใฝเ่ รียนรู้
- มีความตระหนักในการใชค้ ุรุภัณฑ์และสถานที่เรยี นรู้
ไมโครคอนโทรลเลอร์
78
2. ผ้เู รยี นได้เรยี นรู้การใชช้ วี ิตท่ีสมดลุ และพร้อมรบั การเปลย่ี นแปลงใน 4 มิตติ ามหลกั ปรัชญาของเศรษฐกิจ
พอเพียง ดงั นี้
ดา้ น สมดุลและพรอ้ มรับการเปลี่ยนแปลงในด้านต่าง ๆ
องค์ประกอบ
ความรู้ วัตถุ สงั คม สง่ิ แวดล้อม วัฒนธรรม
ทักษะ มคี วามรู้ ความเข้าใจ -มคี วามรเู้ กย่ี วกบั การ ใชพ้ ดั ลมดดู อากาศ มุ่งเนน้ วฒั นธรรมภมู ิ
คา่ นิยม เก่ยี วกับการใช้งาน ทำงานระบบกลุม่ และดดู กลนิ่ ควนั ของ ปัญญาทอ้ งถิน่ ว่าเปน็
แอนะลอกและ PWM -นักเรียนมีความรู้เกี่ยวกับ ตะกวั ่ บดั กรี ฐานความคิด สำคัญ
ของบอร์ดบอรด์ Arduino การวางแผน การทำงาน ของคนไทย ใหส้ ามารถ
เพ่ือใช้แกป้ ัญหาและ รว่ มกับผูอ้ ่นื ดำรง วถิ ชี วี ติ และปรบั
พัฒนาวิถีชีวติ ประยกุ ต์ใช้ได้ อยา่ ง
เขียนโปรแกรมภาษา C - ปฏิบัติในการทำงาน - ทำความสะอาดห้อง เหมาะสม
เพอ่ื ใชง้ านแอนะลอกและ เปน็ หมคู่ ณะดว้ ยหลัก เรยี นห้องปฏิบัตกิ าร
PWM ของบอร์ดบอร์ด เอาใจเขามาใสใ่ จเรา ใหส้ ะอาด เป็นระเบียบ
Arduino โดยใชบ้ อรด์ เรียบร้อย พรอ้ มใช้งาน
ไมโครคอนโทรลเลอร์
Arduino ได้
มวี นิ ยั และมงุ่ มัน่ ในการ เห็นความสำคญั ของการ เกดิ ความตระหนัก และ
ทำงานดว้ ยความซ่ือสตั ย์ ทำงานรว่ มกบั ผอู้ น่ื และ เหน็ คณุ คา่ ของ ใชง้ าน
สจุ ริต การทำงาน ในระบบกลุม่ แอนะลอกและ PWM
ของบอร์ดบอร์ด Arduino
สามารถนำไปประยกุ ตใ์ ช้
กับวิถี ชวี ิตของตนเอง ได้
อยา่ งเหมาะสม
3. ศาสตร์ท่ีนำมาใชใ้ นหน่วยเรยี น
ศาสตร์พระราชา ศาสตรส์ ากล ศาสตรภ์ ูมิปัญญา
- ปรชั ญาของเศรษฐกจิ พอเพียง - ซอฟต์แวร์ Arduino IDE - อยอู่ ยา่ งไทย
- เขา้ ใจ เขา้ ถงึ พฒั นา - ภาษา C และ C++ สำหรับ - รูร้ กั สามคั คี
- การพฒั นาทย่ี ั่งยืน ไมโครคอนโทรลเลอร์ Arduino - สะเต็มศึกษา หรือ “STEM”
- พระราชกระแสรบั ส่งั “ทำเปน็ - ไมโครคอมพิวเตอร์พร้อมซอฟต์แวร์
ตวั อยา่ งใหน้ ักเรียนเปน็ คนดี นักเรยี น
รักครู ครูรักนักเรยี น” (9 ก.ค. 55)
ไมโครคอนโทรลเลอร์
79
แบบทดสอบก่อนเรียน วิชาไมโครคอนโทรลเลอร์
หน่วยที่ 6 ชื่อหนว่ ย การใชง้ านแอนะลอก และ PWM ของบอร์ด Arduino
คำชแ้ี จง จงเลือกคำตอบทีถ่ ูกท่สี ุดแลว้ กาเครอ่ื งหมายกากบาท (X) ลงในกระดาษคำตอบ
วงจรสำหรับขอ้ 1
16 MHz RESET DIGITAL (WPM ~)AREF
TX RGND
RX
L UNO 1132 1
+5 V IOREF ATmega328p ARDUINO
10VRKW RESET 150~~~11109 W
3.3V POWER ANALOG IN 8
5V
GND ~67
GND ~5 LED1
Vin ~43
A0
AA21 ON 2
AA34 TX 1
A5 ICSP RX 0
1. จากวงจรที่กำหนด ข้อใดเป็นคำสัง่ สำหรับรับสญั ญาณแอนะลอกจาก VR แลว้ นำค่าไปควบคมุ ความสวา่ งของ
LED1
ก. M = map(analogRead(A0),0,255,0,255) ข. M = map(analogRead(A0),0,1023,0,255)
ค. M = map(analogRead(A0),0,200,0,100) ง. M = map(analogRead(A0),0,200,0,1023)
2. ความถี่ของสัญญาณ PWM ของบอร์ด Arduino UNO มีความถใ่ี ด
ก. ประมาณ 390 Hz ข. ประมาณ 490 Hz
ค. ประมาณ 590 Hz ง. ประมาณ 690 Hz
3. ขอ้ ใดเปน็ ฟังก์ชันภาษา C ที่ใช้งานสำหรับสัญญาณ PWM ของบอรด์ Arduino UNO
ก. N = anologWrite(D4,value) ข. N = anologWrite(D7,value)
ค. N = anologRead(D4,value) ง. N = anologRead(D13,value)
4. ขอ้ ใดกล่าวผดิ
ก. การกำเนิดสัญญาณเสียงสามารถใช้ได้เฉพาะพอรต์ ที่สามารถสร้าง PWM เท่านั้น
ข. การกำเนิดเสียงสามารถใชค้ ำสงั่ wave(speakerPin, 540, 100)
ค. Buzzer สามารถนำมาใชเ้ ป็นตวั กำเนดิ เสยี งรว่ มกับบอรด์ Arduino UNO ได้
ง. ในการใช้งานวงจรกำเนดิ เสยี งจะต้องตั้งค่าพอรต์ ท่ตี อ่ กบั ตวั กำเนดิ เสียงให้เป็นเอาต์พุต
ไมโครคอนโทรลเลอร์
80
วงจรสำหรับขอ้ 5
16 MHz RESET DIGITA L (WPM ~) BUZZER
TX AREF
RX GN D
L UNO
IOREF P OW E R ATmega328p ARDUINO ~~~111132109
R ESE T
3.3V 8
5V
GN D
GN D
Vin
ANALOG IN ~~657
AAA210 ~43
AA34
A5 ON 2
ICSP TX 1
RX 0
5. จากวงจรท่กี ำหนด ขอ้ ใดไมจ่ ำเป็นต้องใช้ในโปรแกรมกำเนดิ เสยี ง
ก. pinMode(speakerPin, OUTPUT) ข. int speakerPin = 11
ค. wave(speakerPin, 440, 40) ง. pinMode(SW1, OUTPUT)
6. ไมโครคอนโทรลเลอร์ตระกูล AVR เบอร์ Mega2560 สามารถรับสัญญาณแอนะลอกของจำนวนกชี่ ่อง
ก. 12 ข. 14
ค. 16 ง. 21
7. ขอ้ ใดกลา่ วผดิ
ก. บอร์ดไมโครคอนโทรลเลอร์ Arduino UNO มชี อ่ งรบั สัญญาณแอนะลอกจำนวน 6 ชอ่ ง
ข. บอร์ดไมโครคอนโทรลเลอร์ Arduino LEONARDO มีช่องรบั สญั ญาณแอนะลอกจำนวน 6 ชอ่ ง
ค. บอร์ดไมโครคอนโทรลเลอร์ Arduino Mega2560 R3 มีชอ่ งรับสัญญาณแอนะลอกจำนวน 16 ช่อง
ง. บอรด์ ไมโครคอนโทรลเลอร์ Arduino DUE มชี อ่ งรบั สัญญาณแอนะลอกจำนวน 16 ชอ่ ง
8. หากต้องการอ่านคา่ สัญญาณแอนะลอกของบอรด์ Arduino UNO ช่อง A0 เก็บคา่ ทแ่ี ปลงเป็นดิจทิ ลั แลว้ ไวท้ ี่
ตวั แปล N1 ควรใชฟงั ก์ชนั ในขอ้ ใดเหมาะสมทส่ี ดุ
ก. int N1 = analogRead(0) ข. long N1 = analogRead(0)
ค. unsigned long N1 = analogRead(0) ง. Float N1= analogRead(0)
9. ฟงั ก์ชนั ในขอ้ ใดทีไ่ มส่ ามารถใชก้ บั การรบั สญั ญาณแอนะลอกของบอร์ด Arduino Mega2560 R3
ก. value = analogRead(0) ข. value = analogRead(10)
ค. value = analogRead(11) ง. value = analogRead(16)
10. หากตอ้ งการเปลย่ี นค่าทไี่ ดจ้ ากการอา่ นคา่ สญั ญาณแอนะลอกให้เป็นค่าต้ังแต่ 0 ถึง 200 ใชค้ ำสง่ั ใด
ก. value = map(value,0,200,0,255) ข. value = map(value,0,255,0,200)
ค. value = map(value,0,1023,0,200) ง. value = map(value,0,200,0,1023)
ไมโครคอนโทรลเลอร์
81
เนอื้ หาสาระ ADSC
ADEN
1. พอร์ตแอนะลอกอินพตุ ของบอร์ด Arduino
1.1 พ้ืนฐานของแอนะลอกอินพุตของบอร์ด ArduinoINPUT MUX
ADC Multiplexer select
ADMUX ADC control & status register
ADCSRA
ADC 0
ADC 1 ADC Data register
ADC 8 ADCL
ADC .. Conversion circuit 2 ADCH
ADC n
1.2 ฟงั ก์ชันสำหรบั อ่านสญั ญาณแอนะลอก
2. การใช้ PWM ของบอรด์ Arduino
ไมโครคอนโทรลเลอร์
82
Duty cycle analogWrite(0)
0%
analogWrite(64)
Duty cycle
25 % analogWrite(127)
Duty cycle analogWrite(191)
50 % analogWrite(255)
Duty cycle
75 %
Duty cycle
100 %
16 MHz RESET DIGITAL (WPM ~)AREF
TX RGND
RX
L UNO
+5 V IOREF ARDUINO 13 1
10VRkW RESET 12
3.3V 150~~~11109 W
5V ATmega328p 8
GND
GND POWER ANALOG IN ON LED1~~657
Vin ICSP
A0 ~43
AA21
AAA345 2
TX 1
RX 0
ไมโครคอนโทรลเลอร์
83
16 MHz RESET DIGITAL (WPM ~)AREF
TX GND
RX
L UNO
IOREF ATmega328p ARDUINO 13
RESET 12
3.3V POWER ANALOG IN ~~~11109
5V
GND
GND 8
Vin
A0 ~~657
AA21 ~43
AAA345
ON 2 LED1 R1
ICSP TX 1 LED2 R2
RX 0 LED3 R3
LED4 R4
R1 R6 = 150 W LED5 R5
LED6 R6
กิจกรรมการเรียนการสอน
ข้นั ตอนการสอน ขั้นตอนการเรยี น เคร่ืองมอื /การวัดผล
ประเมินผล
(กจิ กรรมของครู) (กิจกรรมผเู้ รียน)
1. คำถามประจำหนว่ ย
1.ขนั้ นำเขา้ สู่บทเรยี น 2. แบบทดสอบกอ่ น
1.1 ครูบอกจุดประสงค์ของการเรยี นใน 1.1 นกั เรยี นรับฟังจุดประสงคข์ องการเรียนใน เรยี นหนว่ ยที่ 6
บทเรยี นนี้ บทเรียนนี้
1.2 ครูสอบถามความสำคัญของการใชง้ าน 1.2 นกั เรียนบอกความสำคญั ของการใชง้ าน
แอนะลอก และ PWM ของบอรด์ Arduino แอนะลอก และ PWM ของบอร์ด Arduino
1.3 ครูแจกแบบทดสอบกอ่ นเรียนหน่วยที่ 6 1.3 นกั เรียนทำทดสอบก่อนเรียนหนว่ ยที่ 6
2. ขั้นสอนทฤษฎี
ไมโครคอนโทรลเลอร์
2.1 ครอู ธบิ ายความสำคญั ของการใชง้ าน 2.1 รบั ฟงั คำบรรยาย 84
แอนะลอก และ PWM ของบอร์ด Arduino 2.2 ตอบคำถามและแสดงความคิดเหน็
ใช้ส่อื power point ประกอบการสอน 1. power point
หนว่ ยที่ 6
2.2 ซกั ถามปัญหาเกยี่ วกับการทำงานของ
ไมโครคอนโทรลเลอร์ 2. คำถามหนว่ ยท่ี 6
3. ขนั้ สรุป 1. ใบสรุปหน่วยท่ี 6
3.1 ครูและนักเรียนช่วยกันสรุปและครูซักถาม 3.1 นกั เรยี นช่วยครูสรุปและตอบคำถาม 1.ใบตรวจผลงาน
ตามใบงานท่ี 6
ปัญหาขอ้ สงสยั 3.2 จดบททึกย่อ
1. แบบทดสอบหลงั เรยี น
4. ขัน้ สอนปฏิบตั ิ หนว่ ยท่ี 6
4.1 เตรียมบอรด์ Arduino UNO และอุปกรณ์ 4.1 นักศึกษาปฏิบัตงิ านตามใบงานที่ 6 1. ใบมอบงานหนว่ ยท่ี 6
I/O และคอมพวิ เตอร์ 1.ใบตรวจสอบความ
เรียบรอ้ ย
5. ข้นั การประเมนิ ผล
5.1 ครแู จกใบประเมินผลหลงั เรียนหนว่ ยที่ 6 5.1 รบั ใบประเมนิ ผลหลังเรียนหนว่ ยท่ี 6
5.2 ดูแลนกั เรยี นไมใ่ หท้ ุจริต 5.2 ทำแบบทดสอบหลงั เรียน
5.3 เมอื่ ครบเวลาท่ีกำหนดรับแบบทดสอบคืน 5.3 เมือ่ ครบเวลาทก่ี ำหนดส่งแบบทดสอบคืน
6. ข้ันมอบหมายงาน
6.1 ให้นักเรียนไปคน้ คว้าเพมิ่ เตมิ เก่ียวกับ 6.1 รบั มอบหมายงาน
การใช้งานแอนะลอก และ PWM ของ
บอร์ด Arduinoและทำแบบฝกึ หดั ท้าย
หน่วยเรยี นหนว่ ยท่ี 6 สง่ ในสัปดาห์ตอ่ ไป
7. ขน้ั ตรวจสอบความเรยี บร้อย
7.1 ตรวจความเรยี บรอ้ ยและความเรียบรอ้ ย 7.1 ชว่ ยกันจัดเกบ็ และทำความสะอาด
ของห้องเรยี นหอ้ งปฏิบัติงาน หอ้ งเรียนห้องปฏบิ ัตงิ านใหเ้ รยี บรอ้ ย
งานท่มี อบหมายหรอื กิจกรรม
ก่อนเรยี น
- นกั ศกึ ษาทำแบบทดสอบก่อนเรยี นหนว่ ยท่ี 6
ขณะเรยี น
- ให้นกั ศกึ ษาอภิปรายเกี่ยวกับและสรุปเก่ียวกบั การใช้งานแอนะลอก และ PWM ของบอร์ด
Arduino
หลังเรียน
- ให้นักเรยี นไปคน้ ควา้ เพมิ่ เติมเกี่ยวกบั การใชง้ านแอนะลอก และ PWM ของบอรด์ Arduino
และทำแบบฝกึ หัดทา้ ยหนว่ ยเรียนหนว่ ยที่ 6 ส่งในอาทติ ยต์ อ่ ไป
ส่อื การเรียนการสอน
ไมโครคอนโทรลเลอร์
85
- หนังสือเรียนไมโครคอนโทรลเลอร์ หน่วยท่ี 6 การใช้งานแอนะลอก และ PWM ของบอร์ด
Arduino
- power point เร่ืองการใชง้ านแอนะลอก และ PWM ของบอร์ด Arduino
- แบบฝึกหดั ทา้ ยหน่วยเรยี นที่ 6
การวดั ผลการเรยี น
กอ่ นเรยี น
ทดสอบก่อนเรยี น (Pre-test) โดยใช้ขอ้ สอบหน่วยท่ี 6 จำนวน 10 ข้อ
ขณะเรียน
ถาม – ตอบปัญหา, ความสนใจ, ความตง้ั ใจ, การอภปิ ราย
หลงั เรยี น
ทดสอบหลังเรียน (Post-test) โดยใช้ขอ้ สอบหน่วยท่ี 6
- แบบวเิ คราะห์ถกู ผดิ จำนวน 10 ขอ้
- แบบสอบสนั้ ๆ จำนวน 10 ข้อ
- แบบตวั เลือก จำนวน 10 ข้อ
การประเมินผล
1. การประเมินผลโดยใชแ้ บบประเมนิ ผลกอ่ นเรยี นหน่วยท่ี 6 จำนวน 10 ข้อ (แบบเลอื กตอบ)
2. การประเมินผลโดยใช้แบบประเมนิ ผลหลงั การเรยี นหนว่ ยท่ี 6
2.1 แบบวเิ คราะห์ถกู ผิด จำนวน 10 ข้อ
2.2 แบบสอบสัน้ ๆ จำนวน 10 ขอ้
2.3 แบบตัวเลือก จำนวน 10 ขอ้
3. สังเกตการมีส่วนรว่ มในการเรยี น
4. สงั เกตจากการตอบคำถาม / การอภปิ ราย
เอกสารอ้างอิง
1. สุชิน ชินสหี ์. (2563). ไมโครคอนโทรลเลอร์ (Arduino Microcontroller)
นนทบุรี : โรงพมิ พ์ บริษทั ศูนย์หนงั สือเมอื งไทย จำกัด.
2. เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์ รหสั วชิ า 20105-2105
บนั ทกึ หลังการจดั การเรียนรูข้ องครู
วันที่……….… เดอื น……………..…...………. พ.ศ………….…
รหัสวชิ า 20105-2105 ชือ่ รายวชิ า ไมโครคอนโทรลเลอร์
สาขาวิชา ชา่ งอเิ ล็กทรอนิกส์ ระดบั ชั้น ปวช. ปีที่ 3 กลุ่มท่ี 1,2
หัวขอ้ เนือ้ หาท่ีสอน การใช้งานแอนะลอก และ PWM ของบอร์ด Arduino หน่วยท่ี 6
จำนวนนกั ศึกษาเขา้ เรียน ……… คน
รายละเอยี ดการสอน เข้าใจ/ ไมเ่ ข้าใจ ปฏบิ ตั ิ หมายเหตุ สำหรับนกั ศกึ ษาทีไ่ ม่เข้าใจหรอื ปฏิบตั ิ
ไมไ่ ดจ้ ะแกไ้ ขในการสอนครั้งตอ่ ไป
รายละเอยี ด/หวั ขอ้ ในวันท่ี……....เดอื น……...............…..พ.ศ……..........
โดยจะดำเนินการดงั น้ี
ไมโครคอนโทรลเลอร์ 1. ………………………….……........……………………….
86
เนื้อหาที่สอน ปฏิบัติได(้ คน) ไม่ได้ (คน)
1. พอร์ตแอนะลอกอนิ พตุ ของบอร์ด
A2.rdกuาiรnใoช้ PWM ของบอร์ด Arduino
3. การสร้างสัญญาณเสียงด้วย Buzzer
ผลการใชแ้ ผนการสอน
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
ผลการเรียนของนักเรียน
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
ผลการสอนของครู
.................................................................................................................................................................................
.................................................................................................................................................................................
แบบใหค้ ะแนนการปฏบิ ตั ิงาน
วชิ า ไมโครคอนโทรลเลอร์ รหสั วชิ า 20105-2105
ชือ่ หน่วย การใช้งานแอนะลอก PWM ของบอรด์ Arduino
เร่ือง การใชง้ านแอนะลอก PWM ของบอรด์ Arduino
รายการทปี่ ระเมนิ คะแนน หมายเหตุ
คะแนน คะแนน
1. กระบวนการปฏบิ ัติงาน เต็ม ที่ได้
ไมโครคอนโทรลเลอร์
87
1.1 การจดั เตรียมวัสดอุ ุปกรณ์ และเคร่ืองมือ 0.5
1.2 การใช้เครอื่ งมือไดถ้ กู ตอ้ ง 0.5
1.3 ปฏิบตั งิ านถกู ตอ้ งตามขน้ั ตอน 1
1.4 เกบ็ รกั ษาเคร่อื งมอื และชดุ ทดลอง 0.5
2. ผลงาน
2.1 การใช้พอร์ตแอนะลอกอินพตุ ของบอร์ด Arduino 5
2.2 การใช้ PWM ของบอร์ด Arduino 5
2.3 การสรา้ งสญั ญาณเสยี งด้วย Buzzer 5
3. กิจนสิ ยั ในการปฏิบัติงาน
3.1 การให้ความสนใจในการปฏบิ ตั งิ าน 0.5
3.2 ความปลอดภยั ในการปฏิบตั งิ าน 1
3.3 ความเรียบรอ้ ยหลังปฏิบตั ิงาน 0.5
3.4 ความรว่ มมือในกลมุ่ 0.5
20
รวม
ผ้ปู ระเมนิ
ลงชื่อ
ใบประเมนิ ผลหลงั เรียนหน่วยท่ี 6
วิชา ไมโครคอนโทรลเลอร์ ช่ือหน่วย การใช้งานแอนะลอก PWM ของบอร์ด Arduino
คำชี้แจง แบบทดสอบมี 3 ตอน
ตอนท่ี 1 เป็นแบบทดสอบแบบอ่านขอ้ ความ แลว้ วเิ คราะหว์ า่ ขอ้ ความนนั้ ถูกต้องหรอื ผดิ
ตอนที่ 2 เป็นแบบอธบิ ายสนั้ ๆ ใหไ้ ดใ้ จความ
ตอนท่ี 3 เป็นแบบตวั เลอื กชนดิ 4 ตวั เลอื ก
ตอนที่ 1 ใหก้ าเครอ่ื งหมายถูก √ ในขอ้ ทคี่ ดิ ว่าถูก และกาเคร่อื งหมายผดิ x ในขอ้ ทคี่ ดิ วา่ ผดิ
……… 1. จานวนชอ่ งแอนะลอ็ กของไอซไี มโครคอนโทรลเลอรเ์ บอร์ ATmega328/p มจี านวน 8 ชอ่ ง
……… 2. จานวนช่องแอนะลอ็ กของไอซไี มโครคอนโทรลเลอรเ์ บอร์ ATmega32U4 มจี านวน 12 ชอ่ ง
ไมโครคอนโทรลเลอร์
88
……… 3. บอรด์ Arduino UNO ทใี่ ชไ้ อซเี บอร์ ATmega328/p มชี ่องทส่ี ามารถต่อแอนะลอ็ กมี
จานวน 6 ชอ่ ง
……… 4. บอรด์ Arduino LEONARDO ทใี่ ชไ้ อซเี บอร์ ATmega32U4 มชี ่องทส่ี ามารถต่อแอนะลอ็ ก
มจี านวน 10 ชอ่ ง
……… 5. โมดูล ADC ของไอซไี มโครคอนโทรลเลอรเ์ บอร์ ATmega328/p มคี วามละเอยี ด 12 บติ
……… 6. ฟังกช์ นั int value = analogRead(0) เป็นการอ่านสญั ญาณแอนะลอ็ กเขา้ ทชี่ อ่ ง 0 เกบ็ คา่ ไว้
ที่
ตวั แปร value
……… 7. การใช้ PWM ของบอรด์ Arduino UNO สามารถใชท้ พี่ อรต์ D3, D4, D5, D6, D7 และ D13
……… 8. ฟังก์ชนั analogWrite(4, 255) เป็นการส่งสญั ญาณ PWM ออกทข่ี าพอรต์ D4 มคี า่ duty
cycle
เท่ากบั 100 %
……… 9. Buzzer เป็นอปุ กรณ์ทส่ี าหรบั สรา้ งเสยี งดนตรี
……… 10. ฟังก์ชนั wave(10, 540, 40) เป็นฟังกช์ นั สาหรบั สรา้ งความถ่ี 540 Hz เป็นเวลา 40
มลิ ลวิ นิ าที
จานวน 10 ครงั้
ตอนที่ 2 จงอธบิ ายสนั้ ๆ ใหไ้ ดใ้ จความ
1. analogRead(channel) เป็นฟังก์ชนั เกย่ี วกบั
..................................................................................................
2. ฟังก์ชนั int value = analogRead(0) ใชก้ บั บอรด์ Arduino UNO ค่าของ value มคี า่ ตงั้ แต.่ ........ถงึ
..........
3. คาสงั่ map ในภาษา C++ มไี วเ้ พอ่ื
..................................................................................................................
4. ฟังกช์ นั int x = map(value,0,1023,0,100); คา่ ของ x มคี า่ ตงั้ แต่....................ถงึ
........................................
5. หากตอ้ งการให้ A0 เป็นพอรต์ ดจิ ทิ ลั อนิ พุต ต้องใชค้ าสงั่
.................................................................................
6. หากต้องการใหเ้ กดิ สญั ญาณ PWM ทมี่ คี ่า duty cycle เท่ากบั 50% ที่ D6 ต้องใชค้ าสงั่
...............................
7. ฟังกช์ นั int ledArr[] = {3,5,6,9,10,11} มจี ดุ ประสงคเ์ พอ่ื
...........................................................................
8. ฟังกช์ นั analogWrite(LED, 100) มจี ดุ ประสงคเ์ พ่อื
......................................................................................
9. ฟังกช์ นั long int startTime = millis() มจี ุดประสงคเ์ พอ่ื
............................................................................
ไมโครคอนโทรลเลอร์
89
10. ฟังกช์ นั delayMicroseconds(15) มจี ุดประสงคเ์ พอ่ื
.................................................................................
ตอนท่ี 3 ใหก้ าเคร่อื งหมายถกู √ หนา้ ขอ้ ทค่ี ดิ วา่ ถกู และกาเครอ่ื งหมายผดิ x หนา้ ข้อทค่ี ดิ วา่ ผดิ
1. ไมโครคอนโทรลเลอรต์ ระกูล AVR เบอร์ Mega2560 สามารถรบั สัญญาณแอนะลอกของจำนวนกีช่ ่อง
ก. 12 ข. 14
ค. 16 ง. 21
2. ข้อใดกล่าวผดิ
ก. บอรด์ ไมโครคอนโทรลเลอร์ Arduino UNO มชี ่องรับสญั ญาณแอนะลอกจำนวน 6 ช่อง
ข. บอร์ดไมโครคอนโทรลเลอร์ Arduino LEONARDO มชี อ่ งรบั สัญญาณแอนะลอกจำนวน 6 ช่อง
ค. บอร์ดไมโครคอนโทรลเลอร์ Arduino Mega2560 R3 มชี อ่ งรบั สัญญาณแอนะลอกจำนวน 16 ชอ่ ง
ง. บอรด์ ไมโครคอนโทรลเลอร์ Arduino DUE มชี อ่ งรับสญั ญาณแอนะลอกจำนวน 16 ช่อง
3. หากตอ้ งการอา่ นคา่ สญั ญาณแอนะลอกของบอร์ด Arduino UNO ช่อง A0 เก็บคา่ ท่ีแปลงเปน็ ดิจิทลั แลว้ ไวท้ ่ี
ตัวแปร N1 ควรใชฟังก์ชนั ในขอ้ ใดเหมาะสมทส่ี ุด
ก. int N1 = analogRead(0) ข. long N1 = analogRead(0)
ค. unsigned long N1 = analogRead(0) ง. Float N1= analogRead(0)
4. ฟงั กช์ นั ในข้อใดท่ีไมส่ ามารถใชก้ บั การรับสัญญาณแอนะลอกของบอรด์ Arduino Mega2560 R3
ก. value = analogRead(0) ข. value = analogRead(10)
ค. value = analogRead(11) ง. value = analogRead(16)
5. หากต้องการเปลีย่ นค่าทไ่ี ด้จากการอา่ นค่าสญั ญาณแอนะลอกใหเ้ ป็นค่าต้ังแต่ 0 ถึง 200 ใช้คำสง่ั ใด
ก. value = map(value,0,200,0,255) ข. value = map(value,0,255,0,200)
ค. value = map(value,0,1023,0,200) ง. value = map(value,0,200,0,1023)
วงจรสำหรับข้อ 6
16 MHz RESET DIGITAL (WPM ~)AREF
GND
TX
RX R113
L UNO
+5 V IOREF ATmega328p ARDUINO 150~~~1112109 W
10VRKW RESET 8
3.3V POWER ANALOG IN
5V ON LED1~~657
GND
GND ICSP ~43
Vin
A0 2
AA21 TX 1
AA34 RX 0
A5
6. ขอ้ ใดเป็นคำสัง่ สำหรับรับสญั ญาณแอนะลอกจาก VR แลว้ นำคา่ ไปควบคมุ ความสว่างของ LED1
ไมโครคอนโทรลเลอร์
90
ก. M = map(analogRead(A0),0,255,0,255) ข. M = map(analogRead(A0),0,1023,0,255)
ค. M = map(analogRead(A0),0,200,0,100) ง. M = map(analogRead(A0),0,200,0,1023)
7. ความถี่ของสญั ญาณ PWM ของบอร์ด Arduino UNO มคี วามถใ่ี ด
ก. ประมาณ 390 Hz ข. ประมาณ 490 Hz
ค. ประมาณ 590 Hz ง. ประมาณ 690 Hz
8. ขอ้ ใดเปน็ ฟังก์ชนั ภาษา C ที่ใชง้ านสำหรบั สัญญาณ PWM ของบอรด์ Arduino UNO
ก. N = anologWrite(D4,value) ข. N = anologWrite(D7,value)
ค. N = anologRead(D4,value) ง. N = anologRead(D13,value)
9. ข้อใดกล่าวผิด
ก. การกำเนดิ สัญญาณเสียงสามารถใชไ้ ดเ้ ฉพาะพอรต์ ที่สามารถสรา้ ง PWM เท่านน้ั
ข. การกำเนิดเสยี งสามารถใชค้ ำส่ัง wave(speakerPin, 540, 100)
ค. Buzzer สามารถนำมาใชเ้ ปน็ ตัวกำเนิดเสยี งร่วมกับบอร์ด Arduino UNO ได้
ง. ในการใช้งานวงจรกำเนดิ เสยี งจะต้องตั้งคา่ พอร์ตทต่ี อ่ กับตวั กำเนดิ เสียงให้เป็นเอาตพ์ ุต
วงจรสำหรับข้อ 10
16 MHz RESET DIGITA L (WPM ~) BUZZER
TX AREF
RX GN D
L UNO
IOREF P OW E R ATmega328p ARDUINO ~~~111132109
R ESE T
3.3V 8
5V
GN D
GN D
Vin
ANALOG IN ~~657
A0 ~43
AA21
AAA534 2
ON TX 1
ICSP RX 0
10. จากวงจรทีก่ ำหนด ข้อใดไม่จำเป็นตอ้ งใช้ในโปรแกรมกำเนดิ เสยี ง
ก. pinMode(speakerPin, OUTPUT) ข. int speakerPin = 11
ค. wave(speakerPin, 440, 40) ง. pinMode(SW1, OUTPUT)
ไมโครคอนโทรลเลอร์
91
เฉลยใบประเมินผลหน่วยที่ 6
เฉลยแบบทดสอบกอ่ นเรียน หน่วยที่ 6
แบบทดสอบกอ่ นเรียน
ข้อที่ คำตอบ
1ข
2ข
3ก
4ก
5ง
6ง
7ข
8ก
9ง
10 ค
ไมโครคอนโทรลเลอร์
92
เฉลยแบบทดสอบหลังเรยี น หน่วยที่ 5
ตอนท่ี 1 ใหก้ าเคร่อื งหมายถกู √ ในขอ้ ทคี่ ดิ ว่าถกู และกาเคร่อื งหมายผดิ x ในขอ้ ทคี่ ดิ วา่ ผดิ
…………√√ ……
1. จานวนช่องแอนะลอ็ กของไอซไี มโครคอนโทรลเลอรเ์ บอร์ ATmega328/p มจี านวน 8 ชอ่ ง
2. จานวนช่องแอนะลอ็ กของไอซไี มโครคอนโทรลเลอรเ์ บอร์ ATmega32U4 มจี านวน 12 ชอ่ ง
……√ … 3. บอรด์ Arduino UNO ทใี่ ชไ้ อซเี บอร์ ATmega328/p มชี ่องทส่ี ามารถตอ่ แอนะลอ็ กมจี านวน
6 ช่อง
……… 4. บอรด์ Arduino LEONARDO ทใ่ี ชไ้ อซเี บอร์ ATmega32U4 มชี อ่ งทส่ี ามารถต่อแอนะลอ็ ก
มจี านวน 10 ช่อง
……… 5. โมดูล ADC ของไอซไี มโครคอนโทรลเลอรเ์ บอร์ ATmega328/p มคี วามละเอยี ด 12 บติ
……√ … 6. ฟังก์ชนั int value = analogRead(0) เป็นการอ่านสญั ญาณแอนะลอกเขา้ ทชี่ ่อง 0 เกบ็ ค่าไว้
ที่
ตวั แปร value
……… 7. การใช้ PWM ของบอรด์ Arduino UNO สามารถใชท้ พี่ อรต์ D3, D4, D5, D6, D7 และ D13
…√…… 8. ฟังกช์ นั analogWrite(4, 255) เป็นการส่งสญั ญาณ PWM ออกทข่ี าพอรต์ D4 มคี ่า duty
cycle
เท่ากบั 100 %
……… 9. Buzzer เป็นอปุ กรณ์ทส่ี าหรบั สรา้ งเสยี งดนตรี
……… 10. ฟังกช์ นั wave(10, 540, 40) เป็นฟังก์ชนั สาหรบั สรา้ งความถ่ี 540 Hz เป็นเวลา 40
มลิ ลวิ นิ าที
จานวน 10 ครงั้
ตอนที่ 2 จงอธบิ ายสนั้ ๆ ใหไ้ ดใ้ จความ
1. analogRead(channel) เป็นฟังกช์ นั เกย่ี วกบั อ่านสญั ญาณแอนะลอกจากอนิ พตุ ชอ่ งที่กำหนด
0 1023
..................................................................................................
2. ฟังก์ชนั int value = analogRead(0) ใชก้ บั บอรด์ Arduino UNO ค่าของ value มคี า่ ตงั้ แต.่ ........ถงึ
.......... ย่อหรอื ขยายค่าในตัวแปรจากชว่ งค่าหน่ึงไปอกี ชว่ งคา่ หนงึ่
3. คาสงั่ map ในภาษา C++ มไี วเ้ พ่อื
.......................................................................................................0........... 100
4. ฟังกช์ นั int x = map(value,0,1023,0,100); คา่ ของ x มคี ่าตงั้ แต.่ ...................ถงึ
pinMode(A0, INPUT);
........................................
5. หากต้องการให้ A0 เป็นพอรต์ ดจิ ทิ ลั อนิ พตุ ต้องใชค้ าสงั่ analogWrite(6,127);
.................................................................................
6. หากตอ้ งการใหเ้ กดิ สญั ญาณ PWM ทม่ี คี ่า duty cycle เท่ากบั 50% ท่ี D6 ตอ้ งใชค้ าสงั่
กำหนดให้ led ต่อทพี่ อรต์ 3,5,6,9,10,11
...............................
ไมโครคอนโทรลเลอร์
93
7. ฟังก์ชนั int ledArr[] = {3,5,6,9,10,11} มจี ุดประสงคเ์ พอ่ื
........................................................................... ให้ LED สวา่ งประมาณ 39 % ของค่าสงู สุด
8. ฟังก์ชนั analogWrite(LED, 100) มจี ุดประสงคเ์ พ่อื
...................................................................................... ให้ตวั แปร startTime มคี ่าเท่ากับคา่ millis
9. ฟังก์ชนั long int startTime = millis() มจี ุดประสงคเ์ พอ่ื
............................................................................ หนว่ งเวลา 15 us
10. ฟังก์ชนั delayMicroseconds(15) มจี ุดประสงคเ์ พ่อื
.................................................................................
ตอนที่ 3 จงเลอื กคำตอบท่ถี กู ทส่ี ุด แลว้ ทำเครื่องหมาย x ลงในกระดาษคำตอบ
แบบทดสอบหลงั เรยี น
ข้อที่ คำตอบ
1ง
2ข
3ก
4ง
5ข
6ค
7ข
8ข
9ก
10 ง
ไมโครคอนโทรลเลอร์
แผนการสอนท่ี 7 หน่วยท่ี 7
ชื่อวิชา ไมโครคอนโทรลเลอร์ สอนครั้งที่ 11-12
ชอื่ หนว่ ย การใช้งาน Arduino ร่วมกับอุปกรณต์ รวจรู้ ชวั่ โมงรวม 3 ช่วั โมง
ชอื่ เรอ่ื ง การใช้งาน Arduino ร่วมกบั อุปกรณ์ตรวจรู้ จำนวน 3 ช่ัวโมง
หัวขอ้ เรอื่ งและงาน
1. อุปกรณ์ตรวจรรู้ ะยะทางด้วยคล่ืนอัลตรา้ โซนกิ
2. อุปกรณ์ตรวจรู้ระยะทางด้วยคล่นื อนิ ฟราเรด
3. อุปกรณต์ รวจรู้อณุ หภมู ิและความชืน้
สมรรถนะทีต่ อ้ งการ
1. แสดงความรเู้ กยี่ วกบั อปุ กรณต์ รวจรู้ระยะทางดว้ ยคลื่นอัลตรา้ โซนกิ
2. แสดงความรเู้ กี่ยวกับอปุ กรณต์ รวจรรู้ ะยะทางด้วยคล่นื อินฟาร์เรด
3. แสดงความรู้เก่ียวกบั อปุ กรณ์ตรวจรู้อณุ หภูมิและความชน้ื
4. เขียนและแก้ไขโปรแกรมภาษา C ทเ่ี กยี่ วกบั อปุ กรณต์ รวจรู้
สาระสำคัญ
คลื่นอัลตร้าโซนิค เปน็ คลน่ื ความถ่ีเหนือความถสี่ ัญญาณเสียง ความถี่อลั ตร้าโซนคิ น้ัน ที่นิยมใช้งานใน
เซ็นเซอร์วดั ระยะร่นุ ต่าง ๆ จะมีความถี่ท่ีประมาณ 40 kHz ข้อดขี องการใชค้ วามถีน่ ี้ คือมลี กั ษณะของความยาว
คล่ืนที่ส้ัน สง่ ผลให้คลน่ื ไม่แตกจายออกเปน็ วงกวา้ ง และสามารถยิงคลนื่ ตรงไปชนวัตถุใด ๆ ก็ได้ และนอกจากน้ี
ความถ่ี 40 kHz ยงั เปน็ ความถีท่ ี่มรี ะยะเดนิ ทางเพียงพอกบั การใชง้ าน หากใช้ความถีส่ งู ข้นึ จะทำให้คลน่ื เดนิ ทาง
ได้ในระยะทางที่ลดลง ทำให้เม่ือนำมาใช้งานจริงจะวดั ระยะได้ในระยะท่ีสั้น หลกั การที่สำคัญของการวัดระยะ
ดว้ ยคลืน่ อัลตรา้ โซนิค คอื การส่งคลน่ื อัลตร้าโซนิคจำนวนหน่งึ ออกไปจากตัวส่ง (Transmitter) เมอ่ื คลื่นวง่ิ ไปชน
กบั วัตถุ คล่ืนจะมีการสะท้อนกลับมา แล้วว่ิงกลบั ยังตัวรับ (Receiver) ระยะเวลาท่ีส่งคล่นื ออกไป จนถึงได้รับ
คลืน่ กลบั มา โดยอตั ราเร็วเสยี งทีเ่ ดนิ ทางได้ในอากาศสามารถหาได้ตามสูตร อัตราเรว็ ของเสยี งในอากาศ = 331
+ (0.606 x อุณหภูมิในหน่วยองศาเซลเซียส) m/s ระยะทางคำนวณได้จาด distance = (PulseWidth *
0.0347362)/2; หรือ distance = PulseWidth * 0.0173681
โมดูลวัดระยะทางด้วยแสงอนิ ฟราเรดจะสง่ แสงอนิ ฟราเรดจากตวั สง่ ไปกระทบวัตถผุ า่ นเลนสน์ ูนเพื่อ
โฟกสั แสงใหม้ ีคสามเขม้ แสงไปยงั จุดใดจดุ หน่ึง เม่อื แสกระทบวัตถุจะเกิดการกระเจงิ ของแสงไปทศิ ทางตา่ ง ๆ
แสงสว่ นหน่ึงจะกระเจิงกลับมายังภาครับ โดยมีเลนสร์ วบรวมแสงและกำหนดจดุ ตกกระทบ แสงจะถูกสง่ ผ่านไป
ยังโฟโต้ทรานซสิ เตอรจ์ ำนวนมากท่ีตอ่ เรยี งกันเปน็ อารเ์ รย์ สมการคำนวณหาระยะทางของโมดูลวัดระยะทางดว้ ย
แสงอนิ ฟราเรด สตู รการคำนวณสำหรบั หาระยะทางของวัตถุทหี่ ่างจากเลนส์ของตวั สง่ กรณใี ช้วงจร ADC ความ
ละเอยี ด 10 บติ
93
จดุ ประสงค์เชิงพฤตกิ รรมทพ่ี งึ ประสงค์
ความรู้ ทักษะ คุณธรรม/จริยธรรม
1. อธบิ ายหลักการทำงานของอปุ กรณต์ รวจรู้ 1. ต่อวงจรอุปกรณต์ รวจร้รู ะยะทาง 1. ตรงต่อเวลา
2. มีความตระหนกั ในหนา้ ทขี่ อง
ระยะทางดว้ ยคลืน่ อลั ตร้าโซนกิ ได้ถูกต้อง ด้วยคลนื่ อัลตร้าโซนกิ เข้ากบั บอรด์
นักศึกษา
2. ระบุฟงั กช์ นั ภาษา C++ ที่ใชก้ ับอปุ กรณต์ รวจรู้ Arduino ไดอ้ ย่างถกู ต้อง 3. มคี วามรับผิดชอบตอ่ ตนเอง
ระยะทางดว้ ยคลนื่ อลั ตร้าโซนิกไดถ้ ูกตอ้ ง 2. เขยี นโปรแกรมสำหรบั การอ่านค่า และสังคม
4. แตง่ กายถูกต้องตามระเบยี บ
3. เขียนโปรแกรมภาษา C++ เพื่ออ่านคา่ จาก จากอปุ กรณ์ตรวจรรู้ ะยะทางดว้ ย 5. แสดงความเคารพด้วยทา่ ที
อุปกรณต์ รวจรรู้ ะยะทางด้วยคลื่นอัลตร้าโซนกิ คลน่ื อลั ตร้าโซนกิ ไดถ้ กู ต้อง ท่ีสวยงาม
6. ทำงานดว้ ยความเต็มใจ
ได้ถูกต้อง 3. เขียนโปรแกรมสำหรับการอ่านค่า 7. ใชว้ ัสดอุ ุปกรณ์และเครอ่ื งมือ
4. อธบิ ายหลกั การทำงานของอุปกรณต์ รวจรู้ จากอุปกรณต์ รวจรู้ระยะทางดว้ ย อยา่ งประหยัดตระหนักถงึ ความ
ปลอดภัย
ระยะทางดว้ ยคลน่ื อนิ ฟราเรดได้ถกู ตอ้ ง คล่นื อนิ ฟราเรดไดถ้ ูกตอ้ ง
5. ระบฟุ ังก์ชนั ภาษา C++ ท่ีใช้กับอุปกรณต์ รวจรู้ 4. ตอ่ วงจรอปุ กรณ์ตรวจรอู้ ณุ หภูมิ
ระยะทางด้วยคลื่นอินฟราเรดได้ถูกตอ้ ง และความชื้นเขา้ กับบอร์ด
6. เขียนโปรแกรมภาษา C++ เพือ่ อา่ นคา่ จาก Arduino ไดอ้ ย่างถูกตอ้ ง
อปุ กรณ์ตรวจรู้ระยะทางด้วยคล่นื อนิ ฟราเรด 5. เขยี นโปรแกรมสำหรบั การอ่านค่า
ได้ถูกตอ้ ง จากอปุ กรณ์ตรวจรู้อุณหภูมิและ
7. อธบิ ายหลักการทำงานของอปุ กรณต์ รวจรู้ ความช้ืนไดถ้ ูกต้อง
อณุ หภมู ิและความชื้นไดถ้ กู ตอ้ ง
8. ระบุฟงั ก์ชนั ภาษา C++ ที่ใชก้ บั อุปกรณต์ รวจรู้
อุณหภมู แิ ละความชื้นไดถ้ กู ต้อง
9. เขยี นโปรแกรมภาษา C++ เพ่ืออ่านคา่ จาก
อุปกรณต์ รวจรูอ้ ุณหภมู แิ ละความช้ืนได้ถกู ตอ้ ง
10. แกไ้ ขโปรแกรมภาษา C++ ทใ่ี ช้กบั อปุ กรณ์
ตรวจรู้ทใ่ี ช้งานร่วมกับบอร์ด Arduino
ไดถ้ กู ต้อง
ไมโครคอนโทรลเลอร์ รหัสวชิ า 20105-2105
94
การบรู ณาการหลกั ปรชั าของเศรษฐกจิ พอเพยี ง
การวเิ คราะห์การนำหลักปรัชาของเศรษฐกจิ พอเพียงของหน่วยการเรยี นรู้ “การใช้งาน Arduino
รว่ มกับอปุ กรณ์ตรวจรู้” มาใช้ในการรจัดกจิ กรรมการรเรียนรู้
1. ผ้เู รยี นไดเ้ รยี นรู้หลกั คดิ และฝกึ ปฏบิ ัตติ ามหลกั 3 หว่ ง 2 เง่อื น ดงั นี้
ความพอประมาณ ความมเี หตุผล การมภี มู ิคุ้มกนั ในตัวที่ดี
- ใชว้ ัสดอุ ปุ กรณอ์ ยา่ งประหยดั - มคี วามรูค้ วามเข้าใจ - ฝกึ การใชง้ านการใช้งาน
พอประมาณและเกิดประโยชน์ การใชง้ าน Arduino การใชง้ าน Arduino
สูงสดุ รว่ มกับอุปกรณ์ตรวจรู้ ร่วมกบั อุปกรณต์ รวจรู้
- ใชค้ รุภณั ฑอ์ ย่างระมดั ระวัง - รูค้ ณุ คา่ แหล่งการเรยี นรู้ จนเกิดความชำนาญ
และดูแลบำรงุ รักษาสมำ่ เสมอ โดยศึกษาจากแหล่ เรยี นรู้ - ฝึกการมสี ว่ นรว่ มในการ
หลกั พอเพียง - แตล่ ะกลมุ่ แบ่งหน้าท่ีในกลมุ่ ตา่ ง ๆ ไดอ้ ย่างสอดคล้อง ทำงานเป็นหมูค่ ณะ
เหมาะสมกบั ความสามารถ กบั เนือ้ หาทเ่ี รียน - สร้างความสามัคคีจนทำ
และพอเพียงกบั จำนวนสมาชกิ - รจู้ กั การทำงานรว่ มกบั ผู้อนื่ ให้งานสำเรจ็
- นกั ศกึ ษาใช้วสั ดุอปุ กรณ์
ด้วยความระมัดระวัง
และคำนึงถึง
ความปลอดภยั
- รู้เรื่องการใช้งาน Arduino รว่ มกับอปุ กรณต์ รวจรู้
- รเู้ รอื่ งบอร์ดไมโครคอนโทรลเลอร์ Arduino
- รเู้ รอ่ื งซอฟต์แวร์ Arduino IDE
เงื่อนไขความรู้ของผู้เรียน - รเู้ รอื่ งภาษา C/C++ สำหรับไมโครคอนโทรลเลอร์
- ร้วู ธิ ีนำหลกั ปรัชญาเศรษฐกจิ พอเพยี งบูรณาการกบั ชวี ิตประจำวนั
- สบื ค้นขอ้ มูลเพื่อเสริมสร้างความรดู้ ว้ ยวธิ ีการท่หี ลากหลาย
- ศกึ ษา ค้นคว้า วิธกี าร หลักการ ทำการปฏิบัตงิ าน ทำแบบฝกึ ปฏิบตั ิ เพ่ือสรปุ องค์ความรู้
- มีความรบั ผดิ ชอบในหนา้ ท่ีท่ี ปฏิบัติงานด้วยความเรยี บร้อย ถกู ตอ้ ง และเสร็จทันเวลา
- มคี วามสามัคคใี นหมู่คณะ
เงื่อนไขคุณธรรมของผเู้ รยี น - มีวนิ ัยเปน็ ผู้นำและผูต้ ามทด่ี ขี ณะปฏิบัติงานรว่ มกนั
- รว่ มกิจกรรมการเรียนรดู้ ว้ ยความกระตือรอื รน้ สนใจ ตัง้ ใจ และใฝเ่ รยี นรู้
- มีความตระหนกั ในการใช้ครุ ุภัณฑแ์ ละสถานที่เรยี นรู้
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
95
2. ผูเ้ รียนได้เรียนรู้การใช้ชวี ิตทส่ี มดุลและพร้อมรบั การเปลีย่ นแปลงใน 4 มิติตามหลักปรัชญาของเศรษฐกจิ
พอเพียง ดงั น้ี
ด้าน สมดุลและพร้อมรับการเปล่ียนแปลงในดา้ นต่าง ๆ
องคป์ ระกอบ
ความรู้ วัตถุ สงั คม ส่ิงแวดลอ้ ม วัฒนธรรม
ทักษะ มีความรู้ ความเข้าใจ -มีความรเู้ ก่ยี วกบั การ ใช้พัดลมดูดอากาศ มุง่ เนน้ วัฒนธรรมภูมิ
คา่ นิยม เก่ียวกบั การใช้งานการใช้ ทำงานระบบกล่มุ และดูดกล่ินควนั ของ ปัญญาท้องถนิ่ วา่ เปน็
งาน Arduino รว่ มกับ -นกั เรียนมีความรเู้ กย่ี วกับ ตะกัว่ บดั กรี ฐานความคดิ สำคัญ
อุปกรณต์ รวจรู้ การวางแผน การทำงาน ของคนไทย ให้สามารถ
เพือ่ ใชแ้ ก้ปญั หาและ ร่วมกับผอู้ ่ืน ดำรง วิถชี ีวิตและปรบั
พฒั นาวถิ ีชวี ติ ประยกุ ตใ์ ชไ้ ด้ อยา่ ง
เขียนโปรแกรมภาษา C - ปฏิบัตใิ นการทำงาน - ทำความสะอาดหอ้ ง เหมาะสม
เพ่ือใชง้ านการใช้งาน เป็นหม่คู ณะดว้ ยหลัก เรียนห้องปฏบิ ัติการ
Arduino ร่วมกบั อปุ กรณ์ เอาใจเขามาใสใ่ จเรา ให้สะอาด เป็นระเบยี บ
ตรวจรู้ โดยใช้บอรด์ เรยี บรอ้ ย พร้อมใช้งาน
ไมโครคอนโทรลเลอร์
Arduino ได้
มีวินัยและมงุ่ ม่ัน ในการ เห็นความสำคญั ของการ เกิดความตระหนกั และ
ทำงานดว้ ยความซ่ือสตั ย์ ทำงานรว่ มกับผ้อู น่ื และ เห็นคุณค่าของ ใช้งาน
สจุ ริต การทำงาน ในระบบกลุ่ม การใชง้ าน Arduino
รว่ มกบั อปุ กรณ์ตรวจรู้
สามารถนำไปประยุกตใ์ ช้
กับวิถี ชวี ติ ของตนเอง ได้
อย่างเหมาะสม
3. ศาสตรท์ ่นี ำมาใชใ้ นหน่วยเรียน
ศาสตรพ์ ระราชา ศาสตรส์ ากล ศาสตรภ์ ูมิปัญญา
- ปรชั ญาของเศรษฐกจิ พอเพียง - ซอฟต์แวร์ Arduino IDE - อยู่อยา่ งไทย
- รรู้ กั สามัคคี
- เข้าใจ เข้าถึง พฒั นา - ภาษา C และ C++ สำหรับ - สะเต็มศึกษา หรือ “STEM”
- การพฒั นาทย่ี ่งั ยืน ไมโครคอนโทรลเลอร์ Arduino
- พระราชกระแสรบั สง่ั “การสรา้ งคนดี - ไมโครคอมพวิ เตอร์พร้อมซอฟต์แวร์
ให้แกบ่ า้ นเมอื ง ต้องหาแนวทางสร้าง
คนดกี อ่ นแล้วจึงจะไปสเู่ ด็กเปน็ คนดี
และพฒั นาให้เป็นคนเก่งครูต้องมี
ศรทั ธาทแี่ รงกล้าเพือ่ ทำให้เด็กเปน็ คนดี
คอื สิ่งทีส่ อนและอบรมผเู้ รียนใหม้ อี งค์
ความรู้ มอี ปุ นิสยั ตดิ ตวั 5 ด้าน คือ
ศีลธรรม จริยธรรม มารยาท วนิ ยั และ
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
96
วัฒนธรรม เพือ่ ใหค้ นไทยเปน็ ผู้มี
มารยาท มวี ินยั มคี วาม รบั ผดิ ชอบใน
หน้าท่ี และเป็นพลเมอื งดขี องชาตโิ ดย
การศึกษาแบง่ เป็น 2 สว่ น คือการสอน
และการอบรม ซง่ึ เปรียบเสมือนต้นไมท้ ี่
มสี ่วนของลำตน้ และราก”
แบบทดสอบก่อนเรยี น วชิ าไมโครคอนโทรลเลอร์
หน่วยที่ 7 ช่อื หนว่ ย การใชง้ าน Arduino รว่ มกบั อุปกรณ์ตรวจรู้
คำชี้แจง จงเลือกคำตอบที่ถกู ทสี่ ดุ แลว้ กาเครอื่ งหมายกากบาท (X) ลงในกระดาษคำตอบ
1. ฟังกช์ นั ภาษา C++ สำหรับการอ่านข้อมูลจากอุปกรณต์ รวจรรู้ ะยะทางดว้ ยคล่นื อัลตรา้ โซนิก ขอ้ ใดอธบิ ายผิด
ก. #define Trig_PIN 13 หมายถึงตอ่ ขา Trig ของ HC-SR04 เข้ากบั พอรต์ D13
ข. #define Echo_PIN 12 หมายถงึ ตอ่ ขา Echro ของ HC-SR04 เขา้ กบั พอรต์ D12
ค. digitalWrite(Trig_PIN, LOW); หมายถึง ให้ขา Trig_PIN เปน็ ลอจกิ 0
ง. delayMicroseconds(5); หมายถงึ หน่วงเวลา 5 มลิ ลิวินาที
2. ฟังก์ชันภาษา C++ ในขอ้ ใดไมจ่ ำเป็นต้องใช้ในโปรแกรมสำหรับอปุ กรณ์ตรวจร้รู ะยะทางด้วยคลืน่ อัลตร้าโซนกิ
ก. delay (10);
ข. digitalWrite(Trig_PIN, LOW);
ค. unsigned int PulseWidth = pulseIn(Echo_PIN, HIGH);
ง. unsigned int distance = (PulseWidth * 0.0347362)/2;
วงจรสำหรับข้อ 3-5
สาย USB
RESET DIGITA L (WPM ~) จอมอนเิ ตอร์ของ
คอมพวิ เตอร์
16 MHz คอมพิวเตอร์
TX AREF
RX GN D
L UNO
IOREF P OW E R ATmega328p ARDUINO ~~~111132109
R ESE T
3.3V 8
5V
GN D
GN D
DHT-22Vin
ANALOG IN ~~765 Vcc
AAA210 ~43 DATA
AA34
A5 2
TX 1
ON RX 0 GND
ICSP
3. จากวงจรท่ีกำหนด ฟังก์ชันท่ีสรา้ งออปเจก DHT-22 สำหรบั ติดต่อกบั เซนเซอร์ คอื ฟังกช์ ันใด
ก. #include <DHT.h>
ข. DHT dht;
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
97
ค. dht.setup(2);
ง. float humidity = dht.getHumidity();
4. จากวงจรท่ีกำหนด ฟงั กช์ นั ทอ่ี า่ นค่าอณุ ภมู จิ าก DHT-22 คอื ฟังก์ชนั ใด
ก. float humidity = dht.getHumidity();
ข. float temperature = dht.getTemperature();
ค. Serial.print("\tHumidity :");
ง. Serial.print("\t\tTemp C:");
5. จากวงจรทกี่ ำหนด หากตอ้ งการเปลย่ี นอุปกรณต์ รวจร้อู ณุ หภูมแิ ละความชื้นจากเบอร์ DHT-22 เปน็ เบอร์
DHT-11 สามารถเปล่ยี นได้ท่ีฟงั ก์ชันใด
ก. DHT dht; เปล่ียนเป็น DHT dht11;
ข. DHT dht; เปลี่ยนเป็น DHT dht_11;
ค. #include <DHT.h> เปล่ียนเป็น #include "DHT11.h"
ง. #define DHTTYPE DHT22 เปล่ียนเป็น #define DHTTYPE DHT11
6. ข้อใดเป็นหลักการทำงานของอุปกรณต์ รวจรูร้ ะยะทางดว้ ยคลื่นอลั ตร้าโซนิก
ก. ระยะเวลาการเคล่อื นทขี่ องคล่นื อัลตร้าโซนกิ ไปกระทบวัตถุแลว้ สะทอ้ นกลับมา แล้วคำนวณหาระยะทาง
ข. ความเร็วของการเคลื่อนท่ีของคล่ืนอลั ตร้าโซนกิ ไปกระทบวัตถแุ ล้วสะท้อนกลบั มา แลว้ คำนวณหาระยะทาง
ค. ความถ่ขี องการเคลอื่ นทขี่ องคลืน่ อลั ตร้าโซนกิ ไปกระทบวตั ถแุ ล้วสะทอ้ นกลับมา แลว้ คำนวณหาระยะทาง
ง. ใชค้ วามเรว็ และความถ่ขี องคลื่นอลั ตรา้ โซนิกไปกระทบวตั ถุแล้วสะทอ้ นกลบั มา แลว้ คำนวณหาระยะทาง
วงจรสำหรบั ข้อ 7
วตั ถุ
L
A
F เลนส์
ตวั สง่ IR ตัวรับ IR
X
7. จากรปู ท่ีกำหนดข้อใดเปน็ สมการคำนวณหาระยะทางของอปุ กรณ์ตรวจรูร้ ะยะทางดว้ ยคล่นื อนิ ฟราเรด
ก. A = F ข. L = X
L X A F
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
98
ค. L = F ง. X= F
A X A L
8. ฟงั กช์ ันภาษา C++ ทอ่ี า่ นคา่ สัญญาณแอนะลอกจากอุปกรณต์ รวจรรู้ ะยะทางด้วยคล่ืนอินฟราเรดคอื ขอ้ ใด
ก. uint16_t value = analogRead (Ain); ข. uint16_t range = get_gp2d41 (value);
ค. if (value < 4) value = 4; ง. return ((29410.0 / (value + 5.0)) - 10.0);
9. ฟังก์ชนั สำหรับตรวจสอบระยะห่างนอ้ ยกว่าค่าทก่ี ำหนดคือขอ้ ใด
ก. uint16_t value = analogRead (Ain); ข. uint16_t range = get_gp2d41 (value);
ค. if (value < 4) value = 4; ง. return ((29410.0 / (value + 5.0)) - 10.0);
รูปสำหรับขอ้ 10 Humidity LOW Temp. High Temp. Low Parity bit
Response signal Humidity High
LSB
MSB
LSB
MSB
LSB
MSB
LSB
MSB
LSB
MSB
Releases bus
Start signal
10. จากรูปท่ีกำหนด ขอ้ ใดกลา่ วผิด
ก. สญั ญาณ Start signal เป็นลอกจิก 0
ข. ข้อมูลสำหรับบอกคา่ อุณหภูมิใช้ 16 บิต
ค. ข้อมูลสำหรับบอกคา่ ความชื้นใช้ 16 บติ
ง. การส่อื สารใชแ้ บบ I2C
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
99
เนือ้ หาสาระ วตั ถุ
1. อปุ กรณต์ รวจรรู้ ะยะทางด้วยคลื่นอลั ตรา้ โซนกิ
1.1 หลักการวัดระยะดว้ ยคล่นื อัลตร้าโซนคิ
ตัวรบั สง่ คลนื่ อัลตร้าโซนกิ
ความถี่ 40 kHz
ระยะหา่ ง
ระยะหา่ ง = (ระยะเวลา x ความเรว็ เสยี ง) 2
1.2 หลักการทำงานของเซ็นเซอรว์ ัดระยะทางด้วยคล่นื อัลตรา้ โซนิค
สาย USB
จอมอนเิ ตอร์ของ
คอมพวิ เตอร์
RESET DIGITA L (WPM ~)
16 MHz AREF คอมพวิ เตอร์
+5 V
TX GN D
RX Vcc
L UNO Trig
IOREF P OW E R ATmega328p ARDUINO ~~~111131029 Echo HC-SR04
R ESE T Gnd
3.3V 8
5V
GN D
GN D
Vin
ANALOG IN ~~657
AAA210 ~43
AA43
A5 ON 2
ICSP TX 1
RX 0
2. อปุ กรณต์ รวจร้รู ะยะทางดว้ ยคลื่นอนิ ฟราเรด
ไมโครคอนโทรลเลอร์ รหัสวชิ า 20105-2105