Sari la conținut
ELFORUM - Forumul electronistilor

Arduino 433mhz


Vizitator R3dD3vil

Postări Recomandate

Vizitator R3dD3vil

Buna ziua, doresc sa realizez un termostat wireless folosind un set TX-RX in 433mhz, lcd 20x4 si senzor analogic LM35DZ, toate bune si frumoase pana adaug codul pentru transmitere in sketch, pentru transmitere folosesc libraria VIRTUALWIRE, pana acum nu am mai folosit aceasta librarie si cred ca ceva scartie in codul meu, ideea e ca fara partea de trimitere, tx, totul lucreaza ok, se afiseaza perfect  pe lcd, dupa introducere cod pentru transmitere se afiseaza asa: https://www.youtube.com/watch?v=KYcW1vQtF_8

 

 

atasez si codu sursa din sketch-ul pentru TX:

#include <EEPROM.h>#include <LiquidCrystal.h>#include <VirtualWire.h>int tempPin = A0;int led =13;float temp;float settemp;int swtu = 6;int swtd = 7;const int transmit_pin = 12;char *control;LiquidCrystal lcd(10, 11, 5, 4, 3, 2);void setup() {    pinMode (led, OUTPUT);    pinMode (tempPin, INPUT);    pinMode (swtu, INPUT);    pinMode (swtd, INPUT);    vw_setup(4000);    vw_set_tx_pin(transmit_pin);    vw_set_ptt_inverted(true);        lcd.begin(20, 4);     lcd.setCursor(0,0);     lcd.print("********************");    lcd.print("*    LOADING...    *");    lcd.print("*TERMOSTAT WIRELESS*");    lcd.print("********************");    delay(5000);    lcd.clear();    EEPROM.read (1);}void loop() {    float tvalue = analogRead(tempPin);  float mv = (tvalue/1024.0)*5000;  temp = (mv / 10);  lcd.setCursor(13,0);  lcd.print(temp);  lcd.print((char)223);  lcd.print("C");    settemp = EEPROM.read(1);  delay (250);    if (digitalRead(swtu)== 1 )  {    settemp ++;  }else{}if (digitalRead (swtd) == 1){  (settemp --); }else {}if (temp < settemp){  digitalWrite (led, 1);   lcd.setCursor (0,1);  lcd.print ("  Centrala Pornita  ");  control="1";  vw_send((uint8_t*)control, strlen(control));  vw_wait_tx();   delay(2000);}else{  digitalWrite (led,0);  lcd.setCursor (0,1);  lcd.print ("  Centrala Oprita   ");  control="0";  vw_send((uint8_t*)control, strlen(control));  vw_wait_tx();   delay(2000);}  lcd.setCursor (0,0);  lcd.print ("Set:");  lcd.print (settemp);  lcd.print((char)223);  lcd.print("C");  lcd.print("|");EEPROM.write (1,settemp);delay (250); } 
Link spre comentariu
  • Răspunsuri 2
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • nico_2010

    1

Top autori în acest subiect

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări