Isi kandungan:
- Langkah 1: Reka Bentuk PCB Menggunakan Eagle
- Langkah 2: Memateri PCB
- Langkah 3: Perisian … Fungsi … hasil
- Langkah 4: Sarung Bercetak 3D … Jenis
- Langkah 5: Perkara yang Perlu Ditingkatkan …
Video: Pemantauan GPS Dengan Projek Paparan OLED: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Halo semua, dalam artikel ringkas ini saya akan berkongsi dengan anda projek saya: modul GPS ATGM332D dengan mikrokontroler SAMD21J18 dan paparan SSD1306 OLED 128 * 64, saya membina PCB khas untuknya di Eagle Autodesk, dan memprogramkannya menggunakan Atmel studio 7.0 dan ASF4 sehingga dalam artikel ini saya akan berkongsi dengan anda perjalanan ini dan fail yang saya gunakan sekiranya anda menarik untuk melakukannya sendiri.
Sekiranya anda memprogram MCU / papan pengembangan menggunakan Arduino, projek ini semestinya agak mudah bagi anda, tetapi di sini saya akan menggunakan ASF4 (Rangka kerja perisian lanjutan 4) dari Atmel / Microchip yang berdasarkan bahasa C dan akan memberi anda idea untuk bagaimana membaca mesej GPS NMEA menggunakan pemacu Asinkron USART (Panggilan Balik) dan memberi anda perpustakaan mudah yang boleh anda gunakan dengan pengawal Mikro dan platform lain dengan hanya menambah Pemacu yang sesuai yang anda gunakan untuk menerima mesej dari GPS (mesej NMEA).
Saya akan membahagikan artikel ini kepada:
- Reka Bentuk PCB.
- BOM anda perlu memasang PCB
- Lihat perisian dan kodnya dengan cepat dan ujian untuk perkakasan dan perisian.
- akhir sekali tetapi tidak mustahaknya sedikit peningkatan untuk projek ini.
Anda akan menemui semua bahan yang berkaitan dengan projek ini diGithub (Di Sini)
Langkah 1: Reka Bentuk PCB Menggunakan Eagle
Projek ini berpusat di sekitar Modul GPS ATGM332D, GPS mudah digunakan kerana ia hanya memerlukan beberapa komponen pasif untuk berfungsi, dan kami dapat menambahkan bateri sandaran untuk menjimatkan masa / tarikh jika kami mematikan sumber kuasa utama dari modul.
dan untuk mengawal semua isyarat di litar, saya menggunakan mikrokontroler ATSAMD21J18B, pakej TQFP64 kerana ia mempunyai penyimpanan memori program 128KByte dan memori data 32KByte (dan saya mempunyai banyak isyarat di sekitar meja kerja saya).
litar akan dikuasakan oleh sumber USB 5V, juga USB boleh bertindak sebagai port COM maya (CDC USB) dan anda boleh menambahkan kod untuknya jika anda ingin berkomunikasi dengan peranti melalui USB.
untuk paparan saya memilih paparan OLED SSD1306 0.96 'dengan bas SPI, ia kecil tetapi sesuai untuk ukuran PCB yang saya mahukan, dimensi papan 100x31 mm.
pengaturcaraan Microcontroller akan melalui pengaturcara SWD (saya menggunakan Atmel ICE) dan akan menghubungkannya melalui header pin 1.27mm 10p.
juga saya menggunakan Fusion360 untuk mendapatkan paparan 3d untuk papan dan anda juga dapat melihat beberapa gambar yang diberikan untuknya.
Langkah 2: Memateri PCB
Anda mempunyai pilihan untuk memesan stensil dengan PCB anda, lebih mudah untuk menggunakan solder paste di papan menggunakan stensil, saya menggunakan plat panas untuk menyolder komponen bersama-sama, menggunakan udara panas juga OK tetapi berhati-hati semasa menyolder LED sejak mereka sangat sensitif terhadap panas.
pematerian di bahagian bawah sedikit lebih mudah kerana hanya mempunyai header pin SWD dan bateri sandaran, yang mana anda dapat menyoldernya menggunakan besi pematerian.
sebelum anda menyambungkan litar dengan sebarang sumber kuasa USB, periksa sebarang litar pintas.
sambungkan antena GPS anda dan pastikan anda memasangkan penyambungnya dengan betul, saya memasang antena di bahagian bawah papan.
Langkah 3: Perisian … Fungsi … hasil
Perisian ini akan dibahagikan kepada 4 bahagian:
- USART untuk berkomunikasi dengan modul GPS ATGM332.
- SPI untuk berkomunikasi dengan OLED.
- CDC USB.
- GPIO untuk mengawal LED
pertama-tama sambungkan penyambung USB untuk menghidupkan Litar dan kemudian sambungkan kabel pita dengan penyambung SWD.
Muat turun Kod dari github (Pautan di sini).
untuk mendapatkan Lokasi Geo, anda mempunyai 3 pilihan mesej NMEA yang berbeza:
- GPGGA
- GPRMC
- GPGLL
Saya menggunakan ayat GPRMC untuk mendapatkan lokasi, waktu dan tarikh (waktu adalah 0.0 GMT) jadi dalam kod anda akan dapati:
GPRMC. Enable = 1; / * 0 jika tidak memerlukan mesej ini * /
GPGGA. Aktifkan = 0; / * 0 jika tidak memerlukan mesej ini * /
GPGLL. Aktifkan = 0; / * 0 jika tidak memerlukan mesej ini * /
anda boleh mengaktifkannya semua dan membacanya sekaligus mendapatkan data yang anda perlukan.
setelah ada kalimat GPRMC yang sah, theGPRMC. Ready akan menjadi 1 dan anda dapat memperoleh semua data yang tersedia dalam kalimat ini, periksa pautan ini untuk melihat data yang ada dalam kalimat ini.
hanya jika Fix adalah 'A' yang bermaksud Lokasi tersedia, jika Fix adalah 'V' itu bermaksud lokasi tidak tersedia.
perhatikan bahawa ATSAMD21 mempunyai RTC dalaman, tetapi di sini saya tidak menggunakannya dan sebaliknya saya menggunakan masa dan Tarikh terus dari GPS, jadi jika anda tidak mahu menggunakan bateri Sandaran CR1220, setelah anda memutuskan sumber kuasa USB, anda akan kehilangan Masa / Tarikh dan untuk kali berikutnya anda menghidupkan litar kawasan waktu / tarikh pada paparan akan kosong sehingga GPS mempunyai nilai masa / tarikh yang sah.
paparan akan menunjukkan kepada anda status GPS terkini dan akan menunjukkan lokasi Geo setelah tersedia, namun terdapat 3 LED di Papan:
- LED hijau disambungkan ke PA06, dan akan berkelip sekiranya terdapat nilai Geo-lokasi yang sah.
- LED oren disambungkan ke PA07 dan akan berkelip sekejap jika tidak ada lokasi Geo yang sah.
- LED merah yang ini disambungkan ke pin PPS Modul GPS dan akan berkelip hanya apabila terdapat isyarat yang sah berkaitan dengan Lokasi.
Keputusan
Litar berfungsi dengan baik dengan saya, mendapatkan lokasi Geo dari GPS mengambil masa 20-30 saat di luar dengan pemandangan yang jelas ke langit dan di antara bangunan tanpa masalah walaupun dengan antena di bahagian bawah papan.
Langkah 4: Sarung Bercetak 3D … Jenis
Saya menyediakan kotak mudah (pemegang yang lebih tepat) untuk litar ini tetapi kerana wabak COVID-19 dan pengunciannya sekarang, saya tidak dapat mencapai pencetak 3d saya untuk mencetaknya, jadi saya akan mengemas kini bahagian ini dengan stl fail dan gambar untuk pemegangnya setelah tersedia.
Langkah 5: Perkara yang Perlu Ditingkatkan …
- Menggerakkan penyambung SWD ke bahagian atas kerana lebih mudah menghubungkannya dengan pengaturcara anda.
- Menghidupkan litar dari bateri Lithium, saya melakukannya dengan menyolder jumper dan berfungsi dengan baik, ingat bahawa pengatur Linear (LDO) mempunyai voltan penurunan V jika (Vbat - Vout) kurang daripada had Vdrop litar mungkin tidak berfungsi dengan betul.
- menjadikan butang pengguna sedikit lebih besar sehingga akan lebih senang ditekan.
- menambahkan kod CDC USB supaya anda dapat berkomunikasi / merancang program khas untuk MAC / PC / linux.
- Untuk antena GPS, saya menggunakan antena aktif untuk projek ini, menggunakan antena pasif adalah mungkin, dengan menambahkan op-Amp kebisingan rendah seperti AT2659 (periksa juga skema pada Lembaran Data ATGM332 P.14).
- untuk OLED 0.96 'SSD1306, perpustakaan rasmi dari microchip pada asalnya untuk paparan 128 * 32, untuk mengubah kod agar berfungsi dengan 128 * 64 anda harus pergi ke ssd1306.c dan mengubah kod (periksa gambar).
Disyorkan:
Cara Menambah Paparan E-Ink ke Projek Anda: 12 Langkah (dengan Gambar)
Cara Menambah Paparan E-Ink ke Projek Anda: Banyak projek melibatkan pemantauan beberapa jenis data, seperti data lingkungan, yang sering menggunakan Arduino untuk dikendalikan. Dalam kes saya, saya ingin memantau tahap garam di pelembut air saya. Anda mungkin ingin mengakses data melalui rangkaian rumah anda
Sistem Pemantauan Raspberry Pi Melalui Modul Paparan OLED: 5 Langkah
Sistem Pemantauan Raspberry Pi Melalui Modul Paparan OLED: Dalam tutorial ini saya akan menerangkan cara menyediakan modul paparan OLED 0.96 inci untuk menunjukkan maklumat sistem Raspberry Pi 4 Model B menggunakan antara muka I2Cnya
Suhu Paparan pada Modul Paparan LED P10 Menggunakan Arduino: 3 Langkah (dengan Gambar)
Suhu Paparan pada Modul Paparan LED P10 Menggunakan Arduino: Dalam tutorial sebelumnya telah diberitahu bagaimana cara memaparkan teks pada Modul P10 Paparan LED Dot Matrix menggunakan Konektor Arduino dan DMD, yang dapat anda periksa di sini. Dalam tutorial ini kita akan memberikan tutorial projek yang mudah dengan menggunakan modul P10 sebagai tampilan med
Projek Papan Skor Dengan Paparan LED P10 Menggunakan DMD: 6 Langkah (dengan Gambar)
Projek Papan Skor Dengan Paparan LED P10 Menggunakan DMD: Selalunya kita bertemu di stadium bola sepak; terdapat papan LED gergasi yang berfungsi sebagai papan skor. Begitu juga di bidang sukan lain, juga sering kita tahu papan skor skrin paparan yang diperbuat daripada LED. Walaupun tidak mungkin, ada juga bidang yang tetap kita
Teks Paparan pada Paparan LED P10 Menggunakan Arduino: 5 Langkah (dengan Gambar)
Teks Paparan di Paparan LED P10 Menggunakan Arduino: Dotmatrix Display atau lebih sering disebut sebagai Running Text sering dijumpai di kedai sebagai alat untuk mengiklankan produk mereka, praktikal dan fleksibel dalam penggunaannya yang mendorong pelaku perniagaan menggunakannya sebagai nasihat iklan. Kini penggunaan Dot