|
#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"
#include <WiFi.h>
#include <WiFiClient.h>
#include <TridentTD_LineNotify.h>
#define trigPin 18
#define echoPin 19
#define relayPin 17
#define ledpin 13
Adafruit_8x16minimatrix matrix = Adafruit_8x16minimatrix();
// 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() {
matrix.begin(0x70);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledpin, OUTPUT);
pinMode(relayPin,OUTPUT);
Serial.begin(9600);
Serial.println(LINE.getVersion()); //อ่านค่า version ของ line
// กำหนด 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());
LINE.setToken(LINE_TOKEN);
digitalWrite(relayPin,HIGH);
}
static const uint8_t PROGMEM
smile_bmp[] =
{ B00111100,
B01000010,
B10100101,
B10000001,
B10100101,
B10011001,
B01000010,
B00111100 },
neutral_bmp[] =
{ B00111100,
B01000010,
B10100101,
B10000001,
B10111101,
B10000001,
B01000010,
B00111100 },
frown_bmp[] =
{ B00111100,
B01000010,
B10100101,
B10000001,
B10011001,
B10100101,
B01000010,
B00111100 };
void loop() {
matrix.setRotation(1);
matrix.setTextSize(1);
matrix.setTextWrap(false);
matrix.setTextColor(LED_ON);
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
String disp = String(50-distance);
Serial.print(disp);
Serial.println(" cm");
if ((50-distance)>=30) {
digitalWrite(relayPin,LOW);
digitalWrite(ledpin,HIGH);
LINE.notify("น้ำล้นแล้ว "+disp+" cm");
} else {
digitalWrite(relayPin,HIGH);
}
for (int8_t x=7; x>=-75; x--) {
matrix.clear();
matrix.setCursor(x,0);
matrix.print(disp);
matrix.print(" cm");
matrix.writeDisplay();
delay(100);
}
matrix.setRotation(1);
}
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 of the
// object we take half of the distance travelled.
return microseconds / 29 / 2;
}
|
|