Jeffrey Cross
Jeffrey Cross

Igranje s Arduino kompatibilnim Beagle Board Trainer-om

Beagle Board Trainer iz Tin Can Alata je elegantna kćerka za Beagle Board, koja nudi mjenjače za ugrađene izlaze kao što su GPIO, I2C i SPI. To vam omogućuje da razgovarate sa 3.3v i 5v uređajima (Beagle Board radi s 1.8v signalizacijom). Tin Can Tools poslao mi je trenersku ploču kako bih se okrenuo.

Moj omiljeni dio Beagle Board Trainera je ugrađeni podsustav kompatibilan s Arduinom. ATMega328 je učitan s Arduino bootloader-om, a sve standardne Arduino igle su izložene, a možete razgovarati s njim preko drugog serijskog UART-a Beagle Board-a (/ dev / ttyS1).

Postavljanje trenera i odbora Beagle Lemila sam neke ženske zaglavlje na trenera kako bih mogla stavljati žice i komponente u igru ​​i igrati se s njima, a zatim sam sastavila trenera prema uputama u Embedded Linux Wiki. Kad sam povezao trener i Beagle Board, bio sam spreman instalirati svoj kernel i root datotečni sustav.

Iako koristim Mac za svakodnevni rad, držim Linux virtualni stroj pri ruci za projekte čije upute pretpostavljaju (ili zahtijevaju) pristup Linux sustavu. Koristim VMware Fusion, ali to bi trebalo raditi jednako dobro s Parallelsom ili besplatnim VirtualBoxom na Macu ili Windowsu. To bi moglo biti moguće bez virtualnog stroja, ali zahtijeva formatiranje SD kartice s uređajem ext2, što je teško na ne-Linux sustavu.

Slijedio sam upute za izradu SD kartice za podizanje sustava. Da bih spojio svoju SD karticu na moj Linux virtualni stroj, ugasio sam je u Mac OS X-u i vratio se na VMware, gdje sam odabrao Virtual Machine → USB → Spojite čitač internih memorijskih kartica Apple. Kad sam to učinio, mogao sam pristupiti svojoj SD kartici iz Linuxa kao da je spojen na pravi stroj.

Moj Beagle Board se ne bi ispravno pokrenuo dok ne slijedim korake iz drugog niza uputa o postavljanju argumenata za dizanje. Nakon što sam to učinio, sve je radilo u redu.

Slanje Arduino skica u Beagle Board Sada kad sam imao radnu ploču Beaglea povezan s trenerom, morao sam shvatiti kako na njega umetnuti Arduino skicu. Lakovjerni dio je otkrivanje kako generirati .hex datoteku iz Arduina. Arduino IDE to obično generira tijekom učitavanja na Arduino ploču, ali to ne ostavlja .hex datoteku.

Upotrijebio sam upute Oldfilda i Makefile za korištenje Arduina iz komandne linije. Otvorio sam Arduino Fade primjer u Arduino IDE (File → Primjeri → 1.Basics → Fade) i spremio ga u moj Arduino direktorij. Budući da je GND pin na Traineru toliko udaljen od igala kompatibilnih s Arduino-om, dodao sam nekoliko redaka u Fadeovu rutinu setup (), što pin 10 čini pin pin:

pinMode (10, OUTPUT); digitalWrite (10, LOW);

Zatim sam stvorio Makefile koji je izgledao ovako i stavio ga u direktorij skica (/ Users / bjepson / Documents / Arduino / Fade na mom računalu). Možda ćete morati promijeniti postavku ARDUINO_DIR i morat ćete promijeniti posljednji redak koji počinje s uključiti:

ARDUINO_DIR = /Applications/Arduino.app/Contents/Resources/Java TARGET = Fade MCU = atmega328p F_CPU = 16000000 ARDUINO_PORT = /dev/cu.usb* ARDUINO_LIBS = LiquidCrystal uključuju /Users/bjepson/src/arduino-mk-0.4/Arduino .mk

Zatim sam ušao u Terminal, upotrijebio cd da promijenim direktorij skice i upisao napraviti, Kad sam završio, u poddirektoriju build-cli postojala je datoteka nazvana Fade.hex. Isključio sam Beagle Board, vratio SD karticu u računalo i kopirao Fade.hex u korijen root sustava. Također sam kopirao avrgal binarnu, koja je lagana alternativa avrdudeu. Uklonio sam SD karticu, ponovno je uključio u Beagle Board i ponovno pokrenuo Beagle Board. Nakon što se pokrenuo, prijavio sam se kao root, upotrijebio cd da se prebaci u direktorij gdje sam kopirao avrgal i Fade.hex, a zatim je izvršio ovu naredbu dok sam pritisnuo gumb za resetiranje pored ATMega328 (ne gumb za resetiranje Beagle Boarda) ./avrgal Fade.hex, Evo izlaza koji sam vidio:

Koristi se Uart priključak: / dev / ttyS1 Autodetect za Fade.hex: Intel Hex Stječe SYNC s AVR: Propušteno Učitavanje i zapisivanje na bljesak: Propušteno

Kad sam bio gotov, spojio sam LED na pin 9 (pozitivan, duži vod) i na pin 10 (negativno olovo). LED je izblijedio baš kao što bi trebao. Sada imam niskonaponski Linux sustav s Arduino kompatibilnim perifernim uređajem. S tom kombinacijom postoji mnogo mogućnosti.

Udio

Ostavite Komentar