Jump to content
ELFORUM - Forumul electronistilor

gabitzu2006

Membru activ
  • Posts

    448
  • Joined

  • Last visited

About gabitzu2006

  • Birthday 09/22/1981

Recent Profile Visitors

446 profile views

gabitzu2006's Achievements

Proficient

Proficient (10/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

  1. acum pare sa functioneze, cu o mica exceptie: led5 (de la pin 8) nu se aprinde daca apas butonul 5 pe telecomanda, insa daca rulez prin led-uri, se aprinde. partea cu idx8 si 9 functioneaza. LE Am introdus si case7, acum functioneaza! ar mai fi de adaugat partea cu pushbutoane sau cu encoder.... #include <IRremote.h> #define NR_TOTAL_IESIRI 7 #define NR_IESIRI_UP_DOWN 5 int RECV_PIN = 2; // the pin where you connect the output pin of sensor int relay1 = 4; // releu 1 int relay2 = 5; // releu 2 int relay3 = 6; // releu 3 int relay4 = 7; // releu 4 int relay7 = 8; // releu 5 int relay8 = 10; //releu activat cat butonul dreapta e apasat(volume down) int relay9 = 9; //releu activat cat butonul stanga e apasat(volume up) int idxRel8 = 5; int idxRel9 = 6; int relayPins[] = {relay1, relay2, relay3, relay4, relay7, relay8, relay9}; //array with all the relays' pins int relayStates[] = {0,0,0,0,0,0,0}; //the initial state of relays unsigned long iRepeatCounter = 0; #define code1 16753245 // code received from button no. 1 #define code2 16736925 // code received from button no. 2 #define code3 16769565 // code received from button no. 3 #define code4 16720605 // code received from button no. 4 #define code5 16718055 // cod pt up #define code6 16730805 // cod pt down #define code7 16712445 // code received from button no. 5 #define code8 16734885 // code dreapta (dreapta/volume down) #define code9 16716015 // cod stanga (stanga/volume up) IRrecv irrecv(RECV_PIN); decode_results results; bool bRecRepeat = false; void setup() { Serial.begin(115200); irrecv.enableIRIn(); // Start the receiver for(uint8_t i = 0; i < NR_TOTAL_IESIRI; ++i){ pinMode(relayPins[i], OUTPUT); // pinMode (9, OUTPUT); digitalWrite(relayPins[i], LOW); } delay(5); } void loop() { static int idx = -1; //index iesire if (irrecv.decode(&results)) { unsigned long value = results.value; // Serial.print("Code = "); // Serial.print(value); iRepeatCounter = millis(); switch(value) { case code1: idx = 0; //prima iesire, relayStates[idx] ^= 1; //inverseaza starea break; case code2: idx = 1; relayStates[idx] ^= 1; break; case code3: idx = 2; relayStates[idx] ^= 1; break; case code4: idx = 3; relayStates[idx] ^= 1; break; case code7: idx = 4; relayStates[idx] ^= 1; break; case code5: //up idx++; // selecteaza urmatoarea iesire idx %= NR_IESIRI_UP_DOWN; //daca e 4, ia-o de la capat relayStates[idx] = 1; //fa iesirea 1 break; case code6: //down idx--; //selecteaza iesirea precedenta if(idx < 0){ //daca e negativa, ia-o pe cea mai mare idx = NR_IESIRI_UP_DOWN - 1; } relayStates[idx] = 1; //fa iesirea 1 break; case code8: relayStates[idxRel8] = HIGH; bRecRepeat = true; // Serial.print(" code8 "); break; case code9: relayStates[idxRel9] = HIGH; bRecRepeat = true; // Serial.print(" code9 "); break; case REPEAT : bRecRepeat = true; // Serial.print(" repeat "); break; default : bRecRepeat = false; } //switch // Serial.print(" idx = "); // Serial.println(idx); if((value != code8) && (value != code9) && (value != REPEAT)){ bRecRepeat = false; relayStates[idxRel8] = LOW; digitalWrite(relayPins[idxRel8], LOW); relayStates[idxRel9] = LOW; digitalWrite(relayPins[idxRel9], LOW); for(uint8_t i = 0; i < NR_IESIRI_UP_DOWN; ++i){ // modifica iesirea in functie de testele anterioare. if(i == idx){ digitalWrite(relayPins[i], relayStates[i]); } else { digitalWrite(relayPins[i], LOW); } } //for } //if(value != code9 irrecv.resume(); // Receive the next value } //if (irrecv.decode(&results)) if(bRecRepeat){ if(relayStates[idxRel8]){ digitalWrite(relayPins[idxRel8], HIGH); // Serial.println("tin apasat 8"); } else if (relayStates[idxRel9]) { digitalWrite(relayPins[idxRel9], HIGH); // Serial.println("tin apasat 9"); } } else { digitalWrite(relayPins[idxRel8], LOW); relayStates[idxRel8] = LOW; digitalWrite(relayPins[idxRel9], LOW); relayStates[idxRel9] = LOW; // Serial.println("sting 8 si 9"); } if((millis() - iRepeatCounter) > 120){ //mai mult de 120 ms de la ultimul cod receptionat => clear repeat bRecRepeat = 0; // Serial.println("nici un buton apasat"); } delay(10); } //loop
  2. tot asa...aceleasi simptome #include <IRremote.h> #define NR_TOTAL_IESIRI 7 #define NR_IESIRI_UP_DOWN 5 int RECV_PIN = 2; // the pin where you connect the output pin of sensor int relay1 = 4; // releu 1 int relay2 = 5; // releu 2 int relay3 = 6; // releu 3 int relay4 = 7; // releu 4 int relay7 = 8; // releu 5 int relay9 = 9; //releu activat cat butonul stanga e apasat(volume up) int relay8 = 10; //releu activat cat butonul dreapta e apasat(volume down) int idxRel9 = 6; int idxRel8 = 5; int relayPins[] = {relay1, relay2, relay3, relay4, relay7, relay8, relay9}; //array with all the relays' pins int relayStates[] = {0,0,0,0,0,0,0}; //the initial state of relays unsigned long iRepeatCounter = 0; #define code1 16753245 // code received from button no. 1 #define code2 16736925 // code received from button no. 2 #define code3 16769565 // code received from button no. 3 #define code4 16720605 // code received from button no. 4 #define code7 16712445 // code received from button no. 5 #define code5 16718055 // cod pt up #define code6 16730805 // cod pt down #define code9 16716015 // cod stanga (stanga/volume up) #define code8 16734885 // code dreapta (dreapta/volume down) IRrecv irrecv(RECV_PIN); decode_results results; bool bRecRepeat = false; void setup() { Serial.begin(115200); irrecv.enableIRIn(); // Start the receiver for(uint8_t i = 0; i < NR_TOTAL_IESIRI; ++i){ pinMode(relayPins[i], OUTPUT); // pinMode (9, OUTPUT); digitalWrite(relayPins[i], LOW); } delay(5); } void loop() { static int idx = -1; //index iesire if (irrecv.decode(&results)) { unsigned long value = results.value; // Serial.print("Code = "); // Serial.print(value); iRepeatCounter = millis(); switch(value) { case code1: idx = 0; //prima iesire, relayStates[idx] ^= 1; //inverseaza starea break; case code2: idx = 1; relayStates[idx] ^= 1; break; case code3: idx = 2; relayStates[idx] ^= 1; break; case code4: idx = 3; relayStates[idx] ^= 1; break; case code7: idx = 4; relayStates[idx] ^= 1; break; case code5: //up idx++; // selecteaza urmatoarea iesire idx %= NR_IESIRI_UP_DOWN; //daca e 4, ia-o de la capat relayStates[idx] = 1; //fa iesirea 1 break; case code6: //down idx--; //selecteaza iesirea precedenta if(idx < 0){ //daca e negativa, ia-o pe cea mai mare idx = NR_IESIRI_UP_DOWN - 1; } relayStates[idx] = 1; //fa iesirea 1 break; case code9: relayStates[idxRel9] = HIGH; bRecRepeat = true; Serial.println(" code9 "); break; case code8: relayStates[idxRel8] = HIGH; bRecRepeat = true; Serial.println(" code8 "); break; case REPEAT : bRecRepeat = true; // Serial.print(" repeat "); break; default : bRecRepeat = false; } //switch // Serial.print(" idx = "); // Serial.println(idx); if((value != code9) && (value != REPEAT)){ bRecRepeat = false; relayStates[idxRel9] = LOW; digitalWrite(relayPins[idxRel9], LOW); if((value != code8) && (value != REPEAT)){ bRecRepeat = false; relayStates[idxRel8] = LOW; digitalWrite(relayPins[idxRel8], LOW); for(uint8_t i = 0; i < NR_IESIRI_UP_DOWN; ++i){ // modifica iesirea in functie de testele anterioare. if(i == idx){ digitalWrite(relayPins[i], relayStates[i]); } else { digitalWrite(relayPins[i], LOW); } } //for } //if(value != code9 irrecv.resume(); // Receive the next value } //if (irrecv.decode(&results)) if(relayStates[idxRel9] && bRecRepeat){ digitalWrite(relayPins[idxRel9], HIGH); // Serial.println("tin apasat 9"); } else { digitalWrite(relayPins[idxRel9], LOW); relayStates[idxRel9] = LOW; // Serial.println("sting 9"); if(relayStates[idxRel8] && bRecRepeat){ digitalWrite(relayPins[idxRel8], HIGH); // Serial.println("tin apasat 8"); } else { digitalWrite(relayPins[idxRel8], LOW); relayStates[idxRel8] = LOW; // Serial.println("sting 8"); } if((millis() - iRepeatCounter) > 120){ //mai mult de 120 ms de la ultimul cod receptionat => clear repeat bRecRepeat = 0; // Serial.println("nici un buton apasat"); } delay(10); } } } //loop multumesc pentru interventie! in alta ordine de idei, in cele din urma as vrea sa adaug si un encoder sau doua push-butoane ca sa ”navighez” printre sursele de semnal (releele 1-5). Deocamdata sa reusesc sa trec de code 8 asta..
  3. Am gasit azi un proiect interesant, care face cam ce vreau eu. Nu am inteles de ce a fost nevoie sa foloseasca un ESP. Am incercat sa pun codul pe arduino, insa imi da eroare la compilare (ceva legat de biblioteca EEPROM). Chiar daca ar fi functionat codul, tot as mai fi avut nevoie de control pentru volum, deci codul ar fi trebuit modificat... Pun aici linkul: https://www.muffsy.com/muffsy-relay-input-selector-4.html
  4. Va salut! Imi cer scuze ca nu am mai avut timp de proiect si postez abia acum. Am incercat sa modific codul cum a spus colegul mai sus, dar nu mi-a iesit. Montajul se comporta in felul urmator: orice buton apas, se aprinde led-ul corespunzator, insa apoi montajul nu mai reactioneaza deloc (led-ul respectiv ramane aprins). Comanda corespunzatoare code 8 nu face nimic, doar blocheaza montajul. In serial monitor, cand apas butonul corespunzator code 9, imi apare in continuu code 9. Cand apas butonul pentru code 8, imi apare o singura data code8. atasez codul pe care l-am incercat. #include <IRremote.h> #define NR_TOTAL_IESIRI 7 #define NR_IESIRI_UP_DOWN 5 int RECV_PIN = 2; // the pin where you connect the output pin of sensor int relay1 = 4; // releu 1 int relay2 = 5; // releu 2 int relay3 = 6; // releu 3 int relay4 = 7; // releu 4 int relay7 = 8; // releu 5 int relay9 = 9; //releu activat cat butonul stanga e apasat(volume up) int relay8 = 10; //releu activat cat butonul dreapta e apasat(volume down) int idxRel9 = 7; int idxRel8 = 7; int relayPins[] = {relay1, relay2, relay3, relay4, relay7, relay8, relay9}; //array with all the relays' pins int relayStates[] = {0,0,0,0,0,0,0}; //the initial state of relays unsigned long iRepeatCounter = 0; #define code1 16753245 // code received from button no. 1 #define code2 16736925 // code received from button no. 2 #define code3 16769565 // code received from button no. 3 #define code4 16720605 // code received from button no. 4 #define code7 16712445 // code received from button no. 5 #define code5 16718055 // cod pt up #define code6 16730805 // cod pt down #define code9 16716015 // cod stanga (stanga/volume up) #define code8 16734885 // code dreapta (dreapta/volume down) IRrecv irrecv(RECV_PIN); decode_results results; bool bRecRepeat = false; void setup() { Serial.begin(115200); irrecv.enableIRIn(); // Start the receiver for(uint8_t i = 0; i < NR_TOTAL_IESIRI; ++i){ pinMode(relayPins[i], OUTPUT); // pinMode (9, OUTPUT); digitalWrite(relayPins[i], LOW); } delay(5); } void loop() { static int idx = -1; //index iesire if (irrecv.decode(&results)) { unsigned long value = results.value; // Serial.print("Code = "); // Serial.print(value); iRepeatCounter = millis(); switch(value) { case code1: idx = 0; //prima iesire, relayStates[idx] ^= 1; //inverseaza starea break; case code2: idx = 1; relayStates[idx] ^= 1; break; case code3: idx = 2; relayStates[idx] ^= 1; break; case code4: idx = 3; relayStates[idx] ^= 1; break; case code7: idx = 4; relayStates[idx] ^= 1; break; case code5: //up idx++; // selecteaza urmatoarea iesire idx %= NR_IESIRI_UP_DOWN; //daca e 4, ia-o de la capat relayStates[idx] = 1; //fa iesirea 1 break; case code6: //down idx--; //selecteaza iesirea precedenta if(idx < 0){ //daca e negativa, ia-o pe cea mai mare idx = NR_IESIRI_UP_DOWN - 1; } relayStates[idx] = 1; //fa iesirea 1 break; case code9: relayStates[idxRel9] = HIGH; bRecRepeat = true; Serial.println(" code9 "); break; case code8: relayStates[idxRel8] = HIGH; bRecRepeat = true; Serial.println(" code8 "); break; case REPEAT : bRecRepeat = true; // Serial.print(" repeat "); break; default : bRecRepeat = false; } //switch // Serial.print(" idx = "); // Serial.println(idx); if((value != code9) && (value != REPEAT)){ bRecRepeat = false; relayStates[idxRel9] = LOW; digitalWrite(relayPins[idxRel9], LOW); if((value != code8) && (value != REPEAT)){ bRecRepeat = false; relayStates[idxRel8] = LOW; digitalWrite(relayPins[idxRel8], LOW); for(uint8_t i = 0; i < NR_IESIRI_UP_DOWN; ++i){ // modifica iesirea in functie de testele anterioare. if(i == idx){ digitalWrite(relayPins[i], relayStates[i]); } else { digitalWrite(relayPins[i], LOW); } } //for } //if(value != code9 irrecv.resume(); // Receive the next value } //if (irrecv.decode(&results)) if(relayStates[idxRel9] && bRecRepeat){ digitalWrite(relayPins[idxRel9], HIGH); // Serial.println("tin apasat 9"); } else { digitalWrite(relayPins[idxRel9], LOW); relayStates[idxRel9] = LOW; // Serial.println("sting 9"); if(relayStates[idxRel8] && bRecRepeat){ digitalWrite(relayPins[idxRel8], HIGH); // Serial.println("tin apasat 8"); } else { digitalWrite(relayPins[idxRel8], LOW); relayStates[idxRel8] = LOW; // Serial.println("sting 8"); } if((millis() - iRepeatCounter) > 120){ //mai mult de 120 ms de la ultimul cod receptionat => clear repeat bRecRepeat = 0; // Serial.println("nici un buton apasat"); } delay(10); } } } //loop @Liviu M daca mai ai timp si bunavointa...te rog, o mana de ajutor! Multumesc!
  5. multumesc! receptionate ambele sugestii. Deocamdata ma lupt cu dl Johnson...am zis ca-l inving mai usor daca am invins deja carcalacul, dar se pare ca nu-i chiar asa...
  6. Cei doi conzi sunt in anti-serie sa zic asa pt a obtine un cond nepolarizat de cca 23uf. Nu am proiectat eu schema, nu stiu prea multe. Pt mine e important ca functioneaza (am facut montajul pe placuta perforata). Poate si alte trasee se puteau ruta altfel, dar autoruterul a fost de baza. Eu am intervenit numai la cateva trasee. Nu sunt dispus sa fac modificari majore la cablaj, cu exceptia cazului in care sunt greseli ce ar duce la nefunctionarea sau distrugerea montajului. Asa ca...daca vede cineva greseli, va rog sa-mi spuneti. Multumesc!
  7. Va salut! Am reusit sa proiectez pcb-ul pentru montajul de protectie a boxelor si astfel dimensiunile montajului s-au redus la jumatate. Pun aici niste imagini, sa va dati cu parerea. Stiu, se poate mai bine, sunt incepator in design. Astept pareri si propuneri, daca se poate...Multumesc!
  8. @Shambalada, recunosc, poate sunt putin usor iritabil, o fi si de la covid (am gasit pe ce sa dau vina ), am fost si pedepsit pt asta...in fine. Credeti ca daca las radiatoarele in pozitia din poza, dar fac niste gauri in dreptul lor, in capacul inferior si in cel superior, eventual sa pun si un ventilator pe capacul superior (sa incerc daca imi incape unul, e cam la limita) ar mai fi probleme? Ampliful e calculat si executat sa livreze undeva la 40W, deci nu se va incinge integratul foarte tare, de asta zic ca s-ar putea sa fie mai usor de evacuat caldura... PCB-urile sunt primite cadou de la un coleg de forum, doar componentele sunt de la TME, despre care u zic ca sunt de incredere. Oricum sunt multumit de cum suna ampliful, cu ceva mici nemultumiri pe care le-am exprimat cu cateva postari in urma, dar sunt hotarat sa fac compromisuri. Zgomot nu am deocamdata, dar va conta si cum voi amplasa componentele in cutie, cum realizez conectarea la masa, etc. si desigur sa respect si cele mentionate de dvs. @ionyon79 e foarte tare ampliful tau! Ce imi place e ca traful tau e deja ecranat, probabil asa l-ai cumparat. Dar am gasit si eu solutia: am gasit o cutie rotunda din tabla, din aceea de biscuiti, care e cu vreo 2 cm mai mare in diametru decat traful, ceea ce e perfect, zic eu. Sa vad cum conectez cutia la masa, dar cred ca va fi eficienta solutia, voi ce ziceti? Radiatoarele erau deja pe cutie, sau a trebuit sa decupezi panourile? Ca nu prea imi convine sa tai atata in metal (nu am nici scule, nici priceperea necesara). Aseara tarziu, ma gandeam si eu sa dispun componentele cum le-ai pus tu...inca e o varianta si asta, ma mai gandesc, dar parca as ramane la varianta mea, cu niste gauri sub si deasupra radiatoarelor, eventual si un ventilator. Cred ca daca ecranez si traful, nu voi mai avea probleme.
  9. @maxentesi eu as fi preferat sa pun radiatoarele in spate, dar nu prea imi ramane loc de mufe pt boxe si de conector pt cablul de alimentare. Cutia are fante atat in capacul inferior cat si in capacul superior, in partea din spate a acesteia. @Shambala foarte adevarat ce spui despre micsorarea cablajelor. Sa vad, daca am timp, poate le proiectez PCB-uri si astfel se vor reduce dimensiunile. Insa mi-ai dat alta idee, cea cu plasarea placutelor auxiliare pe verticala. Din lipsa de timp (e si lene, adevarat) cred ca voi adopta aceasta varianta. Integratele sunt izolate pentru ca asa le-am vrut eu si le-am comandat eu si nu cred ca sunt chinezesti, distribuitorul de la care le-am luat este unul serios (nu mentionez care, sa nu se creada ca e reclama). PCB-ul nu este din China (bine, poate ca este fabricat in China) ci este de la un coleg de forum, @victor_wts, dar nici vorba de kit chinezesc, piesele sunt comandate de mine de la acelasi distribuitor si plantate si lipite de mine pe pcb. De curiozitate, ce chinezarie ai sesizat la montajele mele de amplif? Montajul a fost probat, functioneaza foarte bine, insa nu l-am testat in cutie, ci in afara cutiei. La ce te referi cu conectorii de intrare si de iesire? La cei de pe PCB sau la cei de pe cutie? Daca sunt cei de pe cutie atunci da, vor fi plasati la aproximativ adancimea cutiei (adica cei de intrare pe panoul frontal, cei de iesire pe cel dorsal). Daca sunt cei de pe PCB si acestia sunt dispusi la o distanta de lungimea cablajului, nu mai am ce modifica. Daca e sa pastrez traful acolo unde e, va trebui sa pun potentiometrul de volum pe panoul frontal, cat mai in stanga sau cat mai in dreapta, corect? Daca ar fi sa pastrez radiatoarele cat de cat in pozitia actuala, o racire activa (ventilator amplasat in dreptul radiatoarelor, pe panoul din spate) ar face treaba? Va multumesc pentru interventie!
  10. Va salut! Va rog sa va dati cu parerea despre dispunerea componentelor amplificatorului (placutele cu LM3886, radiatoare, traf alimentare, placa cu conzi de filtraj, placa cu protectia difuzoarelor+surse de 12V si 5V) in cutie. Daca e ceva in neregula, va rog sa-mi spuneti. Urmeaza sa mai pun in cutie (cand va sosi din China) un potentiometru cu motor pentru volum si inca o placa cu relee pentru comutarea surselor de semnal de intrare si comanda a motorului pot de volum- aceasta ultima placa nu va depasi ca dimensiuni pe cea cu protectia pentru boxe. Multumesc! https://ibb.co/XDzkkF8
  11. da, acum merge. Las pe alta data cele 2 butoane. Ca idee, ce trebuie sa fac ca sa imi mearga si code8 similar cu code9? ce secventa ar trebui copiata si adaptata? Si desigur, umblat la total iesiri si idxRel9 (sa va fi introdus si idxRel8?)
  12. am reusit sa-l stric! am vrut sa mai bag niste butoane si led-uri si...nu mi-a iesit. #include <IRremote.h> #define NR_TOTAL_IESIRI 6 #define NR_IESIRI_UP_DOWN 5 int RECV_PIN = 2; // the pin where you connect the output pin of sensor int relay1 = 4; // releu 1 int relay2 = 5; // releu 2 int relay3 = 6; // releu 3 int relay4 = 7; // releu 4 int relay7 = 8; // releu 5 int relay9 = 9; //releu activat cat butonul stanga e apasat(volume up) int relay8 = 10; //releu activat cat butonul dreapta e apasat(volume down) int idxRel9 = 5; int relayPins[] = {relay1, relay2, relay3, relay4, relay7, relay8, relay9}; //array with all the relays' pins int relayStates[] = {0,0,0,0,0,0,0}; //the initial state of relays unsigned long iRepeatCounter = 0; #define code1 16753245 // code received from button no. 1 #define code2 16736925 // code received from button no. 2 #define code3 16769565 // code received from button no. 3 #define code4 16720605 // code received from button no. 4 #define code7 16712445 // code received from button no. 5 #define code5 16718055 // cod pt up #define code6 16730805 // cod pt down #define code9 16716015 // cod stanga (stanga/volume up) #define code8 16734885 // code dreapta (dreapta/volume down) IRrecv irrecv(RECV_PIN); decode_results results; bool bRecRepeat = false; void setup() { Serial.begin(115200); irrecv.enableIRIn(); // Start the receiver for(uint8_t i = 0; i < NR_TOTAL_IESIRI; ++i){ pinMode(relayPins[i], OUTPUT); // pinMode (9, OUTPUT); digitalWrite(relayPins[i], LOW); } delay(5); } void loop() { static int idx = -1; //index iesire if (irrecv.decode(&results)) { unsigned long value = results.value; // Serial.print("Code = "); // Serial.print(value); iRepeatCounter = millis(); switch(value) { case code1: idx = 0; //prima iesire, relayStates[idx] ^= 1; //inverseaza starea break; case code2: idx = 1; relayStates[idx] ^= 1; break; case code3: idx = 2; relayStates[idx] ^= 1; break; case code4: idx = 3; relayStates[idx] ^= 1; break; case code7: idx = 4; relayStates[idx] ^= 1; break; case code5: //up idx++; // selecteaza urmatoarea iesire idx %= NR_IESIRI_UP_DOWN; //daca e 4, ia-o de la capat relayStates[idx] = 1; //fa iesirea 1 break; case code6: //down idx--; //selecteaza iesirea precedenta if(idx < 0){ //daca e negativa, ia-o pe cea mai mare idx = NR_IESIRI_UP_DOWN - 1; } relayStates[idx] = 1; //fa iesirea 1 break; case code9: relayStates[idxRel9] = HIGH; bRecRepeat = true; Serial.println(" code9 "); break; case REPEAT : bRecRepeat = true; // Serial.print(" repeat "); break; default : bRecRepeat = false; } //switch // Serial.print(" idx = "); // Serial.println(idx); if((value != code9) && (value != REPEAT)){ bRecRepeat = false; relayStates[idxRel9] = LOW; digitalWrite(relayPins[idxRel9], LOW); for(uint8_t i = 0; i < NR_IESIRI_UP_DOWN; ++i){ // modifica iesirea in functie de testele anterioare. if(i == idx){ digitalWrite(relayPins[i], relayStates[i]); } else { digitalWrite(relayPins[i], LOW); } } //for } //if(value != code9 irrecv.resume(); // Receive the next value } //if (irrecv.decode(&results)) if(relayStates[idxRel9] && bRecRepeat){ digitalWrite(relayPins[idxRel9], HIGH); // Serial.println("tin apasat 9"); } else { digitalWrite(relayPins[idxRel9], LOW); relayStates[idxRel9] = LOW; // Serial.println("sting 9"); } if((millis() - iRepeatCounter) > 120){ //mai mult de 120 ms de la ultimul cod receptionat => clear repeat bRecRepeat = 0; // Serial.println("nici un buton apasat"); } delay(10); } //loop reusesc sa comand cele 5 leduri, in schimb ledul 9 nu se mai aprinde, desi pe serial primesc code9. oricum, e dezordine si la code-uri, si la relay si la butoane. Mi-e ca daca ma apuc eu sa le ordonez iar fac varza. Sau o las pe alta data, cand voi fi mai odihnit si poate mai inspirat. Oricum, pun si un tabel cam cum ar trebui sa actioneze butoanele de pe telecomanda si codurile lor. taste.docx
  13. Am reusit sa testez codul si merge! L-am chinuit un pic, cateva minute si cred ca a trecut si testul timpului. Acum functioneaza cum trebuie. Ramâne sa implementez eu comenzile pentru al 5-lea led și pt tasta OK. Sper sa ma descurc si pentru tasta dreapta, sa functioneze la fel ca si stanga. La o prima vedere prin cod, s-ar putea sa-mi prind urechile. Nu cred ca am timp in seara asta sa fac ce vreau, dar nu e graba. Revin cand am noutati. Inca o data, mii de multumiri! Si sper sa ma mai ajuti daca nu imi iese ce mi-am propus sa mai implementez in cod.
  14. deci am inteles mai mult de o gramada. Acum are sens, deci era o problema cu timpul scurs, nu cu numarul apasarilor.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines