บทความ

กำลังแสดงโพสต์จาก กรกฎาคม, 2021

NodeMCU ESP8266 สัปดาห์ที่ 7

รูปภาพ
  NodeMCU ESP8266 เชื่อมต่อ ส่งข้อมูลกับ Arduino แบบ I2C หลายตัว NodeMCU ESP8266 ส่งข้อมูลหา Arduino แบบ I2c โดยใช้สายส่งข้อมูล 2 เส้น การส่งข้อมูลแบบ I2c เป็นการส่งข้อมูลแบบขนาน อุปกรณ์หลายๆตัวจะต่อขนานกัน จะอ้างอิง address ตำแหน่งของอุปกรณ์ก่อนส่งข้อมูล ในบทความนี้ จะสั่งงานให้ NodeMCU ESP8266 ตัวที่1 ส่งค่าสั่งงานไปให้ Arduino ตัวที่ 2 เปิดปิดไฟ LED  และ ส่งค่าสั่งงานไปให้ NodeMCU ESP8266 ตัวที่ 3 เปิดปิดไฟ LED  Arduino UNO R3 ขา I2c จะอยู่ที่ A4 A5   NodeMCU ESP8266  ขา I2c จะ อยู่ที่ D1=SCL , D2=SDA โค๊ด1  กำหนดให้ NodeMCU ESP8266 ตัวที่ 1 เป็นตัวส่งข้อมูล อัพโหลดโค้ดด้านล่างลง NodeMCU ESP8266 ตัวที่ 1 // NodeMCU ตัวที่ 1 ใช้ส่งข้อมูลหา Arduino ตัวที่ 2 และ Arduino ตัวที่ #include <Wire.h> int Ledoff = 0; int Ledon = 1; int slaveAddress2 = 9; int slaveAddress3 = 10; void setup() { Wire.begin(); // join i2c bus (address optional for master) Serial.begin( 9600 ); // start serial for output } void loop() { Serial.pri...

NodeMCU ESP8266 สัปดาห์ที่ 6

รูปภาพ
   ESP8266 เซ็นเซอร์วัดระยะทาง HY-SRF05 Ultrasonic Ultrasonic Module HY-SRF05 เป็นโมดูลวัดระยะ สามารถวัดได้ตั้งแต่  2cm - 4.5m  โค๊ด const int pingPin = 5 ; // D1 int inPin = 4 ; // D2 int led = 16 ; // D0 void setup () { pinMode (led, OUTPUT); digitalWrite (led, LOW); Serial. begin ( 9600 ); } void loop () { long duration, cm; pinMode (pingPin, OUTPUT); digitalWrite (pingPin, LOW); delayMicroseconds ( 2 ); digitalWrite (pingPin, HIGH); delayMicroseconds ( 5 ); digitalWrite (pingPin, LOW); pinMode (inPin, INPUT); duration = pulseIn (inPin, HIGH); cm = microsecondsToCentimeters (duration); Serial. print (cm); Serial. print ( " cm " ); Serial. println (); if (cm < 10 ) { digitalWrite (led, HIGH); } else { digitalWrite (led, LOW); } delay ( 100 ); } long microsecondsToCentimeters ( long microseconds) { // The speed of sound is 340 m/s or 29 microseconds per centimeter. // The ping travels out and back, so to find the distance o...