Prérequis :
Matériel :
1 x Carte Arduino Uno
1 x LCD 20×4
1 x Module I2C
1 x Module Rf 433mhz Emetteur + Récepteur
1 Led
1 Attiny85
1 Résistances 220Ω (optionnel)
1 Résistance 470KΩ
1 DHT22
1 Accu 18650
1 Batterie Shield V1.2.0 pour Wemos D1 Mini
Fils de connexion
1 x Breadboard
Version IDE :
Bibliothèque :
tinysnore.h
Manchester.h
dht.h
LiquidCrystal_I2C.h
Vidéo de démonstration :
VIDEO
Schéma de câblage de l’Emetteur :
Code :
#include <dht.h> dht DHT22; #define DHT22PIN 4 float h=0; float t=0; int transmit_t = 0; int transmit_h = 0; #include <Manchester.h> #include "tinysnore.h" // Include TinySnore Library #define NUMERO_EMETTEUR 8 // choisir un nombre entre 0 et 254, unique pour chaque émetteur du réseau #define TX_PIN 1 // broche reliée à l'émetteur 433 MHz #define datalength 4 uint8_t data[datalength]; void setup() { man.setupTransmit(TX_PIN, MAN_1200); delay(500); } void loop() { int chk = DHT22.read22(DHT22PIN); h=DHT22.humidity; t=DHT22.temperature; transmit_h=(int) h; transmit_t=(int) t; data[0] = datalength; data[1] = NUMERO_EMETTEUR; data[2] = transmit_h; data[3] = transmit_t; man.transmitArray(datalength, data); snore(500); }
Schéma de câblage du Récepteur :
Code :
#include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,20,4); #include "Manchester.h" #define RX_PIN 11 // là où est branché le récepteur 433 MHz int LED_PIN = 10; uint8_t LedOn = 1; #define BUFFER_SIZE 22 uint8_t buffer[BUFFER_SIZE]; void setup() { Serial.begin(9600); lcd.init(); lcd.backlight(); pinMode(LED_PIN, OUTPUT); man.setupReceive(RX_PIN, MAN_1200); man.beginReceiveArray(BUFFER_SIZE, buffer); } void loop() { if (man.receiveComplete()) { uint8_t receivedSize = 0; receivedSize = buffer[0]; // la taille du message se trouve dans le premier byte Serial.print("Message en provenance de l'emmeteur "); Serial.println(buffer[1]); Serial.println(buffer[2]); Serial.println(buffer[3]); man.beginReceiveArray(BUFFER_SIZE, buffer); LedOn = !LedOn; digitalWrite(LED_PIN, LedOn); lcd.setCursor(0,0); lcd.print("Temperature :"); lcd.setCursor(14,0); lcd.print(" "); lcd.setCursor(14,0); lcd.print(buffer[3]); lcd.setCursor(17,0); lcd.print((char)223); lcd.setCursor(18,0); lcd.print("C"); lcd.setCursor(0,1); lcd.print("Humidite :"); lcd.setCursor(14,1); lcd.print(" "); lcd.setCursor(14,1); lcd.print(buffer[2]); lcd.setCursor(17,1); lcd.print((char)37); } }
Nombre de vues: 749
J’aime ça : J’aime chargement…