ในบทความนี้ เราจะมาแนะนำวิธีดำเนินการรีสตาร์ทด้วยซอฟต์แวร์ บน ESP8266 เพื่อเป็นการแสดงให้เห็นถึงฟังก์ชันการทำงาน เราจะสร้างโปรแกรมง่ายๆที่ใช้การนับถอยหลังในแต่ละวินาที และรีสตาร์ท ESP8266 เมื่อถึงศูนย์ ที่มาจาก...
คำสั่ง wdt_disable(); เป็นคำสั่ง ปิดการทำงาน Watch Dog Timer ให้อัพโหลดโค้ดตัวอย่างลงบอร์ด Arduino โค้ดนี้ใน จะเป็นการปิดการทำงาน Watch Dog Timer delay (3 000); // หน่วงเวลา 3000ms ถ้าเอาคำสั่ง wdt_disable(); มาอยู่ใน void lo op จะเป็นการปิดการทำงาน Watch Dog Timer ถึงจะกดหนด Delay เกิน 2วินาที โปรแกรมก็จะไม่ Reset 3. คำสั่ง wdt_reset(); เป็นคำสั่งใช้ Reset การจับเวลาใหม่ ต้องใส่ไว้ที่ท้ายโปรแกรม
0 / 1023. 0); // บรรทัดนี้เป็นการนำค่าที่ได้ตั้งแต่ 0-1023 มาหารด้วย 1023. 0 ก็จะได้เป็นโวลต์จริงครับ // แสดงค่าที่อ่านได้ออกทางพอร์ต9600ของโปรแกรมนั่นเองครับ intln(voltage);} วิธีใช้งานจริง เมื่อเพื่อนๆ Burn โปรแกรมเข้าไปยังบอร์ด Arduino เรียบร้อยแล้วให้หาแหล่งจ่าย 0-5 โวลต์ หรือถ่าน AA 1. 5 โวลต์ถ่านรีโหมด มาทดสอบโปรแกรม โดยต่อขั้วลบ[-] เข้ากับกราวด์ของบอร์ด และขั้วบวก[+] เข้ากับ ขาPIN A0 จากนั้นสามารถอ่านค่าได้จากโปรแกรมโดยกด[Serial Monitor]ดังรูปข้างล่างครับ เมื่อกดแล้วก็จะขึ้นหน้าต่างแสดงแรงดันขึ้นมาเองครับ **อย่าลืมต่อสาย USB ระหว่างบอร์ดกับคอมด้วยหล่ะครับ
AT+ROLE=0 (ค่าโหมด 0 = SLAVE 1= MASTER ตรวจ AT+ROLE? ) AT+ADDR? (ค้นหาค่า Mac ของ Bt= 98d3:32:311670) ให้ MASTER เป็นตัวส่งข้อมูล โดยการเซ็ทค่าดังนี้ AT+ORGL AT+RMAAD AT+NAME=MMDVM_MASTER AT+UART=9600, 0, 0 AT+PSWD=8888 AT+ROLE=1 AT+CMODE=1 ##### เสียบไฟ SLAVE. ใช้คำสั่งค้นหา ##### AT+INIT AT+INQ AT+LINK=98d3, 32, 311, 670 (เอาค่า Mac ของ SLAVE ที่หาไว้มาใส่) เราก็จะได้ Bluetooth ตัวรับ-ส่งข้อมูลมาใช้ในการเชื่อมต่อข้อมูลสำหรับเครื่องรับส่งวิทยุในระบบ Digital ใช้ส่งข้อมูลของจอไร้สาย หรือส่งค่าพิกัดของ GPS มายังวิทยุรับส่งแบบไร้สาย เป็นต้น สำหรับ Bluetooth GPS นั้นจะต้องเซ็ท AT+UART=4800, 0, 0 สำหรับ Bluetooth Nextion Monitor นั้นจะต้องเซ็ท AT+UART=9600, 0, 0 ถ้าใช้ Port /dev/ttyUSB0 ต้องต่อผ่าน USB to TTL แต่ถ้าต่อ Port Modem หรือ /dev/ttyAMA0 สามารถต่อได้โดยตรง TX -> RX และ RX -> TX เท่านั้น
สิ่งสำคัญที่สามารถผิดพลาดได้คือถ้าคุณวาง Arduino ไว้สองสามสัปดาห์ลืมว่ามีร่างอะไร (รหัส) โหลดลงไปจากนั้นกลับมาทำงานอีกครั้งเสียบปลั๊กฮาร์ดแวร์ (เช่นสวิตช์ไฟ LED หรือมอเตอร์) และให้มันสว่างขึ้น / เปิดโดยไม่คาดคิดเพราะรหัสก่อนหน้าระบุรหัสที่เชื่อมต่อ โซลูชัน 1.
state;} lastState = reading;} เห็นว่า เมื่อเราเข้าใจปัญหา เราจะเขียนโปรแกรมได้แก้ง่ายมากๆ ผมน่าจะบอกตั้งแต่แรก ฮ่าๆ ผมเป็นพวกชอบแกล้งคนครับ ให้โดนเยอะๆ จะได้เอาไปโม้เพื่อนๆ ต่อได้ สำหรับรอบนี้ ก็คงพอจะเข้าใจวิธีการใช้ไมโคร และใช้งาน arduino เพิ่มขึ้นอีกนิดแล้ว ก็มีปัญหาไม่เข้าใจส่วนไหน ติชม หรือ comment เข้ามาได้นะครับ เจอกันโอกาสหน้า บายยย ^_^