Daftar Isi:
- Langkah 1: Desain PCB Menggunakan Eagle
- Langkah 2: Menyolder PCB
- Langkah 3: Perangkat Lunak … Fungsionalitas … hasil
- Langkah 4: Kasus Cetak 3D… Semacam
- Langkah 5: Hal-hal yang Harus Ditingkatkan…
Video: Pemantauan GPS Dengan Proyek Tampilan OLED: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Halo semuanya, dalam artikel singkat ini saya akan berbagi dengan Anda proyek saya: modul GPS ATGM332D dengan Mikrokontroler SAMD21J18 dan layar SSD1306 OLED 128*64, saya membuat PCB khusus untuknya di Eagle Autodesk, dan memprogramnya menggunakan Atmel studio 7.0 dan ASF4 jadi dalam artikel ini saya akan berbagi dengan Anda perjalanan ini dan file yang saya gunakan jika Anda tertarik untuk melakukannya sendiri.
Sekarang jika Anda memprogram MCU/papan pengembangan Anda menggunakan Arduino, proyek ini seharusnya relatif mudah bagi Anda, tetapi di sini saya akan menggunakan ASF4 (Framwork perangkat lunak lanjutan 4) dari Atmel/Microchip yang didasarkan pada bahasa C dan akan memberi Anda gambaran untuk cara membaca pesan GPS NMEA menggunakan USART Asynchronous driver (Callback) dan memberi Anda perpustakaan sederhana yang dapat Anda gunakan dengan Micro-controller dan platform yang berbeda hanya dengan menambahkan Driver yang sesuai yang Anda gunakan untuk menerima pesan dari GPS (pesan NMEA).
Artikel ini akan saya bagi menjadi:
- Desain PCB.
- BOM Anda perlu merakit PCB
- Lihat cepat ke perangkat lunak dan kode itu sendiri dan tes untuk perangkat keras dan perangkat lunak.
- last but not least beberapa titik perbaikan untuk proyek ini.
Anda akan menemukan semua materi yang terkait dengan proyek ini di Github (Di Sini)
Langkah 1: Desain PCB Menggunakan Eagle
Proyek ini terutama didasarkan pada Modul GPS ATGM332D, GPS sederhana untuk digunakan karena hanya membutuhkan beberapa komponen pasif untuk bekerja, dan kita dapat menambahkan baterai cadangan untuk menghemat waktu/tanggal jika kita mematikan sumber daya utama dari modul.
dan untuk mengontrol semua sinyal di sirkuit saya menggunakan mikrokontroler ATSAMD21J18B, paket TQFP64 karena memiliki 128KByte penyimpanan memori program dan 32KByte memori data (dan saya memiliki banyak dari mereka tergeletak di sekitar meja kerja saya).
sirkuit harus ditenagai oleh sumber USB 5V, juga USB dapat bertindak sebagai port COM virtual (CDC USB) dan Anda dapat menambahkan kode untuk itu jika Anda ingin berkomunikasi dengan perangkat melalui USB.
untuk tampilan saya pilih SSD1306 0.96' OLED display dengan SPI bus, kecil tapi cocok untuk ukuran PCB yang saya inginkan, dimensi papan 100x31 mm.
pemrograman Mikrokontroler akan melalui programmer SWD (saya menggunakan Atmel ICE) dan akan menghubungkannya melalui 1,27mm 10p pin header.
saya juga menggunakan Fusion360 untuk mendapatkan tampilan 3d untuk papan dan Anda juga dapat melihat beberapa gambar yang dirender untuk itu.
Langkah 2: Menyolder PCB
Anda memiliki pilihan untuk memesan stensil dengan PCB Anda, lebih mudah untuk menerapkan pasta solder di papan menggunakan stensil, saya menggunakan hot plate untuk menyolder komponen bersama-sama, menggunakan udara panas juga OK tapi hati-hati saat menyolder LED karena mereka sangat sensitif terhadap panas.
menyolder sisi bawah sedikit lebih mudah karena hanya memiliki header pin SWD dan baterai cadangan, yang dapat Anda solder menggunakan besi solder.
sebelum Anda menghubungkan sirkuit dengan sumber daya USB apa pun, periksa apakah ada korsleting.
sambungkan antena GPS Anda dan pastikan Anda menyolder konektornya dengan benar, saya memasang antena di sisi bawah papan.
Langkah 3: Perangkat Lunak … Fungsionalitas … hasil
Perangkat lunak ini akan dibagi menjadi 4 bagian:
- USART untuk berkomunikasi dengan modul GPS ATGM332.
- SPI untuk berkomunikasi dengan OLED.
- CDC USB.
- GPIO untuk mengontrol LED
pertama sambungkan konektor USB untuk menyalakan Sirkuit dan kemudian sambungkan kabel pita dengan konektor SWD.
Unduh Kode dari github (Tautan di sini).
untuk mendapatkan Geo-Location Anda memiliki 3 opsi pesan NMEA yang berbeda:
- GPGGA
- GPRMC
- GPGLL
Saya menggunakan kalimat GPRMC untuk mendapatkan lokasi, waktu dan tanggal (waktu adalah 0.0 GMT) sehingga dalam kode Anda akan menemukan:
GPRMC. Enable=1;/*0 jika tidak perlu pesan ini*/
GPGGA. Enable=0;/*0 jika tidak perlu pesan ini*/
GPGLL. Enable=0;/*0 jika tidak perlu pesan ini*/
Anda dapat mengaktifkan semuanya bersama-sama dan membacanya sekaligus mendapatkan data yang Anda butuhkan.
setelah ada kalimat GPRMC yang valid, GPRMC. Ready akan menjadi 1 dan Anda dapat memperoleh semua data yang tersedia dalam kalimat ini, periksa tautan ini untuk melihat data yang tersedia dalam kalimat ini.
cukup jika Fix adalah 'A' itu berarti Lokasi tersedia, jika Fix adalah 'V' itu berarti lokasi tidak tersedia.
perhatikan bahwa ATSAMD21 memiliki RTC internal, tetapi di sini saya tidak menggunakannya dan sebaliknya saya menggunakan waktu dan Tanggal langsung dari GPS, jadi jika Anda tidak ingin menggunakan baterai Cadangan CR1220, setelah Anda mencabut sumber daya USB, Anda akan kehilangan Waktu/Tanggal dan untuk waktu berikutnya Anda menghidupkan sirkuit, area waktu/tanggal pada tampilan akan kosong hingga GPS memiliki nilai waktu/tanggal yang valid.
layar akan menunjukkan status GPS saat ini dan akan menunjukkan lokasi Geo setelah tersedia, namun ada 3 LED di Papan:
- LED hijau terhubung ke PA06, dan akan berkedip jika ada nilai Geo-lokasi yang valid.
- LED Oranye terhubung ke PA07 dan akan berkedip satu detik jika tidak ada Geo-lokasi yang valid.
- LED merah yang satu ini terhubung ke pin PPS dari Modul GPS dan hanya akan berkedip ketika ada sinyal yang valid terkait dengan Lokasi.
Hasil
Sirkuit bekerja sangat baik dengan saya, mendapatkan Geo-lokasi dari GPS membutuhkan waktu 20-30 detik di luar ruangan dengan pandangan yang jelas ke langit dan di antara gedung-gedung tanpa masalah bahkan dengan antena di sisi bawah papan.
Langkah 4: Kasus Cetak 3D… Semacam
Saya menyiapkan kasing sederhana (pemegang yang lebih tepat) untuk sirkuit ini tetapi karena epidemi COVID-19 dan penguncian yang saya lakukan sekarang, saya tidak dapat menjangkau printer 3d saya untuk mencetaknya, jadi saya akan memperbarui bagian ini dengan stl file dan foto untuk pemegang setelah tersedia.
Langkah 5: Hal-hal yang Harus Ditingkatkan…
- Memindahkan konektor SWD ke sisi atas karena lebih mudah untuk menghubungkannya dengan programmer Anda.
- Menghidupkan rangkaian dari baterai Lithium, saya melakukannya dengan menyolder jumper dan berfungsi dengan baik, ingatlah bahwa regulator Linear (LDO) memiliki tegangan jatuh V jika (Vbat - Vout) kurang dari batas Vdrop, rangkaian mungkin tidak berfungsi dengan baik.
- membuat tombol pengguna sedikit lebih besar sehingga akan lebih mudah untuk ditekan.
- menambahkan kode USB CDC sehingga Anda dapat berkomunikasi/mendesain program khusus untuk MAC/PC/linux.
- Untuk antena GPS, saya menggunakan antena Aktif untuk proyek ini, menggunakan antena pasif dimungkinkan, dengan menambahkan Op-Amp noise rendah seperti AT2659 (lihat juga skema pada ATGM332 Datasheet P.14).
- untuk OLED 0.96' SSD1306, perpustakaan resmi dari microchip awalnya untuk tampilan 128*32, untuk memodifikasi kode agar berfungsi dengan 128*64 Anda harus pergi ke ssd1306.c dan memodifikasi kode (periksa gambar).
Direkomendasikan:
Cara Menambahkan Tampilan E-Ink ke Proyek Anda: 12 Langkah (dengan Gambar)
Cara Menambahkan Tampilan E-Ink ke Proyek Anda: Banyak proyek melibatkan pemantauan beberapa jenis data, seperti data lingkungan, sering kali menggunakan Arduino untuk kontrol. Dalam kasus saya, saya ingin memantau kadar garam dalam pelembut air saya. Anda mungkin ingin mengakses data melalui jaringan rumah Anda
Sistem Pemantauan Raspberry Pi Melalui Modul Tampilan OLED: 5 Langkah
Sistem Pemantauan Raspberry Pi Melalui Modul Tampilan OLED: Dalam tutorial ini saya akan menjelaskan cara mengatur modul tampilan OLED 0,96 inci untuk menampilkan informasi sistem Raspberry Pi 4 Model B menggunakan antarmuka I2C-nya
Tampilan Temperatur pada Modul Tampilan LED P10 Menggunakan Arduino: 3 Langkah (dengan Gambar)
Tampilan Temperatur Pada Modul Tampilan LED P10 Menggunakan Arduino : Pada tutorial sebelumnya telah diberitahukan cara menampilkan teks pada Modul Tampilan LED Dot Matrix P10 menggunakan Konektor Arduino dan DMD yang bisa anda cek disini. Dalam tutorial ini kami akan memberikan tutorial proyek sederhana dengan memanfaatkan modul P10 sebagai media tampilan
Proyek Papan Skor Dengan Tampilan LED P10 Menggunakan DMD: 6 Langkah (dengan Gambar)
Proyek Papan Skor Dengan Tampilan LED P10 Menggunakan DMD: Seringkali kita bertemu di stadion sepak bola; ada papan LED raksasa yang berfungsi sebagai papan skor. Begitu juga di bidang olahraga lainnya, juga sering kita kenal dengan papan skor dari tampilan layar yang terbuat dari LED. Meski tidak mungkin, ada juga bidang yang masih kita
Tampilan Teks pada Tampilan LED P10 Menggunakan Arduino: 5 Langkah (dengan Gambar)
Tampilan Teks Pada Tampilan LED P10 Menggunakan Arduino : Dotmatrix Display atau yang lebih sering disebut dengan Running Text banyak dijumpai di toko-toko sebagai sarana mengiklankan produknya, sifatnya yang praktis dan fleksibel dalam penggunaannya yang mendorong para pelaku usaha menggunakannya sebagai saran iklan. Sekarang penggunaan Dot