Obsah:
- Krok 1: Budovanie ševcovského príslušenstva
- Krok 2: Inštalácia a používanie programu Avrdude
- Krok 3: Získanie programov Arduino k AVR
Video: AVR/Arduino bliká s Raspberry Pi: 3 kroky (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Systémový programátor (ISP) je zariadenie, ktoré môžete použiť na programovanie mnohých mikrokontrolérov, napríklad ATMega328p, ktorý je mozgom Arduino Uno. Môžete si kúpiť niečo ako USBtinyISP, alebo môžete dokonca použiť Arduino. Tento návod vám ukáže, ako používať Raspberry Pi ako ISP.
Program avrdude, ktorý Arduino IDE používa pod kapotou na flashovanie čipov, je možné použiť s mnohými programátormi. Jednou z jeho možností je použiť piny SPI na rozširujúcom porte Pi. Vysvetlím, ako vytvoriť vhodné pripojenia, zostaviť jednoduchý obvod na doske, aby ste nemuseli prepájať káble zakaždým, keď budete chcieť blikať čipom, a ako nainštalovať a používať avrdude. Tiež vám ukážem, ako pomocou tejto metódy dostať programy zostavené pomocou Arduino IDE na čip AVR, ako je ATmega alebo ATtiny.
Potrebné veci:
- Raspberry Pi s nainštalovaným najnovším Raspbianom
- 40-kolíková zásuvka konektora (alebo 26-kolíková, ak máte starší Pi)
- Kábel IDE na pripojenie k vášmu Pi
- 16 MHz kryštálový rezonátor
- 22 pF kondenzátory (2)
- LED (1) indikuje stav programátora
- 8, 14 a/alebo 28 kolíkových zásuviek IC podľa toho, aký tvar čipov chcete blikať
- Nejaký perfboard, drôty, spájka
Krok 1: Budovanie ševcovského príslušenstva
Sériové periférne rozhranie (SPI), tiež nazývané štvorvodičové sériové rozhranie, je spôsob komunikácie medzi jedným hlavným zariadením a jedným alebo viacerými podradenými zariadeniami. Toto použijeme na flashovanie čipov, pričom Pi ako hlavný a čip ako otrok. Medzi Pi a svojim čipom vytvoríte nasledujúce prepojenie (rôzne AVR a rozširujúce porty Pi, kde nájdete informácie o tom, ktoré piny sú ktoré), nájdete na vyššie uvedených pinoch:
- Spojte kolíky MOSI (master-out-slave-in)
- Spojte kolíky SCLK (zdieľané hodiny) dohromady
- Pripojte piny MISO (master-in-slave-out) spolu s odporom 220 Ohm, aby ste chránili Pi pred akýmkoľvek neočakávane vysokým napätím z čipu
- Pripojte GPIO 25 na Pi priamo ku kolíku RESET na čipe. Pi pri programovaní ťahá tento kolík nízko, preto používame 10K odpor, aby bol pri programovaní vysoký, a LED s ochranným odporom 1K beží na kladné napätie, aby nám pri programovaní poskytla príjemnú vizuálnu spätnú väzbu.
Medzi Pi a čipy, ktoré chceme naprogramovať, spájame uzemňovacie a silové (3,3 V) piny. Ak to ešte neviete, kolíky Raspberry Pi nie sú odolné voči 5 V - poškodia sa, ak sa na nich objaví viac ako 3,3 V. Ak programované čipy z nejakého dôvodu potrebujú napájanie 5 V, mohli by sme na ochranu kolíkov Pi použiť čip s posunovačom úrovne, ale pri použití 3,3 V som nenarazil na žiadne problémy - preto odporúčam hrať bezpečne a šetriť na komponentoch.
Nakoniec pripojíme 16MHz kryštálový oscilátor cez piny XTAL na čipe, ktoré tiež spojíme so zemou pomocou niekoľkých 22pF kondenzátorov. Čipy AVR je možné nastaviť tak, aby bežali na rôznych frekvenciách, a tiež je možné nastaviť používanie interného alebo externého zdroja na určenie tejto frekvencie. Ak je váš čip nastavený na používanie externého kryštálu ako zdroja frekvencie, nebudete môcť bez neho preprogramovať. Inak je jedno, či tam je.
Schému zapojenia na poslednom obrázku môžete použiť ako návod na zostavenie svojho ševcovského nástavca na perfboarde. Môžete mať toľko alebo málo rôznych tvarov zásuviek IC, koľko chcete, stačí pripojiť príslušné kolíky súbežne s Pi a kryštálom. N. B. Ak použijete obrázok môjho prototypu ako sprievodcu, všimnite si, že som pridal niekoľko ďalších kolíkov a zásuviek záhlavia, aby som mal z nesúvisiacich dôvodov prístup k kolíkom na Pi.
Krok 2: Inštalácia a používanie programu Avrdude
Ak chcete nainštalovať avrdude na svoj Pi, stačí napísať
sudo apt-get install avrdude
Potom budete musieť povoliť rozhranie SPI, ak ešte nebolo zapnuté. Existuje spôsob, ako to urobiť v príkazovom riadku, ale je oveľa jednoduchšie použiť konfiguračný nástroj Raspberry Pi. Napíšte
sudo raspi-config
a v časti Možnosti rozhrania zapnite SPI.
Aby ste mohli čip čipovať, zapojte plochý kábel z počítača Pi do konektora v obvode perfboard a vložte čip do príslušnej zásuvky IC (uistite sa, že smeruje správnym smerom).
Pri prehrávaní programu sa musíte uistiť aj o správnom nastavení poistiek v čipe. Sú to skutočne iba bity v čipe, ktoré nastavíte, aby ste mu povedali, pri akej rýchlosti má bežať, či má byť pri zápise čipu vymazaná EEPROM atď. Môžete si prečítať úplnú špecifikáciu AVR a zistiť, ako nastaviť každý bit, ale je oveľa jednoduchšie použiť kalkulačku poistiek uvedenú na engbedded.com/fusecalc. Vyberte názov časti AVR, ktorý používate, a v oblasti „Výber funkcií“zvoľte požadované možnosti. Obvykle sa len uistím, že nastavenia hodín sú správne, a ostatné veci ponechám predvolené. Takmer vždy budete chcieť nechať „Sériové programovanie povolené“KONTROLOVANÉ a „Obnoviť deaktivované“NEKONTROLOVANÉ - inak nebudete môcť čip preprogramovať. Keď máte správne nastavenia, môžete sa posúvať nadol v oblasti „Aktuálne nastavenia“a skopírovať argumenty AVRDUDE, ako je znázornené na obrázku.
Ak chcete nastaviť poistky, zadajte príkaz
sudo avrdude -c linuxspi -P /dev/spidev0.0 -p
kde názov časti zodpovedá čipu, ktorý používate. Zoznam názvov dielov nájdete zadaním typu sudo ardude -c linuxspi -p ?. Ak chcete program flashovať, uistite sa, že je vo vašom aktuálnom adresári, a zadajte ho
sudo avrdude -c linuxspi -P /dev/spidev0.0 -p -U flash: w:: i
Po obidvoch príkazoch sa dióda LED rozsvieti počas úpravy čipu.
Krok 3: Získanie programov Arduino k AVR
Hlavným zameraním tohto pokynu je presunutie už kompilovaných programov na čipy, nie spôsob ich zápisu alebo kompilácie. Chcel som však vysvetliť, ako môžete pomocou Arduino IDE kompilovať binárne súbory a pomocou tejto metódy ich dostať na čisté AVR čipy, pretože Arduino sa učí pomerne ľahko a existuje veľa návodov a príkladov.
Najprv budete musieť pridať informácie o AVR čipoch, ktoré budete blikať, aby IDE vedel, ako ich skompilovať. James Sleeman veľmi užitočne zostavil niektoré inštalačné súbory, ktoré sú k dispozícii na github. Ak ich chcete použiť, otvorte v IDE Arduino ponuku „Predvoľby“a kliknite na políčko vedľa poľa „Adresy URL ďalších správcov dosiek“. Skopírujte a prilepte nasledujúce adresy URL do zobrazeného dialógového okna:
Potom prejdite do ponuky „Nástroje“a v podponuke „Doska“vyhľadajte možnosť „Správca dosiek …“. V dialógovom okne Správca dosiek prejdite nadol na koniec zoznamu a nainštalujte dosky DIY ATmega a DIY ATtiny.
Ak chcete zostaviť svoje programy, najskôr sa uistite, že ste v ponuke „Procesor“vybrali správny čip a správnu rýchlosť procesora. Vyberte možnosť „Použiť bootloader: nie“, pretože budeme nahrávať priamo pomocou Pi, a tak môžeme využiť ďalší priestor, ktorý by za normálnych okolností zaberal bootloader Arduino. Teraz kliknite na tlačidlo „Overiť“(značka začiarknutia). Program sa tak skomplikuje bez toho, aby ste sa ho pokúšali nahrať (pretože tento krok robíte sami).
Za predpokladu, že všetko pôjde dobre, musíte teraz dostať skompilovaný program do svojho Pi. IDE ich skrýva na dočasnom mieste, pretože je určené na samotné nahrávanie programov. V systéme Windows je v AppData/Local/Temp vo vašom používateľskom adresári v priečinku, ktorý začína na „arduino_build“. Vyhľadajte súbor.hex - to je váš program! Odošlite ho na svoj Pi cez FTP alebo pomocou USB kľúča, a ste na rade.
Na to je potrebné mať počítač so systémom Windows alebo Mac na kompiláciu programov, ktoré potom odošlete do zariadenia Pi. Bolo by naozaj jednoduché to urobiť na samotnom Pi, ale bohužiaľ oficiálna verzia Arduino IDE dostupná v úložisku Raspbian je dosť stará a nemá správcu dosky. Bez toho je pridanie príslušných nastavení na kompiláciu pre holé AVR o niečo zložitejšie. Existujú návody na zostavenie novšej verzie Arduina na vašom Pi - ak je to to, čo chcete robiť, choďte ich nájsť! Tiež mám pocit, že by malo byť možné prinútiť IDE používať programátora linuxspi na flashovanie čipu priamo z IDE (tj pomocou tlačidla "stiahnuť"), ale to je mimo mojej trpezlivosti a úrovne znalostí - ak viete o spôsob, pošlite to do komentárov! Nakoniec by ste mohli písať programy priamo do AVR-C a kompilovať ich na Pi pomocou avr-gcc, čo vám poskytne kompletnú vývojovú platformu AVR v Raspberry Pi. Trochu som toho urobil a ak chcete ísť touto cestou, pozdravujem vás. Začnite blikať!
Odporúča:
Oprava bezdrôtovej náhlavnej súpravy Creative Tactic3D Rage (modrá bliká, bez párovania, výmena batérie): 11 krokov
Oprava bezdrôtovej náhlavnej súpravy Creative Tactic3D Rage (modré bliká, bez párovania, výmena batérie): Táto príručka na obrázkoch je určená pre tých, ktorí vlastnia súpravu Creative Headset, ktorá stratila párovanie s vysielačom USB a opätovné párovanie nefunguje, pretože náhlavná súprava pomaly bliká na modro. a už nereagovať na tlačidlá. V tomto stave nemôžete
Arduino ako ISP -- Napaľujte hexadecimálny súbor v AVR -- Poistka v AVR -- Arduino ako programátor: 10 krokov
Arduino ako ISP || Napaľujte hexadecimálny súbor v AVR || Poistka v AVR || Arduino ako programátor: ……………………… REGISTRÁCIA Na môj kanál YouTube pre ďalšie videá …….. Tento článok je všetko o arduino ako isp. Ak chcete nahrať hexadecimálny súbor alebo ak chcete nastaviť poistku v AVR, nemusíte kupovať programátor, môžete to urobiť
Kontrolka LED bliká s potenciometrom a OLED displejom: 6 krokov
Kontrolné blikanie LED diódou s potenciometrom a OLED displejom: V tomto návode sa naučíme ovládať LED blikanie potenciometrom a zobrazovať hodnotu frekvencie impulzov na OLED displeji. Pozrite si ukážkové video
LED bliká s Raspberry Pi - Ako používať piny GPIO na Raspberry Pi: 4 kroky
LED bliká s Raspberry Pi | Ako používať GPIO piny na Raspberry Pi: Ahojte priatelia, v tomto návode sa naučíme používať GPIO na Raspberry pi. Ak ste niekedy používali Arduino, pravdepodobne viete, že na jeho piny môžeme pripojiť prepínač LED atď. nechajte LED blikať alebo vstupujte z prepínača, aby
Rozhranie Visuino Pro Macchina OBDII Začíname LED bliká: 3 kroky
Rozhranie Visuino Pro Macchina OBDII Začíname LED bliká: Film pokazuje najrýchlejšie testovanie rozhrania MACCHINA M2 OBDII Translate: Video ukazujúce najjednoduchší príklad z testovania rozhrania MACCHINA M2 OBDII