ค่ายอบรม โรงเรียนลำ ปลายมาศ เยาวชนนักประดิษฐ์ โรงเรียนลำ ปลายมาศ สำ นักงานเขตพื้นที่การศึกษามัธยมศึกษาบุรีรัมย์
ในปัจปัจุบันอุปกรณ์หรือเครื่องมือสมัยใหม่ได้นำ เทคโนโลยีระบบ สมองกลฝังฝัตัว (Embedded System) เข้ามาใช้ควบคุมการทำ งาน ทำ ให้ได้อุปกรณ์ต่างๆ สามารถประมวลผลและควบคุมการทำ งานที่มี ความซับซ้อนได้ ระบบสมองกลหรือคอมพิวเตอร์ที่อยู่ภายในอุปกรณ์มี หลักการทำ งานเหมือนเครื่องคอมพิวเตอร์ ซึ่งคือประกอบด้วย ส่วน ฮาร์ดแวร์ของหน่วยประมวลผลโดยใช้ไมโครโพรเซสเซอร์หรือไมโคร คอนโทรลเลอร์ ส่วนซอฟต์แวร์หรือโปรแกรมการทำ งานที่ได้โปรแกรม ไว้ โดยมุ่งเน้นสำ หรับการเรียนรู้การพัฒนาระบบสมองกลฝังฝัตัว และ สามารถนำ ไปประยุกต์ใช้งานได้จริง ดังนั้น กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี งาน คอมพิวเตอร์ จึงได้จัดทำ หลักสูตรการอบรม “เยาวชนนักประดิษฐ์” โดยมีวัตถุประสงค์หลักเพื่อพัฒนากำ ลังคนให้มีทักษะและความ เชี่ยวชาญด้านสมองกลฝังฝัตัวเพื่อตอบสนองและเสริมสร้างความเข้ม แข็งให้กับอุตสาหกรรมไฟฟ้าฟ้อิเล็กทรอนิกส์และคอมพิวเตอร์ของ ประเทศต่อไปในอนาคต โดยการอบรมดังกล่าวจะมีทั้งภาคทฤษฎีและ ภาคปฏิบัติการด้วยการใช้งานบอร์ด Arduino และเขียนโปรแกรม ควบคุมอุปกรณ์ต่างๆ โดยใช้ภาษา C กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี คำ นำ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
วัตถุประสงค์ 1. เพื่อให้นักเรียนผู้เข้าอบรมเข้าใจถึงหลักการทำ งานของ บอร์ดไมโครคอนโทรลเลอร์ 2. เพื่อให้นักเรียนผู้เข้าอบรมสามารถเขียนโปรแกรม Arduino ควบคุมอุปกรณ์ต่างๆ ได้ 3. เพื่อให้นักเรียนผู้เข้าอบรมสามารถประยุกต์ใช้งานบอร์ด ไมโครคอนโทรลเลอร์ในการทำ งานจริงได้ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์ สารบัญ
"Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments." [ www.arduino.cc] "อาดูยโน่ เป็นระบบที่ใช้ในการพัฒนาอุปกรณ์อิเล็กทรอนิกส์ต้นแบบ ซึ่งออกแบบให้ใช้งานง่ายทั้งฮาร์ดแวร์ และซอฟแวร์ กลุ่มเป้าป้หมายผู้ใช้ งานอาดูยโน่ ได้แก่ ศิลปิน นักประดิษฐ์ นักออกแบบ ใช้ในงานอดิเรก หรือ ใครๆก็ตามที่สนใจในการประดิษฐ์นวัตกรรม งานสร้างสรรค์" Arduino อ่านว่า (อา-ดู-อิ-โน่ หรือ อาดุยโน่) เป็นบอร์ดไมโคร คอนโทรเลอร์ตระกูล AVR ที่มีการพัฒนาแบบ Open Source คือมี การเปิดเผยข้อมูลทั้งด้าน Hardware และ Software ตัว บอร์ด Arduino ถูกออกแบบมาให้ใช้งานได้ง่าย ดังนั้นจึงเหมาะสำ หรับผู้เริ่มต้น ศึกษา ทั้งนี้ผู้ใช้งานยังสามารถดัดแปลง เพิ่มเติม พัฒนาต่อยอดทั้งตัว บอร์ด หรือโปรแกรมต่อได้อีกด้วย ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์ บทที่ 1 Arduino ?
ไมโครคอนโทรลเลอร์ (Microcontroller) หรือที่เรียกสั้นๆ ว่า MCU คือ อุปกรณ์ควบคุมขนาดเล็กที่มีความสามารถคล้ายคลึงกับระบบ คอมพิวเตอร์ โดยรวมเอาซีพียู หน่วยความจำ และพอร์ต ซึ่งเป็นส่วน ประกอบหลักของระบบคอมพิวเตอร์ บรรจุไว้ในชิปตัวเดียว เปรียบเสมือน คอมพิวเตอร์ขนาดเล็กที่ถูกย่อส่วนลงมา องค์ประกอบของไมโครคอนโทรลเลอร์ ไมโครคอนโทรลเลอร์ประกอบด้วยองค์ประกอบหลักดังนี้ ซีพียู (CPU): หน่วยประมวลผลกลาง ทำ หน้าที่ประมวลผลคำ สั่งและ ควบคุมการทำ งานของไมโครคอนโทรลเลอร์ หน่วยความจำ (Memory): เก็บข้อมูลและโปรแกรมที่ใช้ในการทำ งาน ของไมโครคอนโทรลเลอร์ แบ่งเป็นหน่วยความจำ ถาวร (ROM) เก็บข้อมูลที่ ไม่สามารถเปลี่ยนแปลงได้ และหน่วยความจำ ระเหย (RAM) เก็บข้อมูลที่ สามารถเปลี่ยนแปลงได้ พอร์ต (Port): ช่องทางสำ หรับรับส่งข้อมูลระหว่างไมโคร คอนโทรลเลอร์กับอุปกรณ์ภายนอก แบ่งเป็นพอร์ตอินพุต (Input Port) สำ หรับรับข้อมูล และพอร์ตเอาต์พุต (Output Port) สำ หรับส่งข้อมูล วงจรสัญญาณนาฬิกา (Clock Circuit): ควบคุมจังหวะการทำ งาน ของไมโครคอนโทรลเลอร์ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์ บทที่ 1 Microcontroller
ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์ ไมโครคอนโทรลเลอร์ ทำ งานอย่างไร? หลักการทำ งานของไมโครคอนโทรลเลอร์นั้นเรียบง่าย ดังนี้ 1.จ่ายไฟให้กับไมโครคอนโทรลเลอร์ ไมโครคอนโทรลเลอร์จะเริ่มทำ งานตามโปรแกรมที่เขียนไว้ในหน่วย ความจำ 2. ไมโครคอนโทรลเลอร์จะทำ งานตามคำ สั่งทีละคำ สั่งไปเรื่อยๆ จนกว่า จะหมดโปรแกรม 3. 4.เมื่อโปรแกรมทำ งานเสร็จ ไมโครคอนโทรลเลอร์จะหยุดทำ งาน ในทางปฏิบัติ แทบจะไม่มีงานไหนเลยที่ต้องการให้ไมโครคอนโทรลเลอร์ ทำ งานจนเสร็จแล้วหยุด ดังนั้น โปรแกรมเมอร์จะต้องเขียนโปรแกรมให้ไมโครคอนโทรลเลอร์ ทำ งานวนไปเรื่อยๆ โดยอาจจะเริ่มทำ งานตั้งแต่ต้นใหม่ หรือทำ งานบาง ส่วนซ้ำ ๆ ขึ้นอยู่กับการออกแบบโปรแกรม ตัวอย่างเช่น โปรแกรมควบคุมไฟ LED ให้กระพริบ ไมโคร คอนโทรลเลอร์จะรับสัญญาณจากปุ่มปุ่กด เมื่อกดปุ่มปุ่ไฟ LED จะติด เมื่อ ปล่อยปุ่มปุ่ไฟ LED จะดับ ไมโครคอนโทรลเลอร์จะทำ งานวนไปเรื่อยๆ จนกว่าจะปิดไฟ
มาทำ ความรู้จักกับ Microcontroller รุ่นต่างๆ Arduino Uno R3 เป็นบอร์ด Arduino ที่ได้รับความนิยมมาก ที่สุด เนื่องจากราคาไม่แพง ส่วนใหญ่โปรเจคและ Library ต่างๆ ที่ พัฒนาขึ้นมา Support จะอ้างอิงกับบอร์ดนี้เป็นหลัก และข้อดีอีกอย่าง คือ กรณีที่ MCU เสีย ผู้ใช้งานสามารถซื้อมาเปลี่ยนเองได้ง่าย Arduino Uno SMD เป็นบอร์ดที่มีคุณสมบัติและการทำ งาน เหมือนกับบอร์ด Arduino UNO R3 ทุกประการ แต่จะแตกต่างกับ ที่Package ของ MCU ซึ่งบอร์ดนี้จะมี MCU ที่เป็น Package SMD (Arduino UNO R3 มี MCU ที่เป็น Package DIP) ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
Arduino UNO WiFi Rev2 ใช้ชิพ ATmega4809 ซึ่งมี Flash memory 48KB, SRAM 6KB และยังประหยัดพลังงานมากกว่า ตัวเวอร์ชั่นเก่า อีกทั้งตัวบอร์ด Arduino Uno Wifi Rev2 ยังมา พร้อมกับชิพ ESP32 u-Blox NiNA-W13 Wifi ที่ทำ ให้ตัวบอร์ดรองรับ ใช้งานร่วมกับ Wifi และมีฟังฟัก์ชั่นการใช้งานที่หลากหลายมากขึ้น Arduino Nano 3.0 มีฟังฟัก์ชั่นและความสามารถเหมือนกับบอร์ด Arduino รุ่น Uno R3 เพราะใช้ชิฟตัวเดียวกันคือ Atmega328 โดย รุ่น nano 3.0 เปลี่ยนหัว DC Jack เป็นการต่อกับขา VIN แทน และ ส่วนหัวเชื่อมต่อกับเครื่องคอมเป็นแบบ Mini USB ทำ ให้มีขนาดเล็กที่สุด ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ESP8266 (ESP-01) ESP-01 เป็นโมดูล WiFi ขนาดเล็กที่ใช้ชิพ ESP8266EX ซึ่งมีความสามารถในการเชื่อมต่อเครือข่ายไร้สายเป็นแบบ Station หรือ Access Point ใช้งานได้ทั้งโหมด Client และ Server ทำ ให้ ESP-01 เหมาะสำ หรับการพัฒนาโปรเจ็กต์อินเทอร์เน็ตขนาดเล็ก ๆ อาทิเช่น ระบบควบคุมอุปกรณ์ด้วยโทรศัพท์มือถือผ่าน WiFi หรือการส่ง ข้อมูลไปยังแพลตฟอร์ม IoT ต่าง ๆ NodeMCU ESP8266 บอร์ดยอดนิยมนี้ใช้โมดูล ESP-12E และ มาพร้อมกับ Flash Memory 4 Mbits พร้อมกับอินเทอร์เฟซการสื่อ สาร 4 แบบ คือ SPI, I2C, UART และ I2S พร้อม Digital I/O pin 16 ขา และ Analog Input pin (ADC) 1 ขา RAM 160KB แบ่งออก เป็น 64KB สำ หรับคำ สั่งและ 96KB สำ หรับข้อมูล ที่มีขายในท้องตลาด จะมีรุ่น V2, V3 และยังมีการพัฒนาเวอร์ชั่นใหม่ๆออกมาเรื่อยๆ การ flash firmware และจ่ายไฟเลี้ยงทำ ได้ง่ายโดยผ่าน port mini USB บนบอร์ด ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ESP32 DOIT DEVKIT V1 Development Board พัฒนาโดย บริษัท DOIT มีขาต่อใช้งานทั้งหมด 30 ขา เรียงขาแบบเดียวกับบอร์ด ESP32 DevKit V1 โมดูล Wifi ESP-32 รุ่น ESP-WROOM-32 โมดูล Wifi + Bluetooth 4.2 + Touch/Temp Sensorทำ งานแบบ Dual Core ที่ความเร็ว 160Mhz มี SRAM 512K หน่วยความจำ Flash สำ หรับอัพโหลดโปรแกรมขนาด 16M มีขา GPIO 30 ขา ความ ละเอียดในการอ่านค่า ADC 12Bit สามารถเขียนโปรแกรม ผ่าน Arduino IDE เหมือนเขียน Arduino ได้ ESP32-CAM ESP32-CAM คือ โมดูลกล้องขนาดเล็กที่ใช้ พลังงานต่ำ ใช้ชิป ESP32-S มาพร้อมกับกล้อง OV2640 และมีช่อง เสียบ SD Card ในตัว สามารถเชื่อมต่อ WiFi+Bluetooth เพื่อการ ควบคุมระยะไกลได้ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ESP32 DOIT DEVKIT V2 Development Board พัฒนา โดยบริษัท DOIT มีขาต่อใช้งานทั้งหมด 30 ขา เรียงขาแบบเดียวกับ บอร์ด ESP32 DevKit V1 โมดูล Wifi ESP-32 รุ่น ESP-WROOM32 โมดูล Wifi + Bluetooth 4.2 + Touch/Temp Sensorทำ งาน แบบ Dual Core ที่ความเร็ว 160Mhz มี SRAM 512K หน่วยความ จำ Flash สำ หรับอัพโหลดโปรแกรมขนาด 16M มีขา GPIO 30 ขา ความละเอียดในการอ่านค่า ADC 12Bit สามารถเขียนโปรแกรม ผ่าน Arduino IDE เหมือนเขียน Arduino ได้ ESP32 WROOM-32 โมดูล Wifi ESP-32 รุ่น ESPWROOM-32D โมดูล Wifi + Bluetooth 4.2 + Touch/Temp Sensorทำ งานแบบ Dual Core ที่ความเร็ว 160Mhz มี SRAM 512K หน่วยความจำ Flash สำ หรับอัพโหลดโปรแกรมขนาด 16M มีขา GPIO 38 ขา ความละเอียดในการอ่านค่า ADC 12Bit สามารถเขียน โปรแกรม ผ่าน Arduino IDE เหมือนเขียน Arduino ได้ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
Arduino UNO ไมโครคอนโทรลเลอร์ Arduino UNO เป็นบอร์ดไมโครคอนโทร เลอร์ตระกูล AVR โดยมีขาในการ ทำ งานทั้งหมด 14 ขา คือ Pin 0 – 13 โดยแต่ละขามีการทํางานที่แตกต่างกันออกไป เช่น ขาสัญญาณที่ ติดต่อ ทางพอร์ตอนุกรม (Serial Port) คือ Pin 0, 1 เป็นขา Rx, Tx ส่วนขาสัญญาณที่ใช้ติดต่อสัญญาณอินพุตและเอาต์พุต (Input and Output) คือ Pin 2,3,4,5,6,7,8,9,10,11,12,13 และบางขาสัญญาณ ยังทําหน้าที่นอกเหนือจากขาสัญญาณอินพุตและเอาต์พุต เช่น Pin 3,5,6,9,10,11 ซึ่งสามารถทำ หน้าที่เป็นขาสัญญาณพัลส์วิดท์มอดูเลชั่น (Pulse Width Modulation) หรือที่เรียกกันทั่วไปคือ PWM และยังมี ขาที่รับสัญญาณแอนะล็อกอีก 6 ขา คือ Pin A0, A1, A2, A3, A4 และ A5 อีกด้วย ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์ บทที่ 2 Microcontroller pinout diagram
ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์ มุมมองบน board จริง
Arduino ESP8266 (NodeMCU) ESP8266 เป็นไมโครคอนโทรลเลอร์ที่ผลิตโดยบริษัท Espressif (เชี่ยงไฮ้, ประเทศจีน) มีคุณสมบัติเด่นคือการเชื่อมต่อ WiFi ที่มาพร้อม กับ Full TCP/IP Stack ตัวชิปมีราคาถูก อีกทั้งการเป็นไมโคร คอนโทรลเลอร์หมายถึงสามารถเขียนโปรแกรมลงไปในตัวมันได้เลย ด้วย ข้อดีต่างๆทั้งราคาถูก เขียนโปรแกรมได้ มีฟังฟัก์ชั่น WiFi ติดมาพร้อม ทำ ให้ ESP8266 เป็นสิ่งที่ตอบสนองต่อการมาของยุค Internet of Things จึงทำ ให้ได้รับความนิยมอย่างแพร่หลาย มีโปรเจคออกมา มากมาย NodeMCU คือ แพลตฟอร์มหนึ่งที่ใช้ช่วยในการสร้างโปรเจค Internet of Things (IoT) ที่ประกอบไปด้วย Development Kit (ตัวบอร์ด) และ Firmware (Software บนบอร์ด) ที่เป็น open source สามารถเขียนโปรแกรมด้วยภาษา Lau ได้ ทำ ให้ใช้งานได้ง่าย ขึ้น มาพร้อมกับโมดูล WiFi (ESP8266) ซึ่งเป็นหัวใจสำ คัญในการใช้ เชื่อมต่อกับอินเตอร์เน็ตนั่นเอง ตัวโมดูลESP8266นั้นมีอยู่ด้วยกันหลาย รุ่นมาก ตั้งแต่เวอร์ชันแรกที่เป็น ESP-01 ไล่ไปเรื่อยๆจนปัจปัจุบันมีถึง ESP-12 แล้ว และที่ฝังฝัอยู่ในNodeMCU version แรกนั้นก็เป็น ESP12 แต่ใน version2 นั้นจะใช้เป็น ESP-12E แทน ซึ่งการใช้งานโดยรวม ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ก็ไม่แตกต่างกันมากนัก NodeMCU นั้นมีลักษณะคล้ายกับ Arduino ตรงที่มีพอร์ต Input Output buil inมาในตัว สามารถเขียนโปรแกรม คอนโทรลอุปกรณ์ I/O ได้โดยไม่ต้องผ่านอุปกรณ์อื่นๆ และเมื่อไม่นานมา นี้ก็มีนักพัฒนาที่สามารถทำ ให้ Arduino IDE ใช้งานร่วมกับ Node MCU ได้ จึงทำ ให้ใช้ภาษา C/C++ ในการเขียนโปรแกรมได้ ทำ ให้เรา สามารถใช้งานมันได้หลากหลายมากยิ่งขึ้น NodeMCUตัวนี้สามารถทำ อะไรได้หลายอย่างมากโดยเฉพาะเรื่องที่เกี่ยวข้องกับ IoT ไม่ว่าจะเป็นการ ทำ Web Server ขนาดเล็ก การควบคุมการเปิดปิดไฟผ่าน WiFi และ อื่นๆ อีกมากมาย มุมมองบน board จริง ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ESP32 DOIT DEVKIT V1 ESP32 คือ wifi microcontroller ที่ถูกพัฒนาต่อจาก ESP8266 โดยเพิ่ม CPU เป็น 2 core, Wi-Fi ที่เร็วขึ้น, มีขา GPIO ให้ใช้งานมากขึ้น และรองรับ Bluetooth อีกด้วย นอกจากนี้ ESP32 ยังมาพร้อมกับ touch-sensitive pins ที่สามารถใช้ปลุก ESP32 จากโหมด deep sleep และยังมี hall effect sensor และ temperature sensor ในตัว (รุ่นล่าสุดของ ESP32 ไม่มี temperature sensor ในตัวอีกแล้ว) และแน่นอนว่าด้วยคุณสมบัติที่ดี กว่ามากจึงทำ ให้ ESP32 มีราคาแพงกว่า ESP8266 พอสมควร มุมมองบน board จริง ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
GPIO Digital Input Digital Output Analog Input PWM I2C / SPI / UART / CAN / I2S IO36 IO39 IO34 IO35 IO32 IO33 IO25 IO26 IO27 IO14 IO12 IO13 IO9 IO10 IO11 IO6 IO7 IO8 IO15 IO2 IO0 IO4 IO16 IO17 IO5 IO18 IO19 IO21 RX TX IO22 IO23 ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์ ตารางรายละเอียดขาต่อใช้งานของ ESP32 = ใช้งานได้ = ใช้งานไม่ได้ = ควรอ่านรายละเอียดก่อนใช้งาน
ขาที่เป็นอินพุตอย่างเดียว ขา GPIO34, GPIO35, GPIO36, GPIO39 เป็นอินพุตอย่าง เดียว ไม่มีวงจร Pull-up, Pull-down รองรับคำ สั่ง analogRead(), digitalRead() เท่านั้น คำ สั่งอื่น เช่น digitalWrite(), PWM ไม่ รองรับ ขา Strapping ขา Strapping เกี่ยวข้องกับการทำ งานของ ESP32 ในระหว่าง การบูตโปรแกรม เมื่อใช้งานขานี้อาจทำ ให้ ESP32 ไม่สามารถทำ งานได้ กับขาที่ใช้งานได้ปกติแต่อาจมีสัญญาณรบกวนออกมาระหว่างบูต โปรแกรม ขาที่ไม่ควรนำ มาใช้งานเลย ประกอบด้วยขา GPIO0, GPIO2 ซึ่ง เกี่ยวข้องกับการบูตโปรแกรม ขาที่ใช้งานได้ปกติแต่อาจมีสัญญาณรบกวนออกมาระหว่างบูตโปรแกรม ประกอบด้วยขา GPIO12, GPIO15, GPIO5 ขาที่ต่อชิป Flash ขาที่ต่อชิป Flash เป็นขาที่ห้ามนำ มาใช้เด็ดขาดเพราะกระทบกับ การอ่านโปรแกรมที่เคยอัพโหลดไว้ หรือทำ ให้อัพโหลดโปรแกรมไม่เข้า ประกอบด้วยขา GPIO9, GPIO10, GPIO11, GPIO6, GPIO7, GPIO8 ขาอัพโหลดโปรแกรม การอัพโหลดโปรแกรมและการบูตโปรแกรม มีขา RX, TX ที่ใช้ใน การอัพโหลดโปรแกรม หากนำ ขาดังกล่าวไปใช้ จะทำ ให้อัพโหลดโปรแกรม ไม่ได้ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ขา Digital Input ขาที่ใช้อ่านค่าดิจิทัลได้ (ใช้คำ สั่ง digitalRead() ได้) คือทุกขาที่ ไม่ใช่ ขา Strapping, ขาที่ต่อชิป Flash , ขาอัพโหลดโปรแกรม โดย สรุปคือขาที่ไม่ใช่ GPIO0, GPIO2, GPIO9, GPIO10, GPIO11, GPIO6, GPIO7, GPIO8, RX, TX ที่เหลือใช้ได้หมด ขา Digital Output ขาที่เขียนค่าดิจิทัลได้ (ใช้คำ สั่ง digitalWrite() ได้) คือทุกขาที่ ไม่ใช่ ขาที่เป็นอินพุตอย่างเดียว, Strapping Pins, ขาที่ต่อชิป Flash และ PSRAM, ขาอัพโหลดโปรแกรม โดยสรุปคือขาที่ไม่ใช่ GPIO0, GPIO2, GPIO9, GPIO10, GPIO11, GPIO6, GPIO7, GPIO8, RX, TX, GPIO34, GPIO35, GPIO36, GPIO39 ที่เหลือใช้ได้หมด ขา Analog Input ขาที่อ่านค่าแอนะล็อกได้ (ใช้คำ สั่ง analogRead() ได้) อ่านค่าได้ 0 ถึง 3.3V แบ่งขาออกเป็น 2 ชุด คือ ADC1 และ ADC2 โดย ADC1 สามารถใช้งานได้เลย ไม่มีเงื่อนไขอะไร ส่วน ADC2 จะใช้งานได้เมื่อปิด ใช้ WiFi เท่านั้น ADC1 ใช้งานได้เลย ประกอบด้วยขา GPIO36, GPIO39, GPIO34, GPIO35, GPIO32, GPIO33 ADC2 ต้องปิด WiFi จึงจะใช้งานได้ ประกอบด้วยขา GPIO25, GPIO26, GPIO27, GPIO14, GPIO12, GPIO13, GPIO15, GPIO4 ขา PWM ขาที่ใช้ PWM ได้ คือทุกขาที่ ไม่ใช่ ขาที่เป็นอินพุตอย่างเดียว, ขา Strapping, ขาที่ต่อชิป Flash, ขาอัพโหลดโปรแกรม โดยสรุปคือขาที่ ไม่ใช่ GPIO0, GPIO2, GPIO9, GPIO10, GPIO11, GPIO6, GPIO7, GPIO8, RX, TX, GPIO34, GPIO35, GPIO36, GPIO39 ที่เหลือใช้ได้ หมด ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ขา I2C I2C แบ่งเป็น 2 ชุด คือ I2C0 และ I2C1 โดยปกติใช้เฉพาะ I2C0 ซึ่ง I2C0 ค่าเริ่มต้นกำ หนดให้อยู่ที่ขา SDA = GPIO21, SCL = GPIO22 สามารถเปลี่ยนเป็นขาอื่นได้โดยกำ หนดในคำ สั่ง Wire.begin() โดยสรุปคือขาที่ไม่ใช่ GPIO0, GPIO2, GPIO9, GPIO10, GPIO11, GPIO6, GPIO7, GPIO8, RX, TX, GPIO34, GPIO35, GPIO36, GPIO39 ที่เหลือใช้ได้หมด ขา SPI SPI แบ่งเป็น 2 ชุด คือ HSPI และ VSPI โดยปกติใช้เฉพาะ VSPI ซึ่ง VSPI ค่าเริ่มต้นกำ หนดให้อยู่ที่ขา CS = GPIO5, SCK = GPIO18, MISO = GPIO19, MOSI = GPIO23 สามารถเปลี่ยนเป็นขาอื่นได้โดย กำ หนดในคำ สั่ง SPI.begin() โดยสรุปคือขาที่ไม่ใช่ GPIO0, GPIO2, GPIO9, GPIO10, GPIO11, GPIO6, GPIO7, GPIO8, RX, TX, GPIO34, GPIO35, GPIO36, GPIO39 ที่เหลือใช้ได้หมด ขา I2S I2S แบ่งเป็น 2 ชุด คือ I2S0 และ I2S1 โดยขา DIN, DOUT, BCLK, WS ไม่ได้ต่อกับขาใด ๆ เป็นค่าเริ่มต้น ก่อนเริ่มใช้งาน I2S ต้อง กำ หนดขาทั้งหมดลงในโค้ดโปรแกรมก่อน โดยสรุปคือขาที่ไม่ใช่ GPIO0, GPIO2, GPIO9, GPIO10, GPIO11, GPIO6, GPIO7, GPIO8, RX, TX, GPIO34, GPIO35, GPIO36, GPIO39 ที่เหลือใช้ได้หมด สนธยา นงนุช. สรุปรวม ESP32 ขาไหนใช้ได้ ขาไหนไม่ควรใช้. (2566). [ออนไลน์]. [สืบค้นเมื่อ ....]. จาก https://www.artronshop.co.th/b/123 ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
เครื่องใช้ไฟฟ้าฟ้ต่างๆ ที่อำ นวยความสะดวกในปัจปัจุบันอย่างเช่น โทรทัศน์ คอมพิวเตอร์ โทรศัพท์ ตู้เย็น ฯลฯ เครื่องใช้ไฟฟ้าฟ้ทั้งหมดที่ได้ กล่าวถึงนี้ ต่างก็มีอุปกรณ์เป็น อิเล็กทรอนิกส์เป็นส่วนประกอบอยู่ภายใน เพื่อให้สามารถทำ งานได้อย่างมีประสิทธิภาพ Breadboard เป็นบอร์ดที่ใช้ทดลอง วงจรอิเล็กทรอนิกส์ ลักษณะเป็นแผ่น พลาสติก หนาสีขาว บนแผ่นมีรูเรียงกันจำ นวนมาก ภายในรูมี ตัวนำ ไฟฟ้าฟ้ซึ่งเชื่อมต่อกันในรูปแบบที่มีการกำ หนดไว้ เวลาทดลองก็เสียบขา ของ อุปกรณ์อิเล็กทรอนิกส์ ลงไปให้ตัวนำ ภายในเชื่อมวงจรถึงกัน และ อาจใช้ สายไฟ เสียบลงรูเพื่อเชื่อมวงจรไฟฟ้าฟ้ได้เช่นกัน ข้อดีของโพรโท บอร์ดคือ ไม่ต้องออกแบบ แผงวงจร และไม่ต้อง บัดกรี แต่มีข้อเสียคือ ใช้ทดลองวงจรที่ทำ งานที่ ความถี่ สูง ๆ ไม่ได้เนื่องมีปัญปัหาเรื่อง สัญญาณรบกวน ในวงจร ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์ บทที่ 3 Basic electronics
Jumper Wire สายไฟจัมเปอร์ คือสายที่ใช้สำ หรับเชื่อมต่อระหว่าง Arduino กับ Sensor หรือบอร์ดทดลอง (Breadboard) โมดูลต่างๆ เพื่อเชื่อมต่อ กับวงจรโดยจะแบ่งออกเป็น 2 รูปแบบ เป็นแบบตัวเมีย Female และ ตัวผู้ Male โดยปลายสายจะแบ่งออกเป็น 3 แบบ ตัวผู้ และอีกด้านเป็น ตัวผู้ ตัวเมียและอีกด้านเป็นตัวผู้ และ ตัวเมียอีกด้านเป็นตัวเมีย Switch อุปกรณ์ที่ทำ หน้าที่ควบคุมการไหลของกระแสไฟฟ้าฟ้ภายในวงจร หรือกล่าวง่าย ๆ คือ อุปกรณ์เปิด ปิดกระแสไฟฟ้าฟ้ภายในวงจรไฟฟ้าฟ้ โดยใช้สัญลักษณ์ดังรูป สวิตช์ที่ใช้ในงานอิเล็กทรอนิกส์มีหลายชนิด เช่น สวิตช์เลื่อน สวิตช์กระดก สวิตช์หมุน สวิตช์กด สวิตช์ไมโคร สวิตช์ กุญแจ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
การต่อ Switch เข้ากับบอร์ด Arduino เพื่อรับข้อมูลโดยตรงไม่ ได้ เพราะกระแสไฟจะเข้าไปที่ขาของบอร์ดโดยตรง ทำ ให้อาจเกิดความเสีย หายของ Arduino ได้ ดังนั้นการต้องการใช้ Switch รับสัญญาณ เข้าไปยังบอร์ดจำ เป็นต้องต่อตัวต้านทานเพื่อป้อป้งกันการเสียหายได้ โดย สามารถต่อได้ 2 แบบคือ 1. Pull-Up Resistor ไม่ได้กดปุ่มปุ่จะอ่านค่าได้เป็น HIGH (1) กดปุ่มปุ่จะอ่านค่าได้เป็น LOW (0) 2. Pull-Down Resistor ไม่ได้กดปุ่มปุ่จะอ่านค่าได้เป็น LOW (0) กดปุ่มปุ่จะอ่านค่าได้เป็น HIGH (1) Resistor ตัวต้านทานไฟฟ้าฟ้เป็นอุปกรณ์ที่ผลิตขึ้นมามีค่าเฉพาะค่าค่าหนึ่งที่ใช้ ในการต้านการไหลของกระแสไฟฟ้าฟ้ซึ่งเป็นอุปกรณ์ที่มีใช้มากที่สุดใน วงจรอิเล็กทรอนิกส์มักเรียกสั้นๆ ว่า อาร์ “R” มีคุณสมบัติในการลด กระแสและแรงดันไฟฟ้าฟ้ ในกรณีที่ มีความต้านทานมากจะยอมให้กระแส ไฟฟ้าฟ้ไหลผ่านได้น้อยลง หากกลับกัน หากมีความต้านทานน้อยจะยอมให้ กระแสไฟฟ้าฟ้ไหลผ่านได้มาก ลดแรงดัน และจำ กัดการไหลของกระแส ไฟฟ้าฟ้ในวงจรตัวต้านทานมีรูปแบบและขนาดแตกต่างกันตามลักษณะของ การใช้งาน นอกจากนี้ยังแบ่งออกเป็นชนิด ค่าคงที่ และ ชนิดปรับค่าได้ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ตัวต้านทานชนิดค่าคงที่ (fixed resistors) เป็นตัวต้านทานที่มีค่า ความต้านทานแน่นอนไม่สามารถเปลี่ยนแปลงได้ โดยทั่วไปจะมีค่าผิด พลาดน้อย และมีลักษณะเป็นทรงกระบอกขนาดเล็กที่มีสีและมีแถบสีคาด โดยรอบ มีขาโลหะยื่นออกมาทั้ง 2 ด้าน ตัวต้านทานชนิดเปลี่ยนค่าได้ (Variable Resistors) เป็นตัว ต้านทานที่เปลี่ยนค่าได้โดยใช้แกนหมุนคล้ายปุ่มปุ่หมุนปรับเสียงของวิทยุ หรือใช้แกนเลื่อน (แบบสไลด์) นอกจากนี้ยังมีรูปแบบอื่นที่มีลักษณะเป็น กล่องมี 3 ขาและด้านบนมีช่องเปิดสามารถใช้ไขควงขนาดเล็กเปลี่ยนค่า ความต้านทาน เรียกตัวต้านทานประเภทนี้ว่าทริมโพเทนทิโอมิตอร์ (trim potentiometer) ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ตัวต้านทานชนิดไวต่อแสง Light-Dependent Resistor (LDR) ตัวต้านทานชนิดไวต่อแสง นี้มีหลักการทำ งานคือมีแสงมาตกกระทบ จะ ทำ ให้เกิดสภาพนำ ไฟฟ้าฟ้ขึ้น โดยค่าความต้านทานและแสงสว่างจะแปร ผกผันกัน หากค่าความต้านทานจะต่ำ ลงเมื่อมีแสงสว่างมากขึ้น เมื่อแสง สว่างน้อยลงค่าความต้านทานจะเพิ่มขึ้น สามารถนำ ไปประยุกต์ใช้ได้หลาก หลาย ไม่ว่าจะเป็น switch ระบบตรวจจับแสงเพื่อเปิด-ปิดหลอดไฟ อัตโนมัติ Capacitor เป็นอุปกรณ์อิเล็กทรอนิกส์ที่สำ คัญชนิดหนึ่งในวงจรอิเล็กทรอนิกส์ ตัวเก็บประจุทำ หน้าที่เก็บสะสมประจุไฟฟ้าฟ้ไว้ที่ตัวและคายประจุไฟฟ้าฟ้ออกมา ให้กับวงจร หรืออาจจะกล่าวได้ว่า ตัวเก็บประจุทําหน้าที่คล้ายกับ แบตเตอรี่ คือเก็บกระแสไฟฟ้าฟ้แต่จะเก็บกระแสไฟฟ้าฟ้ ได้น้อยกว่า แต่จะ จ่ายกระแสไฟฟ้าฟ้ได้เร็วกว่าแบตเตอรี่ ตัวเก็บประจุยังถูกนำ ไปเป็นส่วน ประกอบของวงจรอิเล็กทรอนิกส์มากมาย กล่าวได้ว่าวงจรอิเล็กทรอนิกส์ ทุกวงจร จะต้องมีตัวเก็บประจุเป็นส่วนประกอบของวงจรเสมอ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
Diode ไดโอดเป็นอุปกรณ์อิเล็กทรอนิกส์สารกึ่งตัวนำ มี 2 ขั่วคือ P และ ขั่ว N ถูกออกแบบมาเพื่อควบคุมทิศทางการไหลของประจุไฟฟ้าฟ้ยอมให้ กระแสไฟฟ้าฟ้ไหลไปในทิศทางเดียวกัน และป้อป้งกันกระแสการไหลกลับ ทิศทางเดิม หากมองหลักการทำ งานก็เหมือนกับ วาล์วน้ำ ทิศทางเดียวไม่ ยอมให้น้ำ ไหลกลับ ซึ่งนับเป็นประโยชน์อย่างมากในวงจรอิเล็กทรอนิกส์ เช่นวงจร บริดแปลงกระแสไฟฟ้าฟ้กระแสสลับ หรือป้อป้งกันการสลับขั่วให้ แก่วงจรอิเล็กทรอนิกส์ Light-Emitting Diode (LED) ไดโอดเปล่งแสงเป็นไดโอดชนิดหนึ่งที่ผลิตขึ้นมาจากสารกึ่งตัวนำ ชนิด P และชนิด N ต่อชนกัน เช่นเดียวกับไดโอดธรรมดา มีขาต่อออก มาใช้งาน 2 ขา คือขาแอโนด (A) และขาแคโถด (K) เหมือนกัน การจ่าย ไบอัสเพื่อให้ไดโอดเปล่งแสงทำ งานก็เหมือนกันคือแบบอัสตรงนำ กระแส ไบอัสกลับไม่นำ กระแส ส่วนที่แตกต่างกันของไดโอดเปล่งแสงกับไดโอด ธรรมดา ตรงที่ไดโอดเปล่งแสง สามารถเปล่งแสงออกมาได้ เมื่อได้รับไบ อัสตรง แสงที่เปล่งออกมาประกอบด้วยคลื่นความถี่เดียว และมีเฟสต่อ เนื่องกัน ซึ่งแตกต่างไปจากแสงธรรมดาที่ตาคนมองเห็น จะประกอบไป ด้วยคลื่นที่มีเฟส และความถี่ต่างกันมารวมกัน แสงที่เปล่งออกมาจากตัว ไดโอดเปล่งแสง แบ่งออกได้เป็น 2 ชนิด คือ แสงที่ตาคนมองเห็น และ แสงที่ตาคนมองไม่เห็น ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ไดโอดเปล่งแสง Transistor ทรานซิสเตอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ที่มีหน้าที่ในการคอนโทรล การไหลของกระแสไฟฟ้าฟ้(ทั้งอนุญาตให้ไหล และบล็อคไม่ให้ไหลผ่าน) ซึ่ง คล้ายๆกับไดโอด แต่ทรานซิสเตอร์สามารถทำ อะไรได้มากกว่า เพราะ นอกจากจะคอนโทรลทิศทางการไหลได้แล้ว ยังสามารถควบคุมปริมาณ กระแสไฟฟ้าฟ้ได้ด้วย ลักษณะโครงสร้างของทรานซิสเตอร์มี 2 ชนิด คือ ทรานซิสเตอร์ชนิด PNP และทรานซิสเตอร์ชนิด NPN จะมีขาต่อใช้งาน อยู่สามขา คือ ขาเบส (base) อิมิตเตอร์ (emitter) และคอลเลกเตอร์ (collector) โดยทรานซิสเตอร์จะทำ หน้าที่ในการขยายสัญญาณไฟฟ้าฟ้ และควบคุมการไหลของกระแส ไฟฟ้าฟ้หรือเป็นสวิตช์เปิด-ปิดเครื่องใช้ ไฟฟ้าฟ้ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ทรานซิสเตอร์ชนิด NPN การทำ งานของ NPN Transistor เมื่อมีกระแสไฟฟ้าฟ้เพียงเล็กน้อย ที่ขา B, ทรานซิสเตอร์ก็จะอยู่ในสภาวะทำ งาน และจะยอมให้กระแสไฟฟ้าฟ้ ที่มากกว่าหลายเท่าไหลผ่านขา C ไปยังขา E แต่ในทางตรงกันข้าม ถ้าไม่มีกระแสไฟฟ้าฟ้ที่ขา B เลย ทรานซิส เตอร์จะอยู่ในสภาวะ Cut-Off ซึ่งจะบล็อคไม่ให้กระไสไฟฟ้าฟ้ไหลจากขา C ไป E ได้ (แบบ NPN นี้ ขา E ทำ หน้าที่เป็นกราวด์) ทรานซิสเตอร์ชนิด PNP การทำ งานของ PNP Transistor ทรานซิสเตอร์จะทำ งานต่างกับ แบบ NPN คือ โดยขา C จะทำ หน้าที่เป็นกราวด์แทน เมื่อมีกระแสไฟฟ้าฟ้ เพียงเล็กน้อยที่ขา B ทรานซิสเตอร์จะทำ การบล็อคไม่ให้กระแสไฟฟ้าฟ้ไหล ผ่านจากขา E ไป C ได้ แต่เมื่อไม่มีกระแสไฟฟ้าฟ้ที่ขา B เลยหรือกระแสไฟฟ้าฟ้ติดลบ มันก็จะ ยอมให้กระแสไฟฟ้าฟ้ที่มากกว่าไหลผ่านจากขา E ไปขา C ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์ E C B
Relay รีเลย์คืออุปกรณ์อิเล็กทรอนิกส์ที่ใช้กันอย่างกว้างขวางในวงจร ควบคุมอัตโนมัติ ใช้ในการเปิดและปิดอุปกรณ์ไฟฟ้าฟ้ต่างๆ โดยใช้อำ นาจ แม่เหล็กไฟฟ้าฟ้ทำ ให้วงจรไฟฟ้าฟ้ทำ งาน รีเลย์มีส่วนประกอบสำ คัญคือ ขด ลวด และส่วนของหน้าสัมผัสทำ หน้าที่คล้ายสวิตช์ คือ เมื่อรีเลย์ได้รับการ จ่ายไฟแล้วจะทำ ให้หน้าสัมผัสติดกันกลายเป็นวงจรปิด ถ้าไม่จ่ายไฟหน้า สัมผัสจะแยกออกจากกันกลายเป็นวงจรเปิดรีเลย์ถูกนำ ไปใช้ในอุปกรณ์ เครื่องใช้ไฟฟ้าฟ้และเครื่องจักรต่างๆ เพื่อควบคุมการทำ งานของกระแส ไฟฟ้าฟ้ช่วยให้การทำ งานมีประสิทธิภาพมากขึ้นและป้อป้งกันไม่ให้มีการ ทำ งานผิดปกติ ไม่ควรต่อ Relay กับโหลดที่มีแรงกระชากไฟฟ้าฟ้เยอะ, มอเตอร์ที่มี แรงม้าสูง หรือมีกระแสไฟเยอะ เพราะจะทำ ให้ Relay หรืออุปกรณ์ต่อ พ่วงเสียหายได้ หากจำ เป็นต้องต่อควรใช้ Solid State Relay แทน Solid State Relay โซลิดสเตตรีเลย์ คือ Relay ประเภทหนึ่ง ที่นิยมเรียกตามตัวย่อว่า SSR เป็นสวิตช์อิเล็กทรอนิกที่ไม่ใช้หน้าสัมผัส ในการตัดต่อวงจร แต่จะ ใช้เทคโนโลยีของ Semiconductor ทำ ให้ไม่มีชิ้นส่วนที่เคลื่อนที่ เพื่อลด เสียงรบกวนที่เกิดขึ้น และ เพิ่มอายุการใช้งานได้ยาวนานมากขึ้น ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
Schematic Diagram ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
Datasheet คือเอกสารที่รวบรวมข้อมูล คุณสมบัติต่างๆ ของอุปกรณ์ชิ้นนั้น เป็นการแสดงข้อมูลเชิงเปรียบเทียบและแจกแจงเป็นหัวข้อเพื่อให้เรา พิจารณาคุณสมบัติของอุปกรณ์นั้นได้อย่างรวดเร็ว เพื่อประกอบในการ ตัดสินใจก่อนซื้อ หรือใช้ในการอ้างอิง เพื่อใช้ในการทำ งานจริง สำ หรับนักอิเล็กทรอนิกส์-ไฟฟ้าฟ้การดู datasheet ให้เป็นถือเป็น เรื่องที่สำ คัญ เพราะก่อนที่เราจะหยิบอุปกรณ์แต่ละอย่างมาใช้งาน เราก็ ต้องดู datasheet ก่อน How To Determine A Resistor Size จากตัวอย่าง Datasheet หากต้องการต่อ Red LED 5mm จำ เป็นต้องใช้ไฟ 2.0-2.4 Volt ที่กระแส 20mA โดยทั่วไป LED จะใช้กระแสไฟประมาณ 1-3 Volt ขึ้นอยู่กับสีและ คุณสมบัติเฉพาะ หากต่อแรงดันไฟฟ้าฟ้ที่สูงกว่าอุปกรณ์รับได้ LED จะเกิด ความเสียหาย จึงจำ เป็นต้องลดแรงดันไฟฟ้าฟ้ให้อยู่ในช่วงที่ LED สามารถรับได้ โดยการต่อตัวต้านทาน ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ตัวต้านทานที่นำ มาต่อจำ เป็นต้องใช้สูตรคำ นวณเพื่อหาค่าความ ต้านทานเพื่อลดแรงดันไฟฟ้าฟ้จาก 5.0 Volt -> 2.0 Volt โดยใช้กฎ ของโอห์ม (OHM’S LAW) ดังนั้น ตัวต้านทานที่นำ มาต่อแล้วหลอด LED ไม่ขาดหรือเสียหาย คือไม่น้อยกว่า 150 Ohm ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์ บทที่ 4 Programming Arduino Programming Language ในการเขียนโปรแกรมสำ หรับบอร์ด Arduino จะต้องเขียนโปรแกรม โดยใช้ภาษาของ Arduino (Arduino Programming Language) ซึ่งตัวภาษาของ Arduino ก็นำ เอาโอเพ่นซอร์สโปรเจ็กต์ชื่อ Wiring มา พัฒนาต่อ ภาษาของ Arduino แบ่งได้เป็น 2 ส่วนหลักคือ 1. โครงสร้างภาษา (Structure) ตัวแปรและค่าคงที่ 2. ฟังฟัก์ชั่น (Function) ภาษาของ Arduino จะอ้างอิงตามภาษา C/C++ จึงอาจกล่าวได้ ว่าการเขียนโปรแกรมสำ หรับ Arduino ก็คือการเขียนโปรแกรมภาษา C โดยเรียกใช้ฟังฟัก์ชั่นและไลบรารีที่ทาง Arduino ได้เตรียมไว้ให้แล้ว ซึ่ง สะดวกและทำ ให้ผู้ที่ไม่มีความรู้ด้านไมโครคอนโทรลเลอร์อย่างลึกซึ้ง สามารถเขียนโปรแกรมสั่งงานได้ โครงสร้างโปรแกรมของ Arduino แบ่งได้เป็นสองส่วนคือ void setup() และ void loop() โดยฟังฟัก์ชั่น setup() เมื่อโปรแกรมทำ งาน จะทำ คำ สั่งของฟังฟัก์ชั่นนี้เพียงครั้งเดียว ใช้ในการกำ หนดค่าเริ่มต้นของ การทำ งาน ส่วนฟังฟัก์ชั่น loop() เป็นส่วนทำ งานโปรแกรมจะทำ คำ สั่งใน ฟังฟักช์นั่นต่อเนื่องกันตลอดเวลา โดยปกติใช้กำ หนดโหมดการทำ งานของ ขาต่างๆ กำ หนดการสื่อสารแบบอนุกรม ฯลฯ ส่วนของ loop() เป็นโค้ด โปรแกรมที่ทำ งาน เช่น อ่านค่าอินพุต ประมวลผล สั่งงานเอาต์พุต ฯลฯ โดยส่วนกำ หนดค่าเริ่มต้น เช่นตัวแปรจะต้องเขียนที่ส่วนหัวของโปรแกรม ก่อนถึงตัวฟังฟัก์ชั่น นอกจากนั้นยังต้องคำ นึงถึงตัวพิมพ์ เล็ก-ใหญ่ ของ ตัวแปรและชื่อฟังฟักช์นั้นให้ถูกต้อง
ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์ ส่วนของฟังฟัก์ชั่น setup() ฟังฟัก์ชั่นนี้จะเขียนที่ส่วนต้นของโปรแกรม ทำ งานเมื่อโปรแกรมเริ่ม ต้นเพียงครั้งเดียว ใช้เพื่อกำ หนดค่าของ ตัวแปรโหมดการทำ งานของขา ต่างๆ เริ่มต้นเรียกใช้ไลบรารี ฯลฯ ตัวอย่าง ส่วนของฟังฟัก์ชั่น loop() หลังจากที่เขียนฟังฟัก์ชั่น setup() ที่กำ หนดค่าเริ่มต้นของโปรแกรม แล้ว ส่วนถัดมาคือฟังฟัก์ชั่น loop() ซึ่งมี การทำ งานตรงตามชื่อ คือจะ ทำ งานตามฟังฟัก์ชั่นวนต่อเนื่องตลอดเวลา ภายในฟังฟัก์ชั่นจะมีโปรแกรม ของผู้ใช้เพื่อรับ ค่าจากพอร์ต ประมวลผลแล้วสั่งเอาต์พุตออกขาต่างๆ เพื่อควบคุมการทำ งานของบอร์ด ตัวอย่าง int buttonPin = 13; void setup() { Serial.begin(9600); pinMode(buttonPin, OUTPUT); } void loop() { digitalWrite(buttonPin, 1); delay(1000); digitalWrite(buttonPin, 0); delay(1000); }
ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์ Block-structured programming เป็นรูปแบบการเขียนโปรแกรมภาษาคอมพิวเตอร์ที่มีลักษณะเหมือน การต่อ จิ๊กซอว์มุ่งเน้นการพัฒนาตรรกะและทักษะในการแก้ไขปัญปัหา เนื่องจากบล็อกแต่ละชิ้นมีความหมายและ โครงสร้างการทำ งานที่แตก ต่างกัน การเลือกใช้คาสั่งจากบล็อกทาให้ผู้เรียนไม่ต้องกังวลกับ โครงสร้างไวยากรณ์ ภาษาคอมพิวเตอร์
KB-IDE KB-IDE เป็นโปรแกรมสำ หรับใช้เขียนโปรแกรมบนบอร์ด IoT (และ SBC ด้วยในอนาคต) โดยเป้าป้หมายการออกแบบคือ เป็น IDE สำ หรับทุก คน ทุกระดับ เด็ก ๆ สามารถใช้ Block Programming ได้ มือโปร สามารถใช้ Code Editor ได้ เป็น IDE ที่ใช้ได้กับทุกบอร์ดในตลาด ที่ สำ คัญคือเป็น IDE ที่ Hackable นั่นหมายความว่านักพัฒนาสามารถ เปลี่ยนแปลง หรือต่อยอด IDE ได้ ไม่ว่าจะเป็น Board Manager หรือ Plug-in ต่าง ๆ เนื่องจาก KB-IDEเป็น Open Source และ Open Architecture. ดาวน์โหลดโปรแกรม KBIDE - ดาวน์โหลดได้ที่ https://kbide.org/ - เลือกระบบปฎิบัติการ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ติดตั้งโปรแกรม KBIDE - ดับเบิลคลิก เพื่อติดตั้งโปรแกรม (อ้างอิงเวอร์ชั่น 1.2.0) - คลิกเลือก Only for me จากนั้นคลิก Install - กด Finish เมื่อติดตั้งโปรแกรมเสร็จเรียบร้อย ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
สรุป Feature เด่นของโปรแกรม KBIDE 1. สามารถ Compile โปรแกรมได้รวดเร็วกว่า Arduino IDE ถึง 60% โครงสร้างภายใน KB IDE ถูกออกแบบมาให้สามารถคอมไพล์ (Compile) ได้เร็วกว่า IDE อื่นๆ เนื่องจากการออกแบบให้คอมไพล์ ไลบรารี่ต่าง ๆ แค่ครั้งเดียว เมื่อต้องการคอมไพล์อีกครั้ง ไลบรารี่ที่ได้ คอมไพล์แล้วจะไม่ถูกนำ มาคอมไพล์ใหม่ ทำ ให้โปรแกรมทำ งานได้เร็วมาก ขึ้น 2. รองรับการเขียนโปรแกรมได้ทั้งแบบ Block Programming และ Text Programming ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
3.มี Features ให้ใช้งานหลากหลาย เขียนโปรแกรมได้ 2 โหมดการทำ งาน Block Programming และ Text Programming มี Board ให้เลือกติดตั้งได้หลายหลายเช่น บอร์ด Arduino Kidbright32 ESP32 KB32-FT มี Plugin ให้เลือกติดตั้งมากมายเช่น โมดูลเซนเซอร์ต่าง ๆ Blynk MQTT มีโปรแกรมตัวอย่างทั้ง Block Programming และ Text Programming สามารถคอม Compile ได้รวดเร็ว มี Serial Console สามารถแสดงผลได้ทั้งแบบ Text และกราฟ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
Arduino Uno R3 Board Install 1. กดเลือกเมนู Board Manager 2. ค้นหาบอร์ด Arduino Uno R3 ในช่อง "Board name" ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
3. KBIDE จะแสดงบอร์ด Arduino Uno R3 สามารถติดตั้งโดย กดปุ่มปุ่"Downlaod" ตามภาพ 4. เมื่อติดตั้งเสร็จแล้วกดเปลี่ยนบอร์ดตามภาพและกดปุ่มปุ่ "CHANGE BOARD" 5. จากนั้นโปรแกรมจะให้เคลียหน้าต่างเดิมให้กด "Confirm" ได้เลย ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
Block Code Intro Block Function Setup บล็อกฟังฟัก์ชั่น Setup สำ หรับเมื่อโปรแกรมทำ งาน โดยจะทำ คำ สั่ง ของฟังฟัก์ชั่นนี้เพียงครั้งเดียว ใช้ในการกำ หนดค่า เริ่มต้นของการทำ งาน โดยปกติใช้กำ หนดโหมดการทำ งานของขาต่างๆ หรือกำ หนดค่าให้กับ โปรแกรม, กำ หนดการสื่อสารแบบอนุกรม Block Function Setup บล็อกฟังฟัก์ชั่น Loop เป็นโค้ดโปรแกรมที่ทำ งาน เช่น อ่านค่า อินพุต ประมวลผล สั่งงานเอาต์พุต การทำ งานโปรแกรมจะทำ คำ สั่งใน ฟังฟักช์นั่นต่อเนื่องกันตลอดเวลา ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ส่วนประกอบของโปรแกรม KBIDE ชุดคำ สั่งเมนู GPIO กำ หนดขาของวงจร การรับหรือส่งข้อมูล กำ หนดค่าหมายเลขขาของวงจรให้เป็น รับค่าเข้า หรือ ส่งค่าออก รับค่า Digital (0,1) จากขาที่กำ หนด ส่งค่า Digital (0,1) ไปยังขาที่กำ หนด รับค่า Analog จากยังขาที่กำ หนด ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ชุดคำ สั่งเมนู Time ตั้งเวลาการทำ งาน กำ หนดการหน่วงเวลาหยุดรอก่อนที่จะไปทำ งานคำ สั่งบรรทันถัดไป 1,000 มิลลิวินาที (ms) เท่ากับ 1 วินาที กำ หนดการหน่วงเวลาหยุดรอก่อนที่จะไปทำ งานคำ สั่งบรรทันถัดไป 1/1,000,000 วินาที อ่านค่าระยะเวลาการเริ่มทำ งานของโปรแกรมตั้งแต่ต้น หน่วย 1/1,000 วินาที อ่านค่าระยะเวลาการเริ่มทำ งานของโปรแกรมตั้งแต่ต้น หน่วย 1/1,000,000 วินาที ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ชุดคำ สั่งเมนู Variables กำ หนดตัวแปรสำ หรับเก็บค่าต่างๆ สร้างตัวแปร ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ชุดคำ สั่งเมนู Math นิพจน์และตัวดำ เนินการทางคณิตศาสตร์ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ชุดคำ สั่งเมนู Logic ตัวดำ เนินการทางตรรกะ เป็นตัวดำ เนินการเกี่ยวข้องกับนิพจน์ ที่สามารถตรวจสอบค่าความจริงว่าเป็นจริงหรือเท็จ ตั้งเงื่อนไขการทำ งาน if ถ้าเงื่อนไขเป็นจริงจึงจะทำ งาน else if ใช้ในกรณีที่เงื่อนไขแรกเป็นเท็จ แล้วต้องการตรวจสอบ เงื่อนไขที่สอง ถ้าเป็นจริงจึงจะทำ งาน else จะทำ งานก็ต่อเมื่อเงื่อนไขเป็นเท็จ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
ชุดคำ สั่งเมนู Loops เป็นชุดคำ สั่งที่ใช้ควบคุมการทำ งานของโปรแกรมแบบวนซ้ำ การทำ งานเดิมๆ ตามเงื่อนไขที่กำ หนด ทำ งานซ้ำ ตลอดเวลาจนกว่าจะเจอคำ สั่ง Break ถึงจะออกจากคำ สั่งวนซ้ำ ทำ งานซ้ำ ตลอดเวลาถ้าเงื่อนไขเป็น จริง จะออกจากคำ สั่งวนซ้ำ ก็ ต่อเมื่อเงื่อนไขกลายเป็น เท็จ เป็นคำ สั่งการทำ งานแบบมีการนับรอบการวนเป็นจำ นวนที่แน่นอน โดยกำ หนดค่าเริ่มต้น ค่ารอบสุดท้าย และลำ ดับขั้น คำ สั่งออกจากการวนซ้ำ ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์
การติดตั้งโปรแกรม Arduino (IDE) และ การติดตั้งไดร์ เวอร์ Arduino integrated development environment หรือเรียก สั้นๆว่า โปรแกรม Arduino (IDE) เป็นโปรแกรมที่ "แจกฟรี" ภายใต้ เงื่อนไขในการใช้งานลักษณะ Open source ซึ่ง Arduino (IDE) จะทำ หน้าที่ ติดต่อ ระหว่าง คอมพิวเตอร์ ของเรา (Windows, Mac OS X และ Linux) กับ บอร์ด Arduino ซึ่งโปรแกรมนี้ออกแบบให้ง่ายต่อการ เขียนโค้ดและอัปโหลดโปรแกรมที่เราเขียน เข้าสู่ บอร์ด Arduino 1. ดาวน์โหลด Arduino(IDE) โดยไปที่ https://www.arduino.cc และไปที่ click ที่ Software 2. เลือกระบบปฎิบัติการของเครื่องคอมพิวเตอร์ที่ใช้ในการเขียน โปรแกรม Arduino ค่ายอบรมเยาวชนนักประดิษฐ์ โรงเรียรีนลำ ปลายมาศ สพม.บุรีรัรีรัมย์