amudsen Postat Martie 27, 2019 Autor Partajează Postat Martie 27, 2019 Evident ca cel trimis, ce este facut de dvs. - e facut foarte bine. Inca o data multumiri! Link spre comentariu
Florian Ciobanu Postat Martie 27, 2019 Partajează Postat Martie 27, 2019 nu pui si pcb-ul de l-ai folosit ca am si eu o masina cu programatorul defect Link spre comentariu
bentanioan Postat Martie 27, 2019 Partajează Postat Martie 27, 2019 Si ce problema mai era (pe langa soft) ? Link spre comentariu
amudsen Postat Martie 27, 2019 Autor Partajează Postat Martie 27, 2019 Sa recapitulez.... sunt la prima bere (aveti un pic de intelegere).. 1. Scris, rescris softul pe uC, tot cerea fisierul eep......., fusebitii nu erau setati, refacut de @nico_2010 programelul, testat din nou. 2. Refacut toate lipiturile, schimbat LM317 (fluctua voltajul), trantit pcb-ul pe jos, studiat cu lupa eventuale "fire" de cupru intre trasee, etc. 3. Curatat din nou pcb-ul si scris cu softul bun, care a mers in final. Urmeaza sa cumpar senzorul IR (nu stiu daca au prin magazine), sa fac pcb-ul pentru afisajul "retro", si pentru partea de forta (si aici trebuie sa caut un teleruptor). O sa dureze cam o luna de zile pana o sa incep testele pe o masina de spalat, dar oricum, o sa fie interesant masina de spalat cu telecomanda. Ce te faci daca ai televizorul pe masina de spalat? 1 Link spre comentariu
nico_2010 Postat Martie 27, 2019 Partajează Postat Martie 27, 2019 @amudsen: Suflete, care parte nu ai inteles-o din " O sa ai o problema cu receptionarea semnalului de telecomanda (din balamucul creata de autor lipseste functia "RecvRC5()"). " Adica telecomanda nu va functiona pentru ca uC nu o va recun oaste. Nu stiu de unde a luat autorul functia de receptie IR si nici nu prea am mult timp la dispozitie sa o caut! Asa ca lasa senzorul si pe moment multumeste-te cu restul! Link spre comentariu
Elison Postat Martie 27, 2019 Partajează Postat Martie 27, 2019 Aici este definita functia RecvRC5 int RecvRC5 (void) /* recepteur RC5 bas niveau qui scrute le port relié au capteur et décode le signal 2 bits de start 1 bit de basculement 5 bits d'adressage (type d'appareil, TV, VCR etc...) 6 bits de commande (touches) */ { uint32_t t; uint8_t niv_entree, niv1, niv2; /* booleens - niveaux des deux demi plateaux constituant un bit */ uint8_t n; uint16_t data; t=0; niv1=0; niv2=0; data = 0; niv_entree=1; /* attente pendant la durée d'une trame d'un front descendant (le signal issu du capteur est à 1 au repos) */ const unsigned long int tmax = 14*1778; //24892us = durée de 1 trame (environ 25ms donc) while ( (niv_entree == 1) && (t<= tmax) ) { if ( (PINC & 0b10000000) > 0) { niv_entree=1; } else { niv_entree=0; } _delay_us(1); t++; } /* si le signal parvient trop vite (< 2 bits) on en déduit qu'on a pris le train en marche et on saute, puisque lecture impossible de la trame en cours */ if (t < (889 * 2)) return t; if (t > tmax) return 2; /* temps maxi écoulé, pas de signal reçu */ /* ici on se trouve juste un epsilon après le basculement à 0 du premier bit de start (milieu de bit) */ _delay_us(444); /* durée de 1/4 bit */ for (n=1; n<=13; n++) { _delay_us(889); // durée de 1/2 bit /* ici on se trouve au milieu du niveau du plateau du demi bit */ if ( (PINC & 0b10000000) == 0) { niv1 = 0; } else { niv1 = 1; } _delay_us(889); // durée de 1/2 bit /* ici on se trouve au milieu du second plateau du demi bit */ if ( (PINC & 0b10000000) == 0) { niv2 = 0; } else { niv2 = 1; } /* ici on connait les valeurs des deux niveaux, on en déduit le sens de la transition (front montant ou descendant)*/ if (niv1 == niv2) { return 3; } // erreur de lecture, bit non valide if ((niv1 == 1 ) && (niv2 == 0)) { data |= 0b00000001; } data = data << 1; } data = data >> 1; // on rejette le dernier décallage (sans perte de bit puisque largeur data = 16 bits > ) rxCmd_IR = data & 0b0000000000111111; rxAdr_IR = (data & 0b0000011111000000) >> 6; bit_bascul_IR = (data & 0b0000100000000000) >> 11; return 0; } Link spre comentariu
amudsen Postat Martie 27, 2019 Autor Partajează Postat Martie 27, 2019 Cert este ca fara telecomanda........ e cam dificil. Totusi am sa cumpa senzorul IR ........ nu se stie.......... Link spre comentariu
nico_2010 Postat Martie 27, 2019 Partajează Postat Martie 27, 2019 Mai vedem. Poate maine ma ocup putin de programel si vedem ce iese. Link spre comentariu
amudsen Postat Martie 27, 2019 Autor Partajează Postat Martie 27, 2019 Totusi vad ca in C are functia respectiva (parca linia 785)... dar pana nu montez si ir-ul...... fac povesti. Multumesc. Link spre comentariu
nico_2010 Postat Martie 27, 2019 Partajează Postat Martie 27, 2019 E, eu nu am vazut-o si nici AS7 nu a vazut-o. Maine il iau la periat. Link spre comentariu
amudsen Postat Martie 28, 2019 Autor Partajează Postat Martie 28, 2019 Am montat senzorul IR (nu cea din schema, am montat tsop31236) si merge. Merg si eu mai departe cu front panelul (cel cu leduri). Link spre comentariu
nico_2010 Postat Martie 28, 2019 Partajează Postat Martie 28, 2019 OK atunci, succes! Link spre comentariu
amudsen Postat Martie 28, 2019 Autor Partajează Postat Martie 28, 2019 Multumesc! Link spre comentariu
nico_2010 Postat Martie 28, 2019 Partajează Postat Martie 28, 2019 Am incercat si o versiune in limba romana. Incearc-o si spune-mi daca este OK. masina_spalat_rom.zip Link spre comentariu
amudsen Postat Martie 28, 2019 Autor Partajează Postat Martie 28, 2019 Ok, ar fi super daca ar memora in eeprom momentul spalarii (in cazul luarii curentului, ca se mai intampla) pentru ca apoi sa reia de la momentul respectiv spalarea. 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