LED inima pe atmega8 - blog-ul xelfaer

În rețea există o mulțime de opțiuni pentru implementarea inimii LED realizate pe baza microcontrolerelor, așa că am decis să împărtășesc implementarea mea. Pentru o lungă perioadă de timp nu a ajuns la mâini pentru a scrie un articol, timpul nu este suficient, atunci altceva, dar încă cineva va fi cu siguranta utile, chiar dacă nu astăzi, atunci în viitorul apropiat.







Desenele nu au fost ceea ce nu a fost, totul a fost făcut în cursul lucrării, problemele apărute în cadrul procesului au fost decise în cursul lucrării.
Doar pentru a da un șal luminos este cu siguranță o opțiune, dar nu în cazul meu. Pentru baza a fost luat un sicriu de placaj:

LED inima pe atmega8 - blog-ul xelfaer

Deoarece în condițiile mele de viață și pentru lipsa instrumentelor necesare - cutia pe care am comandat-o în magazin.
Pentru a da o specie mai nobilă pentru lemnul nobil, din care a fost făcut sicriul, sa decis să se utilizeze o pete. Sincer, nu când nu am mai lucrat cu ei înainte, era de obicei limitat la utilizarea uleiului de uscare. După căutare, opțiunea a fost oprită pe o pată de alcool sub mahonul Himekspress. De vreme ce nu exista condiții meteorologice favorabile, trebuia să fie comandat într-un oraș vecin din magazin. Apoi, a fost necesar să alegeți un lac, care va sta în mod normal pe copac după utilizarea petelor. Dupa ce am studiat aceasta problema in retea, alegerea a cazut pe lacul de mobila НС-218.
Se pare că totul este pentru decorare și puteți începe tratamentul de suprafață. După deschiderea suprafața pătată a casetei primul strat, acesta este motivul pentru care nu a scăzut foarte uniform, am avut locul este un pic prost și deschide-o a doua oară, și apoi m-am așteptat „plăcut“ surpriză - culoarea nu a devenit mahon, si deja mai mult ca de abanos. Mai târziu a fost dezvăluit faptul că pata poate fi diluată, dar deja a fost prea târziu. Apoi a început să lacuire ... Doar specificați de ce aleg o grămadă de pete de alcool + lac nitrocelulozic - timpul de uscare a produsului după prelucrare, deoarece era vorba de sincronizare. Deschideți produsul nitrovarnish are activitatea de divertisment pervertire, atunci când se aplică lacul se usucă foarte repede, iar când acesta este aplicat în mod uniform pentru a acoperi suprafața principală și nu lasă urme, deoarece atunci ei nu se vor ascunde. Din nou, așa cum sa dovedit că era posibil să subțire lac la o vâscozitate diluant sau solvent marca RML 646. Deoarece vopseaua era gros, aplicarea minge sale a fost foarte greu, astfel încât cauza largă perie, iar marginile - pensula subtire pentru a picta. Toată sicriul a fost acoperit cu 6 straturi de lac în 12 seturi, deoarece era necesar să se păstreze așa și să se acopere uniform toate piesele. În acest caz, în cazul unei comparații - utilizarea de lac pe bază de ulei pe mai ușor și mai convenabil în comparație cu nitrovarnish ca lac de ulei poate repara scamele nici o aplicare uniformă, nu miros înțepător. Minus utilizarea sa - se usuca mult. După ce a realizat o altă lăcuirea din greșeala lui: a fost necesar pentru a elimina caseta bucla înainte de deschidere, dar din moment ce trenul a plecat deja - au trebuit să se răsucească și se va curăța de lac după deschidere.

Acum treceți la umplerea electronică. Acest lucru va necesita:






1) microcontroler ATmega8;
2) 22 LED-uri roșii SMD;
3) Rezistor SMD 620 Ohm;
4) 1 rezistor SMD 10 kΩ;
5) 1 condensator SMD 0,1 μF.
unde: microcontrolerul ATmega8 este necesar în pachetul TQFP, iar toate părțile SMD au dimensiunea 0805.

Totul a fost crescut de la început în programul Sprint Layout 5, iar mai târziu a fost adăugat aspectul făcut în EagleCAD 6.6.0. De fapt, sa ajuns la concluzia că bordul divorțat în Sprint Layout sa dovedit:

LED inima pe atmega8 - blog-ul xelfaer

și taxa în EagleCAD:

LED inima pe atmega8 - blog-ul xelfaer

În versiunea finală ar trebui să fie astfel:

LED inima pe atmega8 - blog-ul xelfaer

Acum rămâne să dați o privire fină spre interiorul casetei. Pentru aceasta, sa decis să o lipiți cu o cârpă. Materialul a fost ales roșu închis - catifea. Pentru a lipi nu a fost atât de simplu, deoarece este subțire și atunci când tăierea nu produce o tăiere netedă. După căutarea informațiilor din rețea, a fost găsită o variantă. făcute din carton și tesatura direct atașată acestora, după care toate piesele deja lipite au fost lipite pe cutia însăși.

LED inima pe atmega8 - blog-ul xelfaer

Acum puteți începe să scrieți firmware pentru microcontroler. Firmware-ul a fost făcut în grabă și codul lasă mult de dorit. Alegerea efectelor care vor fi afișate este o chestiune creativă și este limitată doar de imaginația dezvoltatorului și de memoria microcontrolerului propriu-zis. Mi-am dat seama ce mi-a plăcut foarte mult. Aici este codul actual al firmware-ului:

#include
#include

// activați toate LED-urile
void full_leds_on # 40; # 41;
# 123;
PORTD | = _BV # 40; PD4 # 41; ;
PORTB | = _BV # 40; PB6 # 41; ;
PORTD | = _BV # 40; PD3 # 41; ;
PORTB | = _BV # 40; PB7 # 41; ;
PORTD | = _BV # 40; PD2 # 41; ;
PORTD | = _BV # 40; PD5 # 41; ;
PORTD | = _BV # 40; PD1 # 41; ;
PORTD | = _BV # 40; PD6 # 41; ;
PORTD | = _BV # 40; PD0 # 41; ;
PORTD | = _BV # 40; PD7 # 41; ;
PORTC | = _BV # 40; PC5 # 41; ;
PORTB | = _BV # 40; PB0 # 41; ;
PORTC | = _BV # 40; PC4 # 41; ;
PORTB | = _BV # 40; PB1 # 41; ;
PORTC | = _BV # 40; PC3 # 41; ;
PORTB | = _BV # 40; PB2 # 41; ;
PORTC | = _BV # 40; PC2 # 41; ;
PORTB | = _BV # 40; PB3 # 41; ;
PORTC | = _BV # 40; PC1 # 41; ;
PORTB | = _BV # 40; PB4 # 41; ;
PORTC | = _BV # 40; PC0 # 41; ;
PORTB | = _BV # 40; PB5 # 41; ;
# 125;

// opriți toate LED-urile
void full_leds_off # 40; # 41;
# 123;
PORTD =

_BV # 40; PD4 # 41; ;
PORTB =

_BV # 40; PB6 # 41; ;
PORTD =

_BV # 40; PD3 # 41; ;
PORTB =

_BV # 40; PB7 # 41; ;
PORTD =

_BV # 40; PD2 # 41; ;
PORTD =

_BV # 40; PD5 # 41; ;
PORTD =

_BV # 40; PD1 # 41; ;
PORTD =

Acest aspect PCB diferă de cel menționat în articolul meu. Dacă nu lipiți MK - să avem o carte foto fără ea. Polaritatea LED-urilor a fost verificată înainte de sigilare? Catodul LED-urilor trebuie să fie lipit la autobuzul comun, în acest caz este muchia inimii. Alternativ, utilizați un multimetru pentru a le suna pe card în modul de continuitate.

Coaseți MK din circuit, lipiți firele de picioare și alimentând-o.

Încercați să blițați doar prin avrdude + blițați complet fabrica:
hfuse: 0xd9
Luse: 0xe1
pentru că în cazul în care se face referire la împletit în articolul (și încă nu au înțeles că nu este de lucru) ar fi periculos, deoarece va fi deconectat de biți SPIEN, iar MC va fi posibilă numai prin programator Flash paralel.

"Încercați să blocați prin avrdude"
Nu funcționează pentru mine, când apăs butonul pentru a clipi, scrie "Eroare la pornirea aplicației (0xc000007b)" și apoi se închide

Cu eroarea avrdude mi-am dat seama, dar nu definește programatorul Gromov







Trimiteți-le prietenilor: