![Viedā boja [GPS, radio (NRF24) un SD kartes modulis]: 5 soļi (ar attēliem) Viedā boja [GPS, radio (NRF24) un SD kartes modulis]: 5 soļi (ar attēliem)](https://i.howwhatproduce.com/images/001/image-901-4-j.webp)
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59
![Image Image](https://i.howwhatproduce.com/images/001/image-901-6-j.webp)
![](https://i.ytimg.com/vi/xz1ix76U28E/hqdefault.jpg)
Šī Smart Buoy sērija attēlo mūsu (vērienīgo) mēģinājumu izveidot zinātnisku boju, kas var veikt nozīmīgus jūras mērījumus, izmantojot gatavus produktus. Šī ir otrā no četrām apmācībām - pārliecinieties, vai esat atjaunināts, un, ja jums nepieciešama ātra projekta ievads, apskatiet mūsu kopsavilkumu.
1. daļa: Viļņu un temperatūras mērījumi
Šajā apmācībā mēs parādām, kā iegūt GPS datus, saglabāt tos SD kartē un nosūtīt kaut kur, izmantojot radio.
Mēs to darījām, lai mēs varētu izsekot mūsu jūras bojas atrašanās vietai. Radio nozīmē, ka mēs to varam skatīties attālināti, un SD karte nozīmē, ka gadījumā, ja kaut kas saplīst un iet klaiņot, mēs varam lejupielādēt datus, ko tas savācis neplānotās ekskursijas laikā - ja vien mēs kādreiz spēsim to izgūt!
Piegādes
GPS modulis - Amazon
SD karšu modulis - Amazon
SD karte - Amazon
2 X radio moduļi (NRF24L01+) - Amazon
2 X Arduino - Amazon
1. darbība. GPS datu iegūšana
![GPS datu sūtīšana, izmantojot radio GPS datu sūtīšana, izmantojot radio](https://i.howwhatproduce.com/images/001/image-901-7-j.webp)
Viedā boja veic sensoru mērījumus, atrodoties jūrā, ieskaitot GPS atrašanās vietu un datuma laiku. Apskatiet shēmu, kurā parādīts, kā mēs iestatām ķēdi. GPS modulis sazinās, izmantojot seriālo savienojumu, tāpēc, lai ar to sazinātos, mēs izmantojam Arduino programmatūras sērijas bibliotēku, kā arī mazo GPS bibliotēku. Šīs bibliotēkas padara visu ļoti vienkāršu. Apskatīsim kodu …
#iekļaut
#include // TinyGPS ++ objekts TinyGPSPlus gps; // Sērijas savienojums ar GPS ierīci SoftwareSerial ss (4, 3); structure dataStruct {dubults platums; divkāršs garums; neparakstīts garš datums; neparakstīts ilgu laiku; } gpsData; void setup () {Serial.begin (115200); ss.begin (9600); } void loop () {while (ss.available ()> 0) {if (gps.encode (ss.read ())) {getInfo (); printResults (); }}} void getInfo () {if (gps.location.isValid ()) {gpsData.latitude = gps.location.lat (); gpsData.longitude = gps.location.lng (); } else {Serial.println ("Nederīga atrašanās vieta"); } ja (gps.date.isValid ()) {gpsData.date = gps.date.value (); } else {Serial.println ("Nederīgs datums"); } ja (gps.time.isValid ()) {gpsData.time = gps.time.value (); } else {Serial.println ("Nederīgs laiks"); }} void printResults () {Serial.print ("Atrašanās vieta:"); Sērijas nospiedums (gpsData.latitude, 6); Serial.print (","); Sērijas nospiedums (gpsData.longitude, 6); Serial.print ("Datums:"); Sērijas nospiedums (gpsData.date); Serial.print ("Laiks:"); Sērijas nospiedums (gpsData.time); Sērijas.println (); }
(Skatiet šī koda videoklipu vietnē
2. darbība: GPS datu sūtīšana, izmantojot radio
![GPS datu sūtīšana, izmantojot radio GPS datu sūtīšana, izmantojot radio](https://i.howwhatproduce.com/images/001/image-901-8-j.webp)
Pieņemsim, ka boja veic mērījumus jūrā, bet mēs vēlamies redzēt datus, nesaslapinot kājas un neiznesot boju krastā. Lai iegūtu mērījumus attālināti, mēs izmantojam radio moduli, kas savienots ar Arduino abās sakaru pusēs. Nākotnē mēs aizstāsim uztvērēja pusi Arduino ar aveņu pi. Radio darbojas līdzīgi ar abām šīm saskarnēm, tāpēc to maiņa ir diezgan vienkārša.
Radio modulis sazinās, izmantojot SPI, kas prasa dažus savienojumus vairāk nekā I2C, bet joprojām ir ļoti ērti lietojams NRF24 bibliotēkas dēļ. Izmantojot sensoru mērījumiem GPS moduli, mēs pārsūtām tā datus no viena Arduino uz otru. Mēs savienosim GPS un radio moduli ar Arduino un, no otras puses, Arduino ar radio moduli - apskatiet shēmu.
Raidītājs
#iekļaut
#iekļaut #iekļaut #iekļaut #iekļaut TinyGPSPlus GPS; SoftwareSerial ss (4, 3); Radio RF24 (8, 7); // CE, CSN struktura datiStruct {dubultā platuma grāds; divkāršs garums; neparakstīts garš datums; neparakstīts ilgu laiku; } gpsData; void setup () {Serial.begin (115200); ss.begin (9600); Serial.println ("Radio iestatīšana"); // Uzstādīt raidītāja radio radio.begin (); radio.openWritingPipe (0xF0F0F0F0E1LL); radio.setChannel (0x76); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.stopListening (); radio.enableDynamicPayloads (); radio.powerUp (); Serial.println ("Sāk sūtīt"); } void loop () {while (ss.available ()> 0) {if (gps.encode (ss.read ())) {getInfo (); radio.write (& gpsData, sizeof (gpsData)); }}} void getInfo () {if (gps.location.isValid ()) {gpsData.longitude = gps.location.lng (); gpsData.latitude = gps.location.lat (); } cits {gpsData.longitude = 0.0; gpsData.latitude = 0.0; } ja (gps.date.isValid ()) {gpsData.date = gps.date.value (); } cits {gpsData.date = 0; } ja (gps.time.isValid ()) {gpsData.time = gps.time.value (); } cits {gpsData.time = 0; }}
UZŅĒMĒJS
#iekļaut
#iekļaut #iekļaut RF24 radio (8, 7); // CE, CSN struktura datiStruct {dubultā platuma grāds; divkāršs garums; neparakstīts garš datums; neparakstīts ilgu laiku; } gpsData; void setup () {Serial.begin (115200); // Uzstādīt uztvērēja radio radio.begin (); radio.openReadingPipe (1, 0xF0F0F0F0E1LL); radio.setChannel (0x76); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.startListening (); radio.enableDynamicPayloads (); radio.powerUp (); } void loop () {if (radio.available ()) {radio.read (& gpsData, sizeof (gpsData)); Serial.print ("Atrašanās vieta:"); Sērijas nospiedums (gpsData.latitude, 6); Serial.print (","); Sērijas nospiedums (gpsData.longitude, 6); Serial.print ("Datums:"); Sērijas nospiedums (gpsData.date); Serial.print ("Laiks:"); Sērijas nospiedums (gpsData.time); Sērijas.println ();}}
(Skatiet šī koda videoklipu vietnē
3. darbība: datu glabāšana, izmantojot SD kartes moduli
![Datu uzglabāšana, izmantojot SD kartes moduli Datu uzglabāšana, izmantojot SD kartes moduli](https://i.howwhatproduce.com/images/001/image-901-9-j.webp)
Radio modulis ir diezgan uzticams, taču dažreiz jums ir nepieciešams ārkārtas rīcības plāns gadījumam, ja uztvērēja pusē ir strāvas padeves pārtraukums vai ja radio pārvietojas ārpus diapazona. Mūsu ārkārtas rīcības plāns ir SD karšu modulis, kas ļauj mums saglabāt savāktos datus. Savākto datu apjoms nav tik liels, tāpēc pat maza SD karte varēs viegli uzglabāt dienas datus.
#iekļaut
#iekļaut #iekļaut #iekļaut TinyGPSPlus gps; SoftwareSerial ss (4, 3); structure dataStruct {dubults platums; divkāršs garums; neparakstīts garš datums; neparakstīts ilgu laiku; } gpsData; void setup () {Serial.begin (115200); ss.begin (9600); ja (! SD.begin (5)) {Serial.println ("Karte neizdevās vai tās nav"); atgriešanās; } Serial.println ("inicializēta karte"); Fails dataFile = SD.open ("gps_data.csv", FILE_WRITE); if (dataFile) {dataFile.println ("Platums, garums, datums, laiks"); dataFile.close (); } else {Serial.println ("nē nevar atvērt failu"); }} void loop () {while (ss.available ()> 0) {if (gps.encode (ss.read ())) {getInfo (); printResults (); saveInfo (); }}} void getInfo () {if (gps.location.isValid ()) {gpsData.latitude = gps.location.lat (); gpsData.longitude = gps.location.lng (); } else {Serial.println ("Nederīga atrašanās vieta"); } ja (gps.date.isValid ()) {gpsData.date = gps.date.value (); } else {Serial.println ("Nederīgs datums"); } ja (gps.time.isValid ()) {gpsData.time = gps.time.value (); } else {Serial.println ("Nederīgs laiks"); }} void printResults () {Serial.print ("Atrašanās vieta:"); Sērijas nospiedums (gpsData.latitude, 6); Serial.print (","); Sērijas nospiedums (gpsData.longitude, 6); Serial.print ("Datums:"); Sērijas nospiedums (gpsData.date); Serial.print ("Laiks:"); Sērijas nospiedums (gpsData.time); Sērijas.println (); } void saveInfo () {File dataFile = SD.open ("gps_data.csv", FILE_WRITE); if (dataFile) {dataFile.print (gpsData.latitude); dataFile.print (","); dataFile.print (gpsData.longitude); dataFile.print (","); dataFile.print (gpsData.date); dataFile.print (","); dataFile.println (gpsData.time); dataFile.close (); } else {Serial.println ("nē, nav datu faila"); }}
(Mēs runājam, izmantojot šo kodu videoklipā
4. solis: GPS datu nosūtīšana un uzglabāšana
![GPS datu nosūtīšana un uzglabāšana GPS datu nosūtīšana un uzglabāšana](https://i.howwhatproduce.com/images/001/image-901-10-j.webp)
![GPS datu nosūtīšana un uzglabāšana GPS datu nosūtīšana un uzglabāšana](https://i.howwhatproduce.com/images/001/image-901-11-j.webp)
5. solis: Paldies
![Paldies! Paldies!](https://i.howwhatproduce.com/images/001/image-901-12-j.webp)
Reģistrējieties mūsu adresātu sarakstam!
1. daļa: Viļņu un temperatūras mērīšana
2. daļa: GPS NRF24 radio un SD karte
3. daļa: Bojas jaudas plānošana bojai
4. daļa: Bojas izvietošana
Ieteicams:
Viedā boja [kopsavilkums]: 8 soļi (ar attēliem)
![Viedā boja [kopsavilkums]: 8 soļi (ar attēliem) Viedā boja [kopsavilkums]: 8 soļi (ar attēliem)](https://i.howwhatproduce.com/images/001/image-657-4-j.webp)
Viedā boja [Kopsavilkums]: Mēs visi mīlam jūras krastu. Kā kolektīvs mēs pulcējamies uz to brīvdienās, baudīt ūdens sporta veidus vai iztikas līdzekļus. Bet piekraste ir dinamiska teritorija, kas ir viļņu žēlastībā. Pieaugošais jūras līmenis našķojas pludmalēs un spēcīgi ekstremāli notikumi, piemēram, steiga
SD kartes modulis ar Arduino: kā lasīt/rakstīt datus: 14 soļi
![SD kartes modulis ar Arduino: kā lasīt/rakstīt datus: 14 soļi SD kartes modulis ar Arduino: kā lasīt/rakstīt datus: 14 soļi](https://i.howwhatproduce.com/images/002/image-3405-48-j.webp)
SD kartes modulis ar Arduino: kā lasīt/rakstīt datus: pārskats Datu glabāšana ir viena no vissvarīgākajām katra projekta daļām. Ir vairāki veidi, kā uzglabāt datus atbilstoši datu tipam un lielumam. SD un mikro SD kartes ir vienas no praktiskākajām atmiņas ierīcēm, kuras tiek izmantotas
Lētākais Arduino Sd kartes modulis: 5 soļi
![Lētākais Arduino Sd kartes modulis: 5 soļi Lētākais Arduino Sd kartes modulis: 5 soļi](https://i.howwhatproduce.com/images/003/image-6420-25-j.webp)
Lētākais Arduino SD kartes modulis: Apraksts: SD kartes moduli izmanto datu pārsūtīšanai uz standarta SD karti un no tās. Piespraude ir tieši saderīga ar Arduino, un to var izmantot arī ar citiem mikrokontrolleriem. Tas ļauj mums pievienot lielapjoma krātuvi un datu reģistrēšanu mūsu
Arduino + SD kartes modulis: 5 soļi
![Arduino + SD kartes modulis: 5 soļi Arduino + SD kartes modulis: 5 soļi](https://i.howwhatproduce.com/images/003/image-7394-25-j.webp)
Arduino + SD kartes modulis: Sveiki draugi! Lūdzu, noskatieties YOUTUBE video, tas jums ir pietiekami. Un neaizmirstiet abonēt, lai iegūtu vairāk informācijas, lūdzu, apmeklējiet manu emuāru https://www.blogger.com/blogger.g?blogID=2433497353797882246#editor/target=post;postID=5655686325161138749;onPu
SD kartes modulis ar ESP8266: 6 soļi
![SD kartes modulis ar ESP8266: 6 soļi SD kartes modulis ar ESP8266: 6 soļi](https://i.howwhatproduce.com/images/002/image-3746-47-j.webp)
SD kartes modulis ar ESP8266: šajā komplektā mums ir SD karte, kas savienota ar ESP8266. Mēs ievietojām DHT22, kas mēra temperatūru un mitrumu un nosūta šo informāciju uz SD karti. Ķēdē tas parāda mitrumu 43,40 un temperatūru 26,80. Katru reizi, kad es