Orodha ya maudhui:
- Hatua ya 1: Mpango wa Fritzing
- Hatua ya 2: Hifadhidata ya kawaida
- Hatua ya 3: Sajili Moduli yako ya LoRa
- Hatua ya 4: Kanuni
- Hatua ya 5: Jenga Ujenzi
Video: Moduli ya Kufuatilia Waendeshaji Baiskeli: Hatua 5
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
Moduli hii ya ufuatiliaji kwa waendesha baiskeli ni moduli ambayo hutambua kiotomatiki shambulio kwenye mbio, na ambayo hugundua kuvunjika kwa mitambo kwa kugusa sensa ya kugusa. Wakati moja ya hafla hizi zinatokea, moduli hutuma hafla hiyo kwenye hifadhidata kwenye pi ya raspberry kupitia LoRa. Hafla hii itaonyeshwa kwenye onyesho la LCD na kwenye wavuti. Unaweza pia kutafuta kwenye wavuti kwa mbio maalum ya baiskeli na hafla, na kuongeza mbio za baiskeli au baiskeli kwenye hifadhidata. Nilifanya mradi huu kwa sababu ninavutiwa sana na Baiskeli na IOT, kwa hivyo kuchanganya masomo haya mawili yalinifurahisha sana.
Kabla ya kufanya moduli ya ufuatiliaji kwa waendesha baiskeli, unahitaji kukusanya vifaa vyako. Unaweza kupata zana na vifaa kwenye orodha zilizo hapa chini, au unaweza kupakua BOM (Ujenzi wa Vifaa).
Ugavi:
- glasi ya plexi (56mm X 85mm)
- 10 X 2M bolts 10mm na karanga
- 10 X 3M bolts 10mm na karanga
- 2 X 3M bolts 50mm na karanga
- PLA Filament kwa 3D-chapa kesi yako ya LCD
- kupungua kwa joto
- Kamba za kiume hadi za Kike
- PCB ya msingi
- Vichwa vya kiume
- Raspberry Pi 3b +
- Kadi ya SD ya 16GB
- LCD ya 4X20 ya sparkfun
- Sensor ya kugusa ya capacitive
- Buzzer
- Axe ya 3-axcelero + mita ya gyro
- Moduli ya GPS
- Bodi ya SODAQ Mbili
- Moduli ya LoRa WAN
- Betri ya 3.7V 1000mAh
- Usambazaji wa umeme wa Raspberry Pi 3b +
Zana:
- Bati ya Solder
- Chuma cha kulehemu
- Vifungo
- Bisibisi
- Jigsaw
- Mashine ya kuchimba visima
- Kuchimba visima 2.5 na 3.5
- Bunduki nyepesi / ya moto ya hewa
Ikiwa unahitaji kununua vifaa vyote, utahitaji bajeti ya € 541.67. Mradi huu ni ghali sana kwa sababu nilitumia kitanda cha maendeleo cha Rapa chenye gharama ambacho kinagharimu € 299 (nilipata nafasi ya kutumia zana hii kutoka shule yangu). Unaweza kutumia Arduino ya kawaida kila wakati kuokoa pesa nyingi, lakini programu zitakuwa tofauti wakati huo.
Hatua ya 1: Mpango wa Fritzing
Hatua ya kwanza ni kujenga nyaya. Kwa mradi huu tuna nyaya 2 za umeme, moja na Raspberry Pi na moja iliyo na bodi ya SADAQ Mbili. Tutaanza na mzunguko wa Raspberry Pi.
Mpango wa Raspberry Pi Fritzing:
Mpango wa Raspberry Pi ni rahisi sana, kitu pekee ambacho tunaunganisha na Pi ni onyesho la 4X20 Sparkfun LCD. Onyesho hufanya kazi na mawasiliano ya serial, SPI au I2C. Itifaki ya mawasiliano unayotumia ni juu yako. Nilitumia itifaki ya SPI kwa sababu ni rahisi sana. Ikiwa unatumia SPI kama mimi, unahitaji miunganisho ifuatayo:
- VCC LCD VCC Raspberry Pi
- GND LCD GND Raspberry Pi
- SDI LCD MOSI (GPIO 10) Raspberry Pi
- SDO LCD MISO (GPIO 9) Raspberry Pi
- SCK LCD SCLK (GPIO 11) Raspberry Pi
- CS LCD CS0 (GPIO 8) Raspberry Pi
Kwenye mpango wa Fritzing utaona kuwa onyesho la LCD ni onyesho la 2X16. Hii ni kwa sababu sikupata 4X20 LCD kwenye frizting. Walakini, viunganisho vyote ni vingine kwa hivyo haijalishi sana.
Mpango wa SODAQ Mbili Fritzing:
Tutaunganisha vifaa 4 vya elektroniki na bodi ya SODAQ Mbili, kwa hivyo mpango huu wa umeme pia ni rahisi sana. Tutaanza na kuunganisha sensorer ya kugusa inayofaa. Sensorer hii OUT-pin itakuwa juu wakati sensorer inaguswa, na itakuwa chini CHINI vinginevyo. Hii inamaanisha pini ya OUT ni pato la dijiti ambalo tunaweza kuunganisha na pembejeo ya dijiti ya bodi ya Mbili. Viunganisho ni kama ifuatavyo:
- Sensorer kugusa D5 Mbili
- Sensa ya kugusa ya VCC 3.3V Mbili
- Sensorer ya kugusa ya GND GND Mbili
Sehemu ya pili ni sensorer ya Triple + gyro sensor. Nilitumia bodi ya GY-521 inayotumia itifaki ya I2C kuwasiliana na bodi ya Mbili. Kumbuka kuwa pini ya AD0 ya bodi ya GY-521 inahitaji kuunganishwa na VCC ya bodi ya Mbili! Hii ni kwa sababu bodi ya Mbili ina saa iliyo na anwani sawa ya I2C kama GY-521. Kwa kuunganisha pini ya AD0 na VCC tunabadilisha anwani ya I I ya C ya GY-521. Viunganisho ni kama ifuatavyo:
- VCC GY-521 3.3V Mbili
- GND GY-521 GND Mbili
- SCL GY-521 SCL Mbili
- SDA GY-521 SDA Mbili
- AD0 GY-521 3.3V Mbili
Baada ya hapo tutaunganisha Buzzer. Ninatumia buzzer ya kawaida ambayo hufanya sauti wakati kuna ya sasa. Hii inamaanisha tunaweza kuunganisha tu buzzer na pini ya dijiti ya bodi ya Mbili. Viunganisho ni kama ifuatavyo:
- + Buzzer D4 Mbili
- - Buzzer GND Mbili
Mwishowe, tutaunganisha moduli ya GPS. Moduli ya GPS inawasiliana kupitia RX na TX. Viunganisho ni kama ifuatavyo:
- VCC GPS 3.3V Mbili
- GND GPS GND Mbili
- TX GPS RX Mbili
- RX GPS TX Mbili
Hatua ya 2: Hifadhidata ya kawaida
Hatua ya pili ni kubuni Hifadhidata ya kawaida. Nimebuni ERD yangu katika Mysql. Utaona hifadhidata yangu imeandikwa kwa lugha ya Uholanzi, nitaelezea meza hapa.
Jedwali 'ploeg':
Jedwali hili ni meza ya vilabu vya baiskeli. Inayo kitambulisho cha kilabu cha baiskeli na jina la kilabu cha baiskeli.
Meza 'wapya':
Jedwali hili ni meza ya waendesha baiskeli. Kila baiskeli ana LoRaID wich pia ni Ufunguo wa Msingi wa meza. Pia wana jina, jina la kwanza, Nchi ya origen na kitambulisho cha kilabu cha baiskeli ambacho kinaunganishwa na meza ya kilabu cha baiskeli.
Jedwali 'plaatsen':
Jedwali hili ni meza ambayo huhifadhi maeneo huko Ubelgiji ambapo mashindano ya baiskeli yanaweza kufanyika. Inayo jina la jiji (ambalo ni Ufunguo wa Msingi) na mkoa ambao mji uko.
Jedwali 'wedstrijden':
Jedwali hili linahifadhi mbio zote za baiskeli. Kitufe cha Msingi cha meza ni kitambulisho. Jedwali pia lina jina la mbio za baiskeli, jiji la mbio ambalo linaunganishwa na meza ya maeneo, umbali wa mbio, jamii ya wapanda baiskeli na tarehe ya mbio.
Jedwali 'gebeurtenissen':
Jedwali hili linahifadhi matukio yote yanayotokea. Hii inamaanisha, wakati baiskeli anahusika katika ajali au ana uharibifu wa mitambo, hafla hiyo itahifadhiwa katika jedwali hili. Kitufe cha Msingi cha meza ni kitambulisho. Jedwali pia lina wakati wa hafla ya hafla, Latitudo ya msimamo, urefu wa nafasi, LoRaID ya mwendesha baiskeli na aina ya tukio (ajali au kuvunjika kwa mitambo).
Jedwali 'wedstrijdrenner':
Jedwali hili ni meza ambayo inahitajika kwa uhusiano wa wengi na wengi.
Hatua ya 3: Sajili Moduli yako ya LoRa
Kabla ya kuanza na nambari, unahitaji kusajili moduli yako ya LoRa kwenye lango la LoRa. Nilitumia kampuni ya mawasiliano nchini Ubelgiji iitwayo 'Proximus' ambayo inapanga mawasiliano kwa moduli yangu ya LoRa. Takwimu ambazo ninatuma na nodi yangu ya LoRa hukusanyika kwenye wavuti kutoka AllThingsTalk. Ikiwa unataka pia kutumia AllThingsTalk API kukusanya data yako, unaweza kujiandikisha hapa.
Baada ya kujiandikisha kwenye AllThingsTalk, unahitaji kusajili node yako ya LoRa. Ili kufanya hivyo, unaweza kufuata hatua hizi au unaweza kutazama picha hapo juu.
- Nenda kwenye 'Vifaa' kwenye menyu kuu
- Bonyeza kwenye 'Kifaa kipya'
- Chagua nodi yako ya LoRa
- Jaza funguo zote.
Sasa umemaliza! Takwimu zote unazotuma na nodi yako ya LoRa itaonekana kwenye kifaa chako cha AllThingsTalk. Ikiwa una shida yoyote na usajili, unaweza kushauriana kila wakati hati za AllThingsTalk.
Hatua ya 4: Kanuni
Kwa mradi huu tutahitaji lugha 5 za kuweka alama: HTML, CSS, Hati ya Java, Python (Flask) na lugha ya Arduino. Kwanza nitaelezea mpango wa Arduino.
Programu ya Arduino:
Mwanzoni mwa programu, ninatangaza anuwai kadhaa za Ulimwenguni. Utaona kwamba ninatumia SoftwareSerial kwa unganisho na GPS yangu. Hii ni kwa sababu bodi ya Mbili ina bandari mbili tu. Unaweza kuunganisha GPS kwa Serial0, lakini hautaweza kutumia kituo cha Arduino kwa utatuzi wakati huo. Hii ndio sababu ninatumia SoftwareSerial.
Baada ya Vigeuzi vya Ulimwenguni, ninatangaza kazi zingine ambazo hufanya iwe rahisi kusoma programu. Walisoma GPS coördinates, hufanya sauti ya buzzer, kutuma maadili kupitia LoRa,…
Kizuizi cha tatu ni kizuizi cha usanidi. Kizuizi hiki ni mwanzo wa programu ambayo huweka pini, mawasiliano ya serial na mawasiliano ya I2C.
Baada ya kuzuia kuanzisha inakuja programu kuu. Mwanzoni mwa kitanzi hiki kuu, ninaangalia ikiwa kifaa cha kugusa kinafanya kazi. Ikiwa ni hivyo, mimi hufanya sauti ya buzzer, hupata data ya GPS na kutuma maadili yote kupitia LoRa au Bluetooth kwa Raspberry PI. Baada ya sensorer ya kugusa, nilisoma maadili ya Accelerometer. Na fomula ninahesabu pembe halisi ya mhimili wa X na Y. Ikiwa maadili haya ni makubwa, tunaweza kuhitimisha kwamba mwendesha baiskeli alianguka. Wakati ajali inatokea, mimi hufanya sauti ya buzzer tena, kupata data ya GPS na kutuma maadili yote kupitia LoRa au Bluetooth kwa Raspberry PI.
Labda unafikiria: 'Kwa nini unatumia Bluetooth na LoRa?'. Hii ni kwa sababu nilikuwa na shida na leseni ya moduli ya LoRa niliyotumia. Kwa hivyo kufanya mpango ufanyie kazi demo yangu, ilibidi nitumie Bluetooth kwa muda.
2. Mwisho wa nyuma:
Mwisho wa nyuma ni ngumu kidogo. Ninatumia Flask kwa njia zangu ambazo zinapatikana kwa mwisho wa mbele, ninatumia socketio kusasisha kurasa za mwisho moja kwa moja kiotomatiki, ninatumia pini za GPIO kuonyesha ujumbe kwenye onyesho la LCD na kupokea ujumbe kupitia Bluetooth (haihitajiki ikiwa unatumia LoRa) na mimi hutumia Threading na Timers kusoma mara kwa mara AllThinksTalk API na kuanza seva ya chupa.
Ninatumia pia hifadhidata ya SQL kuhifadhi ajali zote zinazoingia, soma data ya kibinafsi ya baiskeli na data ya mbio. Hifadhidata hii imeunganishwa na mwisho-nyuma na pia inaendesha kwenye Raspberry Pi. Ninatumia 'Database.py' ya darasa kushirikiana na hifadhidata.
Kama unavyojua kutoka kwa mpango wa Fritzing, LCD imeunganishwa na Raspberry Pi kupitia itifaki ya SPI. Ili kuifanya iwe rahisi zaidi, niliandika darasa 'LCD_4_20_SPI.py'. Pamoja na darasa hili unaweza kubadilisha tofauti, badilisha rangi ya mwangaza, andika ujumbe kwenye skrini,…. Ikiwa unataka kutumia Bluetooth, unaweza kutumia darasa la 'SerialRaspberry.py'. Darasa hili linatawala mawasiliano ya serial kati ya moduli ya Bluetooth na Raspberry Pi. Kitu pekee unachohitaji kufanya ni kuunganisha moduli ya Bluetooth kwenye Raspberry Pi kwa kuunganisha RX kwa TX na virsa versa.
Njia za mwisho wa mbele zimeandikwa na sheria ya @ app.route. Hapa unaweza kutengeneza njia yako mwenyewe ya kuingiza au kupata data ndani au kutoka kwa hifadhidata. Hakikisha kuwa na majibu kila wakati mwishoni mwa njia. Huwa narudisha kitu cha JSON mwisho wa mbele, hata wakati kosa lilitokea. Unaweza kutumia ubadilishaji katika url kwa kuweka mpangilio wa ubadilishaji.
Ninatumia socketio kwa ukurasa wa wavuti na shambulio la mbio. Wakati Raspberry Pi inapata ajali, mimi hutoa ujumbe kwa mwisho wa mbele kupitia socketio. Mwisho wa mbele basi unajua kwamba lazima wasome hifadhidata tena kwa sababu kulikuwa na ajali mpya.
Utaona kwamba katika nambari yangu mawasiliano ya LoRa yamewekwa kwa amri. Ikiwa unataka kutumia LoRa, unahitaji kuanza kipima muda ambacho kinarudia kutuma ombi kwa AllThinksTalk API. Kutoka kwa API hii, utapokea maadili ya sensorer (GPS, Muda, Aina ya Ajali) ambayo hutumwa na nodi maalum ya LoRa. Unaweza kutumia maadili haya kuingiza ajali kwenye hifadhidata.
3. mwisho wa pindo:
Mwisho frond lina 3 lugha. HTML ya maandishi ya wavuti, CSS kwa alama ya wavuti na JavaScript kwa mawasiliano na mwisho wa nyuma. Nina kurasa 4 za wavuti za mradi huu:
- Index.html ambapo unaweza kupata mbio zote za baiskeli.
- Ukurasa ulio na ajali zote na uharibifu wa mitambo kwa mbio nzuri.
- Ukurasa ambapo unaweza kuongeza mitungi kwenye hifadhidata na kuhariri timu yao.
- Ukurasa ambapo unaweza kuongeza mbio mpya na washiriki wake wote kwenye hifadhidata.
Jinsi unavyozibuni ni kamili kwako. Unaweza kupata msukumo kutoka kwa wavuti yangu ikiwa unataka. Kwa bahati mbaya tovuti yangu imetengenezwa kwa lugha ya Uholanzi, samahani kwa hiyo.
Nina faili tofauti ya CSS na faili ya JavaScript kwa kila ukurasa. Kila faili ya JavaScript hutumia kuchota kupata data kutoka hifadhidata kupitia mwisho wa nyuma. Wakati hati inapokea data, html inabadilika kwa nguvu. Katika ukurasa ambapo unaweza kupata ajali na uharibifu wa mitambo, utapata ramani ambayo hafla zote zinafurahi. Nilitumia kijikaratasi kuonyesha ramani hii.
Unaweza kuangalia nambari zangu zote hapa kwenye Github yangu.
Hatua ya 5: Jenga Ujenzi
Kabla ya kuanza na ujenzi, hakikisha una vifaa vyote kutoka kwa BOM au kutoka kwa ukurasa wa 'Zana + za Ugavi'.
Raspberry Pi + LCD
Tutaanza na kesi ya Raspberry Pi. Unaweza alwas 3D kuchapisha kesi, hii pia lilikuwa wazo langu la kwanza. Lakini kwa sababu tarehe yangu ya mwisho ilikuwa inakaribia sana, niliamua kutoa kesi rahisi. Nilichukua kesi ya kawaida kutoka kwa Raspberry Pi, na nikachimba shimo kwa waya kutoka kwa onyesho langu la LCD. Ili kufanya hivyo, fuata tu hatua hizi rahisi:
- Piga shimo kwenye kifuniko cha kesi hiyo. Nilifanya hivyo kwa kuchimba visima vya 7mm kando ya kifuniko. Unaweza kuona hii kwenye picha hapo juu.
- Chukua waya kutoka kwa onyesho la LCD na uteleze kichwa kinapungua juu ya waya.
- Tumia bunduki nyepesi au moto ili kufanya kichwa kipungue.
- Vuta waya na kichwa kinapunguka kupitia shimo kwenye kesi hiyo, na uziunganishe tena kwenye LCD.
Sasa kwa kuwa uko tayari na kesi ya Raspberry Pi, unaweza kuanza na kesi ya onyesho la LCD. Nilichapisha 3D kesi hiyo kwa Uonyesho wangu wa LCD kwa sababu nimepata kesi mkondoni kwenye kiunga hiki. Ilinibidi tu kufanya mabadiliko kidogo kwenye urefu wa kesi hiyo. Unapofikiria kuchora ni mzuri, unaweza kusafirisha faili na uanze kuchapisha. Ikiwa haujui kuchapisha 3D, unaweza kufuata mafundisho haya juu ya jinsi ya kuchapisha 3D na fusion 360.
Ujenzi wa SODAQ MBili
Sikufanya kesi kwa bodi ya SODAQ Mbili. Nilitumia glasi ya plexi kuweka vifaa vyangu bila kesi kupangilia ujenzi. Ikiwa unataka kufanya hii pia, unaweza kufuata hatua hizi:
- Saini alama ya macho na vipindi vya bodi ya SODAQ Mbili. Vipimo ni: 85mm X 56mm
- Kata plexiglass na jigsaw.
- Weka vifaa vya elektroniki kwenye plexiglass na saini mashimo na penseli.
- Piga mashimo ambayo umetia saini tu na mashimo ya kusimama kwa kuchimba visima 3.5mm.
- Weka vitu vyote vya elektroniki kwenye plexiglass na bolts 3mm na karanga.
- Hatua ya mwisho ni kuweka mlolongo juu ya ubao wa Mbili. Unaweza kufanya hivyo kwa machafuko, lakini nilitumia bolts mbili za 3M 50mm na karanga 8 3M kuweka plexiglass juu ya bodi.
Ilipendekeza:
CD4017 Mazao ya Baiskeli ya Baiskeli inayofanya kazi nyingi: Hatua 15
CD4017 Inategemea Baiskeli Mwangaza wa Baiskeli Mbalimbali: Mzunguko huu unafanywa kwa kutumia mzunguko wa kawaida wa CD4017 unaoitwa kama chaser ya LED. Lakini inaweza kusaidia njia anuwai za kupepesa kwa LED kwa kuziba nyaya za kudhibiti kama tabia tofauti. Labda inaweza kutumika kama taa ya nyuma ya baiskeli au kiashiria cha kuona
Sensorer ya Nafasi ya Baiskeli ya Kukata Baiskeli Kutoka kwa Magicbit [Vizuizi Vya Uchawi]: Hatua 8
Sensorer ya Nafasi ya Baiskeli ya Kukata Baiskeli Kutoka kwa Magicbit [Vizuizi vya Kichawi]: Mradi Rahisi wa DIY wa kutengeneza Sura ya Nafasi ya Kickstand na Magicbit inayotumia Vizuizi vya uchawi. Tunatumia magicbit kama bodi ya maendeleo katika mradi huu ambayo inategemea ESP32. Kwa hivyo bodi yoyote ya maendeleo ya ESP32 inaweza kutumika katika mradi huu
DIY Smart Robot Kufuatilia Kits za Gari Kufuatilia Gari Pichaensitive: Hatua 7
DIY Smart Robot Tracking Car Kits Tracking Car Photosensitive: Design by SINONING ROBOTUnaweza kununua kutoka kufuatilia gari la robotTheoryLM393 chip linganisha picharesistor mbili, wakati kuna upande mmoja photoresistor LED kwenye WHITE upande wa motor utasimama mara moja, upande mwingine wa motor inazunguka, ili
Baiskeli ya infinity - Baiskeli ya Mafunzo ya Baiskeli ya Ndani: Hatua 5
Baiskeli ya infinity - Mchezo wa Video wa Baiskeli ya Baiskeli: Wakati wa msimu wa baridi, siku za baridi na hali mbaya ya hewa, wapenda baiskeli wana chaguzi chache tu za kufanya mazoezi ya michezo wanayoipenda. Tulikuwa tukitafuta njia ya kufanya mafunzo ya ndani na usanidi wa baiskeli / mkufunzi kidogo zaidi ya burudani lakini faida zaidi
BAiskeli AU AU GARI KUFUATILIA KWA SIMU: Hatua 9
BAiskeli ya GPS AU KUFUATILIA GARI KUTOKA KWA SIMU: Hi, Karibu kwenye Buzz ya Ubunifu. Hapa ninaonyesha Jinsi Unavyofuatilia Baiskeli Yako au Gari. Unaweza kufuatilia eneo la baiskeli moja kwa moja ukitumia mpango huu. Unaweza kufuatilia baiskeli yoyote ukitumia mpango huu