วันศุกร์ที่ 19 กุมภาพันธ์ พ.ศ. 2564
เซนเซอร์ตรวจจับสิ่งแวดล้อมและแจ้งเตือนเข้ามือถือ
ควบคุมมอเตอร์และหลอดไฟ ผ่านมือถือ
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define ON LOW
#define OFF HIGH
char auth[] = "M-Ee2Vubx7Pf5DbN8_5SFvSAjkSCNB_0";
char ssid[] = "";
char pass[] = "";
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, "Audom","audomidea2019");
}
void loop()
{
Blynk.run();
}
ควบคุมมอเตอร์/เซอโว และ หลอดไฟ ด้วย Butthon
const int buttonPin = 2;
int buttonState = 0;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
} else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
เขียนคำสั่ง SERVO
#include <Servo.h>
Servo myservo;
void setup() {
myservo.attach(A0);
}
void loop() {
myservo.write(0);
delay(1000);
myservo.write(90);
delay(1000);
}
เขียนคำสั่ง LED
const int LED = 3;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, HIGH);
}
วันศุกร์ที่ 5 กุมภาพันธ์ พ.ศ. 2564
การส่งตำแหน่ง GPS ของอุปกรณ์เข้ามือถือ
อุกรณ์
1. NodeMcu ESP8266
2.GPS Module GY-NEO6MV2 Ublox
โค้ด
#include "TinyGPS++.h"
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define BLYNK_PRINT Serial
char auth[] = "M-Ee2Vubx7Pf5DbN8_5SFvSAjkSCNB_0";
char ssid[] = "MR DOM";
char pass[] = "audomidea2019";
BlynkTimer timer;
TinyGPSPlus gps;
void setup()
{
Serial.begin(9600);
Serial.println("GPS Start");
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, sendGPS);
}
String lat_ ;
String lon_ ;
int speed_ = 0 ;
int Index1 = 0;
void sendGPS()
{
Blynk.virtualWrite(V1, Index1, lat_, lon_, "value");
Blynk.virtualWrite(V2, speed_);
}
void loop()
{
Blynk.run();
timer.run();
while(Serial.available())
{
gps.encode(Serial.read());
}
if(gps.location.isUpdated())
{
lat_ = String(gps.location.lat(),6);
lon_ = String(gps.location.lng(),6);
speed_ = gps.speed.mph() ;
Serial.println("Latitude:");
Serial.println(lat_);
Serial.println("Longitude:");
Serial.println(gps.location.lng(), 6);
Serial.println("Speed MPH:");
Serial.println(gps.speed.mph());
Serial.println("");
}
}
โค้ด
#include "TinyGPS++.h"
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define BLYNK_PRINT Serial
char auth[] = "M-Ee2Vubx7Pf5DbN8_5SFvSAjkSCNB_0";
char ssid[] = "MR DOM";
char pass[] = "audomidea2019";
BlynkTimer timer;
TinyGPSPlus gps;
void setup()
{
Serial.begin(9600);
Serial.println("GPS Start");
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, sendGPS);
}
String lat_ ;
String lon_ ;
int speed_ = 0 ;
int Index1 = 0;
void sendGPS()
{
Blynk.virtualWrite(V1, Index1, lat_, lon_, "value");
Blynk.virtualWrite(V2, speed_);
}
void loop()
{
Blynk.run();
timer.run();
while(Serial.available())
{
gps.encode(Serial.read());
}
if(gps.location.isUpdated())
{
lat_ = String(gps.location.lat(),6);
lon_ = String(gps.location.lng(),6);
speed_ = gps.speed.mph() ;
Serial.println("Latitude:");
Serial.println(lat_);
Serial.println("Longitude:");
Serial.println(gps.location.lng(), 6);
Serial.println("Speed MPH:");
Serial.println(gps.speed.mph());
Serial.println("");
}
}
การวัดอุณหภูมิและความชื้น
อุปกรณ์
1.NodeMcu V3 CH340 Lua WIFI ESP8266-12E
2.DHT11 เซ็นเซอร์วัดอุณหภูมิและความชื้น พร้อม PCB แถมสายไฟ
โค้ด
#include "DHT.h"
DHT dht;
void setup()
{
Serial.begin(9600);
Serial.println();
Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)");
dht.setup(2);
}
void loop()
{
delay(dht.getMinimumSamplingPeriod());
float humidity = dht.getHumidity();
float temperature = dht.getTemperature();
Serial.print(dht.getStatusString());
Serial.print("\t");
Serial.print(humidity, 1);
Serial.print("\t\t");
Serial.print(temperature, 1);
Serial.print("\t\t");
Serial.println(dht.toFahrenheit(temperature), 1);
delay(1000);
}
-----------------------------------------------------------------------------
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include "DHT.h"
DHT dht;
char auth[] = "M-Ee2Vubx7Pf5DbN8_5SFvSAjkSCNB_0";
char ssid[] = "MR DOM";
char pass[] = "audomidea2019";
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
Serial.println();
Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)");
dht.setup(D4);
}
void loop()
{
delay(dht.getMinimumSamplingPeriod());
float humidity = dht.getHumidity(); // ดึงค่าความชื้น
float temperature = dht.getTemperature(); // ดึงค่าอุณหภูมิ
Serial.print(dht.getStatusString());
Serial.print("\t");
Serial.print(humidity, 1);
Serial.print("\t\t");
Serial.print(temperature, 1);
Serial.print("\t\t");
Serial.println(dht.toFahrenheit(temperature), 1);
Blynk.run();
delay(100);
Blynk.virtualWrite(V0, temperature);
Blynk.virtualWrite(V1, humidity);
}
ใช้งาน NodeMCU ESP8266 วัดความเข้มแสงด้วยเซ็นเซอร์ GY-302 BH1750FVI
อุปกรณ์
วิธีต่อ
- Vin -> Vcc
- GND -> GND
- SDA -> D2
- SCL -> D1
โค้ด
วันอังคารที่ 2 กุมภาพันธ์ พ.ศ. 2564
การติดตั้งโปรแกรม Arudino IDE + เพิ่ม ESP8266
1.ดาวน์โหลด ArduinoIDE + เพิ่ม ESP8266
https://www.arduino.cc/en/Main/OldSoftwareReleases#previous
2.เลือกระบบปฏิบัติการของเครื่องคอมพิวเตอร์ที่ท่านจะใช้ในการเขียนโปรแกรม Arduino
3.กด JUST DOWNLOAD
4.ดับเบิ้ลคลิกที่ไฟล์ arduino.exe เพื่อเปิดโปรแกรม Arduino IDE
5.เปิดโปรแกรมขึ้นมา ในหน้าต่างโปรแกรม Arduino IDE คลิกไปที่เมนู File -> Preferences เพื่อติดตั้งบอร์ด NodeMCU/ESP8266 แบบออนไลน์
6.เพิ่ม http://arduino.esp8266.com/stable/package_esp8266com_index.json ลงในช่อง Additional Boards Manager URLs ดังภาพ
7.คลิกไปที่เมนู Tools -> Board -> Board Manager
8.พิมพ์คำว่า ESP8266 ลงในช่อง และเริ่มต้นติดตั้งดังภาพ
>>เสียบบอร์ด NodeMCU/ESP8266 เข้ากับคอมพิวเตอร์และตรวจสอบพอตเชื่อมต่อ<<
>>โหลดไดร์เวอร์พอต <<
>> ทดสอบด้วยการเขียนโค้ดให้หลอดไฟ
LED บนบอร์ด NodeMCU ESP8266 กระพริบ <<