Мазмуну:
- 1 -кадам: Бүркүттүн жардамы менен ПХБ дизайны
- 2 -кадам: ПХБны ширетүү
- 3 -кадам: Программалык камсыздоо… Функционалдык… жыйынтыктар
- 4 -кадам: 3D Басылган Case… Sort Of
- 5 -кадам: Жакшыртуучу нерселер …
Video: OLED дисплей долбоору менен GPSти көзөмөлдөө: 5 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Салам баарына, бул тез макалада мен сиз менен өз проектимди бөлүшөм: SAMD21J18 микроконтроллери жана SSD1306 OLED 128*64 дисплейи бар ATGM332D GPS модулу, мен бул үчүн Eagle Autodeskке атайын ПКБ куруп, аны Atmel studio 7.0 жана ASF4 аркылуу программалайм. бул макалада мен сиз менен бул саякатты жана сиз колдонгон файлдарды бөлүшөсүз, эгерде сиз муну өзүңүз үчүн кызыктуу болсо.
Эми сиз MCU/өнүктүрүү тактаңызды Arduino аркылуу программалап жатсаңыз, бул проект сизге салыштырмалуу оңой болушу керек, бирок бул жерде мен C тилине негизделген Atmel/Microchipтен ASF4 (Advanced software framwork 4) колдоном жана сизге идея берет. USART асинхрондук драйвери (Callback) аркылуу GPS NMEA билдирүүсүн кантип окуу керектиги жана сизге жөнөкөй китепкана менен камсыз кылуу үчүн, аны каалаган Микроконтроллер жана башка платформа менен колдоно аласыз. GPS (NMEA билдирүүсү).
Мен бул макаланы бөлөм:
- PCB Дизайн.
- BOM сиз ПХБ чогултуу керек
- Программалык камсыздоону жана коддун өзүн тез карап чыгуу жана аппараттык жана программалык камсыздоону текшерүү.
- акырында, бирок бул долбоорду жакшыртуу үчүн кээ бир пункттар.
Сиз бул долбоорго тиешелүү бардык материалдарды Githubдан таба аласыз (Бул жерде)
1 -кадам: Бүркүттүн жардамы менен ПХБ дизайны
Бул долбоор негизинен ATGM332D GPS модулуна негизделген, жөн гана GPS иштеши үчүн бир нече пассивдүү компоненттерге муктаж жана биз модулдан негизги кубат булагын өчүрсөк, убакытты/датаны үнөмдөө үчүн камдык батареяны кошо алмакпыз.
жана схеманын бардык сигналдарын көзөмөлдөө үчүн мен ATSAMD21J18B микроконтроллери, TQFP64 пакети менен бардым, анткени анын 128КБайт программалык эс тутуму жана 32КБайт маалымат эстутуму бар (жана менде алардын көбү менин жумушчу столумдун тегерегинде).
чынжыр USB 5V булагы менен иштейт, ошондой эле USB виртуалдык COM порту катары иштей алат (CDC USB) жана сиз USB аркылуу түзмөк менен байланышкыңыз келсе, ага код кошо аласыз.
дисплей үчүн мен SSD1306 0,96 'OLED дисплейин SPI шинасы менен тандап алдым, ал кичинекей, бирок мен каалаган ПХБ өлчөмүнө ылайыктуу, тактайдын өлчөмү 100x31 мм.
Микроконтроллерди программалоо SWD программисти аркылуу болот (I Atmel ICE колдоном) жана аны 1.27мм 10p пин башы аркылуу туташтырат.
Ошондой эле мен Fusion360ты тактанын 3d көрүнүшүн алуу үчүн колдондум, жана сиз ошондой эле анын сүрөттөлүшүн көрө аласыз.
2 -кадам: ПХБны ширетүү
Сизде PCB менен трафаретке заказ кылуунун тандоосу бар, трафареттин жардамы менен тактага ширетүүчү пастаны колдонуу оңой, мен тетиктерди чогуу ширетүү үчүн ысык плитаны колдондум, ысык абаны колдонуу да жакшы, бирок LED ди ширетүүдө этият болуңуз. алар ысыкка ушунчалык сезимтал.
астыңкы жагын ширетүү бир аз жеңилирээк, анткени анда SWD пин башы жана резервдик батарейкасы бар, аларды сиз ширетүүчү темир менен ширете аласыз.
USB туташтыргычты туташтыруудан мурун, кыска туташууну текшериңиз.
GPS антеннаңызды туташтырыңыз жана анын туташтыргычын туура туташтырганыңызды текшериңиз, антеннаны тактанын ылдый жагына бекиттим.
3 -кадам: Программалык камсыздоо… Функционалдык… жыйынтыктар
Программалык камсыздоо 4 бөлүккө бөлүнөт:
- USART ATGM332 GPS модулу менен байланышуу үчүн.
- SPI OLED менен байланышуу үчүн.
- USB CDC.
- LEDди башкаруу үчүн GPIO
адегенде USB туташтыргычын электр схемасына туташтырыңыз, андан кийин лента кабелин SWD туташтыргычы менен туташтырыңыз.
Githubдан Кодду жүктөп алыңыз (Бул жерде шилтеме).
Гео-жайгашууну алуу үчүн сизде NMEAнын 3 башка билдирүүсү бар:
- GPGGA
- GPRMC
- GPGLL
Мен GPRMC сүйлөмүн жайгашкан жерди, убакытты жана датаны алуу үчүн колдондум (убакыт 0.0 GMT), ошондуктан сиз коддон таба аласыз:
GPRMC. Enable = 1;/*0, эгерде бул билдирүүнүн кереги жок болсо*/
GPGGA. Enable = 0;/*0, эгерде бул билдирүүнүн кереги жок болсо*/
GPGLL. Enable = 0;/*0, эгерде бул билдирүүнүн кереги жок болсо*/
сиз аларды чогуу иштетип, ошол эле учурда керектүү маалыматтарды ала аласыз.
жарактуу GPRMC сүйлөмү болгондон кийин, theGPRMC. Ready 1 болуп калат жана сиз бул сүйлөмдөгү бардык маалыматтарды ала аласыз, бул сүйлөмдөгү жеткиликтүү маалыматтарды көрүү үчүн бул шилтемени текшериңиз.
жөн гана эгерде Fix "А" болсо, бул жайгашкан жерди билдирет, эгерде оңдоо "V" болсо, бул жайгашкан жер жок дегенди билдирет.
ATSAMD21де ички RTC бар экенин байкаңыз, бирок бул жерде мен аны колдонбойм жана анын ордуна убакытты жана датаны GPSтен түз колдоном, андыктан CR1220 камдык батареясын колдонууну каалабасаңыз, USB кубат булагын ажыраткандан кийин Убакытты/Датаны жоготуп, кийинки жолу схеманы күйгүзгөнүңүздө, дисплейдеги убакыт/дата аймагы GPS жарактуу убакыт/күн маанисине ээ болгонго чейин бош калат.
дисплей сизге GPSтин учурдагы абалын көрсөтөт жана жеткиликтүү болгондо Гео-ордун көрсөтөт, бирок тактада 3 LED бар:
- Жашыл LED PA06 менен туташкан, жана жарактуу Гео-жайгашуу мааниси бар болсо, ирмелет.
- Orange LED PA07ге туташкан жана жарактуу Гео-жайгашуу жок болсо, секундасына бир ирет өчүп калат.
- Кызыл LED бул GPS модулунун PPS пинине туташкан жана Жайгашууга байланыштуу жарактуу сигнал болгондо гана жаркырайт.
Жыйынтыктар
Район мен менен абдан жакшы иштеди, GPSтен гео-жайгашуу 20-30 секундада ачык асманга жана имараттардын ортосуна тактайдын ылдый жагында антеннасы болсо да эч кандай көйгөйсүз кабыл алынды.
4 -кадам: 3D Басылган Case… Sort Of
Мен бул схема үчүн жөнөкөй корпусту (тагыраак кармагычты) даярдадым, бирок азыр COVID-19 эпидемиясынан жана блокададан улам мен аны басып чыгаруу үчүн 3d принтериме жете алган жокмун, ошондуктан бул бөлүмдү stl менен жаңыртам жеткиликтүү болгондон кийин файлдын ээси үчүн сүрөттөр.
5 -кадам: Жакшыртуучу нерселер …
- SWD туташтыргычын үстү жагына жылдыруу, анткени аны программистиңизге туташтыруу оңой.
- Литий батареясынан микросхеманы кубаттап, мен секиргичти ширетүү менен кылдым жана ал жакшы иштеди, эгерде сызыктуу (LDO) жөндөгүчтүн V түшүү чыңалуусу бар экенин эске алсак (Vbat - Vout) Vdrop чегинен аз болсо, схема иштебей калышы мүмкүн. туура.
- колдонуучунун баскычын бир аз чоңойтуп, басуу оңой болот.
- USB CDC кодун кошуп, сиз MAC/PC/linux үчүн атайын программа түзө аласыз.
- GPS антеннасы үчүн мен AT2659 сыяктуу төмөн ызы-чуу кошуу менен бул проектте активдүү антеннаны колдондум (ATGM332 Datasheet P.14 схемасын текшериңиз).
- OLED 0.96 'SSD1306 үчүн, микрочиптен расмий китепкана 128*32 дисплей үчүн, 128*64 менен иштөө үчүн кодду өзгөртүү үчүн, ssd1306.c сайтына кирип, кодду өзгөртүү керек (сүрөттү текшериңиз).
Сунушталууда:
GPSти ар кандай жабдууга кантип которуу керек: 5 кадам
GPSти ар кандай жабдууга кантип которуу керек: Процесс GPSти комбайндын кабинасынан алып, трактордун кабинасына коюп, дисплейди комбайндан сууруп алып, тракторго салыш керек. Бул процессти аяктоо үчүн жана жабдууларды айланып өтүү үчүн эч кандай инструменттердин кереги жок болот
Arduino менен I2C Oled дисплейин кантип көзөмөлдөө керек: 9 кадам (сүрөттөр менен)
I2C Oled дисплейин Arduino менен кантип башкарса болот: Бул I2C Oled дисплейин Arduino менен кантип башкаруунун эң жөнөкөй үйрөткүчү Эгерде сизге ушул инструкция жакса, менин каналыма жазылыңыз https://www.youtube.com/ZenoModiff
VK16E GPSти Arduino UNO менен туташтыруу: 3 кадам
VK16E GPSти Arduino UNO менен туташтыруу: Бул GPS модулун Arduino менен кантип туташтырууну жана колдонууну билүүнү каалаган адамдар үчүн жөнөкөй инструкция. Мен Arduino UNO Shield #Hackduino жана VK16E GPS модулун колдонуп жатам. маалымат маалымат барагына кайрылыңыз
Күнөскана долбоору (RAS): Биздин плантацияга реакция кылуу үчүн элементтерди көзөмөлдөө: 18 кадам (Сүрөттөр менен)
Күнөскана долбоору (RAS): Биздин плантацияга реакция кылуу үчүн элементтерди көзөмөлдөө: Бул долбоор абанын температурасын, жарыктыгын жана нымдуулугун, ошондой эле тоонун температурасы менен нымдуулугун көзөмөлдөөнү сунуштайт. Бул Actoborad.com веб -сайтында ушунчалык окула турган бул чараларды тармакка кошууну да сунуштайт, муну үчүн биз 4 сенсорду N тутумуна туташтырабыз
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: 9 кадам (сүрөттөр менен)
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: Биз кайыр суроочу робот кылабыз. Бул робот кыжырдантууга же өтүп бара жаткан адамдардын көңүлүн бурууга аракет кылат. Бул алардын жүздөрүн аныктап, аларга лазер менен атууга аракет кылат. Эгер роботко тыйын берсеңиз, ал ыр ырдайт жана бийлейт. Роботко керек болот