Principiul de funcționare a unei lumini intermitente cu un microcontroler pic. Strobe LED pe un microcontroler PIC12f629. Selectarea modului de funcționare al LED-ului stroboscopic

Microcontrolerele PIC au arhitectură Harvard și sunt fabricate de Microchip Technology Inc. Numele PIC este o abreviere pentru expresia engleză controlere de interfață periferică - tradusă în marele și puternicul „controlere de interfață periferică”. Controlerele PIC sub marca Microchip produc microcontrolere de 8, 16 și 32 de biți, precum și controlere de semnal digital DSC. Microcontrolerele PIC au următoarele avantaje semnificative: continuitate bună între diferite familii: compatibilitate completă cu software-ul și instrumente comune de dezvoltare, inclusiv gratuite IDE MPLAB, biblioteci comune, stive comune de protocoale de transmisie populare, compatibilitate în periferice, pini, tensiuni de alimentare. Gama de controlere include mai mult de 500 tipuri variate cu tot felul de opțiuni periferice, diferite dimensiuni de memorie, performanță, număr de pini, intervale de tensiune de alimentare, temperaturi de funcționare etc.


Să luăm în considerare cel mai simplu controler din seria PIC PIC16C84 sau PIC16F84.

Prezența memoriei FLASH vă permite să o reprogramați în câteva secunde. Numărul de cicluri de rescriere ale microcontrolerului este de 1000. Din cei 18 pini ai săi, 13 pot fi utilizați ca biți de intrare-ieșire de uz general. Când sunt conectate la ieșire, acestea permit un curent logic cu un nivel de până la 20mA și un curent logic cu nivel zero de până la 25mA (mai mult decât suficient pentru conectarea, de exemplu, LED-uri). Acest lucru face posibilă dezvoltarea simplă și ieftină dispozitive electroniceși îl face candidatul ideal pentru cei care doresc să învețe și să înțeleagă principiile lucrului cu un microcontroler PIC. Pinout-ul microcontrolerelor pe 8 biți este prezentat mai jos:


Pinii RA* și RB* sunt de intrare și de ieșire asociate cu registrele controlerului PORTA și, respectiv, PORTB (pinul RA4 poate fi folosit ca intrare de cronometru intern, iar RB0 poate fi folosit ca sursă de întrerupere). VDD și VSS - alimentare (+Up și GND). Seria 16x84 de microcontrolere funcționează pe o gamă largă de tensiuni, dar de obicei VSS este conectat la 0V și VDD la +5V. Pinul principal de resetare /MCLR este de obicei conectat la VDD (direct sau printr-un rezistor), deoarece MCU conține un circuit de resetare fiabil atunci când este aplicată tensiunea de alimentare. Pinii OSC1 și OSC2 se conectează la generatorul de ceas și pot fi configurați pentru diferite tipuri de ceas, inclusiv moduri de rezonator și oscilator RC. Schemă simplă, folosind controlerul PIC 16C84 este prezentat în figura de mai jos:


Circuitul, pe lângă microcircuit, are doar un oscilator RC și un pin RB4 este conectat la un LED. Vine cu un program uimitor de scurt (6 cuvinte) pentru MPASM în asamblator - clipirea unui LED.

Tastați acest cod în orice editor de text, salvați-l cu extensia ASM (LIGHTS.ASM), apoi asamblați-l folosind programul MPASM (utilizați comanda „MPASM LIGHTS.ASM”) pentru a obține un fișier HEX care poate fi încărcat pe microcontroler folosind programatorul.

Odată ce circuitul este alimentat, LED-ul va clipi.

Tot ce trebuie să știți despre microcontrolerul PIC16F628A pentru a asambla cu succes modele de radio amatori pe el, multă documentație de referință și circuite interesante.

Așadar, ne-am hotărât și am decis să asamblam primul nostru produs de casă pe un microcontroler, tot ce rămâne este să înțelegem cum să-l programăm. Prin urmare, vom avea nevoie de un programator PIC și puteți asambla singur circuitul acestuia, să ne uităm la câteva modele simple ca exemplu.

Acest instrument proprietar și gratuit este un mediu excelent de dezvoltare și depanare pentru toate microcontrolerele PIC fabricate de Microchip Technology. MPLAB este format din aplicații individuale, dar conectate între ele și constă dintr-un compilator din limbajul de asamblare, editor de text, un simulator de firmware de controler În plus, puteți utiliza un compilator cu SI.

Prezentat lui K. de autor Informații tehnice despre instrumentele de dezvoltare software bazate pe microcontrolere PIC. Aplicațiile conțin o colecție de soluții de circuit și software pe microcontrolere PIC, sunt implementate interfețe standard. Cartea conține multe exemple de implementare software dintre cele mai multe diverse funcții: organizarea întreruperilor, rutine aritmetice extinse, aritmetică în virgulă mobilă etc. Pentru a consolida teoria în practică, sunt oferite dispozitive simple, inclusiv un ceas cu alarmă și un voltmetru digital cu mai multe canale.

Alimentarea și sincronizarea microcontrolerelor PIC
Dezvoltarea aplicației. Ce microcontroler ar trebui să alegi?
Proiectări de circuite de interfață pentru microcontroler
Controlul LED-urilor și optocuplelor, releelor, indicatoarelor digitale, ADC-urilor
Interacțiune cu periferice prin interfață serială
Înmulțirea fără semn de numere de 8 biți
Înmulțirea semnată și nesemnată a numerelor de 16 biți
Împărțirea, adăugarea și scăderea numerelor de 16 biți
Operații cu virgulă mobilă
Conversia BCD în coduri binare
Soluții de circuit gata făcute: ceas cu alarmă, implementarea interfeței i2ts, voltmetru cu indicație LED
Controlul motorului pas cu pas

Ce este un microcontroler și cum funcționează
Sistem de comandă PIC16F84A
Ce este un program și regulile de pregătire a acestuia. Un exemplu de creare a unui program pentru un multivibrator auto-oscilant. Directive.
Mediu de proiectare integrat MPLAB IDE și lucrați în el
Exemplu de creare a unui program
Lucrul într-un simulator. Depanarea programului
Un exemplu de dezvoltare de program cu întreruperi
Organizarea unei tranziții calculate.
Lucrul cu memoria de date EEPROM
Cum funcționează un comparator digital?
Schimbarea ciclică. Operația de înmulțire
Introducere în principiul construirii unei subrutine de afișare dinamică. Adresare indirectă
Conversia numerelor binare în BCD. Formarea finală a textului subrutinei de afișare dinamică
Principiul numărării. Lucrul cu cronometrul TMR0. Principiul instalării grupurilor de comenzi de numărare în textul programului

Toate cele patru cărți, în plus, toate sursele programelor descrise și alte informații de referință suplimentare au fost adăugate la arhivă. În arhivă veți găsi și codurile sursă ale programelor și firmware-ului controlerului. Materiale de referință pentru toate microcontrolerele discutate în toate cele patru cărți (PIC12C67X PIC16C432 PIC16C433 PIC16C505 PIC16C54_58 PIC16C554_558 PIC16C620_622 PIC16C623_625 PIC16C62B_72A PIC16CX_6 6x PIC16C6X PIC16C717_77X PIC16C71XX PIC16C72 PIC16C72_77 PIC16C745_765 PIC16C77X PIC16C781_782 PIC16C92X PIC16F630_676 PIC16F82 PIC16LC74B PIC17C4X PIC17C752_756 PIC17C7XX PIC17LC752P16 PIC18C601_801 PIC18CXX8)
Introducere în interfața CAN 2.0
Modul CAN în microcontrolere PIC
Implementarea software a interfeței I2C și o scurtă prezentare a acesteia
Chip-uri KeeLoq cu tehnologie de cod de sărituri
Universal Serial Bus USB în microcontrolere PIC și software pentru lucrul cu USB
Module X-bit ADC în microcontrolere PIC
Recomandări pentru lucrul cu ADC-uri în microcontrolere PIC
Precum și software pentru programarea microcontrolerelor PIC IC-Prog și PonyProg2000 descrise în cărți

Dezvoltatorii abordează diferit problemele de depanare. Unii cred că este suficient să analizați cu atenție codul sursă al programului, să verificați formarea semnalelor la pinii MK și toate erorile pot fi corectate. Alții folosesc seturi de subrutine speciale care sunt apelate la punctele de control și oferă informații despre starea resurselor MK într-un anumit mod (de exemplu, prin ieșire către un indicator sau un canal de comunicație serial). Apropo, tehnologia ICD (In-Circuit Debugger), implementată în unele microcontrolere, se bazează pe acest companiile Motorolași Microcip. Dar cu oricare dintre metodele de depanare de mai sus, apare o problemă semnificativă - necesitatea de a reprograma MK după efectuarea chiar și de modificări minore în program. Această problemă este relevantă în special pentru microcontrolerele programabile odată. Adevărat, în acest din urmă caz, depanarea poate fi efectuată, să zicem, pe un MK cu memorie FLASH, dar totuși timpul petrecut pentru programare este destul de mare și uneori ajunge la câteva minute. În plus, MK, de regulă, trebuie să fie scos din circuitul care este depanat, conectat la programator și apoi introdus înapoi. Cei care s-au ocupat de programarea PC-ului simt în special diferența. De exemplu, atunci când programați în mediul Borland C++ 3.1 (BC++), pentru a lansa programul care este depanat, trebuie doar să apăsați combinația de taste Ctrl+F9, iar după câteva secunde va funcționa deja (cu excepția cazului în care, desigur, conține erori) . Aș dori să obțin un rezultat similar când scriu programe de control MK. Și acest lucru este posibil datorită utilizării VSE, care este un instrument software și hardware care poate înlocui un microcontroler emulat într-un dispozitiv real, la care este conectat printr-un cablu cu un cap de emulare special. Utilizarea unui astfel de emulator nu este diferită de utilizarea unui MK real, cu excepția faptului că programul modificat este reîncărcat în VSE aproape instantaneu.

Cursul 1 - introducere

Microcipul este cunoscut de mult timp inginerilor electronici domestici datorită liniei sale larg răspândite de microcontrolere ieftine pe 8 biți, care și-au găsit aplicații grozave în diverse dispozitive termostate, dispozitive mici de automatizare, senzori etc. Pentru a ține pasul cu principalii săi concurenți, Microchip a introdus în lumea electronică noile sale microcontrolere pe 32 de biți din familia PIC32 în 2007.

Linia PIC32MX include o cantitate mare dispozitive de la PIC32MX1** la PIC32MX7** cu cantități diferite de memorie (de la 16 KB flash și 4096 octeți de RAM până la 512 KB flash și 131 KB RAM), capabilități periferice și design de pachete. În general, există modele pentru aproape orice aplicație.

Versiunea completă a prelegerii cu descriere conexiune tipică MK și un exemplu de programare pot fi găsite aici:

Cursul 2 - Microcontrolere din familia PIC32. Lucrul cu cronometre.

Cu ajutorul temporizatoarelor, acestea implementează contorizarea timpului, organizează întreruperi, generează semnale cu modulare a lățimii impulsului etc. Există două tipuri de temporizatoare în controlerele PIC-32 - temporizatoarele A (de fapt, se pare că unul - TMR1) și temporizatoarele de tip B (TMR2, TMR3, TMR4, TMR5). Toate temporizatoarele sunt pe 16 biți, tactate de la o sursă externă sau internă și provoacă întreruperi.

Cursul 3 - Microcontrolere PIC32 - întreruperi. Acesta este orice eveniment extern sau intern care impune controlorului să răspundă imediat la acesta. În acest caz, execuția curentului codul programului se termină pentru un timp, MK salvează valorile registrelor de serviciu și intră în gestionarea întreruperilor, apoi procesează această întrerupere, iar la ieșire restaurează registrele de serviciu și revine din nou la locul în care este executat codul.

MCU-urile din seria Microchip PIC16 sunt capabile să execute comenzi aritmetice simple cu operanzi de 8 biți, deoarece miezul lor în sine este de 8 biți. Dar unele proiecte necesită mult mai multe resurse de calcul, așa că în astfel de momente folosirea unei biblioteci speciale va fi utilă operatii aritmetice. Biblioteca prezentată în linkul de mai sus vă va permite să efectuați înmulțirea, împărțirea, scăderea și adunarea numerelor de 16 biți, puteți converti numere în diferite forme, puteți verifica paritatea, pătrați un număr și o grămadă de alte lucruri mici utile tehnice.

Această diagramă este simplă led stroboscop, construit pe un microcontroler PIC12f629. Stroboscopul are 4 jumperi cu care puteți selecta una dintre opțiunile de funcționare cu LED-uri.

Există următoarele moduri: interval între impulsuri (30 ms și 10 ms), rata de repetiție (1, 2, 3 și 4 sec), crearea de blițuri simple sau duble.

Deoarece ieșirea microcontrolerului PIC12F629 poate rezista la o sarcină maximă de aproximativ 25 mA, în circuitul stroboscopic este inclus un tranzistor care poate descărca ieșirea microcontrolerului și poate crește curentul care trece prin LED. Acest tranzistor are curent maxim Colector de 100 mA, suficient pentru a alimenta majoritatea tipurilor de LED-uri de 5 mm.

Rezistorul R4 acționează ca un limitator de curent pentru LED. Când stroboscopul este alimentat la 5 volți și căderea de tensiune pe LED este de 1,8 volți, curentul care trece prin LED este limitat la 47 mA.

Tensiunea de intrare nu trebuie să depășească 5 volți. Circuitul stroboscopic LED poate funcționa la 3 volți, dar va trebui să reduceți rezistența rezistenței R4. La calcularea rezistenței R4 trebuie luat în considerare faptul că unele LED-uri creează o cădere de tensiune de până la 3 volți, în special LED alb si niste LED-uri albastre si verzi.

Durata impulsului, intervalul și modul stroboscopic pot fi selectate de utilizator folosind un bloc jumper. După cum sa menționat mai sus, circuitul implementează două moduri: blițuri simple și blițuri duble (pauza dintre blițurile duble este implicit de 175 ms).

Intervalul dintre o serie de clipiri este măsurat de la sfârșitul unui impuls al unui grup până la începutul grupului următor.

Selectarea modului de funcționare al LED-ului stroboscopic

Durata pulsului, intervalul și modul dual sunt toate configurate prin editarea valorii în EEPROM-ul microcontrolerului PIC12F629, înainte de a-și afișa firmware-ul intermitent. Acest lucru face editarea valorilor mult mai ușoară, deoarece nu trebuie să recompilați sursă programe. Trebuie doar să flashezi HEX în memoria microcontrolerului.

Exemple de modificare a valorilor în memoria microcontrolerului PIC12F629

Modificați durata blițului. Să presupunem că doriți ca durata impulsului blițului (în loc de 30 ms implicită) să fie de 40 ms. Apoi valoarea care trebuie scrisă în EEPROM este determinată după cum urmează: 40 ms / 1 ms = 40. Acum convertim 40 în hexazecimal, obținem 28, care trebuie scris la adresa EEPROM 00.

Să calculăm modificarea intervalului dintre clipirile duble cu 0,2 secunde (în loc de 175 ms în mod implicit). Pentru a face acest lucru, 200 ms / 1 ms = 200. Convertirea în sistem hexazecimal obținem C8 care este scris la adresa 02.

Pentru a schimba intervalul dintre o serie de fulgerări la 1,3 secunde (în loc de 1 secundă implicită), trebuie să faceți următoarele: 1,3 secunde / 100 ms = 13. Conversia în formă hexazecimală obținem 0D. Scriem această valoare la adresa 03 EEPROM.

Trebuie remarcat faptul că 255 este valoarea maximă care poate fi scrisă la o adresă de memorie.

Cel mai simplu mod de a converti un număr din zecimal în hexazecimal (de exemplu, numărul 40) este să tastați în motorul de căutare google.com: 40 în HEX. Primim răspunsul: 0x28. 0x rezultat ne spune pur și simplu că valoarea este în hexazecimal.

Atât microcontrolerele PIC12F629, cât și PIC12F675 pot fi utilizate în circuitul stroboscopic.

Modificarea circuitului stroboscopic LED (cod Morse - SOS)

Aceasta este o versiune modificată a stroboscopului, care permite sistemului de cod Morse să organizeze transmisia luminii a semnalului SOS. Lungimea punctelor poate fi setată la una dintre cele patru perioade, iar timpul dintre două secvențe „SOS” poate fi, de asemenea, ajustat.

În timpul sărbătorilor de Anul Nou, și nu numai, este mare nevoie de iluminare luminoasă.

Acest dispozitiv poate fi numit diferit: o lampă de stare, o lampă RGB, o lampă de Anul Nou, un far LED etc. Imaginația ta îți va spune cum să-l folosești.

Iată o diagramă a unei lămpi RGB multicolore pe un microcontroler PIC12F629 (sau PIC12F675). Pentru marire, click pe imagine.

Aspectul lămpii RGB asamblate.

Video cu lampa care funcționează în modul „Lampa de dispoziție”.

Circuitul dispozitivului propus este foarte simplu, dar are multe moduri de operare. Iată doar câteva dintre ele:

    Schimbarea lentă a culorii. Strălucirea verde, roșie și albastră de diferite intensități sunt amestecate, ceea ce vă permite să obțineți o selecție netedă de culori curcubeului;

    Intermitent rapid alternativ în roșu, verde și albastru;

    Creștere lină a luminii albe și apoi 4 clipiri. Apoi ciclul se repetă;

    Alternează intermitent ascuțit și estompare lentă a culorilor primare (albastru, roșu, verde). Ulterior ciclul se repetă.

    Strălucire roșie netedă;

    Strălucire albastră netedă;

    Strălucire verde netedă;

    Albastru intermitent;

    Schimbarea accelerată a culorii;

    Strălucire albă netedă;

    Strălucire albă netedă cu luminozitate redusă;

    Strălucire albă netedă cu luminozitate minimă;

    Violet strălucitor neted (roșu + albastru);

    Strălucire portocalie netedă (roșu + verde).

Acestea sunt principalele moduri de funcționare ale lămpii. Toate celelalte sunt opțiuni pentru schimbarea fără probleme a culorilor curcubeului la viteze diferite.

Pentru a aprecia paleta completă bogată de moduri și performanța dispozitivului, este mai bine să-l asamblați mai întâi pe o placă fără lipire. Așa-numita „panou”.

Pentru ca strălucirea de la diferite LED-uri să se amestece și să formeze o nuanță uniformă de culoare, LED-urile trebuie plasate cât mai aproape unul de celălalt. De asemenea, după prototiparea circuitului, puteți lua Lista albă Format A4, rulați-l într-un cilindru și fixați-l pe părțile laterale cu agrafe. Instalăm cilindrul de hârtie rezultat pe o placă fără lipire și acoperim LED-urile. Drept urmare, vom obține un fel de abajur mat. Iată ce ar putea rezulta din asta.

Microcontrolerul trebuie să fie „flash” înainte de a fi lipit pe placă. Am vorbit deja despre cum se face acest lucru pe paginile site-ului. Ce să flash este o întrebare separată. Dacă nu aveți nimic, atunci mai întâi trebuie să asamblați singur un programator USB pentru microcontrolere PIC sau să cumpărați unul gata făcut. Va veni la îndemână de mai multe ori.

Când clipește PIC12F629 sau PIC12F675, trebuie să acordați atenție constantei de calibrare. Nu ar strica să luăm în considerare mai întâi ( "Citit") date de la un microcontroler gol și notează valoarea constantei undeva pe hârtie. După ce ați intermitent microcontrolerul, trebuie să verificați dacă valoarea constantei din celulă se potrivește 0x3FF valoarea citită anterior. Dacă este diferit, atunci schimbați constanta. Am vorbit deja despre ce este o constantă de calibrare.

Listă componentele radio necesare pentru asamblarea unei lămpi RGB.

Nume Desemnare Parametri / Rating Marca sau tipul articolului
Microcontroler DD1 microcontroler pe 8 biți PIC12F629 sau PIC12F675
Stabilizator integral DA1 la tensiune de ieșire de 5 volți 78L05, MC78L05ACP (orice analog)
tranzistoare MOSFET VT1 - VT3 - 2N7000 sau KP501A ( Atenţie! KP501A are un pinout diferit!)
Dioda semiconductoare VD1 (nu este necesar) 1N4148, 1N4007 sau echivalent
LED-uri HL1 - HL4 roșu culori strălucitoare orice luminoase cu diametrul de 5 mm.
HL5 - HL7 verde culori strălucitoare
HL8 - HL10 albastru culori strălucitoare
Rezistoare R1 120 ohmi MLT, MON (putere de disipare - 0,125 W)
R2, R3 68 ohmi
Condensatoare C2 220 nF (0,22 µF) Multistrat ceramic sau orice analogi
C3 100 nF (0,1 µF)
Condensator electrolitic C1 47 uF * 16 volți orice aluminiu (K50-35 sau analogi străini)
Buton SB1 - orice buton de tact (de exemplu, KAN0610-0731B)
Săritor J1 (nu este instalat) -

După ce este aplicată alimentarea, dispozitivul începe să funcționeze imediat. Prin apăsarea butonului SB1 puteți comuta modul de funcționare al lămpii RGB. Butonul poate fi apăsat chiar și la nesfârșit - comutarea modurilor are loc într-un cerc.

Un PCB este ușor de realizat folosind un marker PCB. Asta am făcut. Dacă nu există marker pentru plăci, atunci puteți folosi metoda „creion” sau tsaponlak. Dacă știi cum să faci plăci folosind LUT, este și mai bine.

Ei bine, dacă nu aveți nimic din cele de mai sus, dar doriți cu adevărat să faceți un produs de casă, atunci în loc de fibră de sticlă puteți folosi carton gros, o bucată de plastic subțire sau placaj. În general, tot ceea ce poate fi montat circuitul folosind un sistem de suprafață. Se pot face conexiuni sârmă de cupru pe partea din spate a bazei.

Acum, astfel de sfaturi pot părea nebunești, dar când am început să studiez electronica, am încercat tot felul de moduri de a asambla circuite. În acele timpuri recente, consumabilele și piesele erau cumpărate de pe piețele radio, care erau doar în orașele mari. Pe atunci nu puteam decât să visăm să comandăm piese radio online.

Explicații pentru diagramă.

Tranzistoarele 2N7000 pot fi înlocuite cu KP501A. Dar merită luat în considerare faptul că KP501A un alt pinout! Iată-l.

Dioda de protecție VD1 nu trebuie să fie lipită în circuit. Servește pentru a proteja circuitul în cazul unei conexiuni incorecte de alimentare - inversarea polarității. Dacă nu este necesară o astfel de protecție, atunci nici dioda VD1 nu este necesară.

Rezistoarele pot fi selectate cu valori apropiate de cele indicate în diagramă (toleranță standard ±20%). De exemplu, am setat R1 la 130 ohmi și R2, R3 la 82 ohmi.

Pentru a alimenta circuitul, veți avea nevoie de o sursă de alimentare stabilizată cu o tensiune de ieșire de 12 volți. Potrivită, de exemplu, este o sursă de alimentare reglată, al cărei circuit este descris. De asemenea, îl puteți folosi pentru a alimenta dispozitivul.

1 diagramă
Vă sugerez să o repetați diagramă schematică efecte de iluminare realizate pe baza popularului microcontroler Pic12f629. Circuitul are 15 efecte de iluminare diferite, inclusiv un efect care simulează un semnal intermitent al poliției. Pentru marire, click pe imagine.

Acest circuit este foarte ușor de asamblat și nu necesită ajustare. Când apăsați pe „ start" se aprinde mod auto redare


Modul de redare automată este atunci când toate efectele de lumină sunt redate unul câte unul. Pentru a opri redarea efectelor, apăsați din nou butonul „Start”.


Când apăsați butoanele " Redirecţiona" sau " Înapoi„Când redarea este oprită, primul efect se va activa și va funcționa continuu.


Pentru a comuta efectul, apăsați butonul „ Înapoi" - pentru a merge la efectul de lumină anterior, " Redirecţiona" - pentru a trece la următorul.


Dispozitivul este asamblat pe placă de circuit imprimat, desen și firmware pentru controler în arhivă. Placa conține și un stabilizator simplu de 5V pentru a alimenta controlerul (nu este prezentat în diagramă). Carcasa este o cutie mică de plastic. Alegem LED-urile în sine de orice tip și culoare, potrivite pentru tensiune și curent. Le avem sub orice formă - folosiți-vă imaginația aici. Și dacă trebuie să faceți efecte pentru o discotecă bazată pe acest dispozitiv, pur și simplu amplificăm ieșirile microcontrolerului cu unele puternice tranzistoare cu efect de câmp tip IRF. Autorul designului: Pelekh.M
partea 2
Acest articol oferă 2 scheme Efecte LED pe microcontrolere PICȘi AVR.

1) PIC12F629

Există 4 funcții:

* MOD Chaser
* MOD Frână
* MOD Chaser/Frână
* OPRIT

Modurile sunt comutate prin apăsarea succesivă a butonului.

2) Attiny2313

Ghirlandă LED bazată pe microcontroler ATtiny231320PI

Acest proiect de ghirlande LED pe un microcontroler este potrivit pentru începători. Circuitul se distinge prin simplitate și conține un minim de elemente.

Acest dispozitiv controlează 13 LED-uri conectate la porturile microcontrolerului. Un microcontroler ATtiny231320PI este folosit ca microcontroler. Datorită utilizării unui oscilator intern, pinii 4 și 5 sunt utilizați ca porturi suplimentare ale microcontrolerului PA0, PA1. Circuitul oferă execuția a 12 programe de efecte, dintre care 11 sunt combinații individuale, iar al 12-lea program este o repetare secvențială unică a efectelor anterioare. Trecerea la alt program se face prin apăsarea butonului SB1. Programele de efect includ rularea unui singur foc, creșterea focului, rularea umbrei și multe altele.

Dispozitivul are capacitatea de a regla viteza de schimbare a combinațiilor la executarea unui program, care se realizează prin apăsarea butoanelor: SB2 - creșterea vitezei și SB3 - reducerea vitezei, cu condiția ca comutatorul SA1 să fie în poziția „Viteza programului”. este, de asemenea, posibilă reglarea frecvenței de iluminare cu LED-uri (de la o strălucire stabilizată până la pâlpâirea luminii), care se realizează prin apăsarea butoanelor: SB2 - scădere (pentru a pâlpâi) și SB3 - creștere, cu condiția ca comutatorul SA1 să fie în „Flicker”. poziţia frecvenţei". Pentru comutatorul SA2, poziția închis corespunde modului de reglare a vitezei de execuție a programului, iar poziția deschisă corespunde modului de reglare a frecvenței de iluminare cu LED-uri.
Ordinea de numerotare a LED-urilor din circuit corespunde ordinii lor de aprindere în timpul executării programului. Dacă este necesar, pinul RESET poate fi folosit pentru resetare, dar nu este folosit ca port PA2. Selectat în dispozitiv în timpul programării frecvența ceasului 8 MHz de la oscilatorul intern (siguranțe CKSEL3..0 - 0100 Deși este posibil să se utilizeze o frecvență de 4 MHz (siguranțe CKSEL3..0 - 0010) cu modificări corespunzătoare în intervalele de timp ale circuitului.
Tipul de LED-uri indicate în diagramă a fost utilizat într-un prototip, orice LED-uri cu o tensiune de alimentare de 2-3 volți sunt potrivite pentru circuitul de rezistență R1-R17;

Acesta este în mod tradițional unul dintre primele proiecte din domeniul programării controlerelor, un analog al celui mai simplu multivibrator cu tranzistor, doar că mai interesant. Acesta este un test bun al mediului dvs. de dezvoltare, inclusiv programatorul PIC, placa de circuit, quartz și MCU-ul în sine. Pe baza acestui dispozitiv, puteți chiar să faceți un fel de tester de controler.

Circuit intermitent MK

Dispozitivul face ca LED-ul să clipească la intervale de aproximativ 1 secundă. Schema este foarte simplă. Pe lângă elementele standard comune fiecărui dispozitiv care implică PIC16F84A, există doar două elemente suplimentare: un LED și o rezistență de limitare a curentului de 220 Ohm. Circuitul a fost testat pe o placă. Unul dintre segmentele ansamblului LED cu 10 căi este utilizat aici.

După cum urmează din diagramă, LED-ul este conectat la portul rb1 al 16F84A. Dacă acest port iese logic 1 (aprox. +5 V), LED-ul este aprins. În caz contrar, este oprit. Prin urmare, pentru ca LED-ul să clipească, trebuie să afișați periodic unitatea pornită portul dat. Acest lucru se realizează folosind cel mai simplu program, care poate