Vizitator R3dD3vil Postat Mai 16, 2015 Partajează Postat Mai 16, 2015 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
nico_2010 Postat Mai 18, 2015 Partajează Postat Mai 18, 2015 Inverseaza astea doua linii: vw_setup(4000); vw_set_tx_pin(transmit_pin); Link spre comentariu
Vizitator Postat Mai 22, 2015 Partajează Postat Mai 22, 2015 Arunca un ochi si pe module NRF24l01+. Foarte ieftine, raza mai mare de actiune, posibilitate de criptare, bidirectional, etc . Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum