Am ales varianta asta cu Arduino DIP, din cauza usurintei cu care poti sa inlocuiesti microcontrolerul original din Arduino cu cel blanc neprogramat, astfel in cateva minute poti programa cateva bucati de microcontrolere ATmega328P. Eu am avut disponibile 5 bucati.
Pentru programarea microcontrolerului, avem nevoie de doua boarduri Arduino, se poate si fara al doilea, unde sa avem circuitul unui arduino simplificat ma maxim, insa varianta asta mi s-a parut cea mai accesibila oricui, probabil o sa fac mai incolo si un video cu un arduino home made, dar pe moment nu am atat de mult timp liber.
Unul din boarduri va fi cel care contine microcontrolerul blanc (gol, fara bootloader) iar acesta i-l vom numi TARGET sau tinta, iar celalat programeaza primul board, iar pe al doulea i-l vom numi SURSA.
Pentru a deosebi cele doua boarduri, cel TARGET va fi cel DIP, pentru ca in acesta schimbam foarte usor microcontrolerul, iar al doilea arduino cel SURSA va fi cel care este varianta SMD, astfel sigur nu vom incurca boardurile intre ele in timpul programarii.
Pentru ca deja am pregatit ca sa nu confundam cele doua, ne apucam de treaba. Insa inainte de toate, inca un minim lucru ar trebui sa faceti, o fotografie cu pozitia microcontrolerului original in Arduino TARGET, astfel incat sa nu puneti microcontrolerul invers in board inainte de programare.
Acestea fiind facute, facem legaturile electrice intre cele doua boarduri astfel:
SURSA TARGET
D11 ----- D11
D12 ----- D12
D13 ----- D13
D10 ----- RESET
5V ------ 5V
GND --- GND
Avand legaturile astfel facute, conectam arduino SMD cel SURSDA cu ajutorul unui cablu USB de laptop, dupa care deschidem ARDUINO IDE.
Printre exemplele din Arduino IDE, alegem ARduino ISP.
Setam portul COM corect pe care comunica arduino SURSA (cel SMD, atrag aici atentia, la faptul ca la mine acesta se conecteaza pe COM3, iar al doilea pe COM10, desi au fost conectate la acelasi port al laptopului, dar deocamdata conectam doar cel SMD), dupa care setam boardul ca Arduino UNO, iar ca programer alegem AVRISP mkII.
Foarte important sa aveti acest programer, altfel nu veti obtine nici un rezultat. Cititi cu atentie toata descrierea, pentru ca dupa ce incarcam Arduino ISP pe boar va trebui sa schimbam din nou programerul !!!
Deci, avem portul, boardul si programerul setat, cele doua Arduino conectate electric. In acest moment incarcam Arduino ISP.
Daca totul a decurs corect, schimbam programerul in ARDUINO AS ISP, dupa care BURN BOOTLOADER din meniuri. Daca a-ti facut totul corect, veti avea in Arduino IDE mesajul DONE BURNING BOOTLOADER.
Daca a-ti primit acest mesaj, a-ti reusit sa incarcati corect bootloaderul pe microcontrolerul blanc, care acum poate fi programat cu Arduino IDE.
Desfacem legaturile electrice dntre cele doua Arduino, iar pe cel TARGET i-l conectam de laptop cu ajutorul cablului USB.
Selectam boardul Arduino UNO, portul COM corect, dupa cum v-am scris mai sus la mine acesta (cel DIP) comunica pe alt port decat cel versiunea SMD, dar asta cred ca depinde de controlerul care asigura conexiunea seriala via USB de pe cele doua boarduri, ele find se pare diferite. In mod interesant cel TARGET chiar este recunoscut mai bine, si in dreptul portului corect chiar scrie ca este conectat un Arduino UNO. Dupa ce am setat boardul si portul, setam si programerul in Arduino as ISP iar dintre exemple alegem un exemplu pentru care nu avem nevoie sa facem nici un montaj si totusi putem verifica daca microcontrolerul pe care tocmai am incarcat bootloaderul este in stare sa comunice corect cu laptopul si poate sa functioneze corect dupa incarcarea unui cod. Eu am ales BLINK, pentru ca putem vedea e LED-ul de pe board daca functioneaza ARduino pe care am incarcat exemplu.
Totul a functionat corect, s-a incarcat fara probleme codul pe microcontroler, iar ledul de pe board lumineaza o secunda, dupa care se opreste din iluminat o secunda, de fapt in BLINK chiar asta avem.
Am facut un scurt video cu explicatii in engleza cu felul in care am incarcat bootloaderul.
Dupa ce am reusit primul microcontroler, am programat si urmatoarele 4 microcontrolere. Daca ai facut asta odata, vei vedea ca urmatoarele se fac intr-ul timp relativ scurt si nu necesita cine stie ce cunostinte aprofundate pentru incarcarea unui bootloader.
Trebuie sa atrag atentia, asupra felului in care veti scoate microcontrolerul original din boardul TARGET, cel putin pentru prima data va fi destul de dificil !
Dupa ce a-ti scos microcontrolerul pentru prima oara, o sa aveti o mica surpriza, microcontrolerele cumparate nu au distanta dintre cele doua randuri de picioruse identica cu distanta dintre cele doua randuri de picioruse de pe microcontrolerul original.
Pentru a le indoi toate la acelasi nivel (pentru a fi perfect aliniate randurile de picioruse) puneti microcontrolerul pe o suprafata dreapra (pe masa) si cu piciorusele pe masa si microcontrolerul culcal, indoiti de microcontroler, astfel incat distanta dintre cele doua randuri de picioruse sa fie identica cu cel original. Acest lucru trebuie facut cu atentie, ca si scoaterea circuitului original din soclu, pentru ca riscati ca la introducere sa indoiti piciorusele microcontrolerului. La scoaterea din soclu la fel, cu grija fortati pe o parte si pe cealalta parte, astfel sa iasa cat se poate de paralel, altfel aveti surprize destul de interesante, si realinierea lor nu va mai fi atat de usor din moment ce nici distanta dintre picioruse nu va mai fi corecta datorita indoirii picioruselor. Deci atentie mare la aceasta faza !
Daca aveti experienta mai mare cu asa ceva, m-as bucura sa citesc experientele voastre, eu acum am facut prima oara asa ceva, iar daca a-ti citit atent ce am scris veti observa ca am intampinat si cateva dificultati.
Dar totul e bine cand se termina cu bine !
Spor la bricolat !