Daftar Isi:
Video: Tablet/Telepon Sebagai Layar Arduino, dan Osiloskop $2: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Sementara seseorang dapat membeli layar sentuh LCD 320x240 murah untuk proyek berbasis Arduino, itu bisa lebih nyaman--terutama untuk membuat prototipe dan menguji sketsa--menggunakan tablet atau ponsel sebagai layar sentuh dan sumber daya untuk proyek. Anda dapat memiliki resolusi yang jauh lebih tinggi dan tampilan tampilan yang lebih baik di perangkat Android Anda (mis., semua baris Anda akan anti-alias).
Layar berbasis Android dapat dihubungkan melalui USB Serial, Bluetooth atau WiFi (mis., ESP8266).
Untuk itu saya menulis VectorDisplay (sumber di sini), sebuah aplikasi Android yang berpasangan dengan perpustakaan Arduino yang mengimplementasikan sebagian besar antarmuka Adafruit GFX. Anda dapat menulis kode yang kemudian dapat dengan mudah di-porting menggunakan layar standalone, atau tetap menggunakan sketsa dengan tampilan berbasis Android. Dan Anda dapat mengirim perintah dari aplikasi Android untuk mengontrol sketsa Arduino. Pustaka Arduino sebagian besar tidak bergantung pada papan: ia harus bekerja dengan papan apa pun yang menyediakan objek port serial USB bernama Serial atau dengan ESP8266 melalui WiFi atau dengan Bluetooth (pasangkan papan Anda terlebih dahulu).
Sebagai bukti penerapan konsep, saya mem-porting proyek STM32-O-Scope yang sederhana untuk menggunakan VectorDisplay sebagai pengganti tampilan ILI9341. Hasilnya adalah osiloskop 1.7MS/s portabel (kasar di sekitar tepinya) bertenaga baterai yang membutuhkan tidak lebih dari papan STM32F103C $2 (menggunakan inti Arduino berbasis libmaple), dua kabel, kabel USB OTG, dan perangkat Android. Tentu saja, semua yang Anda dapatkan dengan ini adalah kisaran dari 0 hingga sekitar 3.3V.
Langkah 1: Instal Perangkat Lunak
Saya berasumsi Anda memiliki Arduino IDE yang diatur untuk papan favorit Anda dan papan favorit Anda memiliki antarmuka serial USB.
Buka Sketsa | Sertakan perpustakaan | Kelola perpustakaan. Letakkan "VectorDisplay" di area pencarian dan klik "Instal" setelah ditemukan.
Unduh zip perpustakaan dari sini.
Buka zip ke dalam folder di dalam folder Arduino/perpustakaan Anda.
Unduh VectorDisplay dari Google Play dan instal di perangkat Android Anda. Anda mungkin perlu mengaktifkan penginstalan dari sumber yang tidak dikenal di perangkat Android Anda. Aplikasi Android menggunakan perpustakaan UsbSerial dan titik awalnya adalah salah satu contoh aplikasi untuk perpustakaan.
Langkah 2: Sketsa Demo
Hubungkan papan Anda (dalam mode unggah jika perlu) ke komputer Anda dan buka File | Contoh | Tampilan Vektor | lingkaran di Arduino IDE Anda. Klik tombol unggah (panah kanan).
Mulai aplikasi VectorDisplay di perangkat Android Anda. Colokkan papan Anda ke perangkat Android melalui kabel USB OTG. (Jika papan Anda memiliki port mikro USB, pastikan sisi host USB OTG Anda masuk ke perangkat Android). Anda sekarang harus mendapatkan kueri izin untuk VectorDisplay. Tekan OK.
Jika semuanya berjalan dengan baik, VectorDisplay sekarang akan menampilkan dua tombol di sisi kiri layar: Lingkaran dan Warna. Menekan Lingkaran menggambar lingkaran acak di layar dan Warna mengubah warna menjadi warna acak sebelum lingkaran berikutnya.
Jika Anda melihat sketsa lingkaran di IDE, Anda akan melihat bahwa tampilan vektor serial dideklarasikan dengan:
Tampilan SerialDisplayClass;
dan kemudian diinisialisasi dalam setup() dengan:
Tampilan.mulai();
Kemudian tombol perintah diminta dengan Display.addButton(). Kemudian loop() memanggil Display.readMessage() untuk mencari perintah yang dikirim melalui tombol perintah.
Secara default, sistem koordinat untuk tampilan adalah 240x320. Namun, garis dan teks semuanya digambar menggunakan resolusi penuh layar perangkat Android Anda, dengan antialiasing untuk tampilan yang bagus. Itu sebabnya aplikasi ini disebut Tampilan Vektor.
Langkah 3: API
API di perpustakaan ada di file VectorDisplay.h. Anda harus terlebih dahulu menginisialisasi objek Tampilan. Untuk penggunaan USB, lakukan dengan:
Tampilan SerialDisplayClass;
Inisialisasi koneksi dengan Display.begin().
Ada dua set metode yang tersedia di objek SerialDisplayClass: satu set menggunakan warna 32-bit (termasuk alfa) dan perintah yang cukup dekat dengan protokol serial USB yang digunakan aplikasi VectorDisplay saya, dan set lainnya adalah subset dari standar Metode library Adafruit GFX, menggunakan warna 16-bit. Untuk sebagian besar Anda dapat dengan bebas mencampur dua set perintah, dengan pengecualian bahwa jika Anda menggunakan metode yang kompatibel dengan Adafruit, Anda harus menggunakan perintah warna 16-bit yang namanya diakhiri dengan 565, bukan yang 32-bit.
Anda dapat mengatur sistem koordinat dengan Display.coordinates(width, height). Standarnya adalah lebar=240 dan tinggi=320. Jika Anda ingin meniru tampilan dengan piksel non-persegi, Anda dapat menggunakan Display.pixelAspectRatio(ratio).
Beberapa metode, termasuk pixelAspectRatio(), mengambil argumen FixedPoint32. Ini adalah bilangan bulat 32-bit yang mewakili angka floating point, di mana 65536 mewakili 1,0. Untuk mengonversi bilangan floating point x ke FixedPoint32, lakukan: (FixedPoint32)(65536. * x) (atau cukup TO_FP32(x)).
Selain dapat mengirimkan perintah dari tombol Android, event layar sentuh juga dikirimkan ke MCU.
Untuk penggunaan WiFi, lihat contoh circle_esp8266. Anda harus menekan tombol USB di aplikasi untuk beralih ke mode WiFi.
Untuk Bluetooth, Anda harus dapat melakukan:
Tampilan SerialDisplayClass (MyBluetoothSerial);
…MyBluetoothSerial.begin(115200); Tampilan.mulai();
dan kemudian lanjutkan seperti dalam kasus serial USB, di mana MyBluetoothSerial adalah objek Stream apa pun (mis., Serial2) yang terhubung ke adaptor Bluetooth Anda.
Langkah 4: Osiloskop $2
Untuk osiloskop cepat dan kotor, Anda memerlukan papan pil STM32F103C8 biru atau hitam (lebih mudah ditangani), yang bisa Anda dapatkan di Aliexpress dengan harga di bawah $2. Saya menjelaskan bagaimana mempersiapkan papan untuk digunakan dengan lingkungan Arduino untuk itu dan menginstal sketsa di sini.
Unduh sketsa ini di papan, yang merupakan versi modifikasi dari sketsa STM32-O-Scope Pingumacpenguin. Edit baris #define BOARD_LED agar sesuai dengan papan Anda. Saya menggunakan pil hitam yang LED PB12. Pil biru (dan beberapa pil hitam yang memiliki pinout yang sama dengan pil biru) memiliki LED di PC13.
Hubungkan satu kabel - probe ground - ke ground board dan kabel lain ke pin B0 board. Colokkan papan ke perangkat Android dengan VectorDisplay berjalan, dan Anda memiliki osiloskop portabel bertenaga baterai.
Dalam foto saya memiliki osiloskop yang terhubung ke fototransistor. Jejak di layar berasal dari remote control inframerah TV.
Direkomendasikan:
Telepon DIY - Telepon Keren!: 7 Langkah
Telepon DIY - CoolPhone!: Saya baru-baru ini mengembangkan prototipe telepon berbasis Arduino saya sendiri. Waktu untuk memperbaikinya. Di video sebelumnya, saya membuat ponsel di atas papan tempat memotong roti yang saya sebut CoolPhone. Saya tidak punya masalah besar dengan prototipe, saya hanya harus menghilangkan suara bising di mikrofon
Osiloskop Arduino 10Hz-50kHz DIY pada Layar LCD 128x64: 3 Langkah
DIY 10Hz-50kHz Arduino Oscilloscope pada 128x64 LCD Display: Proyek ini menjelaskan cara membuat osiloskop sederhana yang memiliki rentang dari 10Hz hingga 50Khz. Ini adalah rentang yang sangat besar, mengingat perangkat tidak menggunakan chip konverter digital ke analog eksternal, tetapi hanya Arduino
Gunakan Kembali Telepon Lama dan Speaker Lama Sebagai STEREO: 4 Langkah
Gunakan Kembali Telepon Lama dan Speaker Lama Sebagai STEREO: Ubah sepasang speaker lama dan smartphone lama menjadi instalasi stereo dengan radio, podcast pemutaran mp3, dan radio internet, menggunakan beberapa komponen umum yang total biayanya kurang dari 5 euro! Jadi kami memiliki koleksi smartp berusia 5-10 tahun ini
Adaptasi Handset Telepon ke Telepon Seluler: 7 Langkah (dengan Gambar)
Mengadaptasi Handset Telepon ke Ponsel: Oleh Bill Reeve ([email protected]) Diadaptasi untuk instruksi oleh Mouse ([email protected]) Penafian: Prosedur yang dijelaskan di sini mungkin tidak berhasil untuk Anda - itu risiko yang Anda miliki untuk mengambil. Jika tidak berhasil, atau jika Anda merusak sesuatu, itu bukan
Stasiun Pengisian Telepon Telepon Retro: 10 Langkah (dengan Gambar)
Stasiun Pengisian Telepon Telepon Retro: Saya menyukai tampilan telepon putar antik dan beberapa di antaranya tergeletak memohon untuk dihidupkan kembali. Karena inspirasi, saya memutuskan untuk mengawinkan bentuk dan fungsi. Dengan demikian Stasiun Pengisian Telepon Telepon Retro lahir