Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Kupata Takwimu za GPS
- Hatua ya 2: Kutuma Takwimu za GPS Kupitia Redio
- Hatua ya 3: Kuhifadhi Data Kutumia Moduli ya Kadi ya SD
- Hatua ya 4: Kutuma na Kuhifadhi Data ya GPS
- Hatua ya 5: Asante
Video: Smart Buoy [GPS, Redio (NRF24) na Moduli ya Kadi ya SD]: Hatua 5 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
Mfululizo huu wa Smart Buoy unatafuta jaribio letu (kabambe) la kujenga boya la kisayansi ambalo linaweza kuchukua vipimo vya maana juu ya bahari kutumia bidhaa zisizo za rafu. Hii ni mafunzo mawili kati ya manne - hakikisha umesasisha, na ikiwa unahitaji utangulizi wa haraka kwa mradi huo, angalia muhtasari wetu.
Sehemu ya 1: Kufanya vipimo vya wimbi na joto
Katika mafunzo haya, tunakuonyesha jinsi ya kupata data ya GPS, kuihifadhi kwenye kadi ya SD na kuipeleka mahali pengine kwa kutumia redio.
Tulifanya hivyo ili tuweze kufuatilia eneo la Buoy yetu ya baharini. Redio inamaanisha kuwa tunaweza kuiangalia kwa mbali na kadi ya SD inamaanisha kuwa kwa bahati mbaya kitu kinavunjika na huenda kwa tanga, tunaweza kupakua data iliyokusanywa wakati wa safari yake isiyopangwa - ikiwa tunaweza kuipata tena!
Vifaa
Moduli ya GPS - Amazon
Moduli ya kadi ya SD - Amazon
Kadi ya SD - Amazon
Moduli 2 za Redio X (NRF24L01 +) - Amazon
2 X Arduino - Amazon
Hatua ya 1: Kupata Takwimu za GPS
Buoy smart hufanya vipimo vya sensorer wakati inakaa baharini, pamoja na eneo la GPS na wakati wa wakati. Angalia mpango ambao unaonyesha jinsi tunavyoweka mzunguko. Moduli ya GPS inawasiliana kupitia unganisho la serial, kwa hivyo tunatumia maktaba ya serial ya programu ya Arduino na vile vile maktaba ndogo ya GPS kuwasiliana nayo. Maktaba hizi hufanya kila kitu kuwa rahisi sana. Wacha tukupitishe kupitia nambari …
# pamoja
#jumuisha // Kitu cha TinyGPS ++ TinyGPSPlus gps; // Uunganisho wa serial kwa kifaa cha GPS SoftwareSerial ss (4, 3); data dataStruct {latitudo mbili; longitudo mbili; tarehe ndefu isiyosainiwa; muda mrefu usiosainiwa; } gpsData; kuanzisha batili () {Serial.begin (115200); anza (9600); } kitanzi batili () {wakati (ss zinapatikana ()> 0) {ikiwa (gps.encode (ss.read ())) {getInfo (); magazeti Matokeo (); }}} batili getInfo () {if (gps.location.isValid ()) {gpsData.latitude = gps.location.lat (); gpsData.longitude = gps.location.lng (); } mwingine {Serial.println ("eneo batili"); } ikiwa (gps.date.isValid ()) {gpsData.date = gps.date.value (); } mwingine {Serial.println ("Tarehe batili"); } ikiwa (gps.time.isValid ()) {gpsData.time = gps.time.value (); } mwingine {Serial.println ("Wakati batili"); }} matokeo batili ya kuchapisha () {Serial.print ("Mahali:"); Serial.print (gpsData.latitude, 6); Serial.print (","); Printa ya serial (gpsData. longitude, 6); Serial.print ("Tarehe:"); Serial.print (gpsData.date); Serial.print ("Wakati:"); Serial.print (gpsData.time); Serial.println (); }
(Angalia video kwa nambari hii kwenye
Hatua ya 2: Kutuma Takwimu za GPS Kupitia Redio
Tuseme boya liko baharini linachukua vipimo, lakini tunataka kuona data bila kunyosha miguu yetu au kuleta boya pwani. Ili kupata vipimo kwa mbali, tunatumia moduli ya redio iliyounganishwa na Arduino pande zote mbili za mawasiliano. Katika siku zijazo, tutachukua nafasi ya mpokeaji Arduino na pi ya rasipberry. Redio inafanya kazi vivyo hivyo na viunga hivi viwili hivyo kuwabadilisha ni sawa.
Moduli ya redio inawasiliana kwa kutumia SPI, ambayo inahitaji unganisho zaidi ya I2C lakini bado ni rahisi kutumia kwa sababu ya maktaba ya NRF24. Kutumia moduli ya GPS kwa vipimo vya sensorer, tunasambaza data yake kutoka Arduino moja hadi nyingine. Tutaunganisha moduli ya GPS na redio kwa Arduino na kwa upande mwingine Arduino na moduli ya redio - angalia skimu.
Transmitter
# pamoja
#jumuisha # pamoja na #jumlisha # pamoja na TpsGPSPlus gps; SoftwareSerial ss (4, 3); Redio ya RF24 (8, 7); // CE, CSN struct dataStruct {latitudo mbili; longitudo mbili; tarehe ndefu isiyosainiwa; muda mrefu usiosainiwa; } gpsData; kuanzisha batili () {Serial.begin (115200); anza (9600); Serial.println ("Kuanzisha redio"); // Kuweka redio ya redio ya kusambaza. Anza (); radio.openWritingPipe (0xF0F0F0F0E1LL); seti ya redio. Channel (0x76); redio.setPALevel (RF24_PA_MAX); redio.setDataRate (RF24_250KBPS); redio. Acha Kusikiliza (); radio.enableDynamicPayloads (); redio.powerUp (); Serial.println ("Kuanza kutuma"); } kitanzi batili () {wakati (ss zinapatikana ()> 0) {ikiwa (gps.encode (ss.read ())) {getInfo (); andika redio (& gpsData, saizi ya (gpsData)); }}} batili getInfo () {if (gps.location.isValid ()) {gpsData.longitude = gps.location.lng (); gpsData.latitude = gps.location.lat (); } mwingine {gpsData.longitude = 0.0; gpsData.latitude = 0.0; } ikiwa (gps.date.isValid ()) {gpsData.date = gps.date.value (); } mwingine {gpsData.date = 0; } ikiwa (gps.time.isValid ()) {gpsData.time = gps.time.value (); } mwingine {gpsData.time = 0; }}
MPOKEZI
# pamoja
# pamoja # redio RF24 (8, 7); // CE, CSN struct dataStruct {latitudo mbili; longitudo mbili; tarehe ndefu isiyosainiwa; muda mrefu usiosainiwa; } gpsData; kuanzisha batili () {Serial.begin (115200); // Redio ya redio ya mpokeaji wa redio. Anza (); radio.openReadingPipe (1, 0xF0F0F0F0E1LL); Njia ya redio. Channel (0x76); redio.setPALevel (RF24_PA_MAX); redio.setDataRate (RF24_250KBPS); redio.kuanza Kusikiliza (); radio.enableDynamicPayloads (); redio.powerUp (); } kitanzi batili () {if (radio.available ()) {radio.read (& gpsData, sizeof (gpsData)); Serial.print ("Mahali:"); Serial.print (gpsData.latitude, 6); Serial.print (","); Printa ya serial (gpsData. longitude, 6); Serial.print ("Tarehe:"); Serial.print (gpsData.date); Serial.print ("Wakati:"); Serial.print (gpsData.time); Serial.println ();}}
(Angalia video kwa nambari hii kwa
Hatua ya 3: Kuhifadhi Data Kutumia Moduli ya Kadi ya SD
Moduli ya redio ni ya kuaminika kabisa, lakini wakati mwingine unahitaji mpango wa dharura ikiwa kuna kukatwa kwa nguvu kwa upande wa mpokeaji au ikiwa redio huenda mbali. Mpango wetu wa dharura ni moduli ya kadi ya SD ambayo inatuwezesha kuhifadhi data tunazokusanya. Idadi ya data inayokusanywa sio kubwa sana, kwa hivyo hata kadi ndogo ya SD itaweza kuhifadhi data ya siku kwa urahisi.
# pamoja
# pamoja na # pamoja na # pamoja na TpsGPSPlus gps; SoftwareSerial ss (4, 3); data dataStruct {latitudo mbili; longitudo mbili; tarehe ndefu isiyosainiwa; muda mrefu usiosainiwa; } gpsData; kuanzisha batili () {Serial.begin (115200); anza (9600); ikiwa (! SD.anza (5)) {Serial.println ("Kadi imeshindwa, au haipo"); kurudi; } Serial.println ("kadi imeanzishwa."); Faili ya dataFile = SD.open ("gps_data.csv", FILE_WRITE); ikiwa (dataFile) {dataFile.println ("Latitude, Longitude, Tarehe, Muda"); dataFile. karibu (); } mwingine {Serial.println ("hakuna haiwezi kufungua faili"); }} kitanzi batili () {wakati (ss zinapatikana ()> 0) {ikiwa (gps.encode (ss.read ())) {getInfo (); magazeti Matokeo (); saveInfo (); }}} batili getInfo () {if (gps.location.isValid ()) {gpsData.latitude = gps.location.lat (); gpsData.longitude = gps.location.lng (); } mwingine {Serial.println ("eneo batili"); } ikiwa (gps.date.isValid ()) {gpsData.date = gps.date.value (); } mwingine {Serial.println ("Tarehe batili"); } ikiwa (gps.time.isValid ()) {gpsData.time = gps.time.value (); } mwingine {Serial.println ("Wakati batili"); }} matokeo batili ya kuchapisha () {Serial.print ("Mahali:"); Serial.print (gpsData.latitude, 6); Serial.print (","); Printa ya serial (gpsData. longitude, 6); Serial.print ("Tarehe:"); Serial.print (gpsData.date); Serial.print ("Wakati:"); Serial.print (gpsData.time); Serial.println (); } utupu saveInfo () {File dataFile = SD.open ("gps_data.csv", FILE_WRITE); ikiwa (dataFile) {dataFile.print (gpsData.latitude); dataFile.print (","); dataFile.print (gpsData.longitude); dataFile.print (","); dataFile.print (gpsData.date); dataFile.print (","); dataFile.println (gpsData.time); dataFile. karibu (); } mwingine {Serial.println ("hakuna datafile"); }}
(Tunazungumza kupitia nambari hii kwenye video
Hatua ya 4: Kutuma na Kuhifadhi Data ya GPS
Hatua ya 5: Asante
Jisajili kwenye Orodha yetu ya Barua!
Sehemu ya 1: Kutengeneza Wimbi na Upimaji wa Joto
Sehemu ya 2: GPS NRF24 Redio na Kadi ya SD
Sehemu ya 3: Kupanga Nguvu kwa Buoy
Sehemu ya 4: Kupeleka Buoy
Ilipendekeza:
Skana Kadi ya Mashine ya Kadi ya Biashara: Hatua 13 (na Picha)
Skana ya Kadi ya Mashine ya Kadi ya Biashara: Kadi ya Kadi ya Mashine ya Kadi ya Uuzaji Rekodi ya Mabadiliko inaweza kupatikana katika hatua ya mwisho.MsingiIlielezea msukumo kuu wa mradi wangu katika Kitambulisho cha Kipaji cha Kadi. Lakini kwa kifupi, watoto wangu na mimi tumekusanya idadi kubwa ya Kadi za Biashara b
Kipaji cha Kadi kwa Mashine ya Kadi ya Biashara: Hatua 10 (na Picha)
Kulisha Kadi kwa Mashine ya Kadi ya Biashara: Kilisha Kadi kwa Mashine ya Kadi ya Biashara Asili Wakati nilikuwa mchanga, nilikusanya kadi nyingi za biashara, lakini kwa miaka kadhaa, shauku ya kukusanya imekuwa ikipungua. Wakati huu nina watoto na polepole lakini hakika pia wanaanza kupata
Fupi ya Kadi ya Mashine ya Kadi ya Biashara (Sasisha 2019-01-10): Hatua 12 (na Picha)
Kadi fupi ya Mashine ya Kadi ya Biashara (Sasisha 2019-01-10): Kadi fupi ya Mashine ya Kadi ya Uuzaji Ingia ya Mabadiliko inaweza kupatikana katika hatua ya mwisho. AsiliTayari nilielezea msukumo wa mradi wangu katika kifungu cha Kipaji cha Kadi. Lakini kwa kifupi, watoto wangu na mimi tumekusanya kiasi kikubwa cha Kadi ya Biashara
Kadi ya Kadi ya Nike ??: Hatua 9 (na Picha)
Nike Cardboard PC ??: Ndio, umesoma hiyo sawa! Sikuwa na kesi ya vipuri ya jaribio la ; Nilichukua kubwa kabisa niliyokuwa nayo, na nilifikiria tu " kwanini isiwe, " " " " " lmao " & q
NRF24 Redio ya Njia Mbili kwa Telemetry: Hatua 9 (na Picha)
NRF24 Redio za Njia Mbili za Telemetry: Halo jamani, jina langu ni Pedro Castelani na ninakuletea maelezo yangu ya kwanza: kujenga redio ya njia mbili na arduino kwa, vizuri, chochote unachohitaji. Katika mradi huu, tutafanya nyaya mbili tofauti ambazo zitatumika kama kipokezi na transmiever