วันอาทิตย์ที่ 17 กุมภาพันธ์ พ.ศ. 2562

งานที่ 17 ตัวอย่างงานที่ใช้โปรแกรม Arduino สปที่ 17


ตัวอย่างงานที่ใช้โปรแกรม Arduino


การใช้งาน AM2320 วัดค่า อุณหภูมิความชื่น ด้วยArduino


การใช้am2320 Arduino 2
Source code การใช้งาน AM2320 วัดค่า อุณหภูมิความชื่น ด้วยArduino
LIBRARY AM2320 : Download
#include <Wire.h>
#include <MyAM2320I2C.h>
MyAM2320I2C MyAM(0xB8 >> 1);
void setup()
{
Serial.begin(9600);
if(MyAM.isReady()) Serial.println(“AM2323 OK”);
else Serial.println(“AM2323 Fehler”);
void loop()
{
MyAM.readRaw()
Serial.println(MyAM.readHumidity());
Serial.println(MyAM.readTemp());
delay(5000);
}
 อ้างอิง :http://arduinoprojects.in.th/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-am2320-%E0%B8%A7%E0%B8%B1%E0%B8%94%E0%B8%84%E0%B9%88%E0%B8%B2-%E0%B8%AD%E0%B8%B8%E0%B8%93%E0%B8%AB%E0%B8%A0%E0%B8%B9/

งานที่ 16 ตัวอย่างงานที่ใช้โปรแกรม Arduino สปที่ 16

ตัวอย่างงานที่ใช้โปรแกรม Arduino


การใช้งาน Water Flow Sensor กับ Arduino
waterflow-sensor-arduino
ตัวอย่างโปรแกรม Water Flow Sensor กับ Arduino
volatile int flow_frequency;               // Water flow 
unsigned int l_hour,f_val;                 // Water flow  
unsigned long ctTime,flow_val,cloopTime;   // Water flow
void flow () //  Water flow Interrupt function
{
   flow_frequency++;  f_val++;
}
void setup()
{
   Serial.begin(9600);
   attachInterrupt(1, flow, RISING);  sei();   ctTime = millis();  cloopTime = ctTime; // Water flow
}
void loop ()
{
   ctTime = millis();
   if(ctTime >= (cloopTime + 1000))
   {
      cloopTime = ctTime;
      l_hour = (flow_frequency * 60 / 7.5);    
      flow_frequency = 0; 
      Serial.print(l_hour, DEC);     Serial.print(" L/hour");      
   }
   if(f_val>=450){flow_val++;f_val=0;}
   Serial.println(flow_val);Serial.println("L"); 
   
} 
อ้างอิง : http://arduinoprojects.in.th/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-water-flow-sensor-%E0%B8%81%E0%B8%B1%E0%B8%9A-arduino/ 

งานที่ 15 ตัวอย่างงานที่ใช้โปรแกรม Arduino สปที่ 15

ตัวอย่างงานที่ใช้โปรแกรม Arduino


Arduino ควบคุม DC Motor ด้วย L298

Arduino ควบคุมMotor ผ่าน L298
Source Code Arduino ควบคุม Motor ด้วย L298 Module
int IN1 = 4;
int IN2 = 5;
int IN3 = 6;
int IN4 = 7;
 
void setup()
{
 
 pinMode(IN1, OUTPUT);
 pinMode(IN2, OUTPUT);
 pinMode(IN3, OUTPUT);
 pinMode(IN4, OUTPUT);
}
 
void loop()
{
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, LOW);
 delay(2000);
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, HIGH);
 delay(500);
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, LOW);
 delay(2000);
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, HIGH);
 delay(500);
 digitalWrite(IN1, LOW);
 digitalWrite(IN2, HIGH);
 delay(2000);
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, HIGH);
 delay(500);
 digitalWrite(IN3, LOW);
 digitalWrite(IN4, HIGH);
 delay(2000);
 
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, HIGH);
 delay(500);
อ้างอิง : http://arduinoprojects.in.th/arduino-%E0%B8%84%E0%B8%A7%E0%B8%9A%E0%B8%84%E0%B8%B8%E0%B8%A1-dc-motor-%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-l298/

งานที่ 14 ตัวอย่างงานที่ใช้โปรแกรม Arduino สปที่ 14

ตัวอย่างงานที่ใช้โปรแกรม Arduino

อบรม arduino การใช้งานพื้นฐานเชื่อมต่อ labview และ IoT ง่าย


PIR Motion Sensor Detector Module HC-SR501

int pirPin = 2; //digital 2
intLedPin = 13;
void setup(){
Serial.begin(9600);
pinMode(pirPin, INPUT);
pinMode(LedPin,OUTPUT);
}
void loop(){
int pirVal = digitalRead(pirPin);
if(pirVal == LOW){ //was motion detected
digitalWrite(LedPin,HIGH);
delay(2000);
}
else
{
digitalWrite(LedPin,LOW);
}
}
อ้างอิง : http://arduinoprojects.in.th/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-pir-motion-sensor-detector-module-hc-sr501/




งานที่ 13 ตัวอย่างงานที่ใช้โปรแกรม Arduino สปที่ 13

ตัวอย่างงานที่ใช้โปรแกรม Arduino


ESP8266 / ESP8285 กับการส่งการแจ้งเตือนเข้า LINE



#include <ESP8266WiFi.h>
#include <WiFiClientSecureAxTLS.h> // กรณีขึ้น Error ให้เอาบรรทัดนี้ออก
// Config connect WiFi
#define WIFI_SSID "YOUR WIFINAME"
#define WIFI_PASSWORD "YOUR WIFIPASSWORD"
// Line config
#define LINE_TOKEN "LINE ACCESS TOKEN"
#define SW D2
String message = "โดนกด"; // ArduinoIDE เวอร์ชั่นใหม่ ๆ ใส่ภาษาไทยลงไปได้เลย
void setup() {
pinMode(SW, INPUT);
Serial.begin(9600);
WiFi.mode(WIFI_STA);
// connect to wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());
}
void loop() {
if (digitalRead(SW) == HIGH) {
while(digitalRead(SW) == HIGH) delay(10);
Serial.println("Enter !");
Line_Notify(message);
// Serial.println();
}
delay(10);
}
void Line_Notify(String message) {
axTLS::WiFiClientSecure client; // กรณีขึ้น Error ให้ลบ axTLS:: ข้างหน้าทิ้ง
if (!client.connect("notify-api.line.me", 443)) {
Serial.println("connection failed");
return;
}
String req = "";
req += "POST /api/notify HTTP/1.1\r\n";
req += "Host: notify-api.line.me\r\n";
req += "Authorization: Bearer " + String(LINE_TOKEN) + "\r\n";
req += "Cache-Control: no-cache\r\n";
req += "User-Agent: ESP8266\r\n";
req += "Connection: close\r\n";
req += "Content-Type: application/x-www-form-urlencoded\r\n";
req += "Content-Length: " + String(String("message=" + message).length()) + "\r\n";
req += "\r\n";
req += "message=" + message;
// Serial.println(req);
client.print(req);
delay(20);
// Serial.println("-------------");
while(client.connected()) {
String line = client.readStringUntil('\n');
if (line == "\r") {
break;
}
//Serial.println(line);
}
// Serial.println("-------------");
}
การทดสอบ
หลังจาก ESP8266 เชื่อมต่อ WiFi ได้แล้ว ทดลองกดสวิตซ์ จะมีข้อความว่า "โดนกด" มาปรากฏในห้องแชทของ LINE Notify เป็นอันจบการทดสอบ
อ้างอิง : https://www.ioxhop.com/article/47/esp8266-esp8285-%E0%B8%81%E0%B8%B1%E0%B8%9A%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%AA%E0%B9%88%E0%B8%87%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%81%E0%B8%88%E0%B9%89%E0%B8%87%E0%B9%80%E0%B8%95%E0%B8%B7%E0%B8%AD%E0%B8%99%E0%B9%80%E0%B8%82%E0%B9%89%E0%B8%B2-line