Innholdsfortegnelse:
- Trinn 1: Fjern strømledningen og fjern 9V -batteriet
- Trinn 2: Koble til hoppetrådene
- Trinn 3: Slå på RPi
- Trinn 4: Installer Avrdude
- Trinn 5: Rediger Avrdude Config File
- Trinn 6: Last ned eller kopier.hex Flash -filen til /home /pi
- Trinn 7: Kontroller at Avrdude kan snakke med ATMEGA48V-10PU
- Trinn 8: Flash.hex-filen til ATMEGA48V-10PU
- Trinn 9: Enkel feilsøking hvis blitsen mislyktes
Video: Hvordan bruke en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: 9 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Dette er trinnvise instruksjoner om hvordan du bruker en Raspberry Pi og den gratis åpen kildekode-kommandoen avrdude for å bit-bang-programmere en DIMP 2 eller DA PIMP 2. Jeg antar at du er kjent med din Raspberry Pi og LINUX kommandolinje. Du trenger ikke å være kjent med AVR -brikke programmering, men det hjelper hvis noe går galt fordi du kan lese utdataene til avrdude og ha en ide om hva du skal gjøre.
Denne prosedyren bør ta omtrent 1 time første gang og 5 til 10 minutter hver gang etter.
Du vil trenge:
1) En Raspberry Pi med GPIO -pinner og strømforsyning. Jeg bruker en Raspberry Pi Zero W med GPIO -pinner loddet på. Operativsystemet skal være Raspberry Pi OS (tidligere Raspbian). Jeg bruker Raspbian Lite (Stretch), som er litt gammel. Disse kommandoene bør fortsatt fungere på den nyeste versjonen av Raspberry Pi OS.
Fremover vil jeg referere til Raspberry Pi som "RPi."
2) Jumper-ledninger fra kvinne til kvinne. Få en av hver av disse fargene: rød, svart, blå, gul, grønn, lilla. Jeg bruker brun i stedet for lilla.
3) En DIMP 2 eller DA PIMP 2 med den valgfrie 10-pinners ICSP-hodet loddet inn. Jeg bruker en DIMP 2 her, men instruksjonene er de samme for DA PIMP 2.
4) Internett-tilgang for RPi slik at du kan installere gratis open-source kommandoen avrdude.
5) En kopi av.hex flash -filen for DIMP 2 eller DA PIMP 2. Du kan bygge.hex filen selv fra rå kildekoden, men jeg vil ikke vise deg hvordan du gjør det her.
6) En måte å logge på RPi-bruk enten en nettverkstilkobling eller direkte konsolltilgang. Du må kunne kjøre kommandoer på den.
Trinn 1: Fjern strømledningen og fjern 9V -batteriet
Sjekk først om strømledningen er koblet til DIMP 2 eller DA PIMP 2 og koblet til strømnettet. I så fall FARE: FARE FOR LETHAL STØT. Bruk gummihansker og slå av hovedbryteren på DIMP 2 eller DA PIMP 2. Koble deretter strømledningen fra strømnettet, og koble strømledningen fra DIMP 2 eller DA PIMP 2. Du kan ta av gummihanskene når strømledningen er fjernet.
Fjern deretter 9V -batteriet. RPi får strøm til DIMP 2 gjennom de røde (Vcc) og svarte (GND) ledningene. Slå glidebryteren på DIMP 2 eller DA PIMP 2 til av for sikkerhets skyld.
Trinn 2: Koble til hoppetrådene
Når RPi ikke er slått på, begynner du å koble til jumperledningene. Fremover er GPIO -pinnene på Raspberry Pi og ICSP -pinnene er på DIMP 2 (topptekst J3) eller DA PIMP 2 (topptekst J1).
Se diagrammet jeg brosteinsbelagte sammen og bildene hvis du er tapt.
RPi -delen av diagrammet er fra pinout.xyz.
ATMEGA48V-10PU-delen av diagrammet er copyright 2016 Atmel Corp.
Jeg hevder rimelig bruk av disse tegningene på grunn av de betydelige, transformative tilleggene.
Svart går fra GPIO pin 6 til ICSP pin 10. Dette er GND (Ground)
Gul går fra GPIO pin 12 til ICSP pin 9. Dette er MISO.
Grønt går fra GPIO pin 16 til ICSP pin 1. Dette er MOSI.
Blått går fra GPIO pin 18 til ICSP pin 7. Dette er SCK eller SCLK (SClock)
Lilla (brun på bildene mine) går fra GPIO pin 32 til ICSP pin 5. Dette er RESET.
Rødt går fra GPIO pin 4 til ICSP pin 2. Dette er Vcc (5V Power)
Trinn 3: Slå på RPi
Nå, fortsett og slå på RPi. Voltmeterdelen av DIMP 2 eller DA PIMP 2 burde også slå seg på, men du vil ikke vite det ved å se på skjermen. Hvis du er i tvil, må du måle spenningen med den røde sonden ved pinne 20 på ATMEGA48V-10PU og den sorte sonden på pinne 4, 6 eller 8 på ICSP-hodet. Det bør være rundt 5VDC.
Trinn 4: Installer Avrdude
Instruksjonene mine viser bare kommandolinjekommandoer. Hvis du har en GUI som kjører, vil du åpne en Terminal for å kjøre disse kommandolinjekommandoene.
Logg på som standard bruker -pi. Standardpassordet er bringebær
Installer avrdude -kommandoen ved å skrive følgende ved kommandoprompten på terminalen:
sudo apt-get install avrdude
Trinn 5: Rediger Avrdude Config File
Rediger avrdude -konfigurasjonsfilen ved å skrive:
sudo nano /etc/avrdude.conf
Legg disse linjene til midten av filen der de andre programmeringsdefinisjonene er. Det jeg gjorde er å kopiere programmeringsseksjonen rett over den for id = "linuxgpio", deretter lime den inn rett nedenfor (på linje 1274) og deretter redigere den nye delen.
Programmerer
id = "pi_1"; desc = "Bruk Linux sysfs -grensesnittet til å bitbange GPIO -linjer"; type = "linuxgpio"; reset = 12; sck = 24; mosi = 23; miso = 18;;
Lagre deretter filen ved å trykke: Ctrl-O
Og avslutt deretter nano-editoren ved å trykke: Ctrl-X
Trinn 6: Last ned eller kopier.hex Flash -filen til /home /pi
Kopier.hex flash -filen til RPi. Jeg antar at du vet hvordan du gjør dette. TIPS: Bruk kommandoen wget, curl, git eller scp for å få filen ned fra nettet til RPi.
DIMP 2s.hex -fil er her, sammen med kildekoden:
github.com/dchang0/dimp2
En tilpasset versjon av DA PIMP 2s.hex -fil er her. Jeg har ikke testet dette!
github.com/jcwren/DaPimp2
Hvis versjonen ovenfor av. Hex -filen til DA PIMP 2 ikke fungerer, er kildekoden til den originale DA PIMP 2 fra Mikey Sklar her. Du må selv kompilere den til en fungerende.hex -fil. Jeg dekker ikke det i disse instruksjonene fordi det vil være en lang (men ikke vanskelig) opplæring. Jeg programmerte flere fungerende DA PIMP 2 -enheter med denne kildekoden:
drive.google.com/open?id=0Bx5Als-UeiZbSUdH…
Eller du kan gå til hovedsiden DA PIMP 2 her og klikke på lenken til kildekoden.
mikeysklar.blogspot.com/p/da-pimp-battery-…
Sett.hex -filen på denne banen og filnavnet på RPi …
For DIMP 2:
/home/pi/dimp2.hex
For DA PIMP 2:
/home/pi/da_pimp2.hex
Trinn 7: Kontroller at Avrdude kan snakke med ATMEGA48V-10PU
Kjør avrdude-kommandoen for å sikre at den kan snakke med ATMEGA48V-10PU-brikken på DIMP 2 eller DA PIMP 2.
cd /home /pi
sudo avrdude -c pi_1 -p m48 -v
Du får omtrent en side med utdata. Se på slutten. Hvis du får et svar som dette, kan du fortsette.
avrdude: AVR -enhet initialisert og klar til å godta instruksjoner
Lesing | #################################################### | 100% 0,00s
Hvis ikke, er det noe galt, og du bør finne ut av det. Mest sannsynlig er det en feilkobling, men en annen vanlig klage jeg har sett er at ATMEGA48V-10PU-brikken er en falsk. Det ser ut til at mange av dem som selges på Amazon eller ebay er forfalskninger. De som selges av Mouser eller Digikey og andre autoriserte distributører er ekte.
Trinn 8: Flash.hex-filen til ATMEGA48V-10PU
Kjør denne kommandoen for å programmere brikken …
For DIMP 2:
cd /home /pi
sudo avrdude -c pi_1 -p m48 -U blits: w: dimp2.hex
For DA PIMP 2:
cd /home /pi
sudo avrdude -c pi_1 -p m48 -U flash: w: da_pimp2.hex
Du får omtrent en side med utdata. Se etter disse linjene:
avrdude: skriveblits (1528 byte):
Skriving | #################################################### | 100% 0,79s
avrdude: bekrefter …
avrdude: 1528 byte med flash -verifisert avrdude: safemode: Sikringer OK (E: FF, H: DF, L: 62)
Hvis du har kommet så langt, bør du se LED -displayet som viser nuller for spenningen. Hvis du ser nullene, er du ferdig! Hvis ikke, gå til neste trinn.
Hvis du ser nullene, må du slå av RPi -en din med denne kommandoen:
sudo shutdown -h nå
Når strømlampen på RPi slås av (DIMP 2 eller DA PIMP 2 vil fortsatt være på), kan du koble strømforsyningen fra RPi. Koble deretter fra jumperledningene mellom RPi og DIMP 2 eller DA PIMP 2.
Trinn 9: Enkel feilsøking hvis blitsen mislyktes
Hvis du ikke ser nuller på skjermen på DIMP 2 eller DA PIMP 2, er det på tide å feilsøke.
Igjen, sjekk ledningene først.
Sjekk deretter sikringstilstandene vist av avrdude. Det er mulig at brikken din kom med sikringene satt til andre verdier enn fabrikkstandarden. Det kan hende at brikken må tilbakestilles, noe som krever en helt annen maskinvareenhet. Dette er et problem med mange av de falske ATMEGA48V-10PU-brikkene som selges på ebay-de er gamle brikker trukket fra kassert maskinvare, og sikringene er satt, og selgeren gadd ikke å nullstille sikringene.
Noen ganger er brikken ikke engang en ATMEGA48V-10PU. Det kan være en annen brikke merket. Vanligvis kan du fortelle disse forfalskningene ved å se nøye på markeringene på toppen og bunnen av brikken. Det er klokere å få din ATMEGA48V-10PU gjennom en pålitelig leverandør som Mouser eller Digikey.
Anbefalt:
LED -blink med bringebær Pi - Hvordan bruke GPIO Pins på Raspberry Pi: 4 trinn
LED -blink med bringebær Pi | Slik bruker du GPIO -pins på Raspberry Pi: Hei folkens i denne instruksjonen, vi lærer hvordan du bruker GPIO -er til Raspberry pi. Hvis du noen gang har brukt Arduino, vet du sannsynligvis at vi kan koble LED -brytere etc. til pinnene og få det til å fungere som. få lysdioden til å blinke eller få inngang fra bryteren, så
Hvordan bruke DS1307 Bruke Arduino: 7 trinn
Hvordan bruke DS1307 Bruke Arduino: DS1307 er en sanntidsklokke IC (RTC). Denne IC brukes til å gi tidsdata. Tildelt tid starter fra sekunder, minutt, timer, dager, dato, måned og år. Denne IC krever ytterligere eksterne komponenter som Crystal og 3,6V batterier. Krystall
Hvordan bruke en tenåring til å skrive ut bilder på Splatoon 2 Bruke SplatPost -skriveren: 10 trinn
Hvordan bruke en tenåring til å skrive ut bilder på Splatoon 2 Bruke SplatPost -skriveren: I denne instruksen vil jeg vise hvordan du bruker SplatPost -skriveren av ShinyQuagsire. Uten klare instruksjoner ville noen som ikke har erfaring med kommandolinjen ha litt problemer. Målet mitt er å forenkle trinnene ned til poi
Hvordan bruke Neopixel Ws2812 LED eller LED STRIP eller Led Ring med Arduino: 4 trinn
Hvordan bruke Neopixel Ws2812 LED eller LED STRIP eller Led Ring With Arduino: Hei folkens siden Neopixel led Strip er veldig populær, og den kalles også som ws2812 led strip. De er veldig populære fordi vi i denne LED -stripen kan adressere hver LED hver for seg, noe som betyr at hvis du vil at få lysdioder skal lyse i en farge
Hvordan bruke Wiimote som en datamus ved å bruke stearinlys som sensor !!: 3 trinn
Slik bruker du Wiimote som en datamus ved å bruke stearinlys som en sensor !!: Denne guiden viser deg hvordan du kobler din Wii -fjernkontroll (Wiimote) til din PC og bruker den som en mus