Bermain dengan Beagle Board Trainer yang kompatibel dengan Arduino - 💡 Fix My Ideas

Bermain dengan Beagle Board Trainer yang kompatibel dengan Arduino

Bermain dengan Beagle Board Trainer yang kompatibel dengan Arduino


Penulis: Ethan Holmes, 2019

Beagle Board Trainer dari Tin Can Tools adalah papan anak yang bagus untuk Beagle Board, yang menawarkan pemindah level untuk output bawaan seperti GPIO, I2C, dan SPI. Ini memungkinkan Anda untuk berbicara dengan perangkat 3.3v dan 5v (Beagle Board berfungsi dengan pensinyalan 1.8v). Tin Can Tools mengirimi saya papan Trainer untuk dibawa berputar.

Bagian favorit saya dari Beagle Board Trainer adalah subsistem yang kompatibel dengan Arduino. Ini memiliki ATMega328 yang dimuat dengan bootloader Arduino, semua pin Arduino standar terpapar, dan Anda dapat berbicara dengannya melalui UART seri kedua Beagle Board (/ dev / ttyS1).

Menyiapkan Trainer dan Beagle Board Saya menyolder beberapa header wanita ke Trainer sehingga saya bisa memasukkan kabel dan komponen ke dalamnya dan bermain dengannya, kemudian saya mengumpulkan Trainer seperti yang diarahkan pada Embedded Linux Wiki. Setelah Trainer dan Beagle Board terhubung, saya siap untuk menginstal sistem file kernel dan root.

Meskipun saya menggunakan Mac untuk pekerjaan sehari-hari, saya tetap menggunakan mesin virtual Linux untuk proyek-proyek yang instruksinya mengasumsikan (atau meminta) akses ke sistem Linux. Saya menggunakan VMware Fusion, tetapi ini harus bekerja sama baiknya dengan Parallels atau VirtualBox gratis di Mac atau Windows. Mungkin dimungkinkan untuk melakukan ini tanpa mesin virtual, tetapi itu mengharuskan Anda untuk memformat kartu SD dengan ext2, yang rumit pada sistem non-Linux.

Saya mengikuti instruksi untuk membuat kartu SD yang bisa di-boot. Untuk menghubungkan kartu SD saya ke mesin virtual Linux saya, saya melepasnya di Mac OS X dan kembali ke VMware, di mana saya memilih Mesin Virtual → USB → Connect Apple Internal Memory Card Reader. Setelah saya melakukannya, saya dapat mengakses kartu SD saya dari Linux seolah-olah terhubung ke mesin nyata.

Beagle Board saya tidak akan boot dengan benar sampai saya mengikuti langkah-langkah dari set instruksi lain tentang Menyiapkan arg boot. Setelah saya melakukan ini, semuanya bekerja dengan baik.

Mengirim Sketsa Arduino ke Papan Beagle Sekarang setelah saya memiliki Papan Beagle yang berfungsi yang terhubung dengan Trainer, saya harus mencari cara untuk memuat sketsa Arduino ke dalamnya. Bagian yang sulit adalah mencari tahu cara membuat file .hex dari Arduino. Arduino IDE biasanya menghasilkan ini dalam proses memuatnya ke papan Arduino Anda, tetapi itu tidak meninggalkan file .hex.

Saya menggunakan instruksi dan makefile Martin Oldfield untuk menggunakan Arduino dari baris perintah. Saya membuka contoh Arduino Fade di Arduino IDE (File → Contoh → 1.Basics → Fade) dan menyimpannya di direktori Arduino saya. Karena pin GND pada Trainer jauh dari pin yang kompatibel dengan Arduino, saya menambahkan beberapa baris ke rutin setup () Fade, yang menjadikan pin 10 pin ground:

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

Selanjutnya, saya membuat Makefile yang terlihat seperti ini dan meletakkannya di direktori sketsa (/ Users / bjepson / Documents / Arduino / Fade di komputer saya). Anda mungkin perlu mengubah pengaturan ARDUINO_DIR, dan Anda harus mengubah baris terakhir yang dimulai dengan termasuk:

ARDUINO_DIR = /Applications/Arduino.app/Contents/Resources/Java TARGET = Fade MCU = atmega328p F_CPU = 16000000 ARDUINO_PORT = /dev/cu.usb* ARDUINO_LIBS = LiquidCrystal termasuk /Usub / terlalu .mk

Lalu aku pergi ke Terminal, menggunakan cd untuk mengubah ke direktori sketsa, dan mengetik membuat. Ketika saya selesai, ada file bernama Fade.hex di subdirektori build-cli. Saya mematikan Beagle Board, memasukkan kartu SD kembali ke komputer saya, dan menyalin Fade.hex ke root sistem file root. Saya juga menyalin biner avrgal, yang merupakan alternatif ringan untuk avrdude. Saya melepas kartu SD, memasangnya kembali ke Beagle Board, dan menyalakan Beagle Board lagi. Setelah dimulai, saya login sebagai root, menggunakan cd untuk beralih ke direktori tempat saya menyalin avrgal dan Fade.hex, kemudian menjalankan perintah ini ketika saya menekan tombol reset di sebelah ATMega328 (bukan tombol reset Beagle Board): ./avrgal Fade.hex. Inilah hasil yang saya lihat:

Port Uart digunakan: / dev / ttyS1 Autodetect untuk Fade.hex: Intel Hex Acquire SYNC dengan AVR: Lulus Mengunggah dan menulis ke flash: Lulus

Ketika saya selesai, saya menghubungkan LED ke pin 9 (positif, lebih lama memimpin) dan ke 10 (negatif). LED memudar seperti seharusnya. Sekarang saya punya sistem Linux berdaya rendah dengan periferal yang kompatibel dengan Arduino. Ada banyak kemungkinan dengan kombo itu.



Anda Mungkin Tertarik

Susunan diskusi dan demo yang menarik di Maker Faire

Susunan diskusi dan demo yang menarik di Maker Faire


Gila Quilt Ping Pong Ball Necklace

Gila Quilt Ping Pong Ball Necklace


Pusat Penulisan Surat Koneksi Keluarga

Pusat Penulisan Surat Koneksi Keluarga


How-To Tuesday: Wedding Keepsake Shadowbox

How-To Tuesday: Wedding Keepsake Shadowbox