Basic Electronics Components...
Transcript of Basic Electronics Components...
ແນະນ ຳເຂ ົ້ຳສ ູ່ບອດ ESP8266
1
ບອດ ESP8266 ຄຫືຍງັ?➢ ESP8266 ເປັນ ຊືູ່ ເອ ົ້ນ ຂອງ ຊ ິບຂອງ ໂມ ດ ນ ESP8266 ສ ຳລບັ ຕດິ ຕ ູ່ ສືູ່ ສຳນ ເທງິ ມຳດຕະຖຳນ
WiFi ເຮັດວຽກ ທ ູ່ ແຮງ ດນັ ໄຟ ຟົ້ຳ 3.0-3.6V ເຮັດວຽກ ໃຊົ້ ກະ ແສ ໂດຍ ສະເລູ່ຍ 80mA ຮອງຮບັ ຄ ຳ ສ ັູ່ງ deep sleep ໃນ ກຳນ ປະ ຫຍດັ ພະລງັ ງຳນ ໃຊົ້ ກຣະ ແສ ນົ້ອຍ ກວູ່ຳ 10 ໄມ ໂຄຣແອມ ສຳມຳດ wake up ກບັ ມຳ ສ ູ່ງ ຂ ົ້ ມ ນ ໃຊົ້ ເວລຳ ນົ້ອຍ ກ ກ ວູ່ຳ 2 ມລິ ວ ິນຳ ທ ພຳຍ ໃນ ມ Low power MCU 32bit ເຮັດໃຫົ້ ເຮ ຳ ຂຽນ ໂປຣ ແກຣມ ສ ັູ່ງ ງຳນ ໄດົ້ ມ ວ ງຈອນ analog digital converter ເຮັດໃຫົ້ ສຳມຳດ ອູ່ຳນ ຄູ່ຳ ຈຳກ analog ໄດົ້ ຄວຳມ ລະອຽດ 10bit ເຮັດວຽກ ໄດົ້ ທ ູ່ ອຸນຫະພ ມ -40 ເຖງິ 125 ອ ງ ສຳ ເຊ
➢ ເມືູ່ ອ ນ ຳ ຊ ິບ ESP8266 ມຳ ຜະລດິ ເປັນ ໂມ ດ ນ ຫຳຼຍ ລຸົ້ນ ກ ຈະ ຂ ົ້ນ ຕ ົ້ນ ດົ້ວຍ ESP8266 ແລົ້ວ ຕຳມ ດົ້ວຍ ລຸົ້ນ ເຊັູ່ ນ:ESP-01, ESP-03, ESP-07, ESP-12E.ESP8266 ຕດິ ຕ ູ່ ກບັ WI-FI ແບບ Serial ສຳມຳດ ຂຽນ ໂປຣ ແກຣມ ລ ງ ໄປ ໃນ ຊ ິຟ ໂດຍ ໃຊົ້ Arduino IDE ໄດົ້ ເຮັດໃຫົ້ ກຳນ ຂຽນ ໂປຣ ແກຣມ ແລະ ໃຊົ້ ງຳນ ເປັນ ເລືູ່ ອງ ງູ່ຳຍ ຄົ້ຳຍ ກບັ ກຳນ ໃຊົ້ Arduino ແນູ່ນອນ ວູ່ຳ ສຳມຳດ ຕດິ ຕ ູ່ ອຸປະກອນ ອືູ່ ນ ໆ ເຊັນ ເຊ ຕູ່ຳງ ໆ ແບບ ດູ່ຽວກບັ Arduino ຖົ້ຳ ມ ພືົ້ນ ຖຳນ Arduino ຢ ູ່ ແລົ້ວ ກ ເຂ ົ້ຳໃຈ ແລະ ໃຊົ້ ງຳນ ໄດົ້ ວູ່ອງໄວ
2
ໂມດ ນ ESP8266 ມ ຫຳຼຍລຸົ້ນ ແລະ ມ ລຸົ້ນໃໝູ່ພດັທະນຳອອກມຳເລືູ່ ອຍໆ ໂດຍໂຄງສົ້ຳງ ແລະ ຂຳທ ູ່ ໃຊົ້ງຳນກ ຈະມ ລກັສະນະຄົ້ຳຍກນັຄ:ື➢ GPIO0 ເປັນຂຳສ ຳລບັເລອືກໂໝດ ໂດຍເມືູ່ ອຕ ູ່ ກບັ GND ຈະເຂ ົ້ຳໂໝດໂປຣແກຣມ ເມືູ່ ອ
ຕົ້ອງກຳນໃຫົ້ເຮັດວຽກປ ກກະຕິກ ບ ູ່ ຕົ້ອງຕ ູ່➢ GPIO15 ເປັນຂຳທ ູ່ ຕົ້ອງຕ ູ່ ລ ງ GND ເພືູ່ ອໃຫົ້ໂມດ ນເຮັດວຽກ➢ CH_PD ຫລ ືEN ເປັນຂຳທ ູ່ ຕົ້ອງຕ ູ່ ໄຟ VCC ເພືູ່ ອ pull up ສນັຍຳນ ໃຫົ້ໂມດ ນເຮັດວຽກ
ໂມດ ນບຳງລຸົ້ນບ ູ່ ມ ຂຳ Reset ມຳໃຫົ້ ເມືູ່ ອຕົ້ອງກຳນຣ ເຊັດ ໃຫົ້ຕ ູ່ ຂຳ CH_PD ກບັ GND➢ Reset ຕ ູ່ ກບັໄຟ VCC ເພືູ່ ອ pull up ສນັຍຳນ ໂດຍເມືູ່ ອຕົ້ອງກຳນຣ ເຊັດ ໃຫົ້ຕ ູ່ ກບັໄຟ GND➢ VCC ເປັນຂຳສ ຳລບັຈູ່ຳຍໄຟລົ້ຽງ ໃຊົ້ໄຟລົ້ຽງ 3.0-3.6V➢ GND ຕ ູ່ ກບັໄຟ 0V➢ GPIO ເປັນຂຳດ ຈ ຕອນ INPUT/OUTPUT ເຮັດວຽກທ ູ່ ໄຟ 3.3V➢ ADC ເປັນຂຳ Analog INPUT ຮບັແຮງດນັສ ງສຸດ 1V ຄວຳມລະອຽດ 10bit ຫລ ື1024
ຄູ່ຳ
ບອດ ESP8266 ຄຫືຍງັ?
3
➢ ໂມດ ນ ESP8266 ລຸົ້ນທ ູ່ ນຍິ ມເຊັູ່ ນ ESP-01 ,ESP-03 ,ESP-07 ,ESP-12E ນອກຈຳກນ ົ້ຍງັມ ບອດ ESP8266 ທ ູ່ ລວມວ ງຈອນ USB TTL ເຂ ົ້ຳໄປເຮັດໃຫົ້ໂປຣແກຣມກບັ Arduino IDE ໄດົ້ງູ່ຳຍຂ ົ້ນເຊັູ່ ນ:NodeMCU ເປັນຕ ົ້ນ
ແນະນ ຳ ESP8266 ລຸົ້ນຕູ່ຳງໆ ທ ູ່ ນຍິ ມໃຊົ້
4
ESP8266 ESP-01 ເປັນລຸົ້ນທ ູ່ ມ ຂຳຕ ູ່ ອອກມຳຂົ້ຳງນອກ ຈ ູ່ ງສຳມຳດຕ ູ່ ກບັບອດທ ດລອງໄດົ້ງູ່ຳຍ ມ ຂຳ GPIO 4 ຂຳ ຄ:ືGPIO0, GPIO1, GPIO2, GPIO3
ESP8266 - 01
5
ESP8266 ESP-03 ຈະ ຄົ້ຳຍ ກບັ ESP-01 ມ package ກຳນ ຕ ູ່ ຂຳ ເປັນ ແບບ ເຊ ເຟກ ເມ ຳ ໂດຍ ຈະ ມ ຂຳ GPIO ຫລຳຍ ຂ ົ້ນ ເຮັດໃຫົ້ ເຮ ຳ ສ ັູ່ງ ງຳນ ອຸປະກອນ ໄດົ້ ຫລຳຍກວູ່ຳ ESP8266 ESP-01 ໂດຍ ESP8266-03 ມ ຂຳ ທງັ ໝ ດ 14 ຂຳ ມ ເສ ຳ ອຳ ກຳດ ແບບ ມຳ ໃຫົ້ ໃນ ຕວັ ແລະ ຢງັ ສຳມຳດ ຕ ູ່ ສຳຍ ອຳ ກຳດ ເພ ູ່ ມ ເພືູ່ ອ ເພ ູ່ ມ ກ ຳ ລງັ ກຳນ ຮບັ ສ ູ່ງ ໄດົ້ ທ ູ່ ຂຳ 14
ESP8266 - 03
6
ESP8266 ESP-07 ເພ ູ່ ມ ແຜູ່ນ ເຫຼັກ ຄອບ ຊ ິບ ESP8266 ໄວົ້ ເພືູ່ ອ ປົ້ອງ ກນັ ສນັຍຳ ນລ ບກ ວນ ມ ຂຳ ທງັ ໝ ດ 16 ຂຳ ໂດຍ ມ ຂຳ GPIO ໃຫົ້ ເຮ ຳ ໃຊົ້ ງຳນ 11 ຂຳ ແລະ ຂຳ Analog Read ອ ກ 1ຂຳ
ESP8266 - 07
7
ESP8266 ESP-12E ມ ກຳນ ຈດັ ຂຳ ແລະ ຕ ູ່ ໃຊົ້ ງຳນ ແບບ ດຽວ ກບັ ລຸົ້ນ ESP-07 ໂດຍ ປູ່ຽນ ເສ ຳ ອຳ ກຳດ ມຳ ເປັນ ແບບ ເດ ນວ ງ ຈອນ ພຳຍ ໃນ PCB ແລະ ເພ ູ່ ມ ຂຳ ອ ກ 6 ຂຳ ຄ ື SCLK,MOSI,MISO ສ ຳລບັ ຕິດ ຕ ູ່ ກບັ ເຊັນ ເຊ ອືູ່ ນ ໆ ໂປຣ ໂຕຕ SPI ຊ ູ່ ງ ລຸົ້ນ ນ ົ້ ກ ໄດົ້ຮບັ ຄວຳມ ນຍິ ມ ເປັນ ຢູ່ຳງ ຫລຳຍ ຈ ນ ເກ ດ ກຳນ ພດັທະນຳຕ ູ່ຍອດເປັນ ESP8266-12 ລຸົ້ນ ຕູ່ຳງ ໆ
ESP8266 – 12E
8
ກຳນ ຂຽນ ໂປຣ ແກຣມ ອບັ ໂຫດຼ ໂຄດ ລ ງ ບອດ ESP8266 ເກອືບ ທຸກ ລຸົ້ນ ຈະ ຜູ່ຳນ ທຳງ Serial ທ ູ່ ຂຳRX, TX ໂດຍ ໃຊົ້ ໂມ ດ ນ USB TTL ຊ ູ່ ງ ຕົ້ອງ ເສຍ ເວລຳ ໃນ ກຳນ ຕ ູ່ ວ ງຈອນ ເພືູ່ ອ ອບັ ໂຫດຼ ໂຄດ ອ ກ ທງັ ໂມ ດ ນ ESP8266 ຫຳຼຍ ໆ ລຸົ້ນ ມ ກຳນ ຕ ູ່ ຂຳ ທ ູ່ ເປັນ ແບບ ເຊ ເຟກ ເມ ຳ ເຮັດ ໃຫົ້ ບ ູ່ ສະ ດວກ ກບັ ກຳນ ຕ ູ່ ທ ດລອງ ເທງິ ບອດ ທ ດລອງ
ດ ັູ່ງ ນ ັົ້ນ ຈ ູ່ ງ ມ ກຳນ ລວມ ໂມ ດ ນ USB TTL ແລະ ຕ ູ່ ວ ງຈອນຂະຫຍຳຍ ຂຳ ESP8266 ໃຫົ້ເປັນ ຂຳທ ູ່ ມ ໄລຍະ ຫູ່ຳງ ຂະໜຳດ 2.54mm ຊ ູ່ ງ ສຳມຳດ ສຽບ ລ ງ ບອດທ ດລອງ ໄດົ້ ພ ດ ກຳຍ ເປັນ ບ ອ ດ ESP8266 ໂດຍ ໜ ູ່ ງ ໃນ ບອດ ທ ູ່ ນຍິ ມ ໃຊົ້ ງຳນ ຄ ື NodeMCU ຊ ູ່ ງ ໃຊົ້ ໂມ ດ ນ ESP8266 ESP-12E
NodeMCU ESP-12E
9
NodeMCU ເປັນ ບອດ ທ ູ່ ໃຊົ້ ESP8266 ເປັນ CPU ສ ຳລບັ ປະ ມວນ ຜ ນ ໂປຣ ແກຣມ ຕູ່ຳງ ໆ ມ ຂ ົ້ດ ກວູ່ຳ Arduino ບູ່ອນ ທ ູ່ ຕ ວ ມນັ ມ ຂະໜຳດ ນົ້ອຍ ກວູ່ຳ ມ ພືົ້ນ ທ ູ່ ຂຽນ ໂປຣ ແກຣມ ລ ງ ໄປ ຫລຳຍກວູ່ຳ ແລະ ສຳມຳດ ເຊືູ່ ອມ ຕ ູ່ ກບັ WiFi ໄດົ້.ເທງິ ບອດ ລຸົ້ນ ນ ົ້ ໃຊົ້ ESP8266 12E ມ ພືົ້ນ ທ ູ່ ຫນູ່ວຍ ຄວຳມ ຈ ຳ ຣອມ ສ ງ ເຖງິ 4MB ພຽງ ພ ສ ຳລບັ ກຳນ ຂຽນ ໂປຣ ແກຣມ ຂະໜຳດ ໃຫຍູ່ ອ ກ ທງັ ພຳຍ ໃນ ຢງັ ເປັນ RAM ໃຊົ້ ຄວຳມ ຖ ູ່ ສ ງ ເຖງິ 40MHz ເຮັດໃຫົ້ ສຳມຳດ ປະ ມວນ ຜ ນ ໂຄົ້ດ ໂປຣ ແກຣມ ໄດົ້ ຢູ່ຳງ ວູ່ອງໄວ ເໝຳະ ຫລຳຍ ສ ຳລບັ ງຳນ SmartHome ແລະ IoT
ແນະນ ຳເຂ ົ້ຳສ ູ່ NodeMCU
ໝຳຍເຫດ:* ໃນບອດຈະບ ູ່ ມ ເຟ ມແວ ຫຳຕົ້ອງກຳນໃຊົ້ NodeMCU Firmware ຕົ້ອງໄດົ້ອບັໂຫລດເຂ ົ້ຳໄປເອງ.ສຳມຳດໃຊົ້ໂປຣແກມ Arduino IDE ຂຽນເຟ ມແວດົ້ວຍພຳສຳ C++ ເອງໄດົ້ ຫຼ ືໃຊົ້ NodeMCU Firmware ໃຊົ້ພຳສຳ Lua ໃນກຳນຂຽນໂປຣແກມສ ັູ່ງງຳນ
10
NodeMCUESP8266-12E Specification
➢ Added six I/O serial and six SPI
serial
➢ support wireless 802.11 b/g/n
standard
➢ Wi-Fi Direct (P2P), soft-AP
➢ support the STA/AP/STA + AP three
work modes
➢ built-in TCP/IP protocol stack, and
support multiple TCP Client
connection
➢ support rich Socket the AT command
➢ support UART/GPIO data
communication interface
➢ support Smart Link intelligent
networking
➢ support remote firmware update
(OTA)
➢ built-in 32-bit MCU and can be
applied as processor
➢ low power consumption, suitable for
battery-powered applications
➢ single 3.3 V power supply11
➢ ເປັນແບບ Open Source Project ມ Source code ໃຫົ້ໄດົ້ຮຽນຮ ົ້ຢ ູ່ ເທງິ Github ຕຳມລງິ https://github.com/esp8266/Arduino
➢ ສຳມຳດກ ດ upload sketch ໄດົ້,ເຊືູ່ ອມຕູ່ອບອດ USB ກບັຄອມພວິເຕ ໃຊົ້ງຳນງູ່ຳຍຂະໜຳດຂອງບອດສຽບລ ງ Protoboard ໄດົ້
➢ ຊບິພຳຍໃນ ESP 8266 ມ CPU ຂະໜຳດ 32bit ແຕກຕູ່ຳງຈຳກ Arduino ທ ູ່ ເປັນ CPU 8 bit
➢ ເຖງິແມູ່ນວູ່ຳຂຳ I/O ຈະບ ູ່ ຫລຳຍເທ ູ່ຳກບັຂຳຂອງ Arduino ແຕູ່ເຮ ຳສຳມຳດຂຽນໂປຣແກຣມລ ງເທງິຂຳ GPIO ໄດົ້ທຸກຂຳບໄດົ້ ເປັນຂ ົ້ດ ທ ູ່ ເພ ູ່ ມມຳຈຳກຄວຳມຕົ້ອງກຳນໃຊົ້ WIFI
➢ ມ ອຸປະກອນຫຳຼຍຢູ່ຳງທ ູ່ ໃຊົ້ງຳນທ ູ່ ແຮງດນັ +3.3V ເປັນສູ່ວນໃຫຍູ່ ດ ັູ່ງນ ັົ້ນ,ເຮ ຳສຳມຳດນ ຳ NodeMCU (ESP8266) ມຳໃຊົ້ເຊືູ່ ອມຕ ູ່ ໄດົ້ໂດຍກ ງ
ຂ ົ້ ດ ຂອງ ບອດ Arduino ESP8266
12
ຮ ບ ແບບ ກຳນ ຂຽນ ໂປ ແກມ ເທງິ NodeMCU
13
➢ ເທງິບອດ NodeMCU ນ ຳໃຊົ້ຊບິເບ CH340G ສບັລບັແປງສນັຍຳນສືູ່ ສຳນກບັພອດ USB.ສະນ ັົ້ນຕົ້ອງລ ງ driver ກູ່ອນຈງິຈະສຳມຳດໃຊົ້ງຳນໄດົ້
➢ CH340G Driver for Windows➢ CH340G Driver for MAC➢ CH340G Driver for Linux
➢ ສຳມຳດດຳວໂຫລດໄດົ້ຕຳມລງິລຸູ່ມນ ົ້:➢ https://github.com/nodemcu/nodemcu-devkit/tree/master/Drivers
Driver ຂອງ ບອດ NodeMCU ສ ຳລບັເຊືູ່ ອມຕ ູ່ ກບັ Arduino IDE
14
ຫຼງັຈຳກລ ງ USB CH340G Driver ແລົ້ວໃຫົ້ຕິດຕ ັົ້ງບອດ NodeMCU V3 ລ ງໃນ ArduinoIDE ຕຳມຂ ັົ້ນຕອນດ ັູ່ງລຸູ່ມນ ົ້:
1.ເປ ດໂປຣແກຣມ Arduino IDE ຂ ົ້ນມຳ ແລົ້ວໄປທ ູ່ File > Preferences ແລົ້ວຈະເຫັນໜົ້ຳຕູ່ຳງດ ັູ່ງຮ ບ
ກຳນໃຊົ້ງຳນ NodeMCU V3 ດົ້ວຍ Arduino IDE
15
2.ໃຫົ້ Copy URL ດ ັູ່ງລຸູ່ມນ ົ້:http://arduino.esp8266.com/stable/package_esp8266com_index.json
ແລົ້ວໄປວຳງໃນຊູ່ອງ Additional Board Manager URLs ແລົ້ວກ ດປຸູ່ມ OK3. ໄປທ ູ່ Tools > Board > Board Manager …ຈະມ ໜົ້ຳຕູ່ຳງ popup ຂ ົ້ນມຳ
ກຳນໃຊົ້ງຳນ NodeMCU V3 ດົ້ວຍ Arduino IDE
16
4.ໃນຊູ່ອງ Type ປບັໃຫົ້ເປັນ Contributed ແລົ້ວກ ດ Install ໃນສູ່ວນຂອງ esp8266
ກຳນໃຊົ້ງຳນ NodeMCU V3 ດົ້ວຍ Arduino IDE
5.ລ ຖົ້ຳຈ ນກວູ່ຳຕິດຕ ັົ້ງແລົ້ວ
17
6.ທ ດສອບ NodeMCU ຜູ່ຳນ Arduino IDE ໂດຍໄປທ ູ່ Tools > Board > NodeMCU 1.0 (ESP-12E Module)
ກຳນໃຊົ້ງຳນ NodeMCU V3 ດົ້ວຍ Arduino IDE
18
7.ຈຳກນ ັົ້ນເລອືກ Port ຈຳກ Tools > Port > COMxxໝຳຍເຫດ:ໃນກ ລະນ ທ ູ່ ຫຳ COM Port ບ ູ່ ເຫັນໃຫົ້ໄປທ ູ່ Device Manager ແລະ ເຮັດກຳນUpdate Driver
ກຳນໃຊົ້ງຳນ NodeMCU V3 ດົ້ວຍ Arduino IDE
19
8.ທ ດລອງໃຊົ້ງຳນໂດຍໄປທ ູ່ Upload ໂປຣແກມດ ັູ່ງລຸູ່ມນ ົ້ເຂ ົ້ຳໄປໃນ NodeMCU ເພືູ່ ອທ ດສອບກຳນເຮັດວຽກຂອງບອດ ຈະປະກ ດເຫັນດອກ LED ຢ ູ່ ໃນບອດຈະກະພິບ
ກຳນໃຊົ້ງຳນ NodeMCU V3 ດົ້ວຍ Arduino IDE
1. int LED = D0;2. void setup() 3. {4. pinMode(D0, OUTPUT);5. }6. void loop() 7. {8. digitalWrite(LED,HIGH);9. delay(1000);10. digitalWrite(LED,LOW);11. delay(1000);12. }
20
ພຳສຳ C ສ ຳລບັ Arduino core
• NodeMCU ແລະ Arduino ເປັນໂອເພັນຊອັດແພັດຟອມເອເລັກໂຕຣນກິ ທ ູ່ ລວມເອ ຳ
ຮຳດແວ ແລະ ຊອບແວເຂ ົ້ຳດົ້ວຍກນັ ເພືູ່ ອໃຫົ້ງູ່ຳຍຕ ູ່ ກຳນໃຊົ້ງຳນ ແລະ ຖກືອອກແບບມຳສ ຳ
ລບັທຸກຄ ນ
• ສູ່ວນຂອງຊອັບແວທ ູ່ ເອ ົ້ນວູ່ຳ “Arduino software” ໃຊົ້ພຳສຳ C/C++ ເປັນຫຼກັ ໂດຍ
ມ ຮ ບແບບກຳນຂຽນໂຄດໂປຣແກມທ ູ່ ຖກືກ ຳນ ດຂ ົ້ນມຳຕຳມຮ ບແບບຂອງໂຄງກຳນນ ົ້ ສ ຳລບັ
ລຳຍລລະອຽດທງັໝ ດຂອງ ສຳມຳດຫຳຂ ົ້ມ ນເພ ູ່ ມເຕ ມໄດົ້ທ ູ່ ເວັບໄຊ www.arduino.cc
21
ພຳສຳ C ສ ຳລບັ Arduino core
• ໂຄງສົ້ຳງພຳສຳ C/C++ ສ ຳລບັ Arduino
ເນືູ່ ອງຈຳກ Arduino ໄດົ້ສົ້ຳງຊອບແວເພືູ່ ອໃຫົ້ກຳນຂຽນໂຄດໂປຣແກມເປັນໄປໃນແນວທຳງດຽວກນັໃຫົ້ເປັນມຳດຕະຖຳນ ຈ ູ່ ງໄດົ້ກ ຳນ ດຟງັຊນັເລ ູ່ ມຕ ົ້ນສ ຳລບັກຳນຂຽນໂຄດໂປຣແກມ ຫຼ ືໂຄງສົ້ຳງ (Structure) ຂອງພຳສຳ Arduino ດົ້ວຍຟງັຊນັເລ ູ່ ມຕ ົ້ນ 2 ຟງັຊນັຄ:ືຟງັຊນັ setup() ແລະ loop()
22
ໂຄງສົ້ຳງພຳສຳ C ສ ຳລບັ Arduino core
23
ພຳສຳ C ສ ຳລບັ Arduino core
• ຟງັຊນັ setup()ຟງັຊນັ setup() ຈະຖກືເອ ົ້ນໃຊົ້ເມືູ່ ອສະເກັດເລ ູ່ ມຕ ົ້ນທ ຳງຳນ ຟງັຊ ັົ້ນນ ົ້ໃຊົ້ຕິດຕ ັົ້ງຄູ່ຳເລ ູ່ ມຕ ົ້ນໃຫົ້ກບັໂຕແປ ກ ຳນ ດໂໝດຂອງພອດໃຊົ້ງຳນ ຕດິຕ ັົ້ງ ຫຼື ເລ ູ່ ມຕ ົ້ນໃຊົ້ງຳນໄລບຳຣ ເປັນຕ ົ້ນ ສິູ່ ງສ ຳຄນັຄ ືຟງັຊນັນ ົ້ຈະຖກືເອ ົ້ນໃຊົ້ງຳນພຽງຄງັທ ຳອດິຄ ັົ້ງດຽວ ຈ ນກວູ່ຳຈະມ ກຳນຣ ເຊັດ ຫຼື ເລ ູ່ ມຈູ່ຳຍໄຟລົ້ຽງໃຫົ້ກບັບອດ ຕ ວຢູ່ຳງເຊັູ່ ນ:
// Function setupvoid setup(){
Serial.begin(9600);}
24
ພຳສຳ C ສ ຳລບັ Arduino core
• ຟງັຊນັ loop()ຫຼງັຈຳກທ ູ່ ຟງັຊນັ setup() ທ ຳງຳນສ ຳເລັດແລົ້ວ ຟງັຊນັ loop() ຈະເລ ູ່ ມຕ ົ້ນທ ຳງຳນຕ ູ່ ແລະ ຈະວ ນທ ຳງຳນຕະຫອຼດເວລຳຂອງກຳນເຮັດວຽກຂອງໂປຣແກມ ຕ ວຢູ່ຳງເຊັູ່ ນ:
//loop Function (Main Program)void loop(){Serial.println(“Welcome to Arduino”);
}25
ກຳນກ ຳນ ດຂຳ PIN ເປັນຂຳເຂ ົ້ຳ (Input) ແລະ ຂຳອອກ (Output)
pinMode(Pin, Direction);• Pin = ຕ ຳແໜູ່ງຂຳ D0 – D12• Direction = OUTPUT ຫຼ ື1 ເພືູ່ ອກ ຳນ ດເປັນຂຳອອກ• Direction = INPUT ຫຼ ື0 ເພືູ່ ອກ ຳນ ດເປັນຂຳເຂ ົ້ຳ• Direction = INPUT_PULLUP ຫຼ ື2 ເພືູ່ ອກ ຳນ ດເປັນຂຳເຂ ົ້ຳ ທ ູ່ ມ ຕ ວຕົ້ຳນທຳນ pullup ພຳຍໃນຕ ວ
Function ພືົ້ນຖຳນຂອງໂປຣແກມ Arduino coreສ ຳລບັຄວບຄຸມ NodeMCU PIN
26
• ຂຳອອກ OUTPUT– Digital
• digitalWrite(pin, logic); // pin: D0 - D12 for NodeMCU V3// logic: HIGH (1) or LOW (0)
– Analog• analogWrite(pin, PWM);// pin: D0 – D12 for NodeMCU V3// PWM: 0 - 1023
Function ພືົ້ນຖຳນຂອງໂປຣແກມ Arduino coreສ ຳລບັຄວບຄຸມ NodeMCU PIN
27
• ຂຳເຂ ົ້ຳ INPUT– Digital
• Variable = digitalRead(pin); // Variable: ຕ ວປູ່ຽນ Boolean ທ ູ່ ນ ຳມຳຮບັຄູ່ຳ// pin: D0-D12 for NodeMCU V3
– Analog• Variable = analogRead(pin);// Variable: ຕ ວປູ່ຽນ integer ທ ູ່ ນ ຳມຳຮບັຄູ່ຳ// pin: A0
Function ພືົ້ນຖຳນຂອງໂປຣແກມ Arduino coreສ ຳລບັຄວບຄຸມ NodeMCU PIN
28
ອຸປະກອນ INPUT/OUTPUT
INPUT DEVICES OUTPUT DEVICES
29
Protoboard
30
ກຳນຕ ູ່ ວ ງຈອນໃນ Protoboard
31