Circuite electronice pe attiny2313. Lucru simplu la microcontrolerul Attiny2313

Circuite electronice pe attiny2313. Lucru simplu la microcontrolerul Attiny2313

Acest articol prezintă circuitul unui termometru digital pe un microcontroler AVR ATtiny2313, un senzor de temperatură DS1820 (sau DS18b20) conectat la microcontroler prin protocolul cu 1 fir și un afișaj RC 16x2 pe controlerul HD44780. Acest dispozitiv poate fi utilizat pe scară largă printre amatorii de radio.

Programul pentru microcontroler este scris în limbajul de asamblare AVR Studio. Instalarea conexiunilor pe un breadboard, rezonator de cuarț la 4 MHz, microcontrolerul ATtiny2313 poate fi înlocuit cu AT90S2313 prin recompilarea mai întâi a codului de ieșire al programului. Pierderea senzorului DS1820 este de aproximativ 0,5 C. Arhiva conține și firmware pentru dispozitivul care este utilizat pentru senzorul DS18B20. Senzorul este testat în câteva secunde.

Player WAV de colecții pe microcontrolerul AVR ATtiny85 (se poate folosi seria ATtiny25/45/85). Microcontrolerele din această serie au o putere foarte scăzută și două PWM (Fast PWM) cu o frecvență de 250 kHz fără curent. Pentru a conecta un card de memorie sunt suficiente doar 6 fire: două pentru viață și două pentru semnale. Întregul microcontroler este suficient pentru a lucra cu cardul de memorie, ieșirea de sunet și butoanele de control. Pentru oricine este nebun, acest jucător este și mai simplu.

Cu ajutorul acestei capacități variabile, puteți varia cu ușurință orice capacitate de la un pF la sute de microfarad. Există o serie de metode pentru a determina capacitatea. Al cărui proiect folosește metoda integrării.

Principalul avantaj al acestei metode este că există o lume de fundații în timp real, care poate fi realizată cu precizie pe MK. Această metodă este potrivită și pentru capacitatea de auto-detecție și poate fi implementată cu ușurință pe un microcontroler.

Acest proiect a fost preluat de la un prieten pentru montaj pe usa spre zona de depozitare. Mai multă mâncare a fost pregătită pentru sărbătoarea prietenilor și a cunoștințelor. Designul părea a fi simplu și de încredere. Dispozitivul funcționează astfel: permite accesul doar acele carduri RFID care au fost stocate anterior în memoria dispozitivului.

Aveam nevoie de un termometru pentru incubator, iar din moment ce nu mai am termostat, singurul lucru care funcționează este termometrul în sine. Are un indicator de 3 cifre, mai degrabă decât un indicator de 4 cifre. Să vorbim puțin despre indicatorii digitali înșiși. Indicatorul cu șapte segmente este format din șapte elemente indicator (segmente), care sunt pornite și oprite direct de furnizarea de viață. Incluzându-le în diverse combinații, pot fi folosite pentru a schimba afișarea numerelor. În indicatoarele moderne, LED-urile sunt realizate în formă de segmente, astfel încât indicatoarele LED au o formă extrem de simplă - cu cât sunt mai puține LED-uri diferite și cu dispozitivele mai ieftine. Segmentele sunt desemnate prin litere A inainte de G. Al optulea segment este un punct. Axa parametrilor indicatori care sunt măsurați în termometru:

  • Tensiune continua maxima (cu debit 20 mA):.....2.5
  • Debit maxim înainte: .....25-30 mA
  • Tensiune maxima: .....5
  • Curent de poartă (la tensiunea 5): .....10 µA
  • Alimentare: .....150 mW
  • Flux direct impuls maxim: 140-160 mA.
  • Interval de temperatură de funcționare: .....-40…+85°C

Acum să începem să pregătim termometrul în sine. Să urmăm principiul diagramei.

Pentru acest preparat avem nevoie de:

>>> Indicator cu 4 cifre și șapte segmente 1 bucată
>>> Condensator ceramic 0,1 microfarad 1 buc
>>> Condensator electrolitic 100 uF 16V (10 posibile)
>>> Rezistoare 100-200 ohm 0,125 W 8 buc.
>>> Microcontroler AtTiny2313 1 buc.
>>> Priză 20 nig 1 buc.
>>> Senzor DS18B20 1 buc.
>>> Sârmă, fier de lipit, mâini de aur))

După ce au colectat toate componentele radio necesare, vom trece la pregătirea unui termometru cu microcontroler. Lipim rezistențele la indicator.

Hai să pregătim mâncarea - și ești gata! Am uitat să flash microcontrolerul. Firmware-ul poate fi actualizat. Arhiva conține două firmware-uri, unul pentru catodul de carbon și unul pentru anodul de carbon.

Trebuie să flashăm acest MK. Cum să câștigi bani este uimitor la cei trimiși. Deschideți PonyProg (deoarece aveți un programator mai bun) și instalați firmware-ul. Când descărcați firmware-ul, nu uitați să apăsați butonul „ CURAT Fusion este afișat ca în fotografia de mai jos:

De asemenea, unul dintre factorii importanți: atunci când selectați siguranțe, nu uitați să apăsați butonul " CITIT(Citit). Salvăm firmware-ul, scoatem microcontrolerul din programator și îl introducem în dispozitiv.

Trimitem mâncarea diagramei - și voila! Totul merge. Nu există nicio placă manuală la circuit, dar prin simplitatea simțului nu există fotoliu, circuitul este format, aproximativ, din cinci componente radio. Există și rezistențe, pentru că s-au ars acolo pur și simplu prin lipirea lor. Videoclipul acestui senzor de temperatură poate fi vizionat mai jos:

Cum se folosește un termometru pe ATTINY

Dispozitivul este eficient și simplu, ceea ce se va potrivi foarte bine pentru inspectorii la începutul carierei, fiind primul proiect practic pe AtTiny. Bouv este în spatele tău A fierbe.

Discutați articolul TERMOMETRUL PE ATTINY

Este melodios, nu este ușor de spus un tutorial simplu despre microcontrolere, iar adevărul este și mai simplu. Acest proiect pe microcontrolerul Attiny2313 poate fi numit cu ușurință un proiect de o zi, deoarece crearea acestor ani de la început până la sfârșit a durat puțin mai mult de o zi.

Pentru această aniversare avem nevoie de:

  • Rezonator cuarț la 16 MHz – 1 aprox.;
  • Microcontroller Attiny2313 - 1 bucată;
  • Condensator de la 22 pf la 27 pf - 2 buc;
  • Condensator 220 N - 1 bucata;
  • Stabilizator 7805 - 1 bucată;
  • Tranzistor - 4 aprox;
  • Indicator SA15-11GWA - 4 buc (orice altul poate fi folosit cu un anod cu filament);
  • Buton – 2 buc.;
  • Rezistor 100 Ohm - 8 buc;
  • Rezistor 200 Ohm - 4 buc;
  • Rezistor 10 kom - 1 buc.
  • Mâncarea pare să fie simplă.

Descrierea lucrării anilor simpli pe Attiny2313

Este condus de un rezonator de cuarț cu o frecvență de funcționare de 16 MHz. Ca controler al orei, circuitul microcontrolerului Attiny2313 rulează un timer de 16 biți cu un prescaler de 256, configurând alternanța în funcție de valorile atinse de controlerul 625. Deci, acesta este întrerupt de 100 de ori pe secundă.

Intervalul de timp este supus modificărilor globale, iar pentru întreruperile pielii este necesară creșterea valorii milisecundelor cu 1. Dacă numărul de milisecunde ajunge la 100, este necesară creșterea valorii secundelor cu 1, iar valoarea milisecundelor Aruncă-l în câteva secunde. Și apoi în aceeași secvență până la zeci de ani, care sunt reduse după ce ating 24 de ani fără a adăuga o descărcare ofensivă. Jurnalul anual de pe microcontrolerul Attiny2313 este cât se poate de simplu; nu afișează data, trecerea la ora de iarnă/vară etc.

În acest fel, deducem valoarea orei de producție înregistrată în schimbare globală. Acum este necesar să exportăm această valoare. Deoarece numărul de porturi de pe microcontroler este destul de mare, este posibil să observați o astfel de caracteristică precum inerția. Catozii tuturor celor patru indicatoare ai indicatorului sunt conectați în paralel, iar anozii sunt controlați separat, ceea ce vă permite să afișați un număr pe orice indicator în orice moment.

Prin conectarea rapidă a portului B al microcontrolerului, înainte de a conecta catodul și anodul, putem crea aspectul că toate cele 4 cifre sunt afișate, indiferent de cele pe care doar una funcționează în același timp. Cu alte cuvinte, dacă ora curentă este 10:43, atunci pe primul indicator al anului este afișat numărul 1, după un scurt interval de o oră (aproximativ 1 ms) pe celălalt indicator se afișează numărul 0, după 1 ms este afișat indicatorul 4 până la 3, după 1 ms este afișat indicatorul 3 4 și sună din nou miza.

Acest dispozitiv de statistică este un robot cu carduri SD. Subiectul este vechi și destul de obosit, dar despre stocarea cardurilor SD merită să scriem din nou.
Cardurile SD (SDC, SD Card) au o mulțime de avantaje și sunt foarte simple și ușor de utilizat în proiecte mici care trebuie implementate. Ce se potrivește factorilor scazuți:
- o interfață foarte simplă pentru interacțiunea cu cardul (implementată folosind SPI suplimentar);
- viteza mare de operare (microcontrolerul este construit pentru a transfera date de pe cardul SD cu viteza apropiata de 10 Mbit/s);
- consum redus de energie (literal câțiva miliamperi - nu mai mult);
- de dimensiuni reduse;
- accesibilitate si ieftinitate.
Cardurile SD practic nu au deficiențe (inclusiv, cel puțin, procedurile de inițializare a acestora:)).

1. Introducere.

Dispozitiv, descrieri în acest articol, numindu-l SD Card Talking Device. E puțin pretențios;), dar în spatele numelui a devenit clar că este un dispozitiv, ce să spun. Este destinat să vă exprimați proiectele. Pe scurt, funcționează astfel: fișierele de sunet numerotate sunt înregistrate pe cardul SD pe măsură ce dispozitivul urmează comanda dvs. Scopul proiectului este larg - sisteme de notificare, jocuri, roboți, sisteme de alarmă inteligente etc. Dimensiunile dispozitivului vor fi modeste (s-ar putea să fie mai puține, dar cu siguranță am ales microcontrolerul ATtiny2313, care este mai ieftin și mai ușor de ajuns). Accentul meu principal a fost pe simplitate și funcționalitate maximă.
Privind în viitor, ne întrebăm ce poate ieși din asta:

Ți-ar plăcea un astfel de dispozitiv? Hai sa alegem!

2 Card de memorie.

Dispozitivul este echipat cu un card de memorie SD. După ce am scris deja despre motivele alegerii, voi adăuga doar că cardurile SD devin și nu cardurile de memorie standard pentru dispozitivele mobile. Se pare că producătorii, care au împins/împins fanatic tipul lor de carduri de memorie, încet-încet încep să blocheze cardurile SD. Motivul pentru o astfel de popularitate a fost probabil prețul scăzut al acestor carduri. Pentru dispozitivele de amatori, un card SD, un singur card, este disponibil până când este înghețat, iar motivul este interfața simplă pentru a lucra cu acesta.

Cardul SD a trecut printr-o evoluție îndelungată și există o serie de opțiuni de implementare (MMC este o versiune a cardului SD, SD ver1, SD ver2, SDHC, SDXC). Procedura de combinare a unui card este simplă și universală pentru toate tipurile de carduri, iar procesul de lansare în robot (inițializarea cardului) poate duce la un proces ambiguu și confuz, cu „re-amestecare” rituală a cardului, emiterea de comenzi goale „fachinoase” și alte probleme cu discursuri dulci (pe scurt, dans cu tamburine ) obov'yazkovi :)). Specificația propriu-zisă pentru protocolul SDC descrie procesul de inițializare și este evident că cititoarele de carduri sunt întunecate, fiecare piele are păduchii ei, cu propriile caracteristici... La ce mă bag? - Am încercat să fac procedura de inițializare cât mai universală, dar fiți pregătiți pentru faptul că unele carduri nu vor funcționa. Dacă aveți probleme cu dispozitivul, încercați un alt card de memorie - acesta poate fi motivul.

Acest dispozitiv acceptă carduri SD de până la 2 GB, inclusiv. Orice altceva (SDHC și SDXC) nu este acceptat.
Pentru dispozitiv, nu are nicio diferență ce factor de formă este cardul (SD, MiniSD sau MicroSD), dar trebuie să îl conectați corect, inclusiv înainte de a anula fixarea cardului.

3 Sistem de fișiere.

Dispozitivul procesează carduri care acceptă sistemul de fișiere FAT16. Acest sistem este cel mai potrivit pentru dispozitive similare cu ale noastre, deoarece este simplu și ușor de implementat (FAT12 și FAT32, în principiu, nu sunt nici greu de implementat, dar nu complet, datorită faptului că nu există avantaje în comparație cu FAT16 ).

Nu există avantaje speciale la formatarea unui card - acesta poate fi formatat pe orice dispozitiv disponibil. Formatul standard Windows este complet potrivit pentru aceasta.

Pentru o funcționare corectă, voi atașa fișiere de sunet stocate pe cardul SD, din cauza următoarelor dezavantaje:
a) Formatul fișierului este buti - WAV comprimat.
Parametrii fișierului sunt:
- Bitrate – frecvența de eșantionare (Frecvency) – 32000 Hz;
- numărul de canale (Canale) - 1 (mono);
- Dimensiunea eșantionului - 8 biți.
Este și mai posibil să înregistrați rapid acest lucru - WAV PCM 8U

b) Dosarul are nume speciale. Pentru ca dispozitivul să știe ce fișier este primul, al doilea, al treilea etc. Primul caracter al numelui fișierului poate fi litera majusculă a alfabetului latin (alegerea numelui, precum și extensia fișierului, sunt ignorate).
De exemplu, următoarele nume de fișiere ar fi corecte:
A_Lai_dog.wav – prima piesă
B-Tse o altă pistă.wav - o altă pistă
Z Atenție! Eroare!.wav - a treia piesă

c) Pentru posibilități suplimentare, fișierele pot fi localizate în două foldere numite „1” și „2”. Dispozitivul dispune de un remixer pentru selectarea folderului activ, astfel încât aceeași comandă de pornire a creației poate lansa piese din folderele „1” sau „2”, în funcție de nivelul de la intrarea care este remixată (un fel de selecție de scheme sonore – chiar acre!). Dacă un folder (sau ambele) este gol, fișierele sunt deschise din directorul rădăcină.

Împreună cu melodiile audio, puteți salva orice alte fișiere, fără a provoca conflicte cu numele lor (sau mai degrabă, le puneți într-un director separat, astfel încât să nu vă pierdeți respectul, deoarece sunt numite acolo).

d) Din cauza cantității mici de SRAM, ATtiny2313 nu poate crea un buffer pentru citirea datelor în avans, astfel încât datele din fișier nu pot fi create. Evident, nu există nicio modalitate de a salva fragmente într-un fișier din spatele tabelului FAT. Cu alte cuvinte, fișierele înregistrate pe card nu sunt fragmentate.

De fapt, aceasta nu este o problemă mare, deoarece sistemul de operare încearcă întotdeauna să scrie întregul fișier și, în timp ce aveți un loc pe card, orice acțiune cu fișiere (ștergerea, copierea, redenumirea) nu va interfera cu lustierea lor. Dacă aveți un card cu un volum foarte mic sau ați umplut un card mare, pentru a menține integritatea fișierelor, pur și simplu copiați-le pe hard disk-ul computerului, formatați cardul și rotiți fișierele înapoi.

4 Schema. Taxa Drukovana.

Dispunerea dispozitivului este cât se poate de simplă. De fapt, în afară de microcontroler în sine și cardul SD, nu are nimic. Pentru mine, mi-am realizat propriile componente SMD, așa că plănuiesc să pun acest dispozitiv într-un spațiu limitat de dimensiunile lui. Dacă dimensiunile nu sunt critice pentru dvs., puteți selecta circuitul pentru breadboarding în versiunea DIP. Dacă aveți un aspect, voi instala un împrumut de la dvs. pentru 15 ore. Tensiunea permisă pentru un card SD este de 2,7 până la 3,6 volți. Dacă microcontrolerul funcționează normal, nu este nevoie să blocați componentele necesare. Am verificat funcționarea fiecărui dispozitiv și când tensiunea a fost setată la 5 volți, totul a funcționat bine, dar nu recomand să lucrezi astfel în mod permanent, unele carduri diferite pot fi supraîncărcate și reacționează diferit. Ca suport de card pentru microSD, am folosit adaptorul, lipindu-l direct la contactele sale. Pentru că dimensiunile mai mici necesare sunt mai bune decât suportul de card standard pentru microSD.

Pentru a flash-ul firmware-ului microcontrolerului, trebuie să utilizați același conector ca pentru cardul SD, așa că va trebui să vă gândiți la cum să conectați din nou programatorul (am făcut special un adaptor).

După ce placa este lipită, puteți flash microcontrolerul.

O mică galerie a extensiei terminate:




O mică nuanță în spatele schemei.
La instalarea unui card SD într-un suport de card (cardul este conectat la sursa de alimentare), are loc o dezlipire și, aparent, o scădere de tensiune în circuit (se pare că capacitatea cardului este încărcată în acest moment). Scăderea plăcii înseamnă că microcontrolerul va trebui îndepărtat. Recomand să începeți procedura de inițializare a cardului (instalarea cardului repornește microcontrolerul și mai întâi rulează firmware-ul pentru a inițializa cardul). Dacă, atunci când instalați cardul, nu vi se solicită să resetați microcontrolerul (există mai multă tensiune sau o capacitate mare de a-l netezi), atunci trebuie să știți despre butonul de resetare din circuitul pentru scoaterea manuală a microcontrolerului (acesta este locul în care intenționați să resetați „fierbinte” microcontrolerul).alte carduri).

5 Voi obține un loc de muncă.

După cum am scris deja, lucrul cu dispozitivul este foarte simplu: copiați piesele denumite corect pe cardul SD, introduceți cardul în suportul cardului, dispozitivul va găsi automat cardul, aprinde LED-ul verde - asta este, dispozitivul este gata să deschidă pistele. Acum trebuie doar să selectați și să începeți piesa pentru a o crea în modul care vi se potrivește cel mai bine.

5.1 Voi adăuga butoane, asta este.

Am încercat să fac dispozitivul cât mai funcțional, pentru că microcontrolerul are mult de lucru la comutarea între modurile de robot (tipul de dispozitiv presupun :)). Dacă nu aveți nevoie de această funcție - puneți pur și simplu piciorul „atârnat” în „ghiveci”.
Activitatea lui peremikachiv:
- „Monster” – vă permite să creșteți (de 2 ori) randamentul piesei – creând efectul unei voci joase. Remixer-ul funcționează „din mers” - viteza se schimbă în funcție de faptul remixului;
- „Heliu” – accelerează compoziția piesei (cu 1/3) – creând efectul unei voci înalte. Peremikach lucrează „din mers”;
- „Repetare”, dacă acesta este un întrerupător de eroare la pământ, pista selectată va fi deschisă continuu (până când comutatorul este eliberat). Acest lucru poate fi colorat, de exemplu, dacă este necesar să se creeze un fundal sonor cântând - zgomotul tablei, muntele bogaților, strumka dansant...;
- Butonul „Select / Play”, care pornește piesa pentru creare (descris mai jos);
- „Select track” - setarea numărului piesei create (descris mai jos);
- „Dir1/Dir2” – selectați scheme de sunet (descrise mai jos).

5.2 Lansarea creației.

Puteți începe crearea unei piese de cântec în trei moduri:
- după ce a tastat litera de început a alfabetului latin în UART - crearea fișierului începe imediat să plaseze această literă la începutul numelui;
- dacă numărul fișierului este selectat după „Selectare piesa” suplimentară (cod dublu 0001=”A”, 0010=”B”, etc. 1 - piciorul este închis la pământ, 0 - "atârnă" la "spate" ), apoi butonul „Selectare / Redare” lansează fișierul selectat pentru creare;
- dacă nu este selectat nimic după butonul „Selectați piesa” (0000 - picioarele „atârnă” la „ferestre”), atunci prin apăsarea butonului „Selectare / Redare” de mai multe ori, începe piesa corespunzătoare (1 dată = „A”, de 2 ori = „B”, i etc.).

5.3 Scheme de sunet.

O altă funcție cheie este funcția de selectare a uneia dintre cele două scheme de sunet. Aceasta înseamnă că, prin comutarea Dir1 / Dir2, selectați folderul de pe card de pe care va fi deschisă pista.

Sunt o mulțime de lucruri de reținut: povești rusești și engleze (jucării pentru începători), o voce copilărească și matură, sunetul apei curgătoare și focul care arde, o pisică / câine, un polițist bun și rău :), calm / rău sunete și mai mult o grămadă de opțiuni similare.

De exemplu, aveți nevoie ca dispozitivul dvs. să sune ca o voce umană sau feminină. Este implementat astfel:
- creăm două seturi, evident în varianta pentru femei și bărbați;
- Numerotarea fișierelor pentru ambele opțiuni este strict aceeași. Nu uitați că, dacă „grupați” dispozitivul numai în numele fișierului, puteți face numele mai rezonabile, de exemplu, „Așteptați comanda_masculin.wav” și „Așteptați comanda_femeie.wav” complet corecte ;
- setul de bărbați este copiat în folderul „1”, iar setul de femei este copiat în folderul „2”.
Acum, în etapa de remixare „Dir1 / Dir2”, piesele din folderele „masculin” sau „femei” sunt create folosind aceeași comandă.

5.4 Indicarea instalării robotului.

Deoarece Teenage 2313 are foarte puțină treabă, iar cea mai mare parte a lucrării se face pe jumperi, a trebuit să sacrific indicația normală, iar rezultatul NU este normal. Pentru a indica diferite moduri ale robotului, se folosește doar un picior al microcontrolerului, la care sunt conectate două LED-uri - roșu și verde (sau orice preferi). Diferite moduri de operare ale dispozitivului sunt afișate cu un cod de culoare clar:
- LED-ul roșu luminează - cardul SD sau orice tip nu este acceptat de dispozitiv;
- LED-ul roșu este aprins - cardul SD este suportat și nu a fost inițializat, dar cardul nu este formatat în FAT16;
- LED-ul verde este aprins - cardul SD a fost inițializat, sistemul de fișiere și dispozitivul necesar au fost găsite și este gata să creeze piesa - comanda a fost preluată;
- LED-ul verde se aprinde - dispozitivul deschide pista;
- ardeți verdele, ardeți roșii pentru scurt timp, ardeți din nou verdele - pista nu este găsită;
- ardeți verde, ieșiți pentru scurt timp și ardeți din nou verde - este apăsată tasta de selectare a piesei.

5.5 Informații aplicabile.

Pentru a facilita găsirea zonelor cu probleme (deoarece nu doriți să vă ocupați de dispozitive), voi finaliza pasul de inițializare în program cu notificări prin UART. După un semnal de piele de succes, următorul simbol este trimis la UART:
- "S" - (Start) periferia microcontrolerului este inițializată normal;
- "C" - (Card Init) Cardul SD este inițializat normal și este acceptat;
- "F" - (FAT Init) Sistemul FAT este suportat;
- „1” - (Nu 1 Dir) nu există nici un folder „1” citirea va fi localizată în directorul rădăcină;
- „2” - (Nu 2 Dir) nu există nicio citire a folderului „2” va fi localizată în directorul rădăcină;
- "R" - (Gata) dispozitivul este gata - verifică comenzile de pornire a piesei;
- În plus, atunci când o pistă este lansată, o literă mare a numelui pistei este transmisă la UART.

6 piese pentru notarea dispozitivelor dvs.

6.1 Conversia pistelor

Dacă nu s-a găsit nimic de care aveți nevoie în bibliotecă, puteți găsi melodiile necesare dintr-o privire (există multe site-uri speciale pentru muzicieni și editare video, unde au fost deja colectate biblioteci mari de sunete) și Armăsari de jocuri (deseori sunete ale procesului de joc sunt împărțite în piese și stocate în folderul împrejurimi). De asemenea, puteți vizualiza efecte sonore din filme și compoziții muzicale. Piesele găsite trebuie convertite în formatul acceptat de dispozitiv. Lasă-mă să ghicesc, formatul fișierului este buti - WAV comprimat. 32000 Hz, 1 canal, 8 biți (WAV PCM 8U)
Pentru a converti în acest format, utilizați un fel de editor de muzică sau dacă trebuie doar să convertiți piesa fără nicio editare -

 

 

Tse tsikavo: