Mundarija:
- 1 -qadam: kerakli materiallar
- 2 -qadam: dasturlash qismi
- 3 -qadam: elektron yig'ish
- 4 -qadam: Ma'lumot olish
- 5 -qadam: Ma'lumotlar bazasi
- 6 -qadam: Namoyish
Video: Bilan bog'liq yo'nalish bilaguzuk: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Ushbu akademik loyiha, bilaguzuk bilan bog'langan, Polytech Paris-UPMC muhandislik maktabining to'rt talabasi tomonidan amalga oshirilgan: Sebastyan Potet, Polin Fam, Kevin Antunes va Boris Bra.
Bizning loyihamiz nima?
Bir semestr mobaynida biz yuguruvchi ishlatadigan bog'langan bilaguzuk yasashimiz kerak edi. Uning poyga kursi u belgilaydigan bir nechta nuqtalarga yo'naltiriladi va bu uning yo'lini yozib olish imkonini beradi. Bu ma'lumotlar real vaqtda bulutda saqlanadi.
Bu mahsulot harorat, namlik va yo'nalishni berishi mumkin. Bundan tashqari, bizda uchta tugma bor, shu jumladan yuguruvchi muammoga duch kelganda GPS pozitsiyasini yuboradi (SOS tugmasi), shuning uchun bizga real vaqtda kerak. Ikkinchisi tag qo'yishga imkon beradi, ikkinchisi esa bilaguzukni o'chiradi, chunki biz kam quvvatli mahsulotni xohlaymiz.
Bizda 120 evrolik xato bor edi. Bog'langan bilaguzukni amalga oshirish uchun bizning o'quv qo'llanmamizga amal qiling!
1 -qadam: kerakli materiallar
Komponentlar ro'yxati:
- STM32L432KC-Nucleo Ultra kam quvvatli
- SigFox TD1208 moduli
- 125 kHz chastotali RFID o'quvchi
HTU21D harorat/namlik sensori
- 3 o'qli ADXL345 akselerometr moduli
- kompas moduli 3 o'qli HMC5883L
- OLED ADA938 ekrani
- Grove 31275 GPS moduli
- Batareya 1,5 V LR6
- kuchlanish regulyatori Pololu 3.3V U1V11F3
- Ba'zi boshqaruv tugmalari
2 -qadam: dasturlash qismi
Birinchidan, biz har bir komponentni mbed developer sayti bilan dasturlashtirdik. Buning uchun biz STM32L476RG-Nucleo mikrokontrolerini ishlatdik, bu kam iste'mol.
Ekran, harorat/namlik sensori va kompas I²C aloqasida ishlaydi. RFID o'quvchi va akselerometr ketma -ket aloqada ishlaydi. Har bir komponent uchun siz o'z kutubxonangizni qo'shishingiz kerak edi.
Harorat/namlik sensori, kompas va akselerometr uchun ma'lumot olish uchun kutubxonada belgilangan funktsiyani chaqirish kerak.
RFID o'quvchi ketma -ket muloqotda ishlaydi, siz "getc ()" funktsiyasidan foydalanishingiz kerak, chunki teg ma'lumotni char -ga qaytaradi.
OLED ekran kodidan tashqari barcha kodlar fayl sifatida mavjud.
3 -qadam: elektron yig'ish
Har bir komponentni dasturlashdan so'ng biz labdec plastinkasini oldik va ularni STM32L432KC-Nucleo-ga uladik. Barcha komponentlarni yig'ish uchun ulanish sxemasiga rioya qiling, yoki har bir PIN kod yig'ilishida batafsil ko'rsatilgan.
Biz uchta tugmachani qo'shdik, ular 10 kilo ohmli rezistansga ega: biri xavfli holatlarda GPS pozitsiyasini yuboradi, bittasini yoqish/o'chirish uchun va oxirgi tugmachaga nuqtani belgilashga ruxsat berish uchun. Siz SOS tugmachasini bosganingizda, biz ovozli signal qo'shdik.
"BraceletOrientation" fayli qo'shimchadagi Fritzing haqidagi loyihamizdir. Bu bizning komponentlarimiz va bizning labdec va PCB -dagi simlarimizning qisqacha fayli. Bundan tashqari, biz barcha komponentlarning yig'ish kodini qo'shdik.
4 -qadam: Ma'lumot olish
Aktyorlar taxtasi
Actoboard-bu asboblar paneliga asoslangan vosita. U Sigfox moduli tomonidan yuborilgan barcha ma'lumotlarni ko'rsatadi. Ma'lumotlar bazasiga kiritish uchun u URL manzili orqali kodlangan raqamga yuboriladi.
Ma'lumotni yuboring:
Ma'lumotni o'z kodingiz orqali yuborish uchun avval Sigfox modulining PIN kodini (Tx, Rx) e'lon qilishingiz kerak (buni bizning kodimizda ko'rishingiz mumkin). Shundan so'ng, bu buyruq tufayli: "sigfox.printf (" AT $ SF =%02X%02X%02X%02X%02X%02X / r / n ", lat_deg, long_deg, lat_10s, long_10s, lat_100s, long_100s);", bu misol GPS ma'lumotlarini Actoboard -ga yuboradi.
Ma'lumotni oling:
Ma'lumot manbalarini Sigfox moduliga moslashtirgandan so'ng, siz koddan ma'lumotlarni qabul qilish uchun ma'lumotlar formatini o'rnatishingiz kerak. Xuddi shu misol uchun (GPS) ma'lumot formatini shunday sozlash kerak: "lat_deg:: uint: 8 long_deg:: uint: 8 lat_10s:: uint: 8 long_10s:: uint: 8 lat_100s:: uint: 8 long_100s:: uint: 8 ".
Bitlarning turiga va soniga ehtiyot bo'ling, siz bir xil uzunlikka ega bo'lishingiz kerak. Shunday qilib, men sizning ma'lumotlaringizni kodingizga shunday joylashtirishni tavsiya qilaman: "lat_deg = (int8_t) lat_deg;".
Raqamlar soniga ham ehtiyot bo'ling, bu misolda biz faqat maksimal 2 ta raqamli ma'lumotlarni uzatamiz. Agar siz "%04X" kabi katta ma'lumotlarni uzatmoqchi bo'lsangiz, Actoboard raqamni teskari yo'naltirishini bilishingiz mumkin. Masalan, agar siz 0x3040ni uzatsangiz, Actoboard 0x4030 ni tushunadi. Ma'lumot formatini 2 raqamdan oshmasligi uchun siz raqamni teskari o'zgartirishingiz kerak.
Boshqaruv panelini tahrirlash:
Ma'lumotlaringizni Actoboard boshqaruv panelida tahrir qilish uchun sizga vidjet qo'shishingiz kifoya. Vidjetlar ro'yxati mavjud, siz tizimingizga eng mos keladiganini tanlashingiz kerak. Va siz faqat qaysi ma'lumotni qaysi vidjet bilan to'ldirishni tanlashingiz kerak.
Noderlanganlarga yuborish:
Actoboard -da olingan barcha ma'lumotlarni URL orqali noderlangan joyga o'tkazish uchun siz sozlangan URL manzilini "yo'naltirish manzilini" to'ldirishingiz kerak. Masalan, biz "https://noderedprojet.mybluemix.net/projet" maydonini to'ldiramiz.
5 -qadam: Ma'lumotlar bazasi
Bluemix
- Noderlangan:
- Actoboard ma'lumot shaklini oling
Actoboard ma'lumotlar shaklini olish uchun siz "POST" usuli bilan sozlashingiz va URL manzilingizni (rasmdagi misol) belgilashingiz kerak bo'lgan "websocket" kiritishingiz kerak.
Ma'lumotlarni formatlash
Ma'lumotlar bazasiga (bulutli) qo'shmoqchi bo'lgan ma'lumotlarni chiqarib olishingiz va ularni formatlashingiz kerak. Buning uchun siz "funktsiya" blokini qo'shishingiz kerak. Buni qanday amalga oshirish kerakligini tushunish uchun fotosuratni qo'shimchada ko'ring.
Siz geomtry narsalarni xaritaga qo'shishingiz mumkin, masalan, bizda GPS koordinatasi bilan nuqta qo'shadigan va ularni bog'laydigan funksiya mavjud. Biz bu funktsiyani poyga yaratish uchun ishlatamiz va keyin, agar siz RFID tegini tekshirsangiz, nuqta atrofida ko'pburchak yaratadigan boshqa funktsiyani almashtiramiz.
Bulutga yuboring
Ma'lumotlaringizni formatlashdan so'ng, siz ularni bulutli DataBase -ga yuborishingiz kerak. Buning uchun siz "bulutli" saqlash blokini qo'shishingiz va ma'lumotlar bazangiz nomi kabi sozlamalarni belgilashingiz kerak, "qo'shish" operatsiyasi bizning misolimizga qarang.
Tizimingiz ishlashi uchun nodlangan "joylashtirish" ni unutmang.
Bulutli:
Bulutli ma'lumotlar bazasida siz sigfox bilan yuborilgan barcha ma'lumotlarni va qizil tugunli formatlashni ko'rishingiz mumkin. Siz "sana, qurilma, TAG RFID, GPS" kabi ko'rishni xohlagan ma'lumotni tanlashingiz mumkin.
Va siz yaratgan geomtriya narsalarini "GPS Geospatial Indexes" menyusidagi tugmachali funktsiyada tasavvur qilishingiz mumkin.
6 -qadam: Namoyish
Xulosa qilib aytganda, bizda to'rtta tugmacha bilan boshqariladigan to'rtta inson-mashina interfeysi bor edi.
Asosiy interfeys harorat, namlik, teg raqami, xronometr va magnit yo'nalishini ko'rsatadi.
Bosish tugmachalarining birida siz haqiqiy interfeys kompasini topasiz. Ekranda yo'nalish yaxshi joylashtirilgan aylana chiziladi.
Boshqa tugmani bosish orqali siz SOS xabarini yuborasiz, u sizning manzilingizni ma'lumotlar bazasiga yuboradi. Bundan tashqari, siz Morse kodidagi SOS xabarini eshitasiz.
Qolaversa, tugmani bosishning oxirgi harakatida siz RFID yorlig'ini uyg'otasiz. Shundan so'ng, siz o'tish nuqtasini belgilash uchun besh soniya bor. Shunda siz ovozli signal eshitasiz. Bu harakat displeyda hisoblagichni ko'paytiradi va ma'lumotlar bazamizdagi vaqtni ko'rsatuvchi tegni yuboradi. Nihoyat, barcha teglar sayohatni xaritaga tortadi.
Bizning soatimizning avtomatizmi taxminan 4h30 (taxminan 660mA/soat). Bu tekshirilgan teg raqamiga bog'liq.
Musobaqadan so'ng xulosa qilish uchun siz bizning bluemix ma'lumotlar bazamizda yuguruvchining barcha harakatlarini topasiz.
Tavsiya:
Tasodifiy shahar dvigatelining PWM tajribalari + kodlovchi bilan bog'liq muammolarni bartaraf etish: 4 qadam
Tasodifiy shahar motorli PWM tajribalari + Enkoder bilan bog'liq muammolarni bartaraf etish: Ba'zida kimningdir axlati boshqa birovning xazinasi bo'ladi va bu men uchun o'sha paytlardan biri edi. Agar siz meni kuzatib yurgan bo'lsangiz, bilasizki, men o'zim 3D -printerli CNC -ni hurdadan yaratish bo'yicha ulkan loyihani boshlaganman. Bu qismlar
Tinkercad -dagi Arduino bilan o'zaro bog'liq LCD displey: 5 qadam
Tinkercad -da Arduino bilan interfeysli LCD: Ushbu maqoladagi kod Hitachi HD44780 standart drayverini ishlatadigan LCD -lar uchun yozilgan. Agar sizning LCD displeyingizda 16 ta pin bo'lsa, unda Hitachi HD44780 drayveri bo'lishi mumkin. Ushbu displeylar 4 bitli yoki 8 bitli rejimda ulanishi mumkin. LCD -ni 4 soniyada ulash
Yo'nalish bo'yicha poyga bilaguzuk: 11 qadam
Yo'nalish bo'yicha poyga bilaguzuk: Siz oryantiringning keyingi bosqichiga o'tishga harakat qilganmisiz? Qo'lingizda barcha kerakli ma'lumotlar bormi? Bu erda biz texnologiya yordamida qanday qilib ajoyib faoliyatni yaxshilaganimizni ko'rasiz, biz sizga ko'p ma'lumot beradigan yo'nalish bilaguzukini yaratmoqchimiz
Kompyuter bilan bog'liq muammolarni bartaraf etish: 5 qadam
Kompyuter bilan bog'liq muammolarni bartaraf etish: Bizga Philips tornavida kerak bo'ladi va kichik idishga kerak. Biz hech narsani yo'qotmaslik uchun idishga qo'shimcha vint qo'yamiz
Nintendo Joycon Drift Fix (dasturiy ta'minot bilan bog'liq emas): 8 qadam (rasmlar bilan)
Nintendo Joycon Drift Fix (dasturiy ta'minot bilan bog'liq emas): Bir yil og'ir ishlatilgandan so'ng, men analog tayoqchaga tegmay qolganda joykonim o'zgarib ketishini payqadim. Men almashtirish analog tayoqchasini izladim, lekin ular