Discuz! Board

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 186|ตอบกลับ: 0

dust+oled

[คัดลอกลิงก์]

4

กระทู้

5

โพสต์

77

เครดิต

Member

Rank: 2

เครดิต
77

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <TridentTD_LineNotify.h>

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET LED_BUILTIN  //4
Adafruit_SSD1306 display(OLED_RESET);

int dustPin=A0;
int dustVal=0;
int ledPower=D5;
int delayTime=280;
int delayTime2=40;
float offTime=9680;
float dustdisplay=0;

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "IoT99";  //ชื่อ wifi
char pass[] = "iot0837286389"; //รหัสผ่าน wifi
#define LINE_TOKEN  "0H04J4JwCSmYtXNXitrHsFNXiMk0yC8WBN23UqlyPM6"    //Token ที่ได้จากการสมัคร ID Line

void setup(){
  Serial.begin(9600);
  pinMode(ledPower,OUTPUT);
  pinMode(4, OUTPUT);
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

// กำหนด Line Token
  WiFi.begin(ssid, pass);
  Serial.print("connecting");

  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println();
  Serial.print("connected: ");
  Serial.println(WiFi.localIP());

  Serial.println(LINE.getVersion());    //อ่านค่า version ของ line
  LINE.setToken(LINE_TOKEN);

  // Clear the buffer.
  display.clearDisplay();
  display.display();

  display.setTextSize(1);
  display.setTextColor(WHITE);
}

void loop(){// ledPower is any digital pin on the arduino connected to Pin 3 on the sensor
  digitalWrite(ledPower,LOW);// power on the LED
  delayMicroseconds(delayTime);
  dustVal=analogRead(dustPin);// read the dust value via pin 5 on the sensor
  delayMicroseconds(delayTime2);
  digitalWrite(ledPower,HIGH);// turn the LED off
  delayMicroseconds(offTime);
  display.clearDisplay();
  display.setCursor(0,0);
  display.println("Dust Capacity ug/m3)");
  display.print(dustVal*0.5*1000/1024);
  display.println(" ug/m3");
  display.display();

  delay(3000);
  Serial.print(dustVal);
  Serial.print("   ");
  Serial.println(dustVal*0.5*1000/1024);
  dustdisplay = dustVal*0.5*1000/1024;
  if (dustdisplay>250) {
    LINE.notify("ฝุ่นควันเกินค่ามาตรฐาน");
    LINE.notify(String(dustdisplay)+"ug/m3");
  } else {

  }

}
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|IoT Inc.

GMT+7, 2020-10-21 09:32 , Processed in 1.050085 second(s), 26 queries .

Powered by Discuz! X3.4, Rev.60

© 2001-2019 Comsenz Inc.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้