13
(PCINT14/RESET) PC6 1 ATmega328/p 28 PC5 (ADC5/SCL/PCINT13)
(PCINT16/RXD) PD0 2 27 PC4 (ADC4/SDA/PCINT12)
(PCINT17/TXD) PD1 3 26 PC3 (ADC3/PCINT11)
(PCINT18/INT0) PD2 4 25 PC2 (ADC2/PCINT10)
5 24 PC1 (ADC1/PCINT9)
(PCINT19/OCB2/INT1) PD3 6 23 PC0 (ADC0/PCINT8)
(PCINT20/XCK/T0) PD4 7 22 GND
VCC 8 21 AREF
GND 9 20 VCC
10 19 PB5 (SCK/PCINT5)
(PCINT6/XTAL1/TOSC1) PB6 11 18 PB4 (MISO/PCINT4)
(PCINT7/XTAL2/TOSC2) PB7 12 17 PB3 (MOSI/OC2A/PCINT3)
13 16 PB2 (SS/OC1B/PCINT2)
(PCINT21/OC0B/T1) PD5 14 15 PB1 (OC1A/PCINT1)
(PCINT22/OC0A/AIN0) PD6
(PCINT23/AIN1) PD7
(PCINT0/CLKO/ICP1) PB0
4. จากรูปท่ีกำหนด ขาท่ใี ชต้ ่อกบั Crystal ทีใ่ ชเ้ ปน็ วงจรผลิตสัญญาณนาฬิกาคือขาใด
ก. 2 และ 3 ข. 9 และ 10
ค. 15 และ 16 ง. 27 และ 28
5. จากรปู ที่กำหนด พอร์ต B มที งั้ หมดกข่ี า
ก. 5 ข. 6
ค. 7 ง. 8
6. จากรปู ทีก่ ำหนด ถา้ ต้องการใช้งานการสื่อสารแบบ USART จะใชข้ าใด
ก. 2 และ 3 ข. 9 และ 10
ค. 15 และ 16 ง. 27 และ 28
รูปสำหรบั ขอ้ 7-8 8 12
5 13
10 11 2
9 1
7
6
4
3
7. จากรูปทก่ี ำหนด ขอ้ ใดกล่าวผิด
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
14
ก. หมายเลข 1 เปน็ ชอ่ งรบั สญั ญาณแอนะลอก หมายเลข 2 เป็นชอ่ งต่อไฟฟ้ากระแสตรง
ข. หมายเลข 4 เปน็ ไอซคี วบคมุ ไฟฟา้ กระแสตรง หมายเลข 6 เปน็ ตวั กำเนดิ สัญญาณนาฬิกา
ค. หมายเลข 7 ใชส้ ำหรับการสื่อสารผา่ น USB หมายเลข 10 ใชส้ ำหรับการรเี ซต
ง. หมายเลข 11 ใช้สำหรบั การสอื่ สารแบบ USART หมายเลข 12 ใช้สำหรับพอรต์ digital I/O
8. จากรูปท่ีกำหนด ขา A4 และ A5 เปน็ ขารบั สญั ญาณแอนะลอกชอ่ ง 4 และช่อง 5 ตามลำดับ นอกจากนยี้ งั ใช้
งานใด
ก. การสอื่ สารแบบ I2C ข. การสื่อสารแบบ USART
ค. การส่อื สารแบบ SPI ง. การสอ่ื สารแบบ 1 Wire
9. ขอ้ แตกตา่ งของไอซไี มโครคอนโทรลเลอรเ์ บอร์ ATmega328 กับ ATmega32U4 ท่ีชัดเจนท่ีสุดคอื ข้อใด
ก. จำนวนช่องรบั สญั ญาณแอนะลอกและความละเอยี ดของโมดูล ADC
ข. ระดับแรงเคลื่อนไฟฟ้าที่ใชง้ านและความถี่ของสญั ญาณนาฬิกา
ค. ATmega32U4 มีพอร์ตรบั USB โดยตรง ส่วน ATmega328 ต้องไปผา่ น Chip USB
ง. ATmega32U4 มรี ะบบการสอ่ื สารแบบ SPI, CAN bus แต่ ATmega328 ไมม่ ี
10. บอรด์ NodeMCU มขี อ้ แตกต่างจากบอร์ด Arduino ในสว่ นใดชัดเจนทีส่ ดุ
ก. หนว่ ยความจำ ข. Wifi Module
ค. จำนวน Pin ง. การประมวลผลของ CPU
เฉลยใบประเมินผลหนว่ ยท่ี 1
เฉลยแบบทดสอบกอ่ นเรยี น หนว่ ยที่ 1
แบบทดสอบก่อนเรียน
ขอ้ ที่ คำตอบ
1ก
2ก
3ค
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
15
4ข
5ง
6ค
7ง
8ง
9ข
10 ข
เฉลยแบบทดสอบหลังเรียน หน่วยท่ี 1
ตอนที่ 1 ใหก้ าเคร่ืองหมายถูก √ หน้าข้อทค่ี ิดว่าถูก เคร่ืองหมายผดิ x หน้าข้อท่ีคดิ ว่าผดิ
……√.... 1. ไมโครคอนโทรลเลอรม์ คี วามสามารถที่คล้ายคลงึ กับระบบคอมพวิ เตอร์
……√.... 2. ไมโครคอนโทรลเลอร์ตระกลู PIC (บริษทั ผผู้ ลติ Microchip)
………. 3. ไมโครคอนโทรลเลอรต์ ระกลู 68HC ผลิตโดยบรษิ ัทผู้ผลติ Texas Instruments
……√…. 4. ภาษาสำหรบั ไมโครคอนโทรลเลอร์แบ่งเป็น 3 ระดับ
…………√…….. 5. ภาษาเบสกิ (Basic Languages) จดั อย่ใู นภาษาระดับต่ำ (Hex file)
…………√√…….. 6. คำสั่งทไ่ี มโครคอนโทรลเลอรท์ ำงานนน้ั เปน็ คำสัง่ ภาษาเครือ่ ง
7. CPU ของไอซไี มโครคอนโทรลเลอร์ เบอร์ ATmega328/p ประมวลผล 8 บิต 256 kB
8. ไอซีไมโครคอนโทรลเลอร์ เบอร์ ATmega2560 มีหน่วยความจำโปรแกรมขนาด
………. 9. บอรด์ Arduino Mega ADK เหมาะสำหรับการใช้งานคำนวณดว้ ยความเรว็ สูง
………. 10. บอร์ด Arduino Leonard เปน็ บอรด์ ทใ่ี ชไ้ อซี MCU เบอร์ Atmega328
ตอนท่ี 2 จงอธิบายสัน้ ๆ ให้ไดใ้ จความ
1. หากเขียนโปรแกรมด้วยภาษาระดับสูงจะมีวธิ ีการโหลดโปรแกรมลงในไอซไี มโครคอนโทรลเลอร์ได้อย่างไร
..........เ.ม...ื่อ..เ.ข...ยี ..น..โ..ป..ร...แ..ก..ร..ม...ท..ใ่ี..ช..ก้...บั ..ไ..ม..โ..ค..ร..ค..อ...น...โ.ท...ร..ล..เ.ล...อ..ร..์.ห...า..ก..ต...้อ..ง..ก..า..ร..โ..ห..ล...ด..ล..ง..ใ..น..ไ..อ..ซ..ีไ..ม...โ.ค..ร..ค...อ..น...โ.ท...ร..ล..เ..ล..อ..ร..์จ...ะ..ต..อ้...ง.
..แ...ป..ล...ง..ใ.ห...้เ.ป...็น..ภ...า..ษ...า.เ..ค..ร..ื่อ...ง..ด..้ว..ย....c..o..m....p..i.l..e..r...แ..ล..ว้..ใ..ช..้ต..ัว...โ.ห...ล..ด..ไ..ฟ...ล..เ์.ข...้า..ไ.ป...ย..ัง..ไ.อ...ซ..ีไ..ม..โ..ค..ร..ค..อ...น..โ..ท..ร..ล...เ.ล..อ...ร..์ ......................
2. ภาษาระดับสูงทน่ี ยิ มใชก้ บั ไมโครคอนโทรลเลอร์ คอื ภาษา .....ภ...า..ษ..า....C..,..ภ...า..ษ...า...B..A...S..I.C..,...ภ..า..ษ...า...P...y..t.h...o..n.............
..............................................................................................................................................................................
3. ไอซีไมโครคอนโทรลเลอร์ เบอร์ ATmega328/p ประเภทการประมวลผล ......8........ บติ มีพ้นื ทส่ี ำหรบั เขียน
โปรแกรม (Flash Memory) จำนวน ...3..2.. kB หน่วยความจำ SRAM ขนาด...2......kB มี ADC ซ่ึงมีความละเอียด
ขนาด 10 บิต จำนวน ....8.....ชอ่ ง
8
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
16
4. ไอซีไมโครคอนโทรลเลอร์ เบอร์ ATmega32U4 ประเภทการประมวลผล ...... บิต มีพื้นที่สำหรับเขียน
โปรแกรม (Flash Memory) จำนวน ...3..2... kB หน่วยความจำ SRAM ขนาด....2...5....kB มี ADC ความละเอียด
ขนาด 10 บติ จำนวน ....1...2..ช่อง
5. ไอซีไมโครคอนโทรลเลอร์ เบอร์ AT91SAM3X8E ประเภทการประมวลผล ...3..2... บิต มีพ้ืนท่ีสำหรับเขียน
โปรแกรม (Flash Memory) จำนวน .5..1..2.. kB หน่วยความจำ SRAM ขนาด..9..6....kB ADC ความละเอียด 12
บิต จำนวน .1..2.....ชอ่ ง DAC ความละเอียด ขนาด 12 บติ จำนวน ..2.....ชอ่ ง
6. การส่ือสารขอ้ มูลแบบ TWI (I2C) จะใชส้ ายสัญญาณ 2 เส้น คอื ........S..D...A.............. และ ...........S...C..K.................
7. คำว่า UNO ในภาษาอติ าลี แปลว่า .....ห...น..งึ่....... และคำว่า DUE ในภาษาอติ าลี แปลว่า.........ส..อ..ง......................
8. หากต้องการใช้บอร์ดไมโครคอนโทรลเลอร์ใช้งานเกี่ยวกับรับสัญญาณ Analog จำนวน 3 ช่องและพอร์ต
ดิจทิ ลั จำนวน 40 พอรต์ ควรใช้บอร์ด Arduino ………A…rd…u…in…o…M…e…g…a…2…56…0……………………………C…K…………………
9. จงบอกขอ้ ดีของบอรด์ Arduino …ก…า…รอ…อ…ก…แ…บ…บ…พ…ัฒ…น…า…O…p…e…n…S…ou…r…ce……แล…ะ…แ…จก…จ…า่ …ยส..…ำห…ร…ับ…ต…้นฉ…บ…ับ…ข…อ…ง ….
……ส…นิ …ค…า้ ห…ร…อื …ค…วา…ม…รู้โ…ด…ย…ไม…ม่ …ลี …ขิ ส…ทิ …ธ…ิ์ ผ…ูใ้ …ชง้ …า…นไ…ม…่จ…ำเ…ป…น็ ต…้อ…ง…รูส้…ถ…า…ปัต…ย…ก…ร…รม…ข…อ…ง…C…hi…p…ภ…า…ยใ…น…บ…อร…์ด…………………
10. จากข้อมูลในหนว่ ยเรยี น บอร์ด Arduino ที่มีช่องสำหรับแอนะลอกเอาต์พตุ ความละเอียด ขนาด 12 บิต
จำนวน 2 ช่อง ช่ือบอรด์ คอื .....A...r.d...u...in...o....D..U...E.......................................................................................................
11. บอรด์ NodeMCU ESP8266 เป็นการคดิ คน้ และผลิตโดยบริษทั ของประเทศ .....จ...ีน......................................
12. บอร์ด NodeMCU ESP8266 ซพี ยี ูใชส้ ถาปตั ยกรรมของ ......T...e..n..s..i.l.i.c.a....X..t..e..n..s..a........ ประมวลผล .3..2.... บติ
13. ขอ้ แตกตา่ งทชี่ ัดเจนระหว่างบอร์ดไมโครคอนโทรลเลอร์ Arduino กบั บอรด์ NodeMCU ESP8266 คอื
1) ....บ...อ..ร..์ด....A..r..d..u...i.n..o....ไ.ม...ม่ ..ี.W....i.F..I..ใ..น...ต..วั...แ...ต..่บ...อ..ร..์ด....N...o..d...e..M...C...U....E..S..P...8..2..6..6....ม..ี..W....iF...I..ใ.น...ต..วั.................................
2)......บ..อ...ร..ด์ ....A..r.d...u..i.n...o...ส...ว่ ..น..ม...า..ก..จ...ะ..ใ.ช..้..C..h...i.p....8...บ...ติ ....แ..ต..่บ...อ..ร..์ด....N...o..d...e..M...C...U....E..S...P..8..2..6..6.....จ..ะ...ใ.ช..้..C..h...i.p...3...2...บ...ติ ......
14. บนบอรด์ NodeMCU ESP8266 มี ADC จำนวน ......1......... ช่อง มคี วามละเอยี ด .....1..2....... บิต
15. บอร์ด NodeMCU ESP32 มหี น่วยความจำ RAM .....5..1..2....... kB หน่วยความจำ Flash......5.......... MB
16. บอร์ด NodeMCU ESP32 ใชค้ วามถ่ี …2…4…0……… MHz
16. ขอ้ แตกต่างทช่ี ัดเจนระหว่างบอร์ด NodeMCU ESP8266 กับ NodeMCU ESP32 คือ …………….……………
………จ…ำน…ว…น…ช…่อง…A…D…C……, ค…ว…า…มถ…่ขี …อ…ง…O…S…C…………………………………………………………………………………………………
17. บอร์ด M5Strack มีจอแสดงผล TFT LCD ขนาด .2........ น้ิว ความละเอียด .....3..2..0...x..2..4..0... พกิ เซล
18. บอรด์ M5Strack ใช้ไมโครคอนโทรลเลอร์ ……T…e…n…sil…ic…a…LX…6………………………………………………………………..
19. บอรด์ M5Strack ใช้สายอากาศ (Antenna) แบบ ...3..D....A..n...t.........................................................................
20. ข้อดขี องบอร์ด M5Strack เมอื่ เทยี บกับบอร์ด NodeMCU ESP32 คือ ....บ...อ..ร..ด์....N..o...d..e...M...C...U....M...5..S...t.a..c..k.......
………ม…จี อ…แ…ส…ด…งผ…ล…ใ…น…ตวั……ส่ว…น…บ…อ…ร์ด……N…od…e…M…C…U…E…S…P…32……ไม…ม่ …ี ……………………………………………………………………
ตอนท่ี 3 จงเลอื กคำตอบทีถ่ กู ท่ีสดุ แลว้ ทำเครือ่ งหมาย x ลงในกระดาษคำตอบ
แบบทดสอบหลงั เรยี น
ข้อท่ี คำตอบ
1ง
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
17
2ค
3ง
4ข
5ข
6ง
7ก
8ก
9ค
10 ข
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
แผนการสอนท่ี 2 หนว่ ยที่ 2
ชอ่ื วิชา ไมโครคอนโทรลเลอร์ สอนครัง้ ท่ี 2
ชื่อหน่วย Arduino IDE สำหรบั โปรแกรมภาษา C ชว่ั โมงรวม 4 ชั่วโมง
ชอ่ื เร่อื ง Arduino IDE สำหรับโปรแกรมภาษา C จำนวน 4 ชวั่ โมง
หวั ขอ้ เรอื่ งและงาน
1. การตดิ ตัง้ ซอฟต์แวร์ Arduino IDE
2. ซอฟต์แวร์ Arduino IDE
3. การทดสอบซอฟตแ์ วร์ Arduino IDE
4. การผนวก Libraries เพม่ิ เติม
สมรรถนะทต่ี อ้ งการ
1. แสดงความรู้เกีย่ วกบั ซอฟต์แวร์ Arduino IDE สำหรบั โปรแกรมภาษา C
2. แสดงการติดต้งั ซอฟต์แวร์ Arduino IDE ลงในคอมพิวเตอร์
3. แสดงการผนวก Libraries เพม่ิ เตมิ ลงในซอฟต์แวร์ Arduino IDE
สาระสำคัญ
ซอฟต์แวร์ (Software) ท่ีใช้ในการพัฒนางานสำหรับบอร์ด arduino ที่นิยมใช้กันคือ arduino IDE
สำหรับการเขียนโปรแกรม การคอมไพล์และดาวน์โหลดลงบอร์ด ซึ่งขนาดของโปรแกรม arduino จะมีขนาด
โตกว่า AVR เพราะว่าจากโค้ด AVR จะเป็นการเข้าถึงรีจิสเตอร์ (register) โดยตรง แต่โค้ดของ arduino จะ
เขา้ ถงึ ผา่ นฟังก์ชนั เพอ่ื ใหส้ ามารถเขยี นโค้ดได้ง่ายมากกว่าการเขียนโค้ดภาษา C แบบ AVR คำยอ่ ของ IDE ย่อมา
จาก Integrate development Environment คอื ส่วนประกอบหลาย ๆ ส่วนของระบบการพฒั นาหรอื ตัวช่วย
ต่างๆท่ีจะคอยชว่ ยเหลอื เพื่อเสริมใหเ้ กิดความรวดเร็วถูกต้องแมน่ ยำตรวจสอบระบบท่ีจะทำได้ทำให้การพัฒนา
งานตา่ ง ๆ ไดง้ า่ ยและทำได้รวดเรว็ มากขนึ้
จุดประสงค์เชงิ พฤติกรรมทีพ่ ึงประสงค์ 17
ความรู้ ทักษะ คณุ ธรรม/จริยธรรม
1. ตรงต่อเวลา
1. อธิบายหนา้ ที่ของซอฟต์แวร์ Arduino IDE 1. ตดิ ต้งั ซอฟต์แวร์ Arduino IDE 2. มคี วามตระหนกั ในหนา้ ท่ี
2. บอกคำเต็มของคำย่อ IDE ได้ ลงในคอมพิวเตอร์ได้ ของนักศึกษา
3. แตง่ กายถูกตอ้ งตาม
3. อธิบายข้ันตอนการตดิ ต้ังซอฟต์แวร์ Arduino 2. ใช้งานโปรแกรม Arduino IDE
ระเบียบ
IDE ได้ 3. ทดสอบ Arduino IDE 4. ทำงานดว้ ยความเต็มใจ
4. ระบุเวฟไซดส์ ำหรบั ดาวน์โหลดซอฟต์แวร์
Arduino IDE ได้
5. อธิบาย Menu bar ของ Arduino IDE ได้
6. อธิบาย เมนตู ่าง ๆ ทอ่ี ยู่ใน Menu bar ของ
Arduino IDE ได้
7. อธิบาย Tools bar ของ Arduino IDE ได้
8. อธบิ าย เมนูต่าง ๆ ทอี่ ยใู่ น Tools bar ของ
Arduino IDE ได้
9. อธิบายวธิ ที ดสอบซอฟต์แวร์ Arduino IDE ได้
10. อธบิ ายวธิ ผี นวก Libraries ลงในซอฟตแ์ วร์
Arduino IDE ได้
ไมโครคอนโทรลเลอร์ รหัสวชิ า 20105-2105
18
แบบทดสอบกอ่ นเรียน
คำสั่ง จงเลือกคำตอบทถ่ี ูกทสี่ ดุ แล้วทำเครือ่ งหมาย x ลงในกระดาษคำตอบ
1. สำหรบั Menu Edit ข้อใดกลา่ วผิด
ก. เมนู Undo สำหรับให้ทำคำส่ังสดุ ทา้ ย
ข. เมนู Cut สำหรับตดั ฟงั ก์ชันหรอื คำสง่ั ออกจากบริเวณพ้นื ท่ีเขียนโปรแกรม
ค. เมนู Increase Indent สำหรบั เพม่ิ ขนาดของย่อหน้า
ง. เมนู Select All สำหรบั เลือกฟงั กช์ นั หรอื คำส่งั ทงั้ หมดจากพ้นื ทเี่ ขยี นโปรแกรม
2. สำหรบั Menu Tools ขอ้ ใดกลา่ วผดิ
ก. เมนู Archive Sketch สำหรับเลือกสถานทจ่ี ดั เกบ็ file Sketch
ข. เมนู Board สำหรบั เลอื กบอร์ด Arduino รุ่นมาตรฐาน
ค. เมนู Port สำหรบั เลือกใช้หมายเลขพอรต์ อนุกรมของ USB ใหต้ รงกบั บอรด์ Arduino
ง. เมนู Programmer สำหรับเลอื กใช้ตวั โปรแกรมเมอรร์ ่นุ ต่าง ๆ
3. Burn Bootloader ใน Menu Tools ใชส้ ำหรับอะไร
ก. ตดิ ตอ่ บอร์ด Arduino ขณะบตู เครอ่ื ง
ข. ใช้สำหรับโหลดโปรแกรม Bootloader
ค. อา่ นขอ้ มูลท่ีแอดเดรสเรม่ิ ต้นขณะเรม่ิ ใช้งานบอรด์ Arduino
ง. เขียนโปรแกรมลงไมโครคอมพิวเตอร์
4. วิธที ดสอบซอฟต์แวร์ Arduino IDE โดยการเขียนโปรแกรมให้แสงที่ LED ตำแหนง่ L บนบอร์ด Arduino
UNO กระพรบิ คำสง่ั ใดไมเ่ กย่ี วขอ้ งกบั การทดสอบนี้
ก. in led = 10;
ข. pinMode(led, OUTPUT);
ค. digitalWrite(led, HIGH);
ง. digitalWrite(led, LOW);
5. การผนวก Libraries ลงในซอฟตแ์ วร์ Arduino IDE ดว้ ยเหตุผลใด
ก. โปรแกรมท่เี ขียนขน้ึ ต้องใชก้ บั Libraries โดยเฉพาะ ไม่มใี น Libraries มาตรฐาน
ข. ตอ้ งการให้ Code มขี นาดเล็กลง
ค. ตอ้ งการให้โปรแกรมทำงานด้วยความเร็วมากขนึ้
ง. ใชก้ ับคำส่งั ใหม่ ๆ
6. ขอ้ ใดไมใ่ ชป่ ระโยชน์ของซอฟต์แวร์ Arduino IDE
ก. ช่วยให้โปรแกรมมคี วามถูกต้อง
ข. ผู้พฒั นาสามารถเขียนโปรแกรมไดเ้ รว็ ข้ึน
ค. สามารถตรวจสอบระบบทจี่ ัดทำได้
ง. นำโปรแกรมจากผู้อื่นมาพัฒนาตอ่ ได้
ไมโครคอนโทรลเลอร์ รหัสวชิ า 20105-2105
19
7. คำเต็มของ IDE คอื ข้อใด
ก. International development Electronics
ข. International development Environment
ค. Integrate development Environment
ง. Integrate development Electronics
8. ข้อใดแสดงวา่ การตดิ ตงั้ ซอฟตแ์ วร์ Arduino IDE สำเร็จสมบรู ณ์ (สำหรบั ระบบปฏิบัติการ windows)
ก. windows has successfully updated you driver software
ข. stop driver software
ค. complete driver software
ง. complete install
9. เว็บไซดส์ ำหรบั ดาวน์โหลดซอฟตแ์ วร์ Arduino IDE คอื
ก. www.thaiware/arduino/Software
ข. www.microsoft.com/arduino/software
ค. www.arduino/IoT.garena.in.th/downloads
ง. www.arduino.cc/en/Main/Software
10. สำหรบั Menu file ข้อใดกล่าวผดิ
ก. เมนู New ใชส้ รา้ งไฟลส์ เก็ตชใ์ หม่ เพือ่ ใช้เขยี นโปรแกรมใหม่
ข. เมนู Sketchbook ใช้เปดิ ไฟล์สเก็ตชล์ า่ สุดที่เปิดใชง้ านเสมอ
ค. เมนู Page setup ตัง้ ขนาดของหนา้ กระดาษปจั จุบัน
ง. เมนู Preference ใช้กำหนดชนิดของไฟลท์ างเอาต์พตุ
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
20
เนื้อหาสาระ
1. การติดตง้ั ซอฟต์แวร์ Arduino IDE
2. ซอฟตแ์ วร์ Arduino IDE
2.1 แถบเมนู (MENU bar)
2.2 แถบเครอ่ื งมอื (Tools bar)
Serial Monitor(Menu bar)
(Tolls bar)
C
C
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
21
3. การทดสอบซอฟต์แวร์ Arduino IDE
4. การผนวก Libraries เพิ่มเติม
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
กิจกรรมการเรยี นการสอน ขั้นตอนการเรียน 22
(กจิ กรรมผูเ้ รยี น)
ข้ันตอนการสอน เคร่อื งมอื /การวดั ผล
(กจิ กรรมของครู) 1.1 นักเรียนรับฟงั จุดประสงคข์ องการเรยี นใน ประเมินผล
บทเรยี นน้ี
1.ขั้นนำเขา้ สู่บทเรียน 1. คำถามประจำหน่วย
1.1 ครูบอกจดุ ประสงคข์ องการเรียนใน 1.2 นกั เรียนบอกความสำคญั ของ 2. แบบทดสอบกอ่ น
ไมโครคอนโทรลเลอร์
บทเรยี นน้ี เรียนหนว่ ยที่ 2
1.2 ครสู อบถามความสำคัญของ 1.3 นกั เรียนทำทดสอบก่อนเรียนหนว่ ยที่ 2
ไมโครคอนโทรลเลอร์
1.3 ครูแจกแบบทดสอบกอ่ นเรียนหน่วยที่ 2
2. ขั้นสอนทฤษฎี 2.1 รับฟงั คำบรรยาย 1. power point
2.2 ตอบคำถามและแสดงความคิดเหน็ หนว่ ยท่ี 2
2.1 ครูอธบิ ายความสำคญั ของ
ไมโครคอนโทรลเลอร์ การทำงาน และ 2. คำถามหน่วยที่ 2
ส่วนประกอบท่ีสำคญั ใชส้ ื่อpower point
1. ใบสรปุ หนว่ ยที่ 2
2.2 ซกั ถามปัญหาเกีย่ วกับการทำงานของ
ไมโครคอนโทรลเลอร์ 1.ใบตรวจผลงาน
ตามใบงานหนว่ ยที่ 2
3. ขั้นสรปุ
1. แบบทดสอบหลังเรียน
3.1 ครูและนกั เรียนชว่ ยกนั สรุปและครซู ักถาม 3.1 นกั เรยี นชว่ ยครสู รปุ และตอบคำถาม หน่วยที่ 2
ปัญหาขอ้ สงสยั 3.2 จดบททึกย่อ 1. ใบมอบงานหน่วยที่ 2
4. ขั้นสอนปฏิบตั ิ 1.ใบตรวจสอบความ
เรยี บร้อย
4.1 ชดุ ทดลองไมโครคอนโทรลเลอร์ 4.1 นักศกึ ษาแสดงวธิ ีการตอ่ แหล่งจ่ายไฟฟา้
ให้นักศกึ ษาแสดงการตอ่ ไฟฟา้ โดยทำ เข้าชดุ ทดลอง ตามใบงานหน่วยท่ี 2
ตามใบงานหน่วยที่ 2
5. ขั้นการประเมนิ ผล
5.1 ครแู จกใบประเมนิ ผลหลงั เรียนหน่วยท่ี 2 5.1 รบั ใบประเมนิ ผลหลังเรยี นหนว่ ยที่ 2
5.2 ดแู ลนกั เรียนไม่ใหท้ ุจรติ 5.2 ทำแบบทดสอบหลังเรียน
5.3 เมอ่ื ครบเวลาทก่ี ำหนดรบั แบบทดสอบคนื 5.3 เม่ือครบเวลาที่กำหนดสง่ แบบทดสอบคืน
6. ข้นั มอบหมายงาน
6.1 ใหน้ กั เรียนไปค้นคว้าเพม่ิ เตมิ เก่ยี วกับ 6.1 รับมอบหมายงาน
Arduino IDE สำหรับโปรแกรมภาษา C
และทำแบบฝึกหดั ทา้ ยหน่วยเรียน
หน่วยที่ 2 ส่งในสัปดาห์ตอ่ ไป
7. ขัน้ ตรวจสอบความเรียบร้อย
7.1 ตรวจความเรยี บรอ้ ยและความเรยี บรอ้ ย 7.1 ช่วยกนั จดั เกบ็ และทำความสะอาด
ของหอ้ งเรยี นหอ้ งปฏบิ ัตงิ าน หอ้ งเรียนหอ้ งปฏบิ ัติงานให้เรยี บรอ้ ย
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
23
งานที่มอบหมายหรือกิจกรรม
กอ่ นเรยี น
- นกั ศกึ ษาทำแบบทดสอบก่อนเรียนหน่วยท่ี 2
ขณะเรียน
ใหน้ กั ศกึ ษาอภิปรายเกีย่ วกับและสรุปเกีย่ วกับ Arduino IDE สำหรับโปรแกรมภาษา C
หลังเรยี น
ใหน้ กั เรียนไปค้นคว้าเพมิ่ เติมเกีย่ วกับ Arduino IDE สำหรบั โปรแกรมภาษา C
และทำแบบฝกึ หัดทา้ ยหนว่ ยเรียนหน่วยท่ี 2 สง่ ในอาทิตย์ตอ่ ไป
ส่อื การเรยี นการสอน
1. หนังสือเรียนไมโครคอนโทรลเลอร์ หนว่ ยที่ 2 เร่ือง Arduino IDE สำหรบั โปรแกรมภาษา C
2. power point เรอื่ ง Arduino IDE สำหรับโปรแกรมภาษา C
3. แบบฝึกหัดท้ายหน่วยเรียนที่ 2
การวัดผลการเรยี น
กอ่ นเรียน
ทดสอบกอ่ นเรียน (Pre-test) โดยใช้ขอ้ สอบหนว่ ยท่ี 2 จำนวน 10 ข้อ
ขณะเรยี น
ถาม – ตอบปัญหา , ความสนใจ , ความตงั้ ใจ , การอภิปราย
หลังเรยี น
ทดสอบหลังเรียน (Post-test) โดยใช้ขอ้ สอบหน่วยที่ 2
- แบบวเิ คราะหถ์ กู ผิด จำนวน 10 ขอ้
- แบบสอบส้นั ๆ จำนวน 10 ขอ้
- แบบตวั เลือก จำนวน 10 ข้อ
การประเมนิ ผล
1. การประเมินผลโดยใช้แบบประเมินผลก่อนเรียนหนว่ ยท่ี 2 จำนวน 10 ข้อ (แบบเลอื กตอบ)
2. การประเมนิ ผลโดยใชแ้ บบประเมนิ ผลหลงั การเรยี นหน่วยที่ 2
2.1 แบบวิเคราะห์ถูกผิด จำนวน 10 ข้อ
2.2 แบบสอบสัน้ ๆ จำนวน 10 ขอ้
2.3 แบบตัวเลอื ก จำนวน 10 ข้อ
3. สังเกตการมีสว่ นร่วมในการเรียน
4. สังเกตจากการตอบคำถาม / การอภปิ ราย
เอกสารอ้างอิง
1. สชุ ิน ชินสหี ์. (2563). ไมโครคอนโทรลเลอร์ (Arduino Microcontroller)
นนทบรุ ี : โรงพมิ พ์ บรษิ ัท ศูนย์หนงั สือเมอื งไทย จำกัด.
2. เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
ไมโครคอนโทรลเลอร์ รหัสวชิ า 20105-2105
24
บนั ทึกหลังการจัดการเรยี นรูข้ องครู
วันท่ี……….… เดอื น……………..…...………. พ.ศ………….…
รหสั วิชา 20105-2105 ช่ือรายวิชา ไมโครคอนโทรลเลอร์
สาขาวิชา ชา่ งอเิ ล็กทรอนกิ ส์ ระดบั ชน้ั ปวช. ปที ี่ 3 กลมุ่ ท่ี 1,2
หัวข้อเน้อื หาท่ีสอน Arduino IDE สำหรบั โปรแกรมภาษา C หน่วยท่ี 2
จำนวนนักศึกษาเข้าเรียน ……… คน
รายละเอียดการสอน
รายละเอียด/หวั ข้อ เขา้ ใจ/ ไมเ่ ขา้ ใจ ปฏิบัติ หมายเหตุ สำหรบั นักศกึ ษาทไ่ี มเ่ ข้าใจหรอื ปฏิบตั ิ
เน้ือหาทีส่ อน ปฏบิ ัตไิ ด(้ คน) ไมไ่ ด้ (คน) ไม่ได้จะแกไ้ ขในการสอนครั้งตอ่ ไป
ในวนั ท่ี……....เดอื น……...............…..พ.ศ……..........
1. การติดต้ังซอฟตแ์ วร์ Arduino IDE โดยจะดำเนนิ การดังนี้
1. ………………………….……........……………………….
2. ซอฟตแ์ วร์ Arduino IDE 2. …………………………….…........……………………….
3. ……………………….………….................................
3. การทดสอบซอฟตแ์ วร์ Arduino IDE 4. ……………………….………….................................
4. การผนวก Libraries เพม่ิ เติม
ลงชือ่ …………………………………………………..
( นายสุชนิ ชินสีห์)
ผลการใช้แผนการสอน ครูผู้สอน
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
ผลการเรียนของนกั เรียน
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
ผลการสอนของครู
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
ลงชอื่ ................................................ครผู ้สู อน
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
25
ใบประเมินผลหลังเรยี นหน่วยท่ี 2
วชิ า ไมโครคอนโทรลเลอร์ ชือ่ หนว่ ย Arduino IDE สำหรบั โปรแกรมภาษา C
คำชีแ้ จง แบบทดสอบมี 3 ตอน
ตอนท่ี 1 เป็นแบบทดสอบแบบอ่านขอ้ ความ แล้ววิเคราะหว์ า่ ข้อความนัน้ ถูกต้องหรือผดิ
ตอนท่ี 2 เปน็ แบบอธิบายสั้น ๆ ให้ไดใ้ จความ
ตอนที่ 3 เป็นแบบตวั เลอื กชนิด 4 ตวั เลือก
ตอนที่ 1 ใหก้ าเคร่อื งหมายถกู √ หน้าขอ้ ท่คี ิดวา่ ถกู และ x หน้าขอ้ ทคี่ ดิ ว่าผิด
....... 1. คำว่า Arduino เปน็ ภาษาอติ าลี
....... 2. ขนาดของโปรแกรม Arduino จะมขี นาดเลก็ กวา่ AVR
....... 3. Arduino IDE รองรบั เฉพาะระบบปฏบิ ตั กิ าร Windows
....... 4. ซอฟตแ์ วร์ Arduino IDE สามารถดาวน์โหลดจากเวบ็ ไซต์
www.arduino.cc/en/Main/Software
....... 5. ข้อความ I Agree เป็นการยอมรับเงอื่ นไข License
....... 6. เมนูบาร์ ใช้เลือกคำสั่งต่าง ๆ ของโปรแกรม ประกอบด้วย เมนู File, เมนู Edit, เมนู
Compile, เมนู Tools และเมนู Help
....... 7. Upload ใชอ้ ับโหลดไฟลท์ แี่ ปลงเปน็ hex file แล้ว โดยอับโหลดไปยังบอรด์
ไมโครคอนโทรลเลอร์ Arduino
....... 8. เมนู Sketch ใน Arduino IDE เปน็ เมนูสำหรบั การตรวจสอบไวยากรณ์ การแปลง
โปรแกรมเป็น Hex file การอบั โหลดไปยงั ไมโครคอนโทรลเลอร์ การเลือกอปุ กรณอ์ ับโหลด
....... 9. Auto Format อยใู่ นสว่ นของเมนู Sketch
....... 10 Verity หมายถึงการตรวจสอบความพรอ้ มของบอรด์ Arduino ที่ใชง้ าน
ตอนที่ 2 จงอธิบายสน้ั ๆ ให้ได้ใจความ
1. คลิกตำแหนง่ Run ใน Arduino IDE เพ่ือ…………………………………………………………………………………………….
2. คำวา่ Install หมายถึง ....................................................................................................................................
3. เมนู ......................................................... ใช้สำหรับตรวจสอบไวยากรณแ์ ละคอมไพล์
4. ในเมนู Tool ตำแหน่ง Fix Encoding & Reload ใช้สำหรับ .........................................................................
5. เมนู ................................................ใช้สำหรบั คัดลอกเป็น HTML
6. เมนู ............................................... ใช้ปดิ ไฟล์สเก็ตชท์ เ่ี ปดิ อยู่
7. เมนู Increase Front Size ใชส้ ำหรับ.............................................................................................................
8. LED ตำแหน่ง L ทบี่ อร์ด Arduino UNO ตอ่ ที่ ................. ของดจิ ทิ ัลพอร์ต
9. ความหมายของคำส่งั pinMode(led, OUTPUT); คอื ...................................................................................
10. ความหมายของคำสัง่ digitalWrite(led, LOW); คือ ....................................................................................
ไมโครคอนโทรลเลอร์ รหัสวชิ า 20105-2105
26
ตอนท่ี 3 จงเลอื กคำตอบที่ถกู ทีส่ ุด แลว้ ทำเครอื่ งหมาย x ลงในกระดาษคำตอบ
1. ขอ้ ใดไมใ่ ช่ประโยชนข์ องซอฟตแ์ วร์ Arduino IDE
ก. ช่วยให้โปรแกรมมคี วามถกู ตอ้ ง
ข. ผพู้ ัฒนาสามารถเขียนโปรแกรมไดเ้ ร็วข้ึน
ค. สามารถตรวจสอบระบบท่ีจัดทำได้
ง. นำโปรแกรมจากผูอ้ น่ื มาพัฒนาต่อได้
2. คำเต็มของ IDE คอื ขอ้ ใด
ก. International development Electronics
ข. International development Environment
ค. Integrate development Environment
ง. Integrate development Electronics
3. ขอ้ ใดแสดงว่าการติดตัง้ ซอฟต์แวร์ Arduino IDE สำเรจ็ สมบรู ณ์ (สำหรบั ระบบปฏิบตั ิการ windows)
ก. windows has successfully updated you driver software
ข. stop driver software
ค. complete driver software
ง. complete install
4. เว็บไซด์สำหรบั ดาวนโ์ หลดซอฟต์แวร์ Arduino IDE คอื
ก. www.thaiware/arduino/Software
ข. www.microsoft.com/arduino/software
ค. www.arduino/IoT.garena.in.th/downloads
ง. www.arduino.cc/en/Main/Software
5. สำหรบั Menu file ขอ้ ใดกล่าวผิด
ก. เมนู New ใช้สรา้ งไฟล์สเก็ตช์ใหม่ เพ่อื ใชเ้ ขียนโปรแกรมใหม่
ข. เมนู Sketchbook ใชเ้ ปิดไฟลส์ เก็ตชล์ ่าสุดทเ่ี ปิดใชง้ านเสมอ
ค. เมนู Page setup ตง้ั ขนาดของหนา้ กระดาษปัจจุบัน
ง. เมนู Preference ใชก้ ำหนดชนิดของไฟลท์ างเอาต์พุต
6. สำหรบั Menu Edit ขอ้ ใดกลา่ วผิด
ก. เมนู Undo สำหรบั ให้ทำคำสงั่ สุดทา้ ย
ข. เมนู Cut สำหรับตัดฟงั กช์ นั หรือคำส่งั ออกจากบรเิ วณพ้ืนท่ีเขียนโปรแกรม
ค. เมนู Increase Indent สำหรบั เพ่ิมขนาดของย่อหน้า
ง. เมนู Select All สำหรบั เลอื กฟังกช์ นั หรือคำสงั่ ทงั้ หมดจากพนื้ ทีเ่ ขยี นโปรแกรม
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
27
7. สำหรบั Menu Tools ขอ้ ใดกลา่ วผดิ
ก. เมนู Archive Sketch สำหรับเลือกสถานทีจ่ ดั เกบ็ file Sketch
ข. เมนู Board สำหรับเลอื กบอร์ด Arduino รุ่นมาตรฐาน
ค. เมนู Port สำหรับเลือกใชห้ มายเลขพอร์ตอนุกรมของ USB ให้ตรงกบั บอรด์ Arduino
ง. เมนู Programmer สำหรบั เลือกใช้ตวั โปรแกรมเมอร์รนุ่ ต่าง ๆ
8. Burn Bootloader ใน Menu Tools ใชส้ ำหรบั อะไร
ก. ติดตอ่ บอร์ด Arduino ขณะบตู เครอ่ื ง
ข. ใช้สำหรบั โหลดโปรแกรม Bootloader
ค. อา่ นขอ้ มูลท่แี อดเดรสเร่ิมต้นขณะเริ่มใช้งานบอรด์ Arduino
ง. เขียนโปรแกรมลงไมโครคอมพวิ เตอร์
9. วธิ ีทดสอบซอฟต์แวร์ Arduino IDE โดยการเขียนโปรแกรมใหแ้ สงที่ LED ตำแหน่ง L บนบอร์ด Arduino
UNO กระพริบ คำส่งั ใดไม่เกยี่ วข้องกบั การทดสอบน้ี
ก. int led = 10;
ข. pinMode(led, OUTPUT);
ค. digitalWrite(led, HIGH);
ง. digitalWrite(led, LOW);
10. การผนวก Libraries ลงในซอฟตแ์ วร์ Arduino IDE ดว้ ยเหตผุ ลใด
ก. โปรแกรมท่เี ขียนขน้ึ ต้องใช้กบั Libraries โดยเฉพาะ ไมม่ ใี น Libraries มาตรฐาน
ข. ต้องการให้ Code มขี นาดเลก็ ลง
ค. ต้องการใหโ้ ปรแกรมทำงานดว้ ยความเร็วมากข้นึ
ง. ใชก้ บั คำสง่ั ใหม่ ๆ
ไมโครคอนโทรลเลอร์ รหัสวชิ า 20105-2105
28
เฉลยใบประเมนิ ผลหน่วยท่ี 2
เฉลยแบบทดสอบกอ่ นเรยี น หน่วยที่ 2
แบบทดสอบกอ่ นเรยี น
ขอ้ ท่ี คำตอบ
1ก
2ข
3ข
4ก
5ก
6ค
7ค
8ง
9ง
10 ง
เฉลยแบบทดสอบหลงั เรยี น หนว่ ยที่ 2
ตอ...√น...ท. ่ี 1 ให้กาเครอื่ งหมายถูก √ หนา้ ขอ้ ท่ีคดิ ว่าถูก และ x หน้าข้อทีค่ ิดวา่ ผิด
1. คำว่า Arduino เปน็ ภาษาอติ าลี
....... 2. ขนาดของโปรแกรม Arduino จะมขี นาดเลก็ กว่า AVR
......√........ 3. Arduino IDE รองรบั เฉพาะระบบปฏบิ ตั กิ าร Windows
4. ซอฟตแ์ วร์ Arduino IDE สามารถดาวนโ์ หลดจากเวบ็ ไซต์
www.arduino.cc/en/Main/Software
...√.... 5. ข้อความ I Agree เปน็ การยอมรับเง่อื นไข License
....... 6. เมนูบาร์ ใชเ้ ลอื กคำสงั่ ต่าง ๆ ของโปรแกรม ประกอบด้วย เมนู File, เมนู Edit, เมนู
Compile, เมนู Tools และเมนู Help
...√.... 7. Upload ใชอ้ บั โหลดไฟลท์ ่แี ปลงเป็น hex file แล้ว โดยอับโหลดไปยงั บอรด์
...√.... ไมโครคอนโทรลเลอร์ Arduino การแปลง
8. เมนู Sketch ใน Arduino IDE เป็นเมนูสำหรบั การตรวจสอบไวยากรณ์
โปรแกรมเป็น Hex file การอับโหลดไปยังไมโครคอนโทรลเลอร์ การเลอื กอปุ กรณอ์ ับโหลด
√
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
29
....... 9. Auto Format อย่ใู นส่วนของเมนู Sketch
....... 10 Verity หมายถกงึ ากรานรำตซรอวฟจสตอแ์ บวรคห์วารมอื พโปรรอ้ แมกขรอมงลบงอเกรบ็ด์ ใAนrเdคuรอ่ืinงoคอทม่ีใพช้งิวาเตนอร์เพอ่ื ให้ใช้ได้
ตอนท่ี 2 จงอธิบายสัน้ ๆ ใหไ้ ด้ใจความ
1. คลิกตำแหนง่ Run ใน Arduino IDE เพอื่ ……ต…ดิ …ต…ั้งโ…ป…รแ…ก…ร…ม………………………………………………………………….
2. คำว่า Install หมายถงึ ..ก..า..ร..น...ำ..ซ..อ..ฟ...ต...์แ..ว..ร..์ห...ร..อื ..โ.ป...ร..แ..ก...ร..ม..ต...ิด..ต...ั้ง.ล...ง..ใ.น...ค..อ...ม..พ...วิ ..เ.ต..อ...ร..์.เ.พ...อ่ื...ใ.ห...้ใ.ช..้โ..ป...ร..แ..ก..ร..ม...น...นั้ ..ไ.ด...้ ...
3. เมนู .....V..e...r.i.t.y............................................ ใช้สำหรับตรวจสอบไวยากรณ์และคอมไพล์
4. ในเมนู Tool ตำแหน่ง Fix Encoding & Reload ใช้สำหรับ ...ป...ร..บั...ร..ูป..แ...บ..บ...ค..ำ..ส...งั่ .ใ..น...ไ.ฟ...ล..ส์...เ.ก..็ต...ช..์....................
5. เมนู ...C..o...p..y....a..s...H..T...M...L.....................ใช้สำหรับคดั ลอกเปน็ HTML
6. เมนู ...C..l.o...s..e.................................... ใช้ปดิ ไฟลส์ เก็ตช์ทีเ่ ปดิ อยู่
7. เมนู Increase Front Size ใช้สำหรับ...เ.พ...ิ่ม../..ล..ด...ข..น...า.ด...ข..อ...ง.ต...ัว..อ..ัก...ษ..ร...ใ.น...พ..น้ื...ท...ีเ่ .ข..ยี...น..โ..ป..ร..แ...ก..ร..ม..............................
8. LED ตำแหนง่ L ท่ีบอรด์ Arduino UNO ต่อท่ี ..พ...อ..ร..์ต....1..3.. ของดิจทิ ัลพอร์ต
9. ความหมายของคำสัง่ pinMode(led, OUTPUT); คอื ...ก..ำ..ห...น..ด...พ..อ...ร..์ต..ช...่ือ....l.e..d....ใ.ห...เ้ .ป...น็ ..เ..อ..า..ต..์พ...ุต...พ..อ...ร..์ต..............
10. ความหมายของคำสงั่ digitalWrite(led, LOW); คอื ...ส...ง่ .แ...ร..ง..ด..ัน....0..V....อ..อ...ก..ไ..ป..ย...ัง.พ...อ..ร..์ต...ช..่ือ....l.e...d.......................
ตอนท่ี 3 จงเลือกคำตอบทถ่ี กู ที่สดุ แล้วทำเครื่องหมาย x ลงในกระดาษคำตอบ
แบบทดสอบหลงั เรยี น
ข้อที่ คำตอบ
1ค
2ง
3ง
4ง
5ง
6ก
7ข
8ข
9ก
10 ก
ไมโครคอนโทรลเลอร์ รหัสวชิ า 20105-2105
แผนการสอนท่ี 3 หนว่ ยท่ี 3
ช่อื วิชา ไมโครคอนโทรลเลอร์ สอนครั้งที่ 4-5
ช่วั โมงรวม 8 ช่ัวโมง
ชอ่ื หนว่ ย โปรแกรมภาษา C สำหรบั Arduino
ชอื่ เรอ่ื ง โปรแกรมภาษา C สำหรับ Arduino จำนวน 8 ชวั่ โมง
หวั ขอ้ เรือ่ งและงาน
1. โครงสรา้ งของโปรแกรมภาษา C
2. ตัวแปรในภาษาซีสำหรบั Arduino
3. คำสง่ั ควบคุมทิศทางการทำงาน
4. ตวั กระทำทางคณิตศาสตร์
5. ตวั กระทำทางลอจิกหรอื ตัวกระทำระดับบิต
6. ตวั กระทำตรรกะ
7. ตัวกระทำผสม
8. ไวยากรณ์ภาษา C สำหรับ Arduino
9. คำสงวนของภาษา C สำหรับ Arduino
สมรรถนะท่ีต้องการ
1. แสดงความร้เู ก่ยี วกบั โครงสรา้ งของโปรแกรมภาษา C สำหรบั Arduino
2. แสดงความรู้เก่ียวกบั ตัวแปร คำสงั่ ควบคมุ การทำงานของภาษา C สำหรบั Arduino
3. แสดงความรเู้ กีย่ วกบั ตัวกระทำตา่ ง ๆ ของโปรแกรมภาษา C สำหรับ Arduino
สาระสำคัญ
การพฒั นาโปรแกรมสำหรบั ไมโครคอนโทรลเลอร์ นยิ มใช้ภาษา C/C++ เนื่องจากมีโครงสรา้ งที่ยดื หยุ่น
สามารถเขียนและพฒั นาได้งา่ ย ปัจจบุ นั เป็นท่ีนิยมในการใช้งานบอร์ดไมโครคอนโทรลเลอร์ Arduino
ดงั น้ันผู้เรียนจะตอ้ งเขา้ ใจ โครงสรา้ งของโปรแกรมภาษา C ตัวแปรในภาษาซีสำหรับ Arduino คำสง่ั ควบคมุ ทิศ
ทางการทำงาน ตัวกระทำทางคณิตศาสตร์ ตวั กระทำทางลอจิกหรือตัวกระทำระดับบิต ตัวกระทำตรรกะ ตัว
กระทำผสม ไวยากรณ์ภาษา C สำหรับ Arduino คำสงวนของภาษา C สำหรับ Arduino จึงจะถือว่าเป็นผู้มี
ความรู้ดา้ นไมโครคอนโทรลเลอร์ โครงสรา้ งโปรแกรมภาษา C ของ Arduino ประกอบไปด้วย 3 สว่ น คือ สว่ น
หวั โปรแกรม (header) ซงึ่ มสี องสว่ ยย่อย ไดแ้ ก่ปรโี ปรเซสเซอรไ์ ดเร็กทฟี (Preprocessor directives) และส่วน
ของการกำหนดค่า (Global declarations) ส่วนโปรแกรมย่อย (sub-program) และ ส่วนของโปรแกรมหลัก
(main program) ชนิดของตัวแปรในภาษา C ตัวแปรในภาษา C แบ่งเป็นตัวแปรท่ีใช้เก็บค่าตัวเลขและบูลีน
เช่น Boolean, byte, int, unsigned, int, long, unsigned, long, float, double ตัวแปรที่ใช้เก็บตัวอักษร
และข้อความ เช่น char string และยังมีตัวแปรแบบ array และตัวแปร pointer การควบคุมทิศทางทำงาน
แบบมีเง่ือนไข ประกอบด้วยคำส่ัง if , if....else…., if..else if…..else…. และ switch…..case…. คำสั่งควบคุม
ทิศทางการวนระบบในภาษา c ประกอบด้วย while , do while และคำสั่ง for ตัวกระทำทางคณิตศาสตร์
31
ประกอบด้วยตวั กระทำ 5 ตัวคือ + (บวก), - (ลบ), * (คู ณ), / (หาร) และ % (หารเอาเศษ) ตัวกระทำการ
เปรียบเทียบในภาษา C มีอยู่ด้วยกัน 6 ตัวกระทำ คือ >, <, >=, <=, == และ != ตัวกระทำทางลอจิกหรือตัว
กระทำระดับบิตในภาษา C มีอยู่ด้วยกัน 6 ตวั กระทำ ได้แก่ &, |, ^, ~, << และ >> ตัวกระทำผสมในภาษา C
มอี ยู่ด้วยกัน 9 ตัวกระทำ ได้แก่++; --, +=; -=, *=, /=, %=, &= และ |=
จุดประสงคเ์ ชงิ พฤติกรรมท่ีพึงประสงค์
ความรู้ ทักษะ คณุ ธรรม/จรยิ ธรรม
1. อธิบายโครงสร้างของโปรแกรมภาษา C 1. เขียนภาษา C++ ด้วย Arduino 1. ตรงต่อเวลา
2. มคี วามตระหนกั ในหนา้ ท่ีของ
สำหรับ Arduino ไดถ้ กู ตอ้ ง IDE ได้
นกั ศึกษา
2. ระบุชนดิ ของตัวแปรของโปรแกรมภาษา C 2. เขยี นโปรแกรมทใ่ี ช้คำส่ังควบคมุ 3. มีความรับผิดชอบตอ่ ตนเอง
สำหรบั Arduino ไดถ้ ูกตอ้ ง ทิศทางได้ และสังคม
4. แต่งกายถกู ตอ้ งตามระเบียบ
3. เลือกใช้ตัวแปรของโปรแกรมภาษา C สำหรับ 3. แกไ้ ขปัญหาทเ่ี กิดจากการเขียน
Arduino ใหเ้ หมาะสมกับงานได้ โปรแกรมภาษา C++ ได้
4. อธิบายการใช้คำส่งั การควบคมุ ทิศทางทำงาน
แบบมเี งือ่ นไขได้ถกู ตอ้ ง
5. อธิบายการใช้คำสง่ั ควบคุมทศิ ทางการวนลปู ได้
ถกู ต้อง
6. อธิบายการใช้เครื่องหมายต่าง ๆ ของตวั
กระทำทางคณติ ศาสตร์ได้ถูกต้อง
7. อธบิ ายการใชเ้ คร่ืองหมายตา่ ง ๆ ของตัว
กระทำทางลอจกิ หรือตวั กระทำระดับบิตได้
8. อธิบายการใช้เครอื่ งหมายตา่ ง ๆ ของตวั
กระทำตรรกะได้ถูกตอ้ ง
9. อธิบายการใช้เคร่อื งหมายตา่ ง ๆ ของตัว
กระทำผสมไดถ้ กู ต้อง
10. อธบิ ายการเขยี นไวยากรณข์ องภาษา C ได้
ถูกต้อง
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
32
แบบทดสอบก่อนเรยี น
หนว่ ยที่ 3 ชื่อหนว่ ย โปรแกรมภาษา C สำหรบั Arduino
คำสงั่ จงเลือกคำตอบที่ถูกท่สี ุด แลว้ ทำเครอ่ื งหมาย x ลงในกระดาษคำตอบ
1. เครื่องหมายทางคณติ ศาสตรใ์ นภาษา C ขอ้ ใดกล่าวผดิ
ก. เครื่องหมาย + หมายถงึ การบวก ข. เครื่องหมาย * หมายถงึ การคุณ
ค. เครือ่ งหมาย / หมายถึงการหาร ง. เครอื่ งหมาย % หมายถึงการหารเอาสว่ น
2. สญั ลกั ษณ์และความหมายของตัวกระทำการเปรียบเทยี บในภาษา C ขอ้ ใดกล่าวผดิ
ก. เครอื่ งหมาย != หมายถึงไมเ่ ท่ากับ ข. เครอ่ื งหมาย >= หมายถงึ มากกวา่ หรอื เทา่ กับ
ค. เครื่องหมาย = หมายถึงเทา่ กับ ง. เคร่อื งหมาย < หมายถึงนอ้ ยกว่า
3. สัญลักษณ์และความหมายของตวั กระทำทางลอจิกหรอื ตัวกระทำระดับบิตในภาษา C ข้อใดกลา่ วผิด
ก. เครอ่ื งหมาย & หมายถึงแอนด์ ข. เครอ่ื งหมาย | หมายถึงออร์
ค. เครอื่ งหมาย ^ หมายถงึ เอ็กชค์ ลูซีฟออร์ ง. เครอ่ื งหมาย ~ หมายถึงทูคอมพลเี มนต์
4. ตวั กระทำแบบผสมในภาษา C เคร่ืองหมายใดกลา่ วผิด
ก. เครอื่ งหมาย ++ หมายถึงเพิ่มค่าอกี 1 ข. เครอื่ งหมาย += หมายถงึ บวกค่า
ค. เครอ่ื งหมาย *= หมายถงึ คูณคา่ ง. เคร่ืองหมาย &= หมายถงึ แนนด์
5. ข้อใดกล่าวผดิ เกีย่ วกบั ไวยากรณ์ของในภาษา C สำหรับ Arduino
ก. เซมโิ คลอน (;) ในภาษา C ใช้เขียนแจ้งว่าจบคำส่ัง
ข. เครอ่ื งหมาย /*…..*/ ใช้หมายเหตุหลายบรรทัด
ค. เครื่องหมาย /* ใช้หมายเหตุบรรทัดเดียว
ง. #define เป็นคำสัง่ ที่ใช้งานสำหรบั กำหนดค่าคงทใี่ ห้กับโปรแกรม
6. จากโครงสรา้ งภาษา C สำหรับ Arduino สว่ นใดทวี่ นรอบไม่รจู้ บ
ก. Preprocessor directives ข. sub-program
ค. void setup() ง. void loo()
7. ตัวแปรในภาษา C สำหรับ Arduino ข้อใดทใ่ี ช้หน่วยความจำเก็บมูลมากที่สดุ
ก. long ข. unsigned long
ค. float ง. double
8. หากตอ้ งการสรา้ งตวั แปรเพือ่ เกบ็ ขอ้ มลู จากการแปลงสญั ญาณแอนะลอกเปน็ ดิจทิ ัลทม่ี ีความละเอียดขนาด
10 บติ (0 ถึง 1023) ควรเลือกใชต้ ัวแปรชนดิ ใด
ก. byte ข. int
ค. unsigned int ง. long
9. ข้อใดไม่ใช่คำสงั่ การควบคมุ ทศิ ทางทำงานแบบมเี ง่อื นไขในภาษา C
ก. data.....case….. ข. if....else….,
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
33
ค. if….else if….else.. ง. switch…..case…
10. ข้อใดไมใ่ ช่คำส่งั ควบคมุ ทศิ ทางการวนลปู
ข. while
ก. for…….. ง. for…….else……
ค. do…….while ……
เนือ้ หาสาระ
1. โครงสร้างโปรแกรมภาษา C ของ Arduino
1.1 ส่วนหวั โปรแกรม (header)
1.2 ส่วนโปรแกรมยอ่ ย (sub-program)
1.3 ส่วนโปรแกรมหลัก (main program)
2. ตัวแปรในภาษาซสี ำหรบั Arduino
2.1 การตั้งชอื่ ตวั แปรในภาษา C
2.2 ชนดิ ของตวั แปรในภาษา C
3. คำสงั่ ควบคมุ ทิศทางการทำงาน
3.1 การควบคมุ ทศิ ทางทำงานแบบมเี งื่อนไข
3.2 คำส่ังควบคุมทิศทางการวนลูป
4. ตวั กระทำทางคณติ ศาสตร์
5. ตัวกระทำทางลอจิกหรือตัวกระทำระดับบติ
ตารางที่ 4.1 สัญลักษณแ์ ละความหมายของตวั กระทำทางลอจิกหรอื ตัวกระทำระดบั บติ
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
34
เครอื่ งหมาย การกระทำ ตัวอยา่ ง อธบิ าย
& แอนด์ a=b&c
| ออร์ a=b&c a เทา่ กับค่าในตวั แปร b แอนดก์ บั c
^ a=b&c a เทา่ กบั คา่ ในตวั แปร b ออรก์ ับ c
~ เอก็ ชค์ ลูซีฟออร์ a = ~c a เท่ากบั ค่าในตัวแปร b เอ็กชค์ ลซู ฟี ออร์กับ c
<< วันคอมพลเี มนต์ a = a<<3 a เท่ากบั ค่าตรงกันขา้ มในตวั แปร c
>> เล่อื นไปทางซา้ ย a = a>>2 เล่อื นข้อมลู ในตัวแปร a ไปทางซ้าย 3 บติ
เลื่อนไปทางขวา เล่อื นขอ้ มลู ในตวั แปร a ไปทางขวา 2 บติ
6. ตัวกระทำทางตรรกะ
6.1 ตรรกะแอนด์ (&&)
6.2 ตรรกะออร์ (||)
6.3 ตรรกะอนิ เวอรส์ (!)
7. ตัวกระทำผสม
ตารางท่ี 4.2 ตัวกระทำแบบผสมในภาษา C
เคร่ืองหมาย การกระทำ ตัวอยา่ ง อธบิ าย
++ เพ่ิมคา่ อีก 1 N++
-- ลดค่าอกี 1 N-- เพ่มิ ค่า N ขนึ้ อกี 1
+= บวกค่า N += 3 ลดค่า N ลงอกี 1
-= ลบคา่ N -= 4 ค่า N ใหม่ เท่ากับคา่ N เดมิ บวก 3
*= คณู ค่า N *= 8 คา่ N ใหม่ เทา่ กับคา่ N เดิมลบ 4
/= หารค่า N /= 5 ค่า N ใหม่ เท่ากบั ค่า N เดิมคุณ 8
%= หารเอาเศษ N %= 2 ค่า N ใหม่ เทา่ กับค่า N เดมิ หาร 5
&= แอนด์ N &= 6 คา่ N ใหม่ เท่ากบั คา่ N เดิมหารดว้ ย 2 เอาเศษ
|= ออร์ N |= 6 ค่า N ใหม่ เทา่ กบั ค่า N เดิมแอนดก์ บั 110 ฐาน 2
คา่ N ใหม่ เท่ากับค่า N เดมิ ออร์กบั 110 ฐาน 2
8. ไวยากรณภ์ าษา C สำหรับ Arduino
8.1 เซมโิ คลอน – semicolon ;
8.2 วงเล็บปีกกา (curly brace : { })
8.3 หมายเหตุบรรทดั เดยี ว (//)และหมายเหตุหลายบรรทัด (/*…..*/)
8.4 #define
8.5 #include
9. คำสงวนตา่ ง ๆ ของภาษา C สำหรบั Arduino
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
35
10.1 คำสงวนทีเ่ ปน็ ค่าคงท่ี (Constants)
10.2 คำสงวนท่ีเปน็ ชอื่ ตัวแปรและค่าคงทข่ี องพอรต์ (Port Variable & Constants)
10.4 คำสงวนอ่ืน ๆ (Other)
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
กิจกรรมการเรยี นการสอน 36
ขั้นตอนการสอน ขัน้ ตอนการเรียน เครือ่ งมือ/การวดั ผล
ประเมนิ ผล
(กจิ กรรมของครู) (กจิ กรรมผู้เรยี น)
1. คำถามประจำหน่วย
1.ข้ันนำเขา้ สู่บทเรียน 2. แบบทดสอบก่อน
1.1 ครูบอกจดุ ประสงคข์ องการเรียนใน 1.1 นักเรียนรับฟงั จุดประสงคข์ องการเรยี นใน เรียนหน่วยท่ี 3
บทเรียนน้ี บทเรยี นนี้
1. power point
1.2 ครสู อบถามความสำคญั ของ 1.2 นกั เรียนบอกความสำคัญของ หนว่ ยท่ี 3
โปรแกรมภาษา C สำหรับ Arduino โปรแกรมภาษา C สำหรับ Arduino 2. คำถามหน่วยที่ 3
1.3 ครแู จกแบบทดสอบกอ่ นเรียนหน่วยที่ 3 1.3 นักเรยี นทำทดสอบก่อนเรยี นหนว่ ยที่ 3 1. ใบสรุปหนว่ ยท่ี 3
2. ข้ันสอนทฤษฎี 1.ใบตรวจผลงาน
ตามใบงานท่ี 3
2.1 ครอู ธิบายความสำคญั ของ 2.1 รับฟังคำบรรยาย
1. แบบทดสอบหลังเรียน
โปรแกรมภาษา C สำหรับ Arduino 2.2 ตอบคำถามและแสดงความคดิ เห็น หนว่ ยท่ี 3
ใชส้ ่อื power point
2.2 ซกั ถามปญั หาเก่ยี วกับการทำงานของ 1. ใบมอบงานหนว่ ยที่ 3
โปรแกรมภาษา C สำหรบั Arduino 1.ใบตรวจสอบความ
เรียบร้อย
3. ขน้ั สรปุ
3.1 ครแู ละนกั เรยี นชว่ ยกนั สรุปและครซู กั ถาม 3.1 นกั เรยี นชว่ ยครสู รปุ และตอบคำถาม
ปัญหาข้อสงสยั 3.2 จดบททกึ ยอ่
4. ขนั้ สอนปฏิบตั ิ
4.1 บอร์ด Arduino UNO และอปุ กรณ์ I/O 4.1 นกั ศกึ ษาแสดงวิธกี ารต่อแหล่งจา่ ยไฟฟา้
ใหน้ ักศกึ ษาแสดงการตอ่ ไฟฟา้ โดยทำ เขา้ ชุดทดลอง ตามใบงานที่ 3
ตามใบมอบงานที่ 3
5. ขัน้ การประเมนิ ผล
5.1 ครูแจกใบประเมนิ ผลหลงั เรยี นหนว่ ยท่ี 3 5.1 รบั ใบประเมินผลหลังเรยี นหน่วยท่ี 3
5.2 ดูแลนักเรียนไมใ่ ห้ทุจริต 5.2 ทำแบบทดสอบหลงั เรยี น
5.3 เมือ่ ครบเวลาทก่ี ำหนดรับแบบทดสอบคืน 5.3 เม่อื ครบเวลาท่ีกำหนดส่งแบบทดสอบคนื
6. ขน้ั มอบหมายงาน
6.1 ใหน้ กั เรยี นไปคน้ ควา้ เพ่มิ เตมิ เกยี่ วกับ 6.1 รับมอบหมายงาน
โปรแกรมภาษา C สำหรบั Arduino
และทำแบบฝึกหดั ท้ายหน่วยเรียน
หนว่ ยที่ 3 สง่ ในสปั ดาห์ต่อไป
7. ข้นั ตรวจสอบความเรยี บร้อย
7.1 ตรวจความเรยี บร้อยและความเรยี บรอ้ ย 7.1 ชว่ ยกันจดั เกบ็ และทำความสะอาด
ของห้องเรยี นห้องปฏบิ ัตงิ าน หอ้ งเรียนหอ้ งปฏิบตั ิงานใหเ้ รียบร้อย
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
37
งานท่มี อบหมายหรือกิจกรรม
กอ่ นเรยี น
- นกั ศกึ ษาทำแบบทดสอบก่อนเรียนหนว่ ยท่ี 3
ขณะเรยี น
ใหน้ กั ศึกษาอภิปรายเกยี่ วกับและสรปุ เกยี่ วกับโปรแกรมภาษา C สำหรบั Arduino
หลังเรยี น
ให้นักเรยี นไปค้นคว้าเพ่มิ เติมเกีย่ วกับโปรแกรมภาษา C สำหรบั Arduino
และทำแบบฝกึ หัดท้ายหนว่ ยเรียนหนว่ ยที่ 3 ส่งในอาทิตยต์ อ่ ไป
สอ่ื การเรยี นการสอน
1. หนงั สือเรยี นไมโครคอนโทรลเลอร์ หนว่ ยท่ี 3 เรอ่ื งโปรแกรมภาษา C สำหรบั Arduino
2. power point เรอ่ื งโปรแกรมภาษา C สำหรบั Arduino
3. แบบฝกึ หัดทา้ ยหน่วยเรียนที่ 3
การวัดผลการเรยี น
กอ่ นเรยี น
ทดสอบก่อนเรยี น (Pre-test) โดยใชข้ ้อสอบหน่วยที่ 3 จำนวน 10 ข้อ
ขณะเรียน
ถาม – ตอบปญั หา, ความสนใจ, ความตั้งใจ, การอภิปราย
หลงั เรยี น
ทดสอบหลังเรียน (Post-test) โดยใช้ขอ้ สอบหน่วยท่ี 3
- แบบวเิ คราะห์ถูกผิด จำนวน 10 ข้อ
- แบบสอบสนั้ ๆ จำนวน 10 ข้อ
- แบบตัวเลอื ก จำนวน 10 ข้อ
การประเมินผล
1. การประเมินผลโดยใช้แบบประเมินผลกอ่ นเรยี นหนว่ ยท่ี 3 จำนวน 10 ข้อ (แบบเลอื กตอบ)
2. การประเมินผลโดยใชแ้ บบประเมนิ ผลหลงั การเรียนหนว่ ยที่ 3
2.1 แบบวเิ คราะห์ถกู ผดิ จำนวน 10 ขอ้
2.2 แบบสอบส้ัน ๆ จำนวน 10 ขอ้
2.3 แบบตัวเลือก จำนวน 10 ข้อ
3. สังเกตการมสี ว่ นร่วมในการเรยี น
4. สังเกตจากการตอบคำถาม / การอภิปราย
เอกสารอ้างอิง
1. สุชนิ ชนิ สีห์. (2563). ไมโครคอนโทรลเลอร์ (Arduino Microcontroller)
นนทบุรี : โรงพิมพ์ บรษิ ัท ศนู ยห์ นงั สอื เมืองไทย จำกดั .
2. เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
38
บนั ทึกหลังการจดั การเรยี นรู้ของครู
วันที่……….… เดอื น……………..…...………. พ.ศ………….…
รหสั วิชา 20105-2105 ช่อื รายวชิ า ไมโครคอนโทรลเลอร์
สาขาวิชา ชา่ งอเิ ล็กทรอนิกส์ ระดับชน้ั ปวช. ปีท่ี 3 กลุ่มที่ 1,2
หัวข้อเน้อื หาทีส่ อน โปรแกรมภาษา C สำหรบั Arduino หนว่ ยที่ 3
จำนวนนักศกึ ษาเข้าเรยี น ……… คน
รายละเอียดการสอน เข้าใจ/ ไมเ่ ข้าใจ ปฏบิ ตั ิ หมายเหตุ สำหรบั นักศกึ ษาทไี่ ม่เข้าใจหรือปฏบิ ตั ิ
ปฏิบัติได(้ คน) ไม่ได้ (คน) ไม่ไดจ้ ะแกไ้ ขในการสอนครัง้ ตอ่ ไป
รายละเอยี ด/หวั ข้อ ในวันที่……....เดือน……...............…..พ.ศ……..........
เนอื้ หาทสี่ อน โดยจะดำเนนิ การดังนี้
1. ………………………….……........……………………….
1. โครงสร้างของโปรแกรมภาษา C 2. …………………………….…........……………………….
2. ตวั แปรในภาษาซีสำหรบั Arduino 3. ……………………….………….................................
3. คำสัง่ ควบคมุ ทศิ ทางการทำงาน 4. ……………………….………….................................
4. ตัวกระทำทางคณิตศาสตร์
5. ตวั กระทำทางลอจิกหรอื ตวั กระทำระดบั ลงชื่อ…………………………………………………..
บิต6. ตวั กระทำตรรกะ (นายสชุ นิ ชินสีห์)
7. ตัวกระทำผสม ครผู สู้ อน
8. ไวยากรณ์ภาษา C สำหรบั Arduino
9. คำสงวนของภาษา C สำหรบั Arduino
ผลการใชแ้ ผนการสอน
.................................................................................................................................................................................
.................................................................................................................................................................................
................................................................................................................................................................................
.................................................................................................................................................................................
ผลการเรยี นของนกั เรยี น
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
ผลการสอนของครู
.................................................................................................................................................................................
.................................................................................................................................................................................
ลงชอ่ื ................................................ครผู ้สู อน
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
39
ใบประเมนิ ผลหลงั เรียนหน่วยที่ 3
วชิ าไมโครคอนโทรลเลอร์ ชอ่ื หน่วย โปรแกรมภาษา C สำหรับ Arduino
คำชีแ้ จง แบบทดสอบมี 3 ตอน
ตอนท่ี 1 เป็นแบบทดสอบแบบอา่ นขอ้ ความ แลว้ วเิ คราะหว์ ่าขอ้ ความนนั้ ถกู ตอ้ งหรอื ผดิ
ตอนที่ 2 เป็นแบบอธบิ ายสนั้ ๆ ใหไ้ ดใ้ จความ
ตอนท่ี 3 เป็นแบบตวั เลอื กชนดิ 4 ตวั เลอื ก
ตอนที่ 1 ให้กาเคร่อื งหมายถูก √ หน้าข้อท่ีคิดว่าถูก และกาเครื่องหมายผดิ x หน้าขอ้ ที่คิดว่าผดิ
.............. 1. การตัง้ ช่อื ตวั แปรของภาษา C สำหรบั Arduino จะตอ้ งขึน้ ต้นด้วยตัวอักษรเทา่ ทา่ นั้น
.............. 2. หากตอ้ งการสร้างตัวแปรเพือ่ เก็บข้อมลู ที่มคี ่า 0 ถงึ 150 ควรตง้ั เปน็ ชนิด long
.............. 3. ตัวแปรพอยตเ์ ตอร์ เป็นตัวแปรทใ่ี ชเ้ กบ็ ตำแหน่ง (address) ของหน่วยความจำ
.............. 4. char str1[20]; เปน็ การประกาศตวั แปรสตรงิ โดยไม่กำหนดคา่ เรมิ่ ตน้
.............. 5. คำส่ัง if......else…… เป็นคำสง่ั ที่ใช้ในการตดั สินใจแบบมีเงอื่ นไข 1 ทางเลอื ก
.............. 6. คำส่ัง for เปน็ คำส่ังใหโ้ ปรแกรมวนลปู ทำซำ้ แบบท่สี ามารถกำหนดรอบได้แน่นอน
.............. 7. เครอื่ งหมาย % ในตัวกระทำทางคณิตศาสตรห์ มายถงึ หารเอาค่าผลลัพธ์
.............. 8. เครือ่ งหมาย >= และ += เป็นตัวกระทำการเปรยี บเทียบในภาษา C
.............. 9. เครือ่ งหมายเซมโิ คลอน (;) ในภาษา C ใชเ้ ขยี นแจง้ ว่าจบคำสัง่
.............. 10 คำว่า switch ไมส่ ามารถตั้งชอื่ เปน็ ตัวแปรได้
ตอนที่ 2 จงอธบิ ายส้ัน ๆ ให้ไดใ้ จความ
1. ตวั แปรชนดิ boolean ใช้สำหรบั ...................................................................................................................
2. ตวั แปรชนิด unsigned int ใช้พื้นทีห่ นว่ ยความจำขนาด ................. บติ มขี อบเขต
การเกบ็ ขอ้ มูลได้ตงั้ แต่ ......................... ถงึ .........................................................................................................
3. ตวั แปรชนิด long ใช้พ้ืนทห่ี นว่ ยความจำขนาด .............. บิต มขี อบเขตการเก็บข้อมลู ได้
ตง้ั แต่ ................................ ถึง ........................................................................................................................
4. ตวั แปรชนดิ char เปน็ ตัวแปรสำหรับเก็บตัวอกั ษร ..…………… ตัว ใช้หน่วยความจำขนาด …….... บิต
5. คำส่ัง do…..while…….. มหี ลกั การทำงานคอื ...............................................................................................
......................................................................................................................... ....................................................
6. คำส่งั switch.....case….. เปน็ คำสัง่ ที่ใช้ในการตดั สนิ ใจแบบมเี ง่ือนไขแบบหลายทางเลือกคล้ายกับคำสงั่
………………………………………………………………………………………………………………………………………………………….
7. ถา้ หากตวั แปร N มคี ่า 5 หากใช้คำส่งั N |= 2 คา่ ของตวั แปร N จะมคี า่ เท่ากับ ............................................
8. ในภาษา C สำหรบั Arduino เคร่ืองหมาย = กับเคร่อื งหมาย == ใช้ต่างกันคอื ……………………………………..
.............................................................................................................................................................................
.............................................................................................................................................................................
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
40
9. คำสั่ง if (N >= 0 && N <= 12) หมายถงึ คา่ N อยูร่ ะหวา่ ง.............ถึง...........จะเป็นจรงิ
10. หมายเหตบุ รรทัดเดยี วใชเ้ ครื่องหมาย...........และหมายเหตหุ ลายบรรทดั ใชเ้ ครือ่ งหมาย..............................
คำส่งั จงเลอื กคำตอบทถี่ กู ท่ีสดุ แล้วทำเครื่องหมาย x ลงในกระดาษคำตอบ
1. จากโครงสร้างภาษา C สำหรับ Arduino สว่ นใดท่วี นรอบไม่ร้จู บ
ก. Preprocessor directives ข. sub-program
ค. void setup() ง. void loo()
2. ตัวแปรในภาษา C สำหรับ Arduino ขอ้ ใดท่ีใชห้ น่วยความจำเก็บมูลมากทสี่ ดุ
ก. long ข. unsigned long
ค. float ง. double
3. หากตอ้ งการสรา้ งตัวแปรเพ่อื เก็บข้อมลู จากการแปลงสญั ญาณแอนะลอกเป็นดจิ ิทลั ท่มี คี วามละเอยี ดขนาด
10 บติ (0 ถึง 1023) ควรเลอื กใชต้ ัวแปรชนิดใด
ก. byte ข. int
ค. unsigned int ง. long
4. ขอ้ ใดไม่ใช่คำส่งั การควบคุมทศิ ทางทำงานแบบมเี งื่อนไขในภาษา C
ก. data.....case….. ข. if....else….,
ค. if….else if….else.. ง. switch…..case…
5. ขอ้ ใดไมใ่ ช่คำสงั่ ควบคุมทิศทางการวนลปู
ก. for…….. ข. while
ค. do…….while …… ง. for…….else……
6. เครอ่ื งหมายทางคณิตศาสตร์ในภาษา C ขอ้ ใดกล่าวผิด
ก. เคร่อื งหมาย + หมายถึงการบวก ข. เครือ่ งหมาย * หมายถงึ การคุณ
ค. เครอ่ื งหมาย / หมายถึงการหาร ง. เคร่ืองหมาย % หมายถงึ การหารเอาส่วน
7. สัญลกั ษณ์และความหมายของตวั กระทำการเปรียบเทยี บในภาษา C ข้อใดกลา่ วผิด
ก. เคร่อื งหมาย != หมายถงึ ไมเ่ ทา่ กบั ข. เครื่องหมาย >= หมายถงึ มากกว่าหรือเท่ากบั
ค. เครื่องหมาย = หมายถงึ เท่ากับ ง. เครอื่ งหมาย < หมายถึงนอ้ ยกวา่
8. สัญลักษณแ์ ละความหมายของตัวกระทำทางลอจิกหรือตัวกระทำระดับบติ ในภาษา C ขอ้ ใดกลา่ วผิด
ก. เครื่องหมาย & หมายถงึ แอนด์ ข. เครอื่ งหมาย | หมายถึงออร์
ค. เคร่ืองหมาย ^ หมายถงึ เอ็กช์คลซู ฟี ออร์ ง. เครอ่ื งหมาย ~ หมายถงึ ทูคอมพลีเมนต์
9. ตวั กระทำแบบผสมในภาษา C เครอื่ งหมายใดกลา่ วผดิ
ก. เครอ่ื งหมาย ++ หมายถงึ เพ่ิมค่าอกี 1 ข. เครอ่ื งหมาย += หมายถงึ บวกค่า
ค. เครื่องหมาย *= หมายถึงคูณค่า ง. เครือ่ งหมาย &= หมายถึงแนนด์
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
41
10. ข้อใดกล่าวผดิ เก่ยี วกบั ไวยากรณข์ องในภาษา C สำหรับ Arduino
ก. เซมโิ คลอน (;) ในภาษา C ใช้เขียนแจ้งวา่ จบคำสง่ั
ข. เครือ่ งหมาย /*…..*/ ใช้หมายเหตุหลายบรรทดั
ค. เคร่ืองหมาย /* ใช้หมายเหตุบรรทดั เดียว
ง. #define เป็นคำสั่งทใ่ี ชง้ านสำหรับกำหนดคา่ คงทใ่ี ห้กับโปรแกรม
ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
42
เฉลยใบประเมนิ ผลหน่วยที่ 3
เฉลยแบบทดสอบก่อนเรยี น หน่วยที่ 3
แบบทดสอบกอ่ นเรยี น
ขอ้ ที่ คำตอบ
1ง
2ค
3ง
4ง
5ง
6ง
7ง
8ข
9ก
10 ก
เฉลยแบบทดสอบหลงั เรียน หนว่ ยที่ 3
ต...อ..√น...ท...ี่ .1.. ให้กาเคร่ืองหมายถูก √ หนา้ ข้อท่คี ิดวา่ ถกู และกาเครอ่ื งหมายผดิ x หนา้ ข้อที่คิดว่าผิด
...............√...√........................ 1. การตงั้ ช่อื ตัวแปรของภาษา C สำหรบั Arduino จะต้องขน้ึ ต้นดว้ ยตัวอกั ษรเท่าท่านั้น
............√................ 2. หากตอ้ งการสร้างตวั แปรเพือ่ เกบ็ ข้อมูลทมี่ คี ่า 0 ถงึ 150 ควรต้งั เปน็ ชนดิ long
3. ตวั แปรพอยตเ์ ตอร์ เปน็ ตัวแปรท่ีใช้เก็บตำแหนง่ (address) ของหนว่ ยความจำ
4. char str1[20]; เปน็ การประกาศตัวแปรสตริงโดยไม่กำหนดค่าเร่มิ ต้น
....................√√....√................................ 5. คำสัง่ if......else…… เป็นคำส่ังทใ่ี ช้ในการตดั สินใจแบบมีเงอ่ื นไข 1 ทางเลือก
6. คำสงั่ for เป็นคำสง่ั ใหโ้ ปรแกรมวนลปู ทำซำ้ แบบท่ีสามารถกำหนดรอบได้แน่นอน
7. เครอ่ื งหมาย % ในตวั กระทำทางคณิตศาสตร์หมายถึงหารเอาคา่ ผลลัพธ์
8. เครื่องหมาย >= และ += เปน็ ตัวกระทำการเปรียบเทยี บในภาษา C
9. เครอ่ื งหมายเซมโิ คลอน (;) ในภาษา C ใช้เขียนแจง้ วา่ จบคำสัง่
10 คำวา่ switch ไมส่ ามารถต้ังชื่อเป็นตัวแปรได้
ตอนที่ 2 จงอธิบายสั้น ๆ ใหไ้ ดใ้ จความ
1. ตัวแปรชนิด boolean ใช้สำหรับ ...เ.ก...็บ..ค...่า...0..,.1....ห..ร..อื....f..a..l.s..e..,..t..r.u...e....................................................................
2. ตัวแปรชนดิ unsigned int ใช้พ้ืนทีห่ น่วยความจำขนาด .....1...6......... บติ มีขอบเขต
0 65535
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
43
การเกบ็ ข้อมลู ได้ต้ังแต่ ......................... ถึง
....................................................................................3...2..................
3. ตวั แปรชนดิ long ใชพ้ ืน้ ท่ีหนว่ ยความจำขนาด .............. บิต มีขอบเขตการเกบ็ ขอ้ มลู ได้
ตง้ั แต่ ...-...2..1..4...7..4..8..3...6..4..8...... ถึง ...+....2..1...4..7..4..8...3..6..4..7.............................................................................................
4. ตวั แปรชนดิ char เปน็ ตัวแปรสำหรบั เก็บตวั อกั ษร ..……1……… ตัว ใช้หนว่ ยความจำขนาด ……8.... บิต
5. คำสง่ั do…..while…….. มีหลกั การทำงานคอื ...ก..ร..ะ...ท..ำ..ค...ำ..ส..งั่..แ..ล..้ว...ต..ร..ว..จ..ส...อ..บ...เ.ง..อื่ ..น...ไ.ข...ว..่า..เ.ป..็น...จ..ร..งิ..ห...ร..ือ..ไ..ม..่..........
......ถ...า้ ..เ.ป..น็...จ..ร..งิ..ไ..ป..ว..น...ซ..้ำ..อ...ีก...ถ...้า..ห..า..ก...เ.ป...็น..เ.ท...็จ..จ...ะ..อ..อ...ก..จ..า..ก....L..o...o..p....น...ี้ .........................................................................
6. คำสง่ั switch.....case….. เป็นคำส่งั ทีใ่ ชใ้ นการตดั สินใจแบบมเี งื่อนไขแบบหลายทางเลอื กคล้ายกับคำส่งั
……i…f..…..e…l…se…i…f..…..………………………………………………………………………………………………………………………………….
7. ถ้าหากตวั แปร N มคี า่ 5 หากใชค้ ำสั่ง N |= 2 ค่าของตวั แปร N จะมคี า่ เทา่ กบั ..7....ซ...่ึง...1..0..1....|..0..1...0...=....1..1...1.....
8. ในภาษา C สำหรับ Arduino เคร่อื งหมาย = กับเคร่อื งหมาย == ใชต้ ่างกันคอื …เค…ร…ือ่ …งห…ม…า…ย…=…เ…ป็น…ก…า…ร…..
.....ก..ำ..ห...น..ด...ใ.ห...้ค..า่..ต...ัว..แ..ป...ร..ด..้า..น...ซ..า้..ย..ม...ือ..เ..ท..่า..ก...บั ..ค...า่ ..ท..า..ง..ข..ว..า..ม...ือ....ส..ว่..น...เ.ค..ร..อ่ื...ง..ห..ม...า..ย....=..=....เ.ป..น็...ก..า..ร..ต...ร..ว..จ..ส..อ...บ..ว..่า..ต...วั ..แ..ป...ร.......
.....ด..า้..น...ซ..า้..ย..ม...ือ..ม...ีค..่า..เ.ท...า่..ก..บั...ค..่า..ด...า้ ..น..ข...ว..า..ม..อื..ห...ร..อื...ไ.ม...่ ..................................................................................................
9. คำสงั่ if (N >= 0 && N <= 12) หมายถึงคา่ N อยรู่ ะหวา่ ง.....0........ถึง...1..2......จะเป็นจริง
10. หมายเหตบุ รรทดั เดียวใช้เครือ่ งหมาย...../../....และหมายเหตหุ ลายบรรทดั ใช้เครือ่ งหมาย...../..*...…...…...…...…........*../...
ตอนท่ี 3 จงเลือกคำตอบท่ถี กู ท่ีสุด แล้วทำเครอ่ื งหมาย x ลงในกระดาษคำตอบ
แบบทดสอบหลงั เรียน
ขอ้ ท่ี คำตอบ
1ง
2ง
3ข
4ก
5ก
6ง
7ค
8ง
9ง
10 ง
ไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
แผนการสอนท่ี 4 หนว่ ยท่ี 4
ชอื่ วชิ า ไมโครคอนโทรลเลอร์ สอนครงั้ ที่ 5
ชื่อหน่วย ฟังก์ชนั พื้นฐานของโปรแกรมภาษา C สำหรบั ช่วั โมงรวม 3 ช่ัวโมง
Arduino
ชือ่ เรอื่ ง ฟังกช์ ันพน้ื ฐานของโปรแกรมภาษา C สำหรบั Arduino จำนวน 3 ชวั่ โมง
หวั ข้อเร่อื งและงาน
1. กล่มุ ฟงั กช์ นั ดจิ ิทัลอนิ พตุ เอาต์พุต
2. กลุ่มฟงั ก์ชันการหนว่ งเวลา
3. วงจรสวติ ช์และวงจรแสดงผลดว้ ย LED
สมรรถนะที่ต้องการ
1. แสดงความรูเ้ กยี่ วกบั กล่มุ ฟังก์ชันดิจทิ ัลอนิ พุตเอาตพ์ ตุ และกลุม่ ฟังกช์ ันการหนว่ งเวลา
2. เขยี นโปรแกรมภาษา C++ มวี งจรสวติ ช์และแอลอดี ีใหท้ ำงานตามทก่ี ำหนด
3. ตอ่ วงจรทีก่ ำหนดเขา้ กบั บอรด์ ไมโครคอนโทรลเลอร์ Arduino
4. แกไ้ ขโปรแกรมภาษา C++ ตามเงอื่ นไขทก่ี ำหนด
สาระสำคญั
ในการศึกษาไมโครคอนโทรลเลอรน์ ้นั อุปกรณอ์ นิ พุตเอาตพ์ ตุ พืน้ ฐานทีค่ วรจะรคู้ อื สวิตช์และแอลอดี ี ซ่ึง
สวิตชเ์ ปน็ อุปกรณอ์ ินพุตและแอลอดี เี ป็นเอาต์พตุ ฟงั ก์ชันที่ใช้พ้นื ฐานประกอบดว้ ย pinMode(pin,mode) เป็น
ฟังก์ชันท่ีกำหนดให้พอร์ต (port) หรือขา (pin) นั้น ๆ ใหเ้ ปน็ อินพุตหรือให้เป็นเอาต์พุต digitalRead(pin) เป็น
ฟังก์ชนั สำหรับอ่านคา่ สัญญาณดิจทิ ัล (0,1) ที่ pin ทีร่ ะบุเข้าไปใน MCU digitalWrite(pin,value) เป็นฟังกช์ ัน
สำหรบั ส่งสถานะของสญั ญาณดจิ ทิ ัลที่ pin ทร่ี ะบุใหม้ ีค่าเป็น 0 (LOW) หรือ 1 (HIGH) ฟังก์ชนั sleep(t)ฟังกช์ ัน
หน่วงเวลา โดยกำหนดให้ CPU หยุดการทำงานเป็นเวลาตามท่ีกำหนดโดยค่าตัวเลขในวงเล็บ ซ่ึงจะมีค่าเป็น
มิลลิวินาที delay(t) เป็นฟังก์ชันหน่วงเวลาหมายถึงให้โปรแกรมที่กระทำน้ัน ๆ ทำงานเดิมเป็นเวลาตามที่
กำหนดโดยค่าตัวเลขในวงเล็บ delayus(t) เป็นฟังก์ชันหน่วงเวลาหมายถึงให้โปรแกรมทก่ี ระทำนั้น ๆ ทำงาน
เดิมเป็นเวลาตามที่กำหนด โดยใช้ค่าตัวเลขในวงเล็บ ซ่ึงค่าตัวเลขในวงเล็บมีค่าเป็นไมโครวินาที Millis() เป็น
ฟังก์ชันสำหรับการนับเวลาขนาด 32 บิต ดังน้ันจึงสามารถนับเวลาได้ 232 คือค่า 0 ถึง 4,294967,295
มิลลิวินาที เมื่อถงึ ค่าสูงสดุ จะเริม่ ต้นใหม่ การต่อสวติ ช์อินพุตสามารถตอ่ ได้ลกั ษณะการตอ่ 2 รูปแบบได้แก่ ต่อ
ตัวต้านทานจากแหล่งจ่ายอนุกรมกับสวิตช์ อีกด้านหนึ่งของสวิตช์ต่อลงกราวด์ จุดต่อระหว่างตัวต้านทานกับ
สวติ ช์เป็นสัญญาณไปต่อกับไมโครคอนโทรลเลอร์ การต่อสวิตช์ในลักษณะน้ีจะทำให้เมอ่ื ไม่กดสวติ ช์จะให้ลอจิก
1 เมือ่ กดสวิตช์จะใหล้ อจกิ 0 และต่อสวิตชจ์ ากแหล่งจ่ายอนกุ รมกับตัวต้านทาน อีกด้านหน่งึ ของตวั ต้านทานต่อ
ลงกราวด์ จดุ ตอ่ ระหวา่ งสวิตชก์ ับตวั ต้านทานเป็นสญั ญาณไปต่อกับ MCU การตอ่ สวติ ช์ในลักษณะนี้จะทำใหเ้ มื่อ
ไม่กดสวิตช์จะให้ลอจิก 0 เมอื่ กดสวิตช์จะให้ลอจิก 1 สัญญาณรบกวนที่เกิดจากหน้าสัมผัสของสวติ ชเ์ มอ่ื ถูกกด
43
หรือปล่อยน้ัน จะมีคาบเวลาน้อยกว่า 50มิลลิวินาที ดังน้ันจึงสามารถตัดสัญญาณรบกวนท้ิงไป โดยให้
ไมโครคอนโทรลเลอร์ไม่รับสญั ญาณใด ๆ ในชว่ งเวลาดังกล่าว
จุดประสงค์เชิงพฤติกรรมท่พี ึงประสงค์
ความรู้ ทักษะ คุณธรรม/จริยธรรม
1. อธิบายการใชง้ านฟงั ก์ชนั 1. ต่อวงจรสวติ ช์และวงจร 1. ตรงต่อเวลา
pinMode(pin,mode) ได้ แอลอีดีทพี่ อร์ตของบอรด์ 2. มคี วามตระหนักในหนา้ ที่
2. อธิบายการใช้งานฟงั กช์ ัน Arduino ไดอ้ ยา่ งถูกต้อง ของนักศึกษา
digitalRead(pin) ได้ 2. ใช้ฟังก์ชันพนื้ ฐานสำหรับการ 3. มีความรับผิดชอบตอ่
3. อธิบายการใชง้ านฟังกช์ นั รับสญั ญาณจากการกดสวติ ช์ ตนเอง และสงั คม
digitalWrite(pin,value) ได้ ได้ 4. แตง่ กายถูกต้องตาระเบียบ
4. อธบิ ายการใชง้ านฟังก์ชนั sleep(t) ได้ 3. ใชฟ้ งั ก์ชันพืน้ ฐานสำหรับการ
5. อธิบายการใชง้ านฟังกช์ ัน delay(t) ได้ ควบคมุ การสวา่ งของแอลอีดไี ด้
6. อธบิ ายการใชง้ านฟังก์ชนั millis() ได้ 4. เขยี นโปรแกรมภาษาซตี าม
7. อธิบายการตอ่ วงจรสวิตช์อินพตุ สำหรับ เงื่อนไขทีก่ ำหนดได้
ไมโครคอนโทรลเลอรไ์ ด้
8. อธิบายการตอ่ วงจรแสดงผลดว้ ยแอลอดี ี
สำหรับไมโครคอนโทรลเลอรไ์ ด้
9. เขยี นโปรแกรมภาษา C++ สำหรับรบั ค่า
การกดสวิตชไ์ ด้
10. คำนวณหาค่าตวั ต้านทานทใี่ ช้ในวงจร
แสดงผลดว้ ยแอลอดี ีได้
ไมโครคอนโทรลเลอร์
44
การบูรณาการหลักปรัชาของเศรษฐกจิ พอเพียง
การวิเคราะหก์ ารนำหลักปรชั าของเศรษฐกจิ พอเพียงของหนว่ ยการเรยี นรู้ “ฟังกช์ นั พน้ื ฐานของ
โปรแกรมภาษา C สำหรบั ARDUINO” มาใช้ในการรจัดกจิ กรรมการรเรยี นรู้
1. ผู้เรยี นไดเ้ รยี นรู้หลักคดิ และฝึกปฏิบัติตามหลกั 3 หว่ ง 2 เงื่อน ดังน้ี
ความพอประมาณ ความมีเหตุผล การมภี มู คิ ุ้มกนั ในตวั ท่ดี ี
- ใชว้ ัสดุอปุ กรณ์อย่างประหยดั - มีความรคู้ วามเข้าใจฟังกช์ ัน - ฝกึ การใช้งานฟังก์ชนั
พอประมาณและเกดิ ประโยชน์ พ้ืนฐานของโปรแกรมภาษา พื้นฐานของโปรแกรม
สงู สุด C สำหรบั ARDUINO ภาษา C สำหรบั
- ใช้ครภุ ัณฑอ์ ย่างระมัดระวงั - รูค้ ณุ ค่าแหล่งการเรียนรู้ ARDUINO จนเกดิ ความ
และดูแลบำรุงรกั ษาสมำ่ เสมอ โดยศึกษาจากแหล่ เรียนรู้ ชำนาญ
หลกั พอเพียง - แตล่ ะกลุ่มแบง่ หนา้ ท่ีในกลุ่ม ตา่ ง ๆ ได้อย่างสอดคล้อง - ฝึกการมสี ว่ นร่วมในการ
เหมาะสมกบั ความสามารถ
กบั เน้ือหาทเ่ี รียน ทำงานเป็นหม่คู ณะ
และพอเพยี งกบั จำนวนสมาชกิ - รู้จักการทำงานร่วมกบั ผู้อนื่ - สร้างความสามัคคีจนทำ
ให้งานสำเร็จ
- นกั ศกึ ษาใชว้ ัสดุอุปกรณ์
ด้วยความระมดั ระวงั
และคำนึงถงึ
ความปลอดภัย
- ร้เู รื่องฟงั ก์ชันพื้นฐานของโปรแกรมภาษา C สำหรบั ARDUINO
- รูเ้ รื่องบอร์ดไมโครคอนโทรลเลอร์ Arduino
เง่ือนไขความรู้ของผเู้ รียน - รเู้ รือ่ งซอฟต์แวร์ Arduino IDE
- รู้วธิ ีนำหลกั ปรัชญาเศรษฐกจิ พอเพียงบรู ณาการกบั ชวี ติ ประจำวนั
- สืบคน้ ขอ้ มลู เพอ่ื เสริมสร้างความรู้ด้วยวธิ ีการท่ีหลากหลาย
- ศกึ ษา ค้นคว้า วธิ กี าร หลกั การ ทำการปฏบิ ัติงาน ทำแบบฝึกปฏิบตั ิ เพอื่ สรปุ องค์ความรู้
- มคี วามรับผดิ ชอบในหน้าทที่ ี่ ปฏิบตั ิงานด้วยความเรียบรอ้ ย ถูกตอ้ ง และเสรจ็ ทันเวลา
- มคี วามสามคั คใี นหมคู่ ณะ
เงอื่ นไขคุณธรรมของผเู้ รยี น - มีวินัยเป็นผนู้ ำและผู้ตามท่ีดีขณะปฏบิ ตั ิงานร่วมกนั
- ร่วมกจิ กรรมการเรียนรูด้ ว้ ยความกระตอื รอื รน้ สนใจ ต้ังใจ และใฝเ่ รียนรู้
- มคี วามตระหนกั ในการใชค้ ุรภุ ัณฑ์และสถานทเ่ี รียนรู้
ไมโครคอนโทรลเลอร์
45
2. ผู้เรียนได้เรียนรูก้ ารใชช้ วี ติ ทสี่ มดลุ และพรอ้ มรบั การเปล่ียนแปลงใน 4 มิตติ ามหลกั ปรัชญาของเศรษฐกจิ
พอเพียง ดงั น้ี
ด้าน สมดลุ และพร้อมรับการเปลย่ี นแปลงในด้านต่าง ๆ
องคป์ ระกอบ
ความรู้ วัตถุ สงั คม สิง่ แวดล้อม วัฒนธรรม
ทักษะ มคี วามรู้ ความเข้าใจ -มคี วามรู้เกย่ี วกบั การ -ใชพ้ ดั ลมดดู อากาศ ม่งุ เนน้ วัฒนธรรมภมู ิ
ค่านยิ ม เกยี่ วกบั ฟังก์ชันพืน้ ฐาน ทำงานระบบกลมุ่ และดดู กลน่ิ ควนั ปัญญาท้องถิ่นวา่ เป็น
ของโปรแกรมภาษา C -นกั เรียนมคี วามร้เู ก่ยี วกับ ของตะกวั ่ บดั กรี ฐานความคดิ สำคญั
สำหรับ ARDUINO เพือ่ การวางแผน การทำงาน ของคนไทย ใหส้ ามารถ
ใชแ้ ก้ปัญหาและพฒั นา ร่วมกับผ้อู ่ืน ดำรง วิถชี วี ติ และปรบั
วถิ ีชวี ิต ประยุกต์ใช้ได้ อยา่ ง
เขียนโปรแกรมภาษา C - ปฏิบตั ใิ นการทำงาน - ทำความสะอาดหอ้ ง เหมาะสม
เพือ่ ควบคมุ อปุ กรณ์ เป็นหมูค่ ณะด้วยหลกั เรยี นห้องปฏบิ ัตกิ าร
ภายนอก โดยใช้บอรด์ เอาใจเขามาใสใ่ จเรา
ไมโครคอนโทรลเลอร์
Arduino ได้
- มีวนิ ัยและมุ่งมน่ั ในการ เหน็ ความสำคญั ของการ เกดิ ความตระหนัก และ
ทำงานดว้ ยความซอ่ื สัตย์ ทำงานร่วมกบั ผู้อืน่ และ เหน็ คุณคา่ ของ ภมู ิปญั ญา
สุจรติ การทำงาน ในระบบกลมุ่ ท้องถิน่ สามารถนำไป
ประยกุ ต์ใช้กับวถิ ี ชวี ิต
ของตนเอง ไดอ้ ย่าง
เหมาะสม
3. ศาสตร์ทนี่ ำมาใช้ในหนว่ ยเรียน
ศาสตรพ์ ระราชา ศาสตร์สากล ศาสตรภ์ ูมิปัญญา
- ปรัชญาของเศรษฐกิจพอเพียง - ซอฟตแ์ วร์ Arduino IDE - อยอู่ ยา่ งไทย
- เข้าใจ เขา้ ถึง พัฒนา - ภาษา C และ C++ สำหรบั - รรู้ กั สามัคคี
- การพฒั นาทีย่ ่ังยนื ไมโครคอนโทรลเลอร์ Arduino - สะเต็มศกึ ษา หรือ “STEM”
- พระราชกระแสรบั ส่งั “ครูต้องสอนให้ - ไมโครคอมพิวเตอร์พรอ้ มซอฟตแ์ วร์
เด็กนักเรียนมนี ้ำใจ เช่น คนเรยี นเกง่
ชว่ ยติวเพ่ือนทเ่ี รียนลา้ หลัง ใช่สอนให้
เดก็ คิดแตจ่ ะแขง่ ขนั (Compete) กับ
เพ่ือน เพอ่ื ใหค้ นเกง่ ได้ลำดบั ดี ๆ เชน่
สอบไดท้ ่หี นึ่งของชนั้ แต่ต้องใหเ้ ดก็
แขง่ ขนั กับตนเอง” (11 มิ.ย. 55)
ไมโครคอนโทรลเลอร์
46
แบบทดสอบก่อนเรยี น วชิ าไมโครคอนโทรลเลอร์
หน่วยท่ี 4 ช่อื หน่วย ฟงั กช์ นั พ้ืนฐานของโปรแกรมภาษา C สำหรบั Arduino
คำส่ัง จงเลอื กคำตอบที่ถกู ท่ีสุด แล้วทำเครอ่ื งหมาย x ลงในกระดาษคำตอบ
1. การใช้งานฟังก์ชัน millis() ค่าเวลาที่เกดิ ข้ึนขนึ้ มีค่าใด
ก. 0 ถึง 65,535 มิลลิวินาที ข. 0 ถงึ 65,536 มิลลิวนิ าที
ค. 0 ถึง 4,294,967,295 มิลลวิ นิ าที ง. 0 ถงึ 4,294,967,296 มิลลิวินาที
วงจรสำหรับขอ้ 2
+ 5V + 5V
SW. OFF R OUTPUT
SW. OFF
OUTPUT R
(A) (B)
2. จากวงจรที่กำหนด ขอ้ ใดกลา่ วได้ถกู ต้อง
ก. เมอ่ื กดสวิตชใ์ นวงจร (A) output จะเป็นลอจกิ 0 เมอ่ื กดสวติ ช์ในวงจร (B) output จะเป็นลอจกิ 1
ข. เม่ือกดสวิตชใ์ นวงจร (A) output จะเป็นลอจกิ 1 เมอื่ กดสวิตช์ในวงจร (B) output จะเปน็ ลอจกิ 0
ค. เมอ่ื ไมก่ ดสวิตชใ์ นวงจร (A) output จะเป็นลอจกิ 1 เม่ือกดสวติ ช์ในวงจร (B) output จะเปน็ ลอจิก 1
ง. เมอ่ื กดสวติ ช์ในวงจร (A) output จะเป็นลอจกิ 0 เมือ่ ไม่กดสวิตช์ในวงจร (B) output จะเปน็ ลอจกิ 1
วงจรสำหรับข้อ 3-5
16 MHz RESET DIGITA L (WPM ~)AREF R1
GN D +5V
TX
RX ~~~111131029 R2
L UNO
IOREFATmega328pARDUINO 8 LED
R ESE T
3.3VP OW E R ~~657
5V ~43
GN DANALOG IN SW
GN D 2
Vin ON TX 1
ICSP RX 0
A0
AA21
AA43
A5
โปรแกรมสำหรับขอ้ 3-5
int ledPin = D13;
void setup()
{
pinMode(ledPin, OUTPUT);
}
Void loop()
{
digitalWrite(ledPin, HIGH);
ไมโครคอนโทรลเลอร์
47
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}
3. จากวงจรและโปรแกรมท่กี ำหนด เมื่อนำโปรแกรมไป RUN ในวงจรที่กำหนด ผลทเ่ี กิดขน้ึ ตรงกับข้อใด
ก. LED จะแสดงเป็นไฟกระพริบด้วยความเร็ว 60 ครั้งต่อนาที
ข. LED จะแสดงเป็นไฟกระพริบด้วยความเร็ว 30 ครงั้ ต่อนาที
ค. LED จะแสดงเปน็ ไฟกระพรบิ ดว้ ยความเรว็ 2 คร้ังตอ่ นาที
ง. LED จะแสดงเปน็ ไฟกระพรบิ ดว้ ยความเร็ว 1 คร้งั ต่อนาที
4. หากต้องการตดิ ตอ่ กบั SW จะเขยี นคำสั่งตรงกบั ข้อใด
ก. int sw = 5; ก่อน void setup() และ pinMode(sw, OUTPUT); ไว้ภายใน void setup()
ข. int sw = 5; ก่อน void setup() และ pinMode(sw, INPUT); ไวภ้ ายใน void setup()
ค. int sw = 5; และ pinMode(sw, OUTPUT); ไว้ภายใน void setup()
ง. int sw = 5; ก่อน void setup() และ pinMode(sw, OUTPUT); ไว้ภายใน void loop()
5. ค่า R1 และ R2 ที่เหมาะสมกบั วงจรมีค่าตรงกับขอ้ ใด
ก. R1 = 1 kΩ และ R2 = 10 kΩ
ข. R1 = 10 kΩ และ R2 = 1 kΩ
ค. R1 = 220 Ω และ R2 = 10 kΩ
ง. R1 = 10 kΩ และ R2 = 220 Ω
6. การใช้งานฟงั กช์ ัน pinMode(pin,mode) ข้อใดกลา่ วผิด
ก. เปน็ ฟงั ก์ชันสำหรับการใช้งานเก่ยี วกบั พอรต์ ดจิ ิทลั
ข. เปน็ ฟังกช์ นั สำหรบั การใช้งานเก่ยี วกบั พอร์ตแอนะลอก
ค. pin หมายถึงขาของดจิ ิทลั พอรต์
ง. mode หมายถึง INPUT หรือ OUTPUT
7. การใชง้ านฟังกช์ นั digitalRead(pin) มีจดุ ประสงคใ์ ด
ก. อา่ นขนาดสัญญาณทขี่ า pin ทร่ี ะบุ ข. อ่านคา่ เวลาจาก pin ที่ระบุ
ค. อ่านคา่ ความถจี่ าก pin ทร่ี ะบุ ง. อา่ นค่าลอจกิ จาก pin ทีร่ ะบุ
8. การใช้งานฟังกช์ นั digitalWrite(pin,value) ขอ้ ใดกล่าวผดิ
ก. ส่งคา่ แรงดนั ไฟฟ้า 0 ถงึ 5 โวลต์ ออกที่ pin ทร่ี ะบุ
ข. ส่งค่าแรงดันไฟฟ้าระดับลอจิก 0 หรอื ลอกจกิ 1 ออกที่ pin ท่ีระบุ
ค. pin หมายถึง ดจิ ิทัลพอรต์ ของ Arduino
ง. value หมายถงึ LOW, HIGH หรือ 0, 1
9. ข้อใดกล่าวไดถ้ กู ตอ้ งที่สุดเกยี่ วกับฟังกช์ ัน sleep(t)
ก. กำหนดให้ CPU หยดุ การทำงานเปน็ เวลาตามทก่ี ำหนด เพือ่ ลดการใชพ้ ลงั งาน
ข. หนว่ งเวลาเพ่ือให้ CPU หยุดการทำงานเป็นเวลาสนั้ ๆ
ค. หน่วงเวลาเพือ่ ให้ CPU หยุดการทำงาน เพอ่ื ลดความรอ้ นทเ่ี กดิ ข้นึ ท่ีตัว CPU
ไมโครคอนโทรลเลอร์
48
ง. หยุดเวลาให้ระบบปฏิบตั กิ ารไปทำงานหน้าทอี่ ่นื
10. การใชง้ านฟังก์ชัน delay(t) คา่ ตัวเลขของ t มีหน่วยใด
ก. s ข. ms
ค. us ง. ns
ไมโครคอนโทรลเลอร์
49
เนือ้ หาสาระ
1. กลุ่มฟังก์ชันดจิ ทิ ัลอนิ พุตเอาตพ์ ุต
1.1 pinMode(pin,mode)
16 MHz RESET DIGITAL (WPM ~)AREF R1 220 W
GND +5V LED1
TX
RX 13
L UNO 12
IOREF ATmega328p ARDUINO ~~~11109 10 kW
RESET
3.3V POWER ANALOG IN R8 2
5V
GND ~~657
GND ~43 SW1
Vin ON 2
A0 ICSP TX 1
AA21 RX 0
AA34
A5
1.2 digitalRead(pin)
1.3 digitalWrite(pin,value)
2. กลุม่ ฟงั กช์ ันการหนว่ งเวลา
2.1 sleep(t)
2.2 delay(t)
2.3 delayus(t)
2.4 millis()
16 MHz RESET DIGITAL (WPM ~)
R 220IOREF AREF
TX GND 1W
RESET RX
3.3V L UNO 13
5V ~~~1112109
GND ARDUINO
GND
ATmega328p 8
Vin POWER ANALOG IN ~~657 LED1
A0 ~43
AA21
AA34 2
A5 ON TX 1
ICSP RX 0
ไมโครคอนโทรลเลอร์
กจิ กรรมการเรียนการสอน ขน้ั ตอนการเรยี น 50
(กิจกรรมผู้เรียน)
ข้นั ตอนการสอน เครือ่ งมือ/การวัดผล
(กจิ กรรมของครู) 1.1 นกั เรียนรับฟงั จุดประสงคข์ องการเรยี นใน ประเมินผล
บทเรยี นนี้
1.ข้ันนำเขา้ สบู่ ทเรยี น 1. คำถามประจำหนว่ ย
1.1 ครบู อกจุดประสงคข์ องการเรยี นใน 1.2 นกั เรียนบอกความสำคญั ของ 2. แบบทดสอบก่อน
ไมโครคอนโทรลเลอร์
บทเรียนนี้ เรียนหนว่ ยท่ี 4
1.2 ครูสอบถามความสำคญั ของ 1.3 นักเรยี นทำทดสอบกอ่ นเรียนหนว่ ยท่ี 4
ไมโครคอนโทรลเลอร์
1.3 ครแู จกแบบทดสอบกอ่ นเรยี นหนว่ ยท่ี 4
2. ขน้ั สอนทฤษฎี 2.1 รับฟังคำบรรยาย 1. power point
2.2 ตอบคำถามและแสดงความคิดเหน็ หนว่ ยท่ี 4
2.1 ครูอธบิ ายความสำคัญของ
ไมโครคอนโทรลเลอร์ การทำงาน และ 2. คำถามหนว่ ยท่ี 4
ส่วนประกอบทสี่ ำคญั ใช้สื่อpower point
1. ใบสรปุ หน่วยท่ี 5
2.2 ซกั ถามปญั หาเกี่ยวกับการทำงานของ
ไมโครคอนโทรลเลอร์ 1.ใบตรวจผลงาน
ตามใบมอบงานที่ 4
3. ขั้นสรุป
1. แบบทดสอบหลังเรียน
3.1 ครแู ละนักเรยี นช่วยกนั สรปุ และครูซักถาม 3.1 นกั เรยี นช่วยครูสรุปและตอบคำถาม หน่วยท่ี 4
ปญั หาข้อสงสยั 3.2 จดบททกึ ยอ่ 1. ใบมอบงานหนว่ ยท่ี 4
4. ขั้นสอนปฏิบัติ 1.ใบตรวจสอบความ
เรียบร้อย
4.1 ชุดทดลองไมโครคอนโทรลเลอร์ 4.1 นักศกึ ษาแสดงวธิ ีการต่อแหล่งจ่ายไฟฟา้
ใหน้ กั ศกึ ษาแสดงการตอ่ ไฟฟา้ โดยทำ เข้าชุดทดลอง ตามใบมอบงานที่ 4
ตามใบมอบงานที่ 5
5. ขั้นการประเมนิ ผล
5.1 ครแู จกใบประเมนิ ผลหลงั เรียนหน่วยที่ 4 5.1 รบั ใบประเมินผลหลังเรียนหนว่ ยท่ี 4
5.2 ดแู ลนักเรียนไม่ให้ทจุ ริต 5.2 ทำแบบทดสอบหลังเรยี น
5.3 เมอ่ื ครบเวลาทีก่ ำหนดรบั แบบทดสอบคืน 5.3 เมอ่ื ครบเวลาทก่ี ำหนดส่งแบบทดสอบคืน
6. ขั้นมอบหมายงาน
6.1 ให้นักเรยี นไปคน้ คว้าเพ่มิ เติมเก่ียวกับ 6.1 รับมอบหมายงาน
ฟังก์ชนั พนื้ ฐานของโปรแกรมภาษา C
สำหรบั Arduinoและทำแบบฝึกหดั ท้าย
หน่วยเรยี นหน่วยท่ี 4 ส่งในสปั ดาห์ต่อไป
7. ขน้ั ตรวจสอบความเรยี บร้อย
7.1 ตรวจความเรยี บร้อยและความเรยี บรอ้ ย 7.1 ช่วยกนั จัดเกบ็ และทำความสะอาด
ของหอ้ งเรียนห้องปฏบิ ตั งิ าน หอ้ งเรียนห้องปฏบิ ตั ิงานใหเ้ รยี บร้อย
ไมโครคอนโทรลเลอร์
51
งานที่มอบหมายหรอื กิจกรรม
ก่อนเรยี น
- นกั ศึกษาทำแบบทดสอบก่อนเรยี นหน่วยท่ี 4
ขณะเรียน
ใหน้ ักศึกษาอภิปรายเก่ียวกับและสรุปเก่ยี วกับฟงั กช์ ันพืน้ ฐานของโปรแกรมภาษา C สำหรับ
Arduino
หลังเรยี น
ให้นักเรียนไปค้นคว้าเพิ่มเติมเกี่ยวกับพ้ืนฐานของโปรแกรมภาษา C สำหรับ Arduino และทำ
แบบฝกึ หดั ทา้ ยหน่วยเรยี นหนว่ ยท่ี 4 สง่ ในอาทติ ย์ตอ่ ไป
สอ่ื การเรยี นการสอน
หนังสือเรียนไมโครคอนโทรลเลอร์ หน่วยท่ี 4 เร่ืองฟังก์ชันพ้ืนฐานของโปรแกรมภาษา C สำหรับ
Arduino
1. power point เรอื่ งฟังกช์ ันพ้นื ฐานของโปรแกรมภาษา C สำหรบั Arduino
2. แบบฝกึ หัดทา้ ยหน่วยเรียนที่ 4
การวดั ผลการเรียน
ก่อนเรียน
ทดสอบกอ่ นเรียน (Pre-test) โดยใชข้ ้อสอบหน่วยท่ี 4 จำนวน 10 ขอ้
ขณะเรียน
ถาม – ตอบปญั หา , ความสนใจ , ความตั้งใจ , การอภปิ ราย
หลังเรียน
ทดสอบหลังเรยี น (Post-test) โดยใช้ข้อสอบหน่วยที่ 4
- แบบวเิ คราะหถ์ ูกผดิ จำนวน 10 ข้อ
- แบบสอบสัน้ ๆ จำนวน 10 ข้อ
- แบบตัวเลอื ก จำนวน 10 ข้อ
การประเมินผล
1. การประเมินผลโดยใชแ้ บบประเมนิ ผลกอ่ นเรียนหนว่ ยที่ 4 จำนวน 10 ข้อ (แบบเลอื กตอบ)
2. การประเมินผลโดยใช้แบบประเมินผลหลงั การเรียนหน่วยที่ 4
2.1 แบบวเิ คราะห์ถูกผิด จำนวน 10 ขอ้
2.2 แบบสอบส้ัน ๆ จำนวน 10 ขอ้
2.3 แบบตวั เลอื ก จำนวน 10 ข้อ
3. สังเกตการมีส่วนรว่ มในการเรียน
4. สงั เกตจากการตอบคำถาม / การอภิปราย
เอกสารอ้างองิ
1. สุชนิ ชนิ สหี ์. (2563). ไมโครคอนโทรลเลอร์ (Arduino Microcontroller)
ไมโครคอนโทรลเลอร์
52
นนทบุรี : โรงพมิ พ์ บริษัท ศูนยห์ นงั สอื เมอื งไทย จำกัด.
2. เอกสารประกอบการสอนวชิ าไมโครคอนโทรลเลอร์ รหสั วิชา 20105-2105
บนั ทึกหลังการจดั การเรยี นรขู้ องครู
วนั ท่ี……….… เดอื น……………..…...………. พ.ศ………….…
รหสั วชิ า 20105-2105 ชอ่ื รายวิชา ไมโครคอนโทรลเลอร์
สาขาวิชา ช่างอิเล็กทรอนกิ ส์ ระดบั ชั้น ปวช. ปีที่ 3 กลุ่มท่ี 1,2
หัวข้อเนอ้ื หาทสี่ อน ฟังก์ชนั พ้นื ฐานของโปรแกรมภาษา C สำหรับ Arduino หนว่ ยที่ 4
จำนวนนักศกึ ษาเขา้ เรียน ……… คน
รายละเอียดการสอน เข้าใจ/ ไม่เขา้ ใจ ปฏบิ ตั ิ หมายเหตุ สำหรบั นกั ศึกษาท่ีไมเ่ ขา้ ใจหรือปฏิบัติ
ปฏบิ ัติได(้ คน) ไมไ่ ด้ (คน) ไม่ได้จะแกไ้ ขในการสอนครงั้ ต่อไป
รายละเอยี ด/หัวข้อ ในวนั ที่……....เดือน……...............…..พ.ศ……..........
เนอื้ หาท่สี อน โดยจะดำเนนิ การดงั น้ี
1. ………………………….……........……………………….
1. กลุ่มฟังก์ชนั ดิจิทลั อินพุตเอาตพ์ ุต 2. …………………………….…........……………………….
3. ……………………….………….................................
2. กลมุ่ ฟงั ก์ชันการหน่วงเวลา 4. ……………………….………….................................
3. วงจรสวติ ชแ์ ละวงจรแสดงผลดว้ ย LED
ลงชอ่ื …………………………………………………..
(นายสชุ นิ ชินสีห์)
ครูผู้สอน
ผลการใชแ้ ผนการสอน
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
ผลการเรียนของนกั เรียน
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
ผลการสอนของครู
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
ลงช่ือ................................................ครผู สู้ อน
ไมโครคอนโทรลเลอร์
53
แบบใหค้ ะแนนการปฏบิ ัติงาน
วชิ า ไมโครคอนโทรลเลอร์ รหัสวิชา 20105-2105
ชื่อหน่วย ฟังกช์ นั พื้นฐานของโปรแกรมภาษา C สำหรับ Arduino
เร่ือง การทดสอบฟงั กช์ นั พ้นื ฐานของโปรแกรมภาษา C สำหรบั Arduino
คะแนน
รายการท่ีประเมิน คะแนน คะแนน หมายเหตุ
เตม็ ที่ได้
1. กระบวนการปฏบิ ตั งิ าน
1.1 การจัดเตรยี มวัสดอุ ุปกรณ์ และเคร่ืองมอื 1
1.2 การใช้เครือ่ งมือได้ถกู ตอ้ ง 1
1.3 ปฏบิ ตั ิงานถูกต้องตามข้นั ตอน 1
1.4 เก็บรกั ษาเคร่อื งมือ และชดุ ทดลอง 1
2. ผลงาน
2.1 ตอ่ วงจรสวิตชแ์ ละแอลอีดไี ด้ถกู ตอ้ ง 4
2.2 เขยี นโปรแกรมเพื่อตรวจสอบการกดสวติ ชไ์ ปควบคมุ LED ได้ 4
2.3 แกไ้ ขโปรแกรมตามทก่ี ำหนดได้ถูกตอ้ ง 4
3. กจิ นสิ ัยในการปฏบิ ตั งิ าน
3.1 การใหค้ วามสนใจในการปฏิบัติงาน 1
3.2 ความปลอดภัยในการปฏิบตั งิ าน 1
3.3 ความเรยี บร้อยหลังปฏิบตั ิงาน 1
3.4 ความร่วมมอื ในกลุ่ม 1
รวม 20
ลงชือ่ ผ้ปู ระเมนิ
ไมโครคอนโทรลเลอร์
54
ใบประเมนิ ผลหลังเรียนหนว่ ยท่ี4
วิชา ไมโครคอนโทรลเลอร์ ชื่อหน่วย ฟังก์ชันพนื้ ฐานของโปรแกรมภาษา C สำหรับ Arduino
คำชีแ้ จง แบบทดสอบมี 3 ตอน
ตอนที่ 1 เป็นแบบทดสอบแบบอ่านขอ้ ความ แลว้ วเิ คราะหว์ ่าขอ้ ความนนั้ ถกู ต้องหรอื ผดิ
ตอนท่ี 2 เป็นแบบอธบิ ายสนั้ ๆ ใหไ้ ดใ้ จความ
ตอนท่ี 3 เป็นแบบตวั เลอื กชนดิ 4 ตวั เลอื ก
ตอนท่ี 1 ให้กาเคร่อื งหมายถกู √ ในขอ้ ทค่ี ิดวา่ ถกู และกาเครื่องหมายผิด x ในข้อท่ีคดิ ว่าผิด
…………. 1. pinMode(pin,mode) เป็นฟังก์ชันสำหรบั กำหนดให้ขาหรือพอรต์ ของไมโครคอนโทรลเลอร์น้ันทำ
หน้าทีเ่ ปน็ ดิจทิ ลั อินพตุ หรอื ดิจทิ ัลเอาต์พตุ
…………. 2. pinMode(pin,mode) กำหนดไวใ้ นสว่ น void setup()
…………. 3. digitalRead(pin) เป็นฟังกช์ นั สำหรบั อา่ นสถานะของอินพตุ ของ pin ทร่ี ะบุว่ามคี ่าเปน็ ลอจกิ 0
หรอื ลอจิก 1
…………. 4. sleep(t) เป็นฟงั กช์ ันหน่วงเวลาโดยกำหนดให้ CPU หยุดการทำงานเปน็ เวลาตามทีก่ ำหนดโดยคา่
ตัวเลขในวงเล็บ ซ่งึ จะมคี า่ เปน็ ไมโครวนิ าที (us)
…………. 5. delay(t) เปน็ ฟังกช์ นั หน่วงเวลาหมายถงึ ให้โปรแกรมท่กี ระทำนั้น ๆ ทำงานเดมิ เป็นเวลาตามที่
กำหนดโดยคา่ ตวั เลขในวงเล็บ ซึ่งจะมีคา่ เป็นมลิ ลิวินาที (ms)
…………. 6. ฟังก์ชนั millis ใช้ timer ขนาด 16 บิต
…………. 7. ฟังกช์ ัน pinMode(sw, INPUT_PULLUP); เมื่อไมก่ ดสวิตช์ แรงดันไฟฟ้าทขี่ าสวิตชจ์ ะมสี ถานะ
เป็นลอจกิ 0
…………. 8. ในกรณีท่ีตอ้ งการใช้ LED ตัวโต ๆ ท่ตี ้องการกระแสมากกวา่ 20 mA ซงึ่ เกินกว่ากระแสของพอรต์
เอาตพ์ ตุ ของไมโครคอนโทรลเลอร์จ่ายออกมาได้ จงึ ตอ้ งใชท้ รานซิสเตอร์ขับกระแสเพมิ่ เติม
…………. 9. ฟังกช์ ัน unsigned long last1, last2, last3; แสดงวา่ ตัวแปร last1, last2, last3; จะต้องใช้
หน่วยความจำขนาด 32 บติ
…………. 10. คำส่งั state = !state ตอ้ งการให้ state ใหม่ ให้มคี า่ ตรงกนั ข้ามกบั state เดมิ
ตอนท่ี 2 จงอธิบายสัน้ ๆ ใหไ้ ด้ใจความ
1. จากฟงั ก์ชัน pinMode(pin,mode) ซึ่ง pin หมายถึง.....................................................................................
2. คำสั่ง int swPin = D5; มีจุดประสงคใ์ ด .....................................................................................................
3. จากฟังกช์ ัน digitalRead(D10) ผลลพั ธท์ ี่ไดม้ คี ่าเป็น .........................................หรอื .....................................
4. จากฟังก์ชนั digitalWrite(pin,value) ซงึ่ value หมายถึง ..................................หรอื ...................................
5. .............................. เปน็ คำสง่ั สำหรบั หน่วงเวลา 100 มิลลิวินาที
6. .............................. เปน็ คำสั่งสำหรบั หน่วงเวลา 250 ไมโครวินาที
7. ฟังก์ชนั millis มีไว้เพอ่ื จุดประสงค์ .................................................................................................................
ไมโครคอนโทรลเลอร์
55
8. สญั ญาณรบกวนท่เี กดิ จากหนา้ สมั ผัสของสวติ ช์เม่ือถกู กดหรือปล่อยนัน้ จะมคี าบเวลาประมาณ.............
ms
9. ภาษาอังกฤษคำว่า debounce มคี วามหมายว่า ............................................................................................
10. ปริมาณกระแสไฟฟ้าท่ีไหลผา่ น LED ทข่ี นาด 5 มลิ ลเิ มตร ท่เี หมาะสมคอื .................. มลิ ลิแอมแปร์
ตอนที่ 3 จงเลือกคำตอบที่ถูกทสี่ ุด แลว้ ทำเครื่องหมาย x ลงในกระดาษคำตอบ
1. การใช้งานฟงั กช์ นั pinMode(pin,mode) ข้อใดกลา่ วผดิ
ก. เป็นฟังก์ชันสำหรับการใชง้ านเก่ยี วกบั พอรต์ ดิจทิ ลั
ข. เป็นฟงั ก์ชันสำหรบั การใช้งานเกย่ี วกับพอร์ตแอนะลอก
ค. pin หมายถงึ ขาของดิจทิ ลั พอร์ต
ง. mode หมายถงึ INPUT หรือ OUTPUT
2. การใช้งานฟงั ก์ชนั digitalRead(pin) มจี ุดประสงคใ์ ด
ก. อ่านขนาดสัญญาณทข่ี า pin ทีร่ ะบุ ข. อ่านค่าเวลาจาก pin ทร่ี ะบุ
ค. อา่ นคา่ ความถจี่ าก pin ทีร่ ะบุ ง. อ่านค่าลอจิกจาก pin ทีร่ ะบุ
3. การใชง้ านฟงั กช์ ัน digitalWrite(pin,value) ข้อใดกลา่ วผิด
ก. ส่งค่าแรงดนั ไฟฟา้ 0 ถงึ 5 โวลต์ ออกที่ pin ทรี่ ะบุ
ข. ส่งคา่ แรงดันไฟฟา้ ระดบั ลอจิก 0 หรือลอกจกิ 1 ออกท่ี pin ที่ระบุ
ค. pin หมายถึง ดจิ ิทัลพอร์ตของ Arduino
ง. value หมายถงึ LOW, HIGH หรอื 0, 1
4. ข้อใดกลา่ วไดถ้ กู ต้องทส่ี ุดเกยี่ วกบั ฟังกช์ ัน sleep(t)
ก. กำหนดให้ CPU หยุดการทำงานเปน็ เวลาตามที่กำหนด เพอ่ื ลดการใชพ้ ลังงาน
ข. หน่วงเวลาเพ่อื ให้ CPU หยุดการทำงานเปน็ เวลาสนั้ ๆ
ค. หนว่ งเวลาเพื่อให้ CPU หยดุ การทำงาน เพอ่ื ลดความรอ้ นที่เกดิ ขึ้นที่ตัว CPU
ง. หยุดเวลาให้ระบบปฏิบัตกิ ารไปทำงานหน้าทอ่ี ืน่
5. การใช้งานฟงั ก์ชนั delay(t) คา่ ตัวเลขของ t มีหน่วยใด
ก. s ข. ms
ค. us ง. ns
6. การใชง้ านฟังก์ชัน millis() ค่าเวลาที่เกดิ ขึ้นขนึ้ มคี ่าใด
ก. 0 ถึง 65,535 มลิ ลิวินาที ข. 0 ถึง 65,536 มลิ ลิวนิ าที
ค. 0 ถงึ 4,294,967,295 มิลลิวนิ าที ง. 0 ถงึ 4,294,967,296 มิลลวิ นิ าที
วงจรสำหรบั ข้อ 7
ไมโครคอนโทรลเลอร์
56
+ 5V + 5V
R
OUTPUT
OUTPUT
SW. OFF R
SW. OFF
(A) (B)
7. จากวงจรทกี่ ำหนด ขอ้ ใดกล่าวได้ถกู ต้อง
ก. เมอื่ กดสวิตชใ์ นวงจร (A) output จะเปน็ ลอจิก 0 เมอ่ื กดสวติ ช์ในวงจร (B) output จะเปน็ ลอจกิ 1
ข. เม่อื กดสวิตชใ์ นวงจร (A) output จะเปน็ ลอจิก 1 เม่อื กดสวิตชใ์ นวงจร (B) output จะเปน็ ลอจิก 0
ค. เม่อื ไม่กดสวติ ช์ในวงจร (A) output จะเป็นลอจกิ 1 เมอ่ื กดสวติ ช์ในวงจร (B) output จะเปน็ ลอจิก 1
ง. เมือ่ กดสวิตช์ในวงจร (A) output จะเปน็ ลอจิก 0 เมอื่ ไมก่ ดสวติ ช์ในวงจร (B) output จะเป็นลอจกิ 1
วงจรสำหรบั ขอ้ 8-10
16 MHz RESET DIGITA L (WPM ~)R1AREF
TX GN D
RX
L UNO
IOREF P OW E R ATmega328p ARDUINO ~~~111131029
+5VRESET 8
LED3.3V
5V
GN D
GN D
R2Vin
ANALOG IN ~~657
SWAAA210 ~43
AAA435
ON 2
ICSP TX 1
RX 0
โปรแกรมสำหรับข้อ 8-10
int ledPin = D13;
void setup()
{
pinMode(ledPin, OUTPUT);
}
Void loop()
{
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
ไมโครคอนโทรลเลอร์
57
}
8. จากวงจรและโปรแกรมท่กี ำหนด เมือ่ นำโปรแกรมไป RUN ในวงจรที่กำหนด ผลที่เกดิ ขน้ึ ตรงกบั ข้อใด
ก. LED จะแสดงเปน็ ไฟกระพรบิ ด้วยความเร็ว 60 คร้งั ตอ่ นาที
ข. LED จะแสดงเปน็ ไฟกระพรบิ ด้วยความเร็ว 30 ครั้งต่อนาที
ค. LED จะแสดงเปน็ ไฟกระพริบด้วยความเร็ว 2 ครงั้ ต่อนาที
ง. LED จะแสดงเป็นไฟกระพรบิ ด้วยความเรว็ 1 ครงั้ ตอ่ นาที
9. หากตอ้ งการตดิ ต่อกบั SW จะเขยี นคำสง่ั ตรงกบั ข้อใด
ก. int sw = 5; ก่อน void setup() และ pinMode(sw, OUTPUT); ไว้ภายใน void setup()
ข. int sw = 5; ก่อน void setup() และ pinMode(sw, INPUT); ไว้ภายใน void setup()
ค. int sw = 5; และ pinMode(sw, OUTPUT); ไว้ภายใน void setup()
ง. int sw = 5; ก่อน void setup() และ pinMode(sw, OUTPUT); ไวภ้ ายใน void loop()
10. คา่ R1 และ R2 ท่เี หมาะสมกบั วงจรมีค่าตรงกับขอ้ ใด
ก. R1 = 1 kΩ และ R2 = 10 kΩ
ข. R1 = 10 kΩ และ R2 = 1 kΩ
ค. R1 = 220 Ω และ R2 = 10 kΩ
ง. R1 = 10 kΩ และ R2 = 220 Ω
ไมโครคอนโทรลเลอร์
58
เฉลยใบประเมนิ ผลหน่วยที่ 4
เฉลยแบบทดสอบก่อนเรยี น หนว่ ยท่ี 4
แบบทดสอบกอ่ นเรียน
ข้อท่ี คำตอบ
1ง
2ข
3ง
4ข
5ก
6ง
7ข
8ง
9ค
10 ง
เฉลยแบบทดสอบหลังเรยี น หน่วยที่ 4
ตอนท่ี 1 ใหก้ าเครื่องหมายถูก √ ในข้อที่คดิ วา่ ถกู และกาเคร่ืองหมายผดิ x ในข้อทีค่ ิดว่าผิด
……√……. 1. pinMode(pin,mode) เป็นฟังก์ชันสำหรับกำหนดให้ขาหรือพอร์ตของไมโครคอนโทรลเลอร์นนั้ ทำ
…………√√………….. 2. หน้าท่เี ป็นดจิ ิทัลอินพุตหรอื ดจิ ิทัลเอาตพ์ ุต pin ทร่ี ะบุวา่ มีค่าเป็นลอจกิ 0
3. pinMode(pin,mode) กำหนดไว้ในส่วน void setup()
digitalRead(pin) เปน็ ฟังก์ชนั สำหรบั อ่านสถานะของอนิ พตุ ของ
หรอื ลอจิก 1
…………. 4. sleep(t) เปน็ ฟังก์ชนั หนว่ งเวลาโดยกำหนดให้ CPU หยุดการทำงานเปน็ เวลาตามทีก่ ำหนดโดยคา่
……√……. 5. ตวั เลขในวงเลบ็ ซงึ่ จะมีคา่ เปน็ ไมโครวนิ าที (us) ๆ ทำงานเดมิ เปน็ เวลาตามที่
delay(t) เป็นฟังก์ชนั หนว่ งเวลาหมายถงึ ให้โปรแกรมทก่ี ระทำนน้ั
กำหนดโดยคา่ ตวั เลขในวงเล็บ ซงึ่ จะมีคา่ เปน็ มิลลิวินาที (ms)
…………. 6. ฟังก์ชนั millis ใช้ timer ขนาด 16 บติ
…………. 7. ฟังกช์ นั pinMode(sw, INPUT_PULLUP); เมอื่ ไมก่ ดสวิตช์ แรงดนั ไฟฟ้าทข่ี าสวติ ชจ์ ะมีสถานะ
√ เปน็ ลอจิก 0
ไมโครคอนโทรลเลอร์