Isi kandungan:

Guino: Papan Pemuka untuk Arduino Anda: 4 Langkah (dengan Gambar)
Guino: Papan Pemuka untuk Arduino Anda: 4 Langkah (dengan Gambar)

Video: Guino: Papan Pemuka untuk Arduino Anda: 4 Langkah (dengan Gambar)

Video: Guino: Papan Pemuka untuk Arduino Anda: 4 Langkah (dengan Gambar)
Video: How to Install Bootloader & Creality Firmware on Ender 3 & Ender 3 Pro 2024, November
Anonim
Guino: Papan Pemuka untuk Arduino Anda
Guino: Papan Pemuka untuk Arduino Anda
Guino: Papan Pemuka untuk Arduino Anda
Guino: Papan Pemuka untuk Arduino Anda
Guino: Papan Pemuka untuk Arduino Anda
Guino: Papan Pemuka untuk Arduino Anda
Guino: Papan Pemuka untuk Arduino Anda
Guino: Papan Pemuka untuk Arduino Anda

Projek ini adalah sebahagian daripada eksperimen yang dilakukan semasa melakukan seniman di kediaman di Instructables. Anda boleh melihat projek lain di sini. Menjadi tugas yang sukar untuk men-debug dan memvisualisasikan data masa nyata di papan Arduino. Anda biasanya terjebak dengan output bersiri standard, kerana kerumitan kod Arduino anda semakin bertambah menjadikannya mustahil untuk memahami apa yang sebenarnya berlaku di dalam papan. Untuk menyelesaikannya, saya telah membuat perpustakaan kecil yang akan membolehkan anda membuat GUI tersuai untuk projek Arduino anda. Tonton video ini untuk mendapatkan demonstrasi dunia hello asas dengan potmeter dan diod: Mulai sekarang, program ini mempunyai kemungkinan dan ciri berikut: Reka bentuk khusus antara muka anda dari papan Arduino Anda tentukan slaid, grafik dan butang yang anda perlukan untuk antara muka anda. Anda melakukan ini dalam lakaran Arduino anda yang bermaksud bahawa program gui bertindak sebagai hamba kepada lakaran tersebut. Semua maklumat disimpan di papan anda. Visualisasikan dan manipulasi data masa nyata Sama ada anda membuat pengawal cahaya RGB atau lengan robot, mendapatkan maklum balas grafik sangat penting untuk memahami apa yang berlaku di dalam papan. Ini membolehkan anda memahami sama ada perkakasan anda atau kod yang menyebabkan masalah. Selanjutnya slider dan butang membolehkan anda mengubah parameter individu dalam masa nyata. Dengan cara ini anda dapat melihat apa kesan ambang yang berbeza terhadap interaksi. Simpan parameter dalam memori papan Apabila anda telah mengubah parameter anda boleh menyimpannya ke EEProm papan. Parameter akan dimuat secara automatik pada kali anda menyalakan papan, walaupun komputer tidak disambungkan. Gunakan aplikasi yang sama untuk semua projek Arduino anda, saya telah membuat banyak aplikasi kecil untuk projek yang berbeza. Masalah saya selalu mencari mereka lagi setahun kemudian. Kerana kami menyimpan semua yang ada di Arduino, saya hanya perlu menyimpan satu aplikasi di sekitar Arduino secara automatik akan mengkonfigurasi aplikasi untuk projek semasa. Melindungi model antara muka sebelum anda menghidupkan solder kerana anda boleh merancang gui sesuka anda (dalam keadaan munasabah) had), anda boleh membuat prototaip antara muka sebelum anda membuat antara muka fizikal. Ini juga membolehkan anda membahagikan tugas antara beberapa orang mis. satu orang mengusahakan perkakasan dan seorang lagi mengusahakan kodnya. Apabila anda telah membuat antara muka fizikal, Guino akan disatukan dengan lancar. Gunakannya sebagai papan pemuka layar penuh Anda dapat menggunakannya sebagai papan pemuka layar penuh dengan menekan F dan menekan T untuk menukar keterlihatan panel tetapan. Anda dengan ini hanya mempersembahkan antara muka khusus anda untuk dunia di sekitar anda. Mengawal warna latar belakang Warna latar dapat dikendalikan dari Arduino ini memungkinkan anda membuat warna yang berbeza untuk lakaran yang berbeza. Ia juga dapat digunakan untuk membuat amaran apabila ada sesuatu yang salah. Ia boleh menjadi hijau apabila semuanya baik-baik saja dan merah apabila ada yang tidak kena. Cepat dan langsing Saya sangat berhati-hati dalam membuat jejak kaki di Arduino sekecil mungkin - Ia hanya menyimpan jumlah data minimum dalam memori (tepat penunjuk senarai 100 item). Tetapan ini boleh diubah menjadi lebih rendah atau lebih tinggi bergantung pada jumlah barang gui yang ingin anda miliki di antara muka anda. Selanjutnya sistem bergantung pada perpustakaan EasyTransfer yang memindahkan maklumat dalam bentuk binari. Setiap pakej terdiri daripada bait untuk perintah, bait untuk item # dan bilangan bulat untuk nilai. Sebaik-baiknya, semua data anda harus dinormalisasi ke julat bilangan bulat yang ditandatangani 16 bit. Ini bermaksud penggunaan port siri yang optimum ketika bekerja dengan bilangan bulat (secara teknis kita menggunakan sedikit ruang tambahan untuk checksum). Bagus untuk Instructables GUI membolehkan anda membuat Instructables yang hanya memerlukan komponen teras. Komponen tambahan seperti potmeters dll boleh dibuat hampir melalui gui. Batasan dan rancangan masa depan Sekarang aplikasi telah disusun ke platform Mac OSX dan Windows. Ia ditulis dalam Openframeworks sehingga seharusnya dapat berjalan di platform lain juga. Oleh kerana aplikasinya menggunakan port bersiri, anda tidak akan dapat menyambungkan program lain ke Arduino. Ini akan diselesaikan dalam pelepasan yang akan datang yang merangkumi Open Sound Control dan Midi bridge. Kredit: Pengaturcaraan dan idea oleh: Perpustakaan Mads Hobye Easytransfer oleh: Perpustakaan GUI Bill Porter oleh: Reza Ali

Langkah 1: Bermula

Bermula
Bermula
Bermula
Bermula
  • Muat turun dan unzip pakej GUINO.
  • Muat turun Arduino
  • Salin folder perpustakaan ke folder perpustakaan Arduino anda (caranya ke sini)
  • Mulakan semula Arduino.
  • Buka salah satu contoh di Arduino. (Menu: Fail -> Contoh -> Guino -> pilih satu)
  • Sekiranya anda menggunakan contoh mudah maka buatlah litar seperti yang digambarkan di atas.
  • Muat naik contohnya.
  • Jalankan aplikasi Guino.
  • Pilih port bersiri (Biasanya yang terakhir)
  • Tekan sambung.

Sumber boleh didapati di sini.

PENTING: Semasa menggunakannya di platform Windows, anda mesti menggunakan port com yang lebih rendah atau sama dengan 10. Sekiranya anda menggunakan port yang 10 atau ke atas sistem tidak akan berfungsi. Ini adalah bug dalam openframeworks.

Langkah 2: Cara Mengubah Kod

Cara Mengubah Kod
Cara Mengubah Kod

Agar perpustakaan dapat menggunakan lakaran anda, anda memerlukan beberapa kaedah tambahan. Saya telah menerangkannya di bawah: gInit () di sinilah anda menentukan susun atur anda Kaedah ini menentukan susun atur dengan menambahkan komponen secara berurutan. Komponen yang boleh diubah (slider, butang dll) mempunyai pemboleh ubah yang melekat padanya. The & di hadapan pemboleh ubah bermaksud bahawa kita tidak mahu meneruskan nilai dalam pemboleh ubah, tetapi kita ingin meneruskan rujukan (penunjuk) ke pemboleh ubah. Dengan cara ini sistem Guino mengemas kini secara automatik apabila perubahan berlaku di GUI. batal gInit () {gAddLabel ("SLIDERS", 1); gAddSpacer (1); gAddSlider (3, 200, "WIDTH", & lebar); gAddSlider (3, 200, "HEIGHT", & tinggi); gAddSlider (0, 255, "LED BRIGHTNESS", & ledLight); // Gelangsar putar gAddLabel ("ROTARY SLIDERS", 1); gAddSpacer (1); [………….] GAddColumn (); // Tambahkan lebih banyak barang di sini. gSetColor (r, g, b); // Tetapkan warna antara muka gui. } GButtonPressed (int id) ini disebut setiap kali butang ditekan. Umumnya pemboleh ubah dapat diperbarui secara automatik, tetapi dalam hal butang, ia harus menjadi peristiwa yang harus Anda atasi. Dalam contoh ini kita menetapkan pemboleh ubah ketinggian menjadi 100 ketika seseorang menekan butang. batal gButtonPressed (int id) {if (buttonId == id) {tinggi = 100; gUpdateValue (& tinggi); }} gItemUpdated (int id) Ini dipanggil setiap kali dan item telah diperbarui. Biasanya tidak perlu menggunakannya kerana sistem akan mengemas kini pemboleh ubah secara automatik. Sekiranya anda ingin bertindak balas terhadap perubahan, anda boleh menggunakannya seperti itu. Dalam kes ini, kami mengemas kini warna latar setiap kali salah satu daripada 3 slaid putar telah diubah. batal gItemUpdated (int id) {if (rotaryRID = id || rotaryGID == id || rotaryBID == id) {gSetColor (r, g, b); }}

Langkah 3: Beberapa Petua Pantas

Ingatlah untuk memutuskan sambungan ketika memuat naik sketsa baru Anda tidak boleh menjalankan Guino semasa memuat naik sketsa baru ke papan Arduino, kerana mereka menggunakan sambungan bersiri yang sama. Ini memerlukan anda memutuskan sambungan setiap kali memuat naik lakaran baru. Sekiranya anda (dan anda) cuba memuat naik sambil menyambungkan Guino, papan boleh memasuki keadaan pelik di mana ia berjalan, tetapi tidak cukup. Pada ketika ini, satu-satunya pilihan anda ialah menetapkan semula papan dengan menekan butang set semula atau dengan melepaskan dan menyambungkan semula kabel usb. Bug yang diketahui Sejak sekarang sistem berfungsi dan stabil. Berikut adalah pepijat yang harus diketahui:

  • setMin tidak berfungsi pada movingGraph (nampaknya terdapat pepijat di perpustakaan GUI yang perlu diperbaiki). Jadi minimum kekal pada sifar.
  • Senarai bersiri dimuat semasa memulakan program. Arduino mesti dipasang sebelum memulakan program. Menyegarkan senarai bersiri semasa berjalan menyebabkan kejadian buruk. Ia masih belum dapat diselesaikan.
  • Memusingkan senarai bersiri - kadang-kadang membuat program mogok (acara gui yang sama dengan penyegaran - harus mencari sumbernya)
  • Latar belakang butang togol menjadi hitam bergantung pada permulaan. Saya perlu mengatur latar belakang secara manual.
  • Pada beberapa platform windows, port com tidak muncul. Mungkin menjadi masalah pemandu ftdi.

Langkah 4: Kes Penggunaan

Gunakan Kes
Gunakan Kes

Sekiranya anda ingin melihat beberapa kes penggunaan dengan antara muka Guino, pergi ke Instructable ini.

Disyorkan: