Jump to content
ELFORUM - Forumul Electronistilor

Elison

Membru activ
  • Content Count

    319
  • Joined

  • Last visited

Community Reputation

29 Se poate si mai bine

About Elison

  • Rank
    Membru

Profile Information

  • Locatie
    :

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Tubul este EM 11, detalii aici si un service manual aici
  2. Daca vreti consola pentru programare o puteti inlocui cu orice laptop cu WinXP si port serial sau USB. Instalati Step5 si procurati un adaptor de acest fel sau altele asemanatoare.
  3. 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; }
  4. In momentul in care este comandata aprinderea cifrei doi, pe pinul 9 al circuitului 74141 o sa ai zero volti, la fel si pentru pinii care comanda cifrele zero, patru, sase si opt. Asta inseamna ca diodele trebuie conectate invers si regandita comanda aprinderii neonului, insa adevarata problema care te impiedica sa faci afisarea secundei (hardware) este aceea se foloseste multiplexarea. Daca, de exemplu, este afisata ora 8:16 timp de o ora neonul o sa clipeasca cu fregventa cu care se face multiplexarea, iar daca acel neon are o anumita inertie si nu va clipi o sa stea aprins pana se face trecerea la o ora impara. Singura solutie este programarea unui pin ramas liber (9,16,20) pentru afisarea secundei.
  5. Decarcati versiunea portabila pentru WinTrasfo 1.5.0. Functioneaza si pe Win10.
  6. Daca porneste pompa la 45 de grade si se opreste la 38, adica invers de cum va doriti, folositi contactul C si 2. Marja de pornit-oprit a acestui termostat este de 4 grade ±1 grad, mult mai putin decat va doriti. Gasiti aici datele de care aveti nevoie
  7. Elison

    Tuburi electronice

    Salut, Vreau sa cumpar tuburile EBF 89 si PCF802 .Poate aveti si un ECH83.
  8. Cand am folosit tuburi NOS am observat si eu acesti nori albastri. Dupa cateva zile de utilizare, au disparut fara sa intervin la reglajul de curent stabilit la punerea in functiune a amplificatorului.
  9. Cu varianta propusa de mine nu mai ai nevoie de cele opt variabile de tip byte.
  10. O varianta foarte simpla pentru accesul bitilor variabilei My_var( declarata ca byte) este urmatoarea: in C code " FCV_MY_VAR.0=1; " pentru ai atribui valoarea 1 bitului 0 si " FCV_MY_VAR.0=0;" pentru ai atribui valoarea 0. Poti sa faci asta pentru oricare din cei 8 biti de la zero la sapte. Acest mod de accesare a bitilor nu mai necesita alte operatii pentru My_var , variabila se acceseaza direct, ca oricare variabila din proiect. Daca nu intelegi cum se face, pot sa pun si un exemplu.
  11. Acest code se executa doar daca declari variabilele te tip bool ca fiind variabile de type byte, idem pentru variantele sugerate de alti colegi.
  12. Intrebarea ta este neclara, reformuleaza si cu siguranta se va gasi o solutie.
  13. La pagina cinci si sapte din datasheet exista o schema de conectare care trebuie respectata.Daca tii cont de aceasta schema poti comanda toate cele sase benzi.
×
×
  • Create New...