Arduino - exemple, experimente - o pisică în haina

Într-unul dintre articolele anterioare, am discutat cum să reducem prețul unui produs pe Arduino.
Și am menționat o versiune numită Arduino Pro mini. Am cumparat-o pe ebay pentru 120r, acum poti gasi deja mai ieftin decat 100r. Arată așa, cu o mână de scară:

Arduino - exemple, experimente - o pisică în haina


Lui ieftin se datorează faptului că există mai puține detalii pe ea decât pe un simplu Arduino Uno. Imediat lovi lipsa unui port USB și se pune întrebarea cum să-l bliți?

Trebuie să bliți programatorul. În ultimul articol am folosit programatorul USBASP

Arduino - exemple, experimente - o pisică în haina

Puteți să o utilizați, dar vreau să arăt în acest articol cum puteți folosi un alt programator Arduino. Pentru aceasta, nimic nu va fi nevoie deloc de Arduinka. Dezvoltatorii s-au gândit deja la toate și au scris software-ul necesar. Luăm orice alt Arduino cu un port USB

Arduino - exemple, experimente - o pisică în haina

Conectăm-o la computer și încărcăm în el programul, care va face ca programatorul ArduinoISP să iasă din el.

Pentru a face acest lucru, în mediul de dezvoltare Arduino, selectați File-Examples-ArduinoISP.

Arduino - exemple, experimente - o pisică în haina

Și încărcați acest program în Arduino în mod obișnuit (prin setarea elementelor de meniu "Instrumente" "Taxă" și "Port"

Arduino - exemple, experimente - o pisică în haina

Acum poți folosi Arduinku ca programator pentru a programa mini-ul nostru Arduino Pro. Pentru firmware trebuie să conectăm 6 pini MISI, MOSI, SCK, RESET, VCC și GND. Să vedem ce este scris în spatele Arduino Pro mini:

Arduino - exemple, experimente - o pisică în haina

În stânga vedem concluziile de care avem nevoie. Concluziile corespunzătoare despre programatorul nostru, putem spiona în textul programului nou programat:

Arduino - exemple, experimente - o pisică în haina

Ie MOSI - 11 ieșire digitală, MISO - 12, SCK - 13, RESET - 10.
VCC este putere, GND este pământ.
Conectați programatorul nostru la Arduino Pro mini

Arduino - exemple, experimente - o pisică în haina

Acum, să încercăm să lumineze lumina în programul Pro mini.

Să deschidem exemplul standard Blink

Arduino - exemple, experimente - o pisică în haina

Textul programului a fost deschis, îl voi aduce aici:


void setup () <
// inițializați pinul digital LED_BUILTIN ca ieșire.
pinMode (LED_BUILTIN, OUTPUT);
>

// funcția buclă rulează mereu din nou și din nou
buclă voidă () <
digitalWrite (LED_BUILTIN, HIGH); // porniți LED-ul (HIGH este nivelul de tensiune)
întârziere (1000); // așteptați o secundă
digitalWrite (LED_BUILTIN, LOW); // opriți LED-ul făcând tensiunea LOW
întârziere (1000); // așteptați o secundă
>


După ultima actualizare a mediului de dezvoltare Arduino, exemplul Blink a fost schimbat! Iată cum sa arătat înainte (încă mai am o imagine din articolul precedent):

Arduino - exemple, experimente - o pisică în haina


Care este diferența? Anterior, am fost conectat la LED-ul Arduino pentru ieșirea digitală dorită, care a fost specificată în mod implicit 13. Acum, în loc de ieșirea 13, există o constantă LED_BUILTIN, care vorbește de la sine. Majoritatea dispozitivelor Arduino au un LED încorporat. Și acum o coincidență, este doar conectată la ieșirea digitală 13. Și constanta LED_BUILTIN are o valoare de 13 (cel puțin pentru Arduino UNO, pentru restul nu voi răspunde). Deci, de fapt, exemplul LED-urilor clipește nu sa schimbat, dar am aflat despre LED_BUILTIN constant.

Putem conecta LED-ul la 13 ieșiri digitale și nu ne putem conecta și doar să vedem cum clipește LED-ul Mini Arduino Pro mini încorporat.

Pentru a descărca programul în Arduino Pro mini, trebuie să selectați opțiunea de programator din meniul "Instrumente" - Arduino ca ISP (nu confundați-l cu ArduinoISP)

Arduino - exemple, experimente - o pisică în haina


Și acum încărcăm programul în Arduino prin meniul "Sketch" - "Descărcare prin programator"

Arduino - exemple, experimente - o pisică în haina

Programul va fi compilat și completat cu Arduino Pro mini. După aceasta, vom vedea clipirea LED-ului încorporat.

După cum puteți vedea în firmware-ul Arduino Pro mini nu este nimic dificil. Și în exact același fel puteți bloca chips-urile goale Atmega.

Arduino - exemple, experimente - o pisică în haina

În acest articol, vă voi arăta cum să gestionați prin Arduino un astfel de afiș:

Arduino - exemple, experimente - o pisică în haina

Arduino - exemple, experimente - o pisică în haina

Am cumparat-o pe ebay.com pentru 100r. Găsiți un afișaj similar este disponibil la cerere "tm1637". Am cumpărat primul ecran pe care l-am primit în ochii mei și, mai târziu, când a venit și am încercat să-l luminez, mi-am dat seama că aceste afișe, se pare, sunt diferite. Diferența este că ele sunt controlate de un alt șofer. Afișajul meu funcționează pe două jetoane TM74HC595 și există unul care funcționează pe un singur cip TM1637. Se pare ca aceasta:

Arduino - exemple, experimente - o pisică în haina

Arduino - exemple, experimente - o pisică în haina

Afișajul de pe TM1637 are doar 4 picioare: 2-putere și 2-control. Deci, dacă aș avea afișarea asta, aș găsi cu ușurință o bibliotecă de lucru pentru Arduino și o să învăț cu ușurință cum să o gestionăm. Dar am venit pe două chips-uri TM74HC595 și nu am găsit nici o bibliotecă sub Arduino. Dar am găsit câteva linii de lucru de cod pe forumurile zabugornye, mi-am dat seama de esența lor și am scris propria mea bibliotecă pentru a lucra cu acest afiș pe Arduino. Descărcați biblioteca aici. Sper că cineva a făcut viața mai ușoară.

Deci, să începem. Instalați biblioteca descărcată în dosarul Arduino / libraries, rulați mediul de dezvoltare și deschideți exemplul.

Arduino - exemple, experimente - o pisică în haina

Exemplul are 3 ieșiri

În loc de un mare Arduino Uno, voi folosi microcontrolerul Atmega328.

Arduino - exemple, experimente - o pisică în haina

Am conectat picioarele corespunzătoare pe afișaj și încărc programul pe microcontroler.

Programul afișează mai întâi cifra "0" pe primul indicator.
Apoi cifra "3" pe indicatorii 2 și 3
Apoi litera "A" pe toți indicatorii
Apoi numără 0-99 pe primii doi indicatori
Apoi numără 0-99 pe indicatorii 3 și 4
Apoi, numără 0-100 cu zerouri de conducere, adică 0001, 0002, 0003.
Și în cele din urmă se numără 0-9999 fără zerouri de conducere, adică 1, 2, 3.

Arduino - exemple, experimente - o pisică în haina

Arduino - exemple, experimente - o pisică în haina

Arduino - exemple, experimente - o pisică în haina

Arduino - exemple, experimente - o pisică în haina

Arduino - exemple, experimente - o pisică în haina


În cele din urmă, am constatat că atunci când cablul de alimentare este deconectat de pe afișaj, acesta continuă să funcționeze, primind energie de la cablajul de comandă.

Arduino - exemple, experimente - o pisică în haina
Arduino - exemple, experimente - o pisică în haina



Vă voi arăta cum să bliți direct microcontrolerele Atmega328 și Atmega8 din mediul de programare Arduino. Primul pe care îl am în pachetul DIP, iar al doilea în TQFP.

Pentru programare, folosesc programatorul USBasp. Am cumpărat-o pe ebay.com. costă în 150r.

Arduino - exemple, experimente - o pisică în haina


Prima problemă pe care vor întâlni utilizatorii Windows8 și Windows10 este instalarea driverului pentru USBasp.

Arduino - exemple, experimente - o pisică în haina

Problema este că aceste sisteme de operare cer ca driverul să aibă un fel de semnătura digitală, iar driverele pentru USBasp astăzi nu o au. Problema este rezolvată prin dezactivarea verificării acestor semnături digitale. Pentru a face acest lucru, reporniți computerul cu tasta Shift apăsată. Apare un ecran pe care selectăm "Diagnosticare"

Arduino - exemple, experimente - o pisică în haina

Mai mult - "Parametri suplimentari"

Arduino - exemple, experimente - o pisică în haina

Arduino - exemple, experimente - o pisică în haina

Aici merită clarificat sensul acestui rezonator. Cel mai probabil, în microcontrolerul pe care l-ați cumpărat, sunt setate setările (siguranțele) pentru lucrul de la un generator de ceas extern. din cuart. Prin urmare, pentru a avea o cusătură, este necesar să fie conectat la acest cuart. Pentru a relua cuarțul, puteți lua orice vine în mână. Când pentru prima oară am aruncat-o dintr-un dispozitiv rupt, aici este mic în fotografie.

Arduino - exemple, experimente - o pisică în haina

A fost suficient ca microcontrolerul să se răsucească. Dacă microcontrolerul este inițial configurat să funcționeze dintr-un generator de ceas intern, atunci nu aveți nevoie de cuarț pentru firmware, puteți face fără el.

Pentru a putea bloca microchipul direct din mediul de dezvoltare Arduino, trebuie să umpleți încărcătorul Arduin cu un cip. Pentru a face acest lucru, folosim programul avrdude și constructorul de încărcătoare online pentru arduino. Pe pagina de designer de încărcătoare online, mergeți în partea de jos și vedeți constructorul

Arduino - exemple, experimente - o pisică în haina

1. Selectați „oscilator intern“ dacă nu doriți să utilizați un cristal de cuarț, sau alege „generatorul extern“, dacă vrem să crească viteza de cip.

2. Selectați modelul microcontrolerului (în cazul nostru Atmega328)

3. Faceți clic pe "Creați HEX"

Apare următoarea fereastră:

Arduino - exemple, experimente - o pisică în haina

Primul lucru pe care îl facem este să descărcați încărcătorul nostru ca fișier hexagonal. Dacă designerul nu funcționează din anumite motive, puteți descărca bootloaderul pentru atmega328 pentru generatorul intern aici.

Mai jos vedem blocul fișierului boards.txt pentru IDE-ul Arduino. Am încercat să conectez această unitate de mult timp, astfel încât în ​​mediul Arduino era o alegere a unei cărți, dar din anumite motive nu a funcționat pentru mine, în cele din urmă am făcut-o fără ea.

Mai jos vedem un indiciu despre cum să umple încărcătorul prin programul avrdude și programatorul USBasp. Fac următoarele:

-Conectez programatorul la computer prin USB.

-Am copiat fișierul HEX în folderul avrdude

-Eu creez un fișier bat în dosarul avrdude și copiați pentru a lovi această linie

avrdude -c usbasp -p atmega328p -U bliț: w: a328p_8MHz_e2_de_5.hex -U lfuse: w: 0xe2: m -U hfuse: w: 0xde: m -U efuse: w: 0x5: m

@echo Acest fișier lot

-Rulați fișierul de lilieci. Dacă sunteți prea leneș pentru a crea un fișier bat, îl puteți descărca aici.

Arduino - exemple, experimente - o pisică în haina

Dacă se face corect, veți vedea ceva de genul acesta

Arduino - exemple, experimente - o pisică în haina

Aceasta înseamnă că totul a mers bine și încărcătorul Arduino a fost inundat pe microcontrolerul nostru. Acum o putem bloca direct din mediul de programare Arduino.

Dacă undeva nakosyachili și ați făcut ceva greșit, puteți vedea acest mesaj:

Arduino - exemple, experimente - o pisică în haina

Pot exista motive diferite:

-Poate că nu ați conectat corect programatorul la microcip. Verificați conexiunile.

-Poate că nu ați conectat un rezonator de cristal, iar microcontrolerul dvs. este configurat să funcționeze din acesta. Apoi conectați orice rezonator cuarț, deși din decoctul chinezesc de ceas.

-Iar cea de-a treia opțiune despre care nu am spus, dar pe care am întâlnit-o și când am cusut Atmega8. La un forum am fost invitat ca microcipul să funcționeze la o frecvență mai mică și să-l blige, trebuie să închideți jumperul JP3 pe programator. Ceea ce ma ajutat de fapt.

Arduino - exemple, experimente - o pisică în haina

Dacă nu ați avut probleme și încărcătorul Arduino sa înregistrat cu succes pe cip, atunci vom reveni la firmware-ul chip-ului prin mediul de programare Arduino.
În primul rând, dacă ați selectat "oscilatorul intern" în designerul încărcătorului online, atunci rezonatorul cuarț poate fi scos din circuit.

Să deschidem mediul de dezvoltare Arduino și să lansăm exemplul clasic de clipelare LED:

Arduino - exemple, experimente - o pisică în haina

Arduino - exemple, experimente - o pisică în haina

Vedem că, în exemplul de ieșire digitală 13. În microcip 19, corespunde Shank

Arduino - exemple, experimente - o pisică în haina

pentru că această concluzie este acum conectată la programatorul pentru ieșirea SCK, apoi schimbăm ieșirea în programul 13 la 5.

Arduino - exemple, experimente - o pisică în haina

Și conectați LED-ul la acesta.

Arduino - exemple, experimente - o pisică în haina

Selectăm în Instrumente o placă, un cip și un programator