Sisällysluettelo:

AVR/Arduino vilkkuu vadelmalla Pi: 3 vaihetta (kuvilla)
AVR/Arduino vilkkuu vadelmalla Pi: 3 vaihetta (kuvilla)

Video: AVR/Arduino vilkkuu vadelmalla Pi: 3 vaihetta (kuvilla)

Video: AVR/Arduino vilkkuu vadelmalla Pi: 3 vaihetta (kuvilla)
Video: Lesson 2: Getting Arduino Software and using Documentation for SunFounder Arduino Kit | SunFounder 2024, Marraskuu
Anonim
AVR/Arduino vilkkuu Raspberry Pi: n kanssa
AVR/Arduino vilkkuu Raspberry Pi: n kanssa

Järjestelmän sisäinen ohjelmoija (ISP) on laite, jolla voit ohjelmoida monia mikro-ohjaimia, esimerkiksi ATMega328p, joka on Arduino Unon aivot. Voit ostaa jotain, kuten USBtinyISP, tai voit jopa käyttää Arduinoa. Tämä ohje antaa sinulle ohjeet Raspberry Pi: n käyttämiseen Internet -palveluntarjoajana.

Avrdude -ohjelmaa, jota Arduino IDE käyttää konepellin alla sirujen salaamiseen, voidaan käyttää monien ohjelmoijien kanssa. Yksi sen vaihtoehdoista on käyttää Pi: n laajennusportin SPI -nastoja. Selitän, kuinka tehdä oikeat liitännät, koota yksinkertainen piiri perfboardille, jotta sinun ei tarvitse tehdä johdotusta uudelleen aina, kun haluat väläyttää sirun, ja kuinka asentaa ja käyttää avrdudea. Näytän myös, kuinka saat ohjelmat, jotka on koottu Arduino IDE: tä käyttäen AVR -sirulle, kuten ATmega tai ATtiny tällä menetelmällä.

Tarvittavat asiat:

  • Raspberry Pi, johon on asennettu uusin Raspbian
  • 40-nastainen urosliitin (tai 26-nastainen, jos sinulla on vanhempi Pi)
  • IDE -kaapeli, jolla voit muodostaa yhteyden Pi -laitteeseesi
  • 16 MHz: n kideresonaattori
  • 22 pF kondensaattorit (2)
  • LED (1) osoittaa ohjelmoijan tilan
  • 8, 14 ja/tai 28 -nastaiset IC -liittimet, riippuen siitä, minkä tyyppisiä siruja haluat vilkuttaa
  • Jotkut parketit, johdot, juotos

Vaihe 1: Suutinkiinnityksen rakentaminen

Rakennus Cobbler Attachment
Rakennus Cobbler Attachment
Rakennus Cobbler Attachment
Rakennus Cobbler Attachment
Rakennus Cobbler Attachment
Rakennus Cobbler Attachment

Serial Peripheral Interface (SPI), jota kutsutaan myös nimellä nelijohtiminen sarja, on tapa kommunikoida yhden päälaitteen ja yhden tai useamman orjalaitteen välillä. Käytämme tätä flash -pelien vilkkumiseen, kun Pi on isäntä ja siru orja. Teet seuraavat liitännät Pi: n ja sirusi välille (katso yllä olevat pinoutit eri AVR -laitteille ja Pi -laajennusporteille tietääksesi, mitkä nastat ovat mitkä):

  • Liitä MOSI (master-out-slave-in) nastat yhteen
  • Yhdistä SCLK (jaettu kello) nastat yhteen
  • Liitä MISO (master-in-slave-out) nastat yhdessä 220 ohmin vastuksen kanssa, jotta Pi suojaisi sirun odottamattomilta korkeilta jännitteiltä
  • Liitä Pi: n GPIO 25 suoraan sirun RESET -nastaan. Pi vetää tämän nastan alhaiseksi ohjelmoitaessa, joten käytämme 10K -vastusta pitämään se korkeana, kun emme ohjelmoi, ja LED, jossa on 1K -suojausvastus, joka toimii positiiviseen jännitteeseen, antaa meille mukavaa visuaalista palautetta ohjelmoinnin aikana.

Yhdistämme maa- ja virtaliittimet (3,3 V) Pi: n ja ohjelmoitavien sirujen väliin. Jos et vielä tiedä, Raspberry Pi: n nastat eivät ole 5 V: n kestäviä - ne vahingoittuvat, jos niissä näkyy yli 3,3 V. Jos ohjelmoitavat sirut tarvitsevat jostain syystä 5 V: n virtaa, voisimme käyttää tasonsiirtosirua Pi: n nastojen suojaamiseen, mutta en ole törmännyt ongelmiin 3.3 V: n käytössä - joten suosittelen pelaamaan turvallisesti ja säästämään komponenteissa.

Lopuksi yhdistämme 16 MHz: n kideoskillaattorin sirun XTAL -nastojen yli, jonka yhdistämme myös maahan parin 22pF -kondensaattorin kautta. AVR -sirut voidaan asettaa toimimaan eri taajuuksilla, ja ne voidaan myös asettaa käyttämään sisäistä tai ulkoista lähdettä määrittämään tämä taajuus. Jos sirusi on asetettu käyttämään ulkoista kideä taajuuden lähteenä, et voi ohjelmoida uudelleen ilman sitä. Muuten ei ole väliä, onko se siellä.

Voit käyttää viimeisen kuvan piirikaaviota oppaana suutinkiinnityksen kokoamiseen perfboardille. Sinulla voi olla niin monta tai vähän eri muotoisia IC -pistorasioita kuin haluat, liitä vain sopivat nastat rinnakkain Pi: n ja kristallin kanssa. HUOM. jos käytät prototyyppini kuvaa oppaana, huomaa, että olen lisännyt ylimääräisiä otsikkotappeja ja pistorasioita, jotta voisin käyttää Pi: n nastoja riippumattomista syistä.

Vaihe 2: Avrduden asennus ja käyttö

Avrduden asentaminen ja käyttö
Avrduden asentaminen ja käyttö
Avrduden asennus ja käyttö
Avrduden asennus ja käyttö
Avrduden asennus ja käyttö
Avrduden asennus ja käyttö
Avrduden asennus ja käyttö
Avrduden asennus ja käyttö

Asenna avrdude Pi -laitteellesi kirjoittamalla

sudo apt-get install avrdude

Sinun on sitten otettava SPI -käyttöliittymä käyttöön, jos sitä ei ole vielä kytketty päälle. Voit tehdä tämän komentorivillä, mutta Raspberry Pi -määritystyökalun käyttö on paljon helpompaa. Tyyppi

sudo raspi-config

ja mene käyttöliittymän asetuksiin ottaaksesi SPI käyttöön.

Jos haluat väläyttää sirusi, kytke Pi: n nauhakaapeli perfboard -piirin liittimeen ja aseta siru sopivaan IC -liitäntään (varmista, että se osoittaa oikeaan suuntaan).

Kun ohjelma vilkkuu, sinun on myös varmistettava, että sirun sulakkeet on asetettu oikein. Nämä ovat oikeastaan vain bittiä sirussa, jonka asetit kertomaan sille, millä kellonopeudella ajetaan, poistetaanko EEPROM -muistia kirjoitettaessa sirua jne. Voit lukea kaikki AVR -tiedot selvittääksesi kuinka asettaa jokainen bitti, mutta on paljon helpompaa käyttää sulakelaskinta, joka on osoitteessa engbedded.com/fusecalc. Valitse käyttämäsi AVR -osan nimi ja valitse haluamasi vaihtoehdot "Ominaisuuden valinta" -alueelta. Yleensä vain varmistan, että kelloasetukset ovat oikein ja jätän muut asiat oletukseksi. Haluat melkein aina jättää "Sarjaohjelmointi käytössä" TARKISTETTU ja "Nollaa pois käytöstä" TARKISTAMATTA - muuten et voi ohjelmoida sirua uudelleen. Kun sinulla on oikeat asetukset, voit vierittää "Nykyiset asetukset" -aluetta alaspäin ja kopioida AVRDUDE -argumentit kuvan osoittamalla tavalla.

Aseta sulakkeet antamalla komento

sudo avrdude -c linuxspi -P /dev/spidev0.0 -p

jossa osan nimi vastaa käyttämääsi sirua. Löydät osien nimiluettelon kirjoittamalla sudo ardude -c linuxspi -p? -Tyypin. Jos haluat salata ohjelman, varmista, että se on nykyisessä hakemistossasi, ja kirjoita

sudo avrdude -c linuxspi -P /dev/spidev0.0 -p -U flash: w:: i

Molempien komentojen jälkeen LED syttyy sirun muokkaamisen aikana.

Vaihe 3: Arduino -ohjelmien siirtäminen AVR -laitteisiin

Arduino -ohjelmien siirtäminen AVR -laitteisiin
Arduino -ohjelmien siirtäminen AVR -laitteisiin
Arduino -ohjelmien siirtäminen AVR -laitteisiin
Arduino -ohjelmien siirtäminen AVR -laitteisiin
Arduino -ohjelmien siirtäminen AVR -laitteisiin
Arduino -ohjelmien siirtäminen AVR -laitteisiin

Tämän ohjeen pääpaino on jo koottujen ohjelmien vilkkuminen siruille, ei niiden kirjoittaminen tai kääntäminen. Halusin kuitenkin selittää, kuinka voit koota binaaritiedostoja käyttämällä Arduino IDE: tä ja saada ne paljaille AVR -siruille tällä menetelmällä, koska Arduino on suhteellisen helppo oppia ja opetusohjelmia ja esimerkkejä on niin paljon.

Ensinnäkin sinun on lisättävä tiedot vilkkuvista AVR -siruista, jotta IDE osaa koota niitä varten. James Sleeman on erittäin hyödyllisesti koonnut joitain asennustiedostoja, jotka ovat saatavilla githubissa. Jos haluat käyttää niitä, avaa Arduino IDE: n Asetukset -valikko ja napsauta Lisätaulujen hallinnan URL -osoitteet -kentän vieressä olevaa ruutua. Kopioi ja liitä seuraavat URL -osoitteet näkyviin tulevaan valintaikkunaan:

Siirry sitten "Työkalut" -valikkoon ja etsi "Board" -alivalikosta vaihtoehto "Boards Manager…". Vieritä luettelon loppuun Boards Manager -valintaikkunassa ja asenna DIY ATmega- ja DIY ATtiny -levyt.

Jotta voit koota ohjelmasi, varmista ensin, että olet valinnut oikean sirun "Prosessori" -valikosta ja oikean suorittimen nopeuden. Valitse "Käytä käynnistyslatainta: Ei" -vaihtoehto, koska lataamme sen suoraan Pi: n kanssa ja voimme siten käyttää ylimääräistä tilaa, jonka Arduino -käynnistyslatain normaalisti ottaisi. Napsauta nyt "Vahvista" -painiketta (valintamerkki). Tämä kokoaa ohjelmasi yrittämättä ladata sitä (koska teet tämän vaiheen itse).

Olettaen, että kaikki menee hyvin, sinun on nyt saatava koottu ohjelma Pi: lle. IDE piilottaa ne väliaikaiseen paikkaan, koska se on suunniteltu lataamaan ohjelmia itse. Windowsissa se on käyttäjän hakemiston AppData/Local/Temp -kansiossa kansiossa, joka alkaa arduino_buildilla. Etsi.hex -tiedosto - se on sinun ohjelmasi! Lähetä se Pi -laitteellesi FTP: n tai USB -tikun kautta, ja olet liiketoiminnassa.

Tämä edellyttää, että sinulla on Windows PC tai Mac ohjelmien kääntämiseen, jotka lähetät sitten Pi: lle. Olisi todella liukasta pystyä tekemään tämä itse Pi: llä, mutta valitettavasti Raspbian -arkistossa saatavilla oleva Arduino IDE: n virallinen versio on melko vanha eikä sillä ole hallituksen johtajaa. Ilman tätä, sopivien asetusten lisääminen paljaille AVR -tiedostoille on hieman hankalampaa. Siellä on opetusohjelmia Arduinon uudemman version kokoamiseksi Pi: lläsi - jos haluat tehdä niin, etsi ne! Minusta tuntuu myös siltä, että IDE: n pitäisi voida saada linuxspi -ohjelmoija käyttämään sirua välähtämään IDE: n sisältä (eli käyttämällä "lataa" -painiketta), mutta tämä ei ole kärsivällisyyttäni ja taitotasoani - jos tiedät tavalla, laita se kommentteihin! Lopuksi voit vain kirjoittaa ohjelmia suoraan AVR-C: hen ja koota ne Pi: lle avr-gcc: llä, jolloin saat täydellisen AVR-kehitysalustan Raspberry Pi: ssä. Olen tehnyt pienen osan siitä, ja jos haluat kulkea tätä tietä, tervehdin sinua. Saa vilkkua!

Suositeltava: