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

งานที่ 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

วันพุธที่ 6 กุมภาพันธ์ พ.ศ. 2562

งาน 9


int led = 13;int sw = 2;int ledstatus = LOW;
void setup()
{
  Serial.begin(9600);
  pinMode(led,OUTPUT);
  pinMode(sw,INPUT);    
}
void loop()
{ 
  int x = digitalRead(sw);
  Serial.print("x = ");Serial.println(x);
  if (x==0)
  {
    delay(350);
    if (x==0)
    {
    ledstatus = !ledstatus;
    digitalWrite(led,ledstatus); 
    }
  }
}

งาน 6


void setup() {
 pinMode(13,INPUT);
 pinMode(12,INPUT);
 pinMode(7,OUTPUT);
 pinMode(5,OUTPUT);
}

void loop() {
 int A=7;
 int P=5;
     A= digitalRead(13);
     P= digitalRead(12);
 if (A==0){
 digitalWrite(7, HIGH);
 delay(500);
 }                 
 else if  (P==0) {
 digitalWrite(5, HIGH); 
  delay(500);                     
  }
else
{ digitalWrite(7, LOW);
  digitalWrite(5, LOW);
delay(500);
 }
}
งาน 8 


#include <LedControl.h>
LedControl lc=LedControl(5,7,6,1);
// Pin 5->DIN, 7->CLK, 6->CS(LOAD), 1=No.of devices
void show4digit (int num)
{
int seg1,seg2,seg3,seg4;
seg1 = ((num%1000)%100)%10;
seg2 = ((num%1000)%100)/10;
seg3 = (num%1000)/100;
seg4 = num/1000;
lc.setDigit(0,0,seg1,false);
if (num>=10)
lc.setDigit(0,1,seg2,false);
 if (num>=100)
lc.setDigit(0,2,seg3,false);
   if (num>=1000)
lc.setDigit(0,3,seg4,false);
  delay(300);
}
void setup() 
{
Serial.begin(9600);
lc.shutdown(0,false);
lc.setIntensity(0,5);
lc.clearDisplay(0);
}
void loop()
{
  int num;
  num = analogRead(A0);
  Serial.print("analogRead=");Serial.print(num);
   lc.clearDisplay(0);
   show4digit(num);
}
  

งานที่ 7
  

code: 
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
void setup() {
pinMode(0, INPUT); 
pinMode(1, INPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
lcd.begin(16,2);
}
void loop() {
int x=digitalRead(0);
int y=digitalRead(1);
if(x==0)
{
digitalWrite(8, HIGH); 
lcd.setCursor(0,1);
lcd.print("button 1 ");
digitalWrite(8,LOW);
}
if(y==0)
{
digitalWrite(9, HIGH); 
lcd.setCursor(0,1);
lcd.print("button 2 ");
digitalWrite(9,LOW); 
}
}

วันพุธที่ 2 มกราคม พ.ศ. 2562






int led = 10;
void setup()
{
  Serial.begin(9600);
  pinMode(led,OUTPUT);
}
void loop()
{
 int x,y;
 x = analogRead(A0);
 y = map(x,0,1023,0,255);
 Serial.print("x = ");Serial.println(x);
 Serial.print("y = ");Serial.println(y);
 analogWrite(led,y);
}
อธิบาย : 

























วันเสาร์ที่ 22 ธันวาคม พ.ศ. 2561

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

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

    Arduino วัดอุณหภูมิและความชื้นด้วย DHT11


ผลการค้นหารูปภาพสำหรับ วงจรarduino พร้อมโค้ด

DHT11 มีทั้งหมดอยู่ 4 ขา คือ
ลำดับ
ขาใช้งาน
1
VCC
2 
DATA
3 
NC
4 
GND
DHT11 จะใช้วิธีการส่งข้อมูลให้กับไมโครคอนโทรลเลอร์ด้วยสายเพียงเส้นเดียวในแบบของดิจิตอลลอจิก
/* IOXhop - www.ioxhop.com */
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
   Serial.begin(9600); 
   Serial.println("DHTxx test!");
   dht.begin();
}
void loop() {
   float h = dht.readHumidity();
   float t = dht.readTemperature();
   float f = dht.readTemperature(true);
   if (isnan(h) || isnan(t) || isnan(f)) {
     Serial.println("Failed to read from DHT sensor!");
   return;
   }

   float hi = dht.computeHeatIndex(f, h);

   Serial.print("Humidity: "); 
   Serial.print(h);
   Serial.print(" %\t");
   Serial.print("Temperature: "); 
   Serial.print(t);
   Serial.print(" *C ");
   Serial.print(f);
   Serial.print(" *F\t");
   Serial.print("Heat index: ");
   Serial.print(hi);
   Serial.println(" *F");  
   delay(2000);
}
อ้างอิง : https://www.ioxhop.com/article/16/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89-arduino-%E0%B8%A7%E0%B8%B1%E0%B8%94%E0%B8%AD%E0%B8%B8%E0%B8%93%E0%B8%AB%E0%B8%A0%E0%B8%B9%E0%B8%A1%E0%B8%B4%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%8A%E0%B8%B7%E0%B9%89%E0%B8%99%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-dht11?fb_comment_id=1076102462486764_1573223679441304