Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:59
Sistemos programuotojas (ISP) yra įrenginys, kurį galite naudoti programuodami daugybę mikrovaldiklių, pavyzdžiui, „ATMega328p“, kuris yra „Arduino Uno“smegenys. Galite nusipirkti kažką panašaus į USBtinyISP arba netgi naudoti „Arduino“. Ši pamoka parodys, kaip naudoti „Raspberry Pi“kaip IPT.
„Arduino IDE“programa, kurią „Arduino IDE“naudoja po gaubtu, norėdama sužadinti mikroschemas, gali būti naudojama su daugeliu programuotojų. Vienas iš jo variantų yra naudoti SPI kaiščius „Pi“išplėtimo prievade. Aš paaiškinsiu, kaip užmegzti tinkamus ryšius, sudėsiu paprastą grandinę „perfboard“, kad nereikėtų kaskart perjungti laidų, kai norite įjungti blykstę, ir kaip įdiegti bei naudoti „avrdude“. Aš taip pat parodysiu, kaip naudojant šį metodą surinkti programas naudojant „Arduino IDE“į AVR lustą, pvz., „ATmega“ar „ATtiny“.
Reikalingi dalykai:
- „Raspberry Pi“su naujausiu „Raspbian“
- 40 kontaktų kištukinis lizdas (arba 26 kontaktų, jei turite senesnį Pi)
- IDE kabelis, skirtas prisijungti prie „Pi“
- 16 MHz kristalų rezonatorius
- 22 pF kondensatoriai (2)
- Šviesos diodas (1), rodantis programuotojo būseną
- 8, 14 ir (arba) 28 kontaktų IC lizdai, priklausomai nuo to, kokios formos žetonus norite blykstelėti
- Šiek tiek perforatoriaus, laidų, lydmetalio
1 žingsnis: statykite „Cobbler“priedą
Serijinė periferinė sąsaja (SPI), dar vadinama keturių laidų nuosekliąja, yra būdas bendrauti tarp vieno pagrindinio įrenginio ir vieno ar daugiau pavaldžių įrenginių. Mes tai panaudosime žybsnoti mikroschemoms, Pi bus pagrindinis ir lustas kaip vergas. Jūs sukursite šiuos ryšius tarp „Pi“ir lusto (žr. Aukščiau esančius kontaktus, skirtus įvairiems AVR ir „Pi“išplėtimo prievadams, kad sužinotumėte, kurie kaiščiai yra):
- Prijunkite MOSI (master-out-slave-in) kaiščius
- Prijunkite SCLK (bendro laikrodžio) kaiščius
- Prijunkite MISO (master-in-slave-out) kaiščius kartu su 220 omų rezistoriumi, kad apsaugotumėte Pi nuo netikėtai aukštos lusto įtampos
- Prijunkite GPIO 25 ant Pi tiesiogiai prie lusto RESET kaiščio. Programuodamas „Pi“traukia šį kaištį žemai, todėl mes naudojame 10K rezistorių, kad jis būtų aukštas, kai neprogramuojame, ir šviesos diodą su 1K apsauginiu rezistoriumi, veikiančiu iki teigiamos įtampos, kad mes gautume gražių vaizdinių atsiliepimų, kai jis programuojamas.
Mes prijungiame įžeminimo ir maitinimo (3,3 V) kaiščius tarp „Pi“ir lustų, kurias norime užprogramuoti. Jei dar nežinote, „Raspberry Pi“kaiščiai netoleruoja 5 V įtampos - jie bus pažeisti, jei ant jų atsiras daugiau nei 3,3 V. Jei programuojamiems lustams dėl kokių nors priežasčių reikia 5 V galios, mes galėtume naudoti lygio perjungimo lustą, kad apsaugotume „Pi“kaiščius, tačiau nesusidūriau su jokiomis problemomis naudojant 3.3V - todėl rekomenduoju žaisti saugiai ir taupyti komponentus.
Galiausiai prie mikroschemos XTAL kaiščių prijungiame 16MHz kristalų osciliatorių, kurį taip pat prijungiame prie žemės per porą 22pF kondensatorių. AVR lustus galima nustatyti skirtingais dažniais, taip pat galima nustatyti vidinį ar išorinį šaltinį tam dažniui nustatyti. Jei jūsų lustas kaip dažnio šaltinis naudojamas naudoti išorinį kristalą, be jo negalėsite perprogramuoti. Priešingu atveju nesvarbu, ar jis yra.
Paskutiniame paveikslėlyje esančią grandinės schemą galite naudoti kaip vadovą, kaip surinkti batsiuvio priedą ant plokštės. Įvairių formų IC lizdų galite turėti tiek, kiek norite, tiesiog prijunkite atitinkamus kaiščius lygiagrečiai su Pi ir kristalu. N. B. jei naudosite mano prototipo vaizdą kaip vadovą, atkreipkite dėmesį, kad pridėjau keletą papildomų antraščių kaiščių ir lizdų, kad galėčiau pasiekti „Pi“kaiščius dėl nesusijusių priežasčių.
2 veiksmas: „Avrdude“diegimas ir naudojimas
Norėdami įdiegti „avrdude“savo „Pi“, tiesiog įveskite
sudo apt-get install avrdude
Tada turėsite įjungti SPI sąsają, jei ji dar nebuvo įjungta. Yra komandinės eilutės būdas tai padaryti, tačiau daug lengviau naudoti „Raspberry Pi“konfigūracijos įrankį. Tipas
sudo raspi-config
ir eikite į sąsajos parinktis, kad įjungtumėte SPI.
Norėdami įjungti blykstę, prijunkite juostinį kabelį iš „Pi“į „perfboard“grandinės jungtį ir įkiškite lustą į atitinkamą IC lizdą (įsitikinkite, kad jis nukreiptas teisingu keliu).
Kai mirksi programa, taip pat turite įsitikinti, kad lusto saugikliai yra teisingai nustatyti. Tai tikrai tik bitai mikroschemoje, kurią nustatėte, kad nurodytumėte, kokiu laikrodžio greičiu veikti, ar ištrinti EEPROM rašant mikroschemą ir pan. Galite perskaityti visą AVR specifikaciją, kad išsiaiškintumėte, kaip nustatyti kiekvieną bitą, bet daug lengviau naudoti saugiklių skaičiuoklę, pateiktą svetainėje engbedded.com/fusecalc. Pasirinkite naudojamą AVR dalies pavadinimą ir srityje „Funkcijų pasirinkimas“pasirinkite norimas parinktis. Aš paprastai tik įsitikinu, kad laikrodžio nustatymai yra teisingi, o kitus dalykus palieku numatytuosius. Beveik visada norėsite palikti NEPATIKRINTĄ „Įjungtas serijinis programavimas“, o „Atstatyti išjungtą“- kitaip negalėsite perprogramuoti lusto. Kai turite tinkamus nustatymus, galite slinkti žemyn srityje „Dabartiniai nustatymai“ir nukopijuoti AVRDUDE argumentus, kaip parodyta paveikslėlyje.
Norėdami nustatyti saugiklius, įveskite komandą
sudo avrdude -c linuxspi -P /dev/spidev0.0 -p
kur dalies pavadinimas atitinka jūsų naudojamą lustą. Dalių pavadinimų sąrašą galite rasti įvedę sudo ardude -c linuxspi -p? Tipą. Norėdami paleisti programą, įsitikinkite, kad ji yra dabartiniame kataloge, ir įveskite
sudo avrdude -c linuxspi -P /dev/spidev0.0 -p -U flash: w:: i
Po abiejų komandų šviesos diodas užsidegs, kol lustas bus modifikuotas.
3 žingsnis: „Arduino“programų įtraukimas į AVR
Pagrindinis šios instrukcijos tikslas yra jau sukompiliuotų programų perkėlimas į lustus, o ne kaip jas rašyti ar kompiliuoti. Tačiau norėjau paaiškinti, kaip galite surinkti dvejetainius failus naudodami „Arduino IDE“ir, naudodami šį metodą, perkelti juos į plikas AVR mikroschemas, nes „Arduino“yra gana lengva išmokti ir yra tiek daug vadovėlių ir pavyzdžių.
Pirmiausia turėsite pridėti informaciją apie jūsų mirksintus AVR lustus, kad IDE žinotų, kaip juos surinkti. Jamesas Sleemanas labai naudingai surinko kai kuriuos sąrankos failus, kuriuos galima rasti „github“. Norėdami juos naudoti, „Arduino IDE“atidarykite meniu „Parinktys“ir spustelėkite laukelį šalia „Papildomų lentų tvarkyklės URL“. Atsidariusiame dialogo lange nukopijuokite ir įklijuokite šiuos URL:
Tada eikite į meniu „Įrankiai“ir submeniu „Lenta“raskite parinktį „Lentų tvarkytuvė…“. Dialogo lange „Lentų tvarkyklė“slinkite žemyn iki sąrašo apačios ir įdiekite „pasidaryk pats“„ATmega“ir „pasidaryk pats“plokštes.
Norėdami sudaryti savo programas, pirmiausia įsitikinkite, kad meniu „Procesorius“pasirinkote tinkamą mikroschemą ir tinkamą procesoriaus greitį. Pasirinkite parinktį „Naudoti įkrovos tvarkyklę: ne“, nes mes įkelsime tiesiogiai su „Pi“ir taip galėsime naudoti papildomą erdvę, kurią paprastai užimtų „Arduino“įkrovos tvarkyklė. Dabar spustelėkite mygtuką „Patvirtinti“(varnelė). Tai sudarys jūsų programą, nebandant jos įkelti (nes jūs pats tai darote).
Darant prielaidą, kad viskas klostosi gerai, dabar turite surinktą programą gauti į „Pi“. IDE juos slepia laikinoje vietoje, nes yra skirta pačioms programoms įkelti. „Windows“sistemoje jis yra „AppData/Local/Temp“jūsų vartotojo kataloge, aplanke, prasidedančiame „arduino_build“. Ieškokite.hex failo - tai jūsų programa! Nusiųskite jį į savo „Pi“per FTP arba naudodami USB atmintinę ir būsite versle.
Norėdami tai padaryti, turite turėti „Windows“asmeninį kompiuterį arba „Mac“, kad galėtumėte sudaryti savo programas, kurias siunčiate į „Pi“. Būtų tikrai nesmagu tai padaryti pačiame „Pi“, tačiau, deja, oficiali „Arduino IDE“versija, esanti „Raspbian“saugykloje, yra gana sena ir neturi valdybos valdytojo. Be to, pridėti sudėtingus nustatymus, skirtus kompiliuoti plikiems AVR, yra šiek tiek sudėtingiau. Yra pamokų, kaip surinkti naujesnę „Arduino“versiją „Pi“- jei norite tai padaryti, eikite jų ieškoti! Taip pat manau, kad turėtų būti įmanoma, kad IDE naudotų „linuxspi“programuotoją, kad paleistų lustą iš paties IDE (ty naudojant mygtuką „Atsisiųsti“), bet tai ne mano kantrybė ir įgūdžių lygis - jei žinote būdas, paskelbkite jį komentaruose! Galiausiai galite tiesiog parašyti programas tiesiai į AVR-C ir surinkti jas į „Pi“naudodami avr-gcc, suteikdami jums pilną AVR kūrimo platformą „Raspberry Pi“. Aš šiek tiek to padariau, ir jei norite eiti šiuo keliu, sveikinu jus. Mirksi!
Rekomenduojamas:
LED mirksi su Raspberry Pi - Kaip naudoti GPIO kaiščius „Raspberry Pi“: 4 žingsniai
LED mirksi su Raspberry Pi | Kaip naudotis GPIO smeigtukais „Raspberry Pi“: Sveiki, vaikinai, šioje instrukcijoje sužinosime, kaip naudoti „Raspberry pi“GPIO. Jei kada nors naudojote „Arduino“, tikriausiai žinote, kad prie jo kaiščių galime prijungti LED jungiklį ir pan. kad LED mirksėtų arba gautumėte įvestį iš jungiklio, kad
AVR mikrovaldiklis. Šviesos diodai mirksi naudojant laikmatį. Laikmačiai pertraukia. Laikmačio CTC režimas: 6 žingsniai
AVR mikrovaldiklis. Šviesos diodai mirksi naudojant laikmatį. Laikmačiai pertraukia. Laikmačio CTC režimas: Sveiki visi! Laikmačiai yra svarbi sąvoka elektronikos srityje. Kiekvienas elektroninis komponentas veikia pagal laiką. Ši laiko bazė padeda sinchronizuoti visus darbus. Visi mikrovaldikliai veikia tam tikru iš anksto nustatytu laikrodžio dažniu
„Bare Metal Raspberry Pi 3“: mirksi šviesos diodas: 8 žingsniai
„Bare Metal Raspberry Pi 3“: mirksi šviesos diodas: Sveiki atvykę į „BARE METAL pi 3“mirksintį LED vadovėlį! Šioje pamokoje mes atliksime veiksmus nuo pradžios iki pabaigos, kad LED lemputė mirksėtų naudojant „Raspberry PI 3“, duonos lentą, rezistorius, LED ir tuščia SD kortelė. Taigi, kas yra BARE METAL? BARE
Pigūs „pasidaryk pats“mirksi LED mediniai ženklai: 6 žingsniai (su nuotraukomis)
Pigūs „pasidaryk pats“mirksi LED mediniai ženklai: ši idėja kilo iš kelių skirtingų vietų. Amatų išpardavime pamačiau medinį ženklą su šviesos diodais ir pagalvojau, kad tai atrodo nuostabiai ir paprasta. Po kelių savaičių radau Juliano Ilett vaizdo įrašus apie žiedinius osciliatorius. Sujungus abu
Mirksi šviesos diodai: 5 žingsniai (su nuotraukomis)
Mirksintys šviesos diodai: Klausydamasis muzikos savo kompiuteryje (išdidžiai naudodamasis WINAMP), man buvo įdomu, kaip kai kurie šviesos diodai mirksės nuo garso, sklindančio iš P2 jungties, todėl nusprendžiau padaryti paprastą grandinę. Tai veikė gana gerai, todėl nusprendžiau