![Smart Buoy [GPS, ռադիո (NRF24) և SD քարտի մոդուլ]. 5 քայլ (նկարներով) Smart Buoy [GPS, ռադիո (NRF24) և SD քարտի մոդուլ]. 5 քայլ (նկարներով)](https://i.howwhatproduce.com/images/001/image-901-4-j.webp)
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48
![Image Image](https://i.howwhatproduce.com/images/001/image-901-6-j.webp)
![](https://i.ytimg.com/vi/xz1ix76U28E/hqdefault.jpg)
Այս Smart Buoy շարքը ներկայացնում է գիտական նավ կառուցելու մեր (հավակնոտ) փորձը, որը կարող է իմաստալից չափումներ կատարել ծովի վերաբերյալ ՝ դուրս գրպանից պատրաստված արտադրանքով: Սա չորսից երկուսն են ՝ համոզվեք, որ արդիական եք, և եթե նախագծի արագ ներածման կարիք ունեք, ստուգեք մեր ամփոփագիրը:
Մաս 1. Ալիքների և ջերմաստիճանի չափումներ կատարելը
Այս ձեռնարկում մենք ձեզ ցույց ենք տալիս, թե ինչպես ստանալ GPS տվյալներ, պահել դրանք SD քարտի վրա և դրանք ինչ -որ տեղ ուղարկել ռադիոյի միջոցով:
Մենք դա արեցինք, որպեսզի կարողանանք հետևել մեր ծովային նավակի գտնվելու վայրի մասին: Ռադիոն նշանակում է, որ մենք կարող ենք դիտել այն հեռակա կարգով, իսկ SD քարտը նշանակում է, որ միանգամից ինչ -որ բան խախտում է և գնում թափառման, մենք կարող ենք ներբեռնել այն տվյալները, որոնք նա հավաքել է իր չպլանավորված էքսկուրսիայի ընթացքում, եթե երբևէ կարողանանք այն վերականգնել:
Պարագաներ
GPS մոդուլ - Amazon
SD քարտի մոդուլ - Amazon
SD քարտ - Amazon
2 X ռադիո մոդուլներ (NRF24L01+) - Amazon
2 X Arduino - Ամազոն
Քայլ 1: GPS տվյալների ձեռքբերում
![GPS տվյալների փոխանցում ռադիոյի միջոցով GPS տվյալների փոխանցում ռադիոյի միջոցով](https://i.howwhatproduce.com/images/001/image-901-7-j.webp)
Խելացի նավը սենսորային չափումներ է կատարում ծովում նստած վիճակում, ներառյալ GPS- ի գտնվելու վայրը և տվյալների ժամանակը: Նայեք սխեմային, որը ցույց է տալիս, թե ինչպես ենք մենք միացնում միացումը: GPS մոդուլը հաղորդակցվում է սերիական կապի միջոցով, ուստի մենք դրա հետ շփվելու համար օգտագործում ենք Arduino ծրագրաշարի սերիական գրադարանը, ինչպես նաև փոքրիկ GPS գրադարանը: Այս գրադարանները ամեն ինչ շատ պարզ են դարձնում: Եկեք ձեզ փոխանցենք ծածկագիրը…
#ներառում
#ներառել // TinyGPS ++ օբյեկտը TinyGPSPlus gps; // Սերիական միացում GPS սարքին SoftwareSerial ss (4, 3); struct dataStruct {երկակի լայնություն; կրկնակի երկայնություն; անստորագիր երկար ամսաթիվ; երկար ժամանակ անստորագիր; } gpsData; void setup () {Serial.begin (115200); ss. սկիզբ (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 ("Անվավեր տեղադրություն"); } if (gps.date.isValid ()) {gpsData.date = gps.date.value (); } else {Serial.println ("Անվավեր ամսաթիվ"); } if (gps.time.isValid ()) {gpsData.time = gps.time.value (); } else {Serial.println ("Անվավեր ժամանակ"); }} void printResults () {Serial.print ("Գտնվելու վայրը"); Serial.print (gpsData.latitude, 6); Serial.print (","); Serial.print (gpsData.longitude, 6); Serial.print («Ամսաթիվ.»); Serial.print (gpsData.date); Serial.print («:ամանակը»); Serial.print (gpsData.time); Serial.println (); }
(Դիտեք այս ծածկագրի տեսանյութը
Քայլ 2. GPS տվյալների փոխանցում ռադիոյի միջոցով
![GPS տվյալների փոխանցում ռադիոյի միջոցով GPS տվյալների փոխանցում ռադիոյի միջոցով](https://i.howwhatproduce.com/images/001/image-901-8-j.webp)
Ենթադրենք, որ բոյը չափումներ է կատարում ծովում, բայց մենք ուզում ենք տեսնել տվյալները ՝ առանց ոտքերը թրջելու կամ նավակը ափ հանելու: Չափումները հեռակա կարգով ստանալու համար մենք օգտագործում ենք ռադիո մոդուլ, որը միացված է Arduino- ին կապի երկու կողմերում: Հետագայում ստացողի կողմից Arduino- ն կփոխարինենք ազնվամորու pi- ով: Ռադիոն նման կերպ աշխատում է այս երկու ինտերֆեյսերի հետ, այնպես որ դրանք փոխանակելը բավականին պարզ է:
Ռադիո մոդուլը հաղորդակցվում է SPI- ի միջոցով, որը պահանջում է մի քանի ավելի շատ կապեր, քան I2C- ն, բայց այնուամենայնիվ իսկապես հեշտ է օգտագործել NRF24 գրադարանի պատճառով: Սենսորային չափումների համար օգտագործելով GPS մոդուլը, մենք փոխանցում ենք դրա տվյալները մեկ Arduino- ից մյուսը: Մենք մտադիր ենք միացնել GPS- ը և ռադիո մոդուլը Arduino- ին, իսկ մյուս կողմից ՝ Arduino- ն ռադիո մոդուլի հետ:
Հաղորդիչ
#ներառում
#ներառել #ներառել #ներառել #ներառել TinyGPSPlus gps; SoftwareSerial ss (4, 3); RF24 ռադիո (8, 7); // CE, CSN struct dataStruct {կրկնակի լայնություն; կրկնակի երկայնություն; անստորագիր երկար ամսաթիվ; երկար ժամանակ անստորագիր; } gpsData; void setup () {Serial.begin (115200); ss. սկիզբ (9600); Serial.println («Ռադիոյի կարգավորում»); // Կարգավորել հաղորդիչ ռադիո 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 («Սկսել է ուղարկել»); } 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 (); } else {gpsData.longitude = 0.0; gpsData.latitude = 0.0; } if (gps.date.isValid ()) {gpsData.date = gps.date.value (); } else {gpsData.date = 0; } if (gps.time.isValid ()) {gpsData.time = gps.time.value (); } else {gpsData.time = 0; }}
ՌԵՍԻՎԵՐ
#ներառում
#ներառել #ներառել RF24 ռադիո (8, 7); // CE, CSN struct dataStruct {կրկնակի լայնություն; կրկնակի երկայնություն; անստորագիր երկար ամսաթիվ; երկար ժամանակ անստորագիր; } gpsData; void setup () {Serial.begin (115200); // Ստեղծեք ընդունիչ ռադիո 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 ("Որտեղից:"); Serial.print (gpsData.latitude, 6); Serial.print (","); Serial.print (gpsData.longitude, 6); Serial.print ("Ամսաթիվ."); Serial.print (gpsData.date); Serial.print («:ամանակը»); Serial.print (gpsData.time); Serial.println ();}}
(Դիտեք այս ծածկագրի տեսանյութը
Քայլ 3: Տվյալների պահպանում ՝ օգտագործելով SD քարտի մոդուլ
![SD քարտի մոդուլի միջոցով տվյալների պահպանում SD քարտի մոդուլի միջոցով տվյալների պահպանում](https://i.howwhatproduce.com/images/001/image-901-9-j.webp)
Ռադիո մոդուլը բավականին հուսալի է, բայց երբեմն ձեզ անհրաժեշտ է արտակարգ իրավիճակների ծրագիր, եթե ստացողի կողմից հոսանքազրկում կա, կամ եթե ռադիոն հեռանում է տիրույթից: Մեր արտակարգ իրավիճակների ծրագիրը SD քարտի մոդուլ է, որը թույլ է տալիս մեզ պահել մեր հավաքած տվյալները: Հավաքագրված տվյալների քանակն այնքան էլ մեծ չէ, այնպես որ նույնիսկ փոքր SD քարտը հեշտությամբ կկարողանա մեկ օրվա արժեքի տվյալներ պահել:
#ներառում
#ներառել #ներառել #ներառել TinyGPSPlus gps; SoftwareSerial ss (4, 3); struct dataStruct {երկակի լայնություն; կրկնակի երկայնություն; անստորագիր երկար ամսաթիվ; երկար ժամանակ անստորագիր; } gpsData; void setup () {Serial.begin (115200); ss. սկիզբ (9600); եթե (! SD.begin (5)) {Serial.println ("Քարտը ձախողվեց, կամ ներկա չէ"); վերադարձ; } Serial.println («քարտը սկզբնականացված է»); Ֆայլի dataFile = SD.open ("gps_data.csv", FILE_WRITE); if (dataFile) {dataFile.println ("Լայնություն, երկայնություն, ամսաթիվ, ժամ"); dataFile.close (); } else {Serial.println ("ոչ, ֆայլը չի կարող բացվել"); }} 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 ("Անվավեր տեղադրություն"); } if (gps.date.isValid ()) {gpsData.date = gps.date.value (); } else {Serial.println ("Անվավեր ամսաթիվ"); } if (gps.time.isValid ()) {gpsData.time = gps.time.value (); } else {Serial.println ("Անվավեր ժամանակ"); }} void printResults () {Serial.print ("Գտնվելու վայրը"); Serial.print (gpsData.latitude, 6); Serial.print (","); Serial.print (gpsData.longitude, 6); Serial.print ("Ամսաթիվ."); Serial.print (gpsData.date); Serial.print («:ամանակը»); Serial.print (gpsData.time); Serial.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 ("ոչ, ոչ տվյալների ֆայլ"); }}
(Այս կոդի միջոցով մենք խոսում ենք տեսանյութում ՝
Քայլ 4: GPS տվյալների ուղարկում և պահում
![GPS տվյալների ուղարկում և պահում GPS տվյալների ուղարկում և պահում](https://i.howwhatproduce.com/images/001/image-901-10-j.webp)
![GPS տվյալների ուղարկում և պահում GPS տվյալների ուղարկում և պահում](https://i.howwhatproduce.com/images/001/image-901-11-j.webp)
Քայլ 5: Շնորհակալություն:
![Շնորհակալություն Շնորհակալություն](https://i.howwhatproduce.com/images/001/image-901-12-j.webp)
Գրանցվեք մեր Փոստային ցուցակին:
Մաս 1. Ալիքի և ջերմաստիճանի չափում
Մաս 2. GPS NRF24 ռադիո և SD քարտ
Մաս 3. Էլեկտրաէներգիայի պլանավորում
Մաս 4. Բոյոյ տեղակայելը
Խորհուրդ ենք տալիս:
Քարտի սնուցող սարք առևտրային քարտի մեքենայի համար. 10 քայլ (նկարներով)
![Քարտի սնուցող սարք առևտրային քարտի մեքենայի համար. 10 քայլ (նկարներով) Քարտի սնուցող սարք առևտրային քարտի մեքենայի համար. 10 քայլ (նկարներով)](https://i.howwhatproduce.com/images/011/image-30076-j.webp)
Քարտի սնուցող սարք առևտրային քարտերի մեքենայի համար. Քարտի սնուցող սարք առևտրային քարտերի մեքենայի համար Նախապատմություն Երբ ես երիտասարդ էի, ես հավաքեցի տոննա առևտրային քարտեր, բայց որոշ տարիների ընթացքում հավաքելու կիրքը նվազում էր: Այդ ընթացքում ես երեխաներ ունեմ, և նրանք դանդաղ, բայց հաստատ սկսում են ձեռք բերել
SD քարտի մոդուլ Arduino- ով. Ինչպես կարդալ/գրել տվյալներ. 14 քայլ
![SD քարտի մոդուլ Arduino- ով. Ինչպես կարդալ/գրել տվյալներ. 14 քայլ SD քարտի մոդուլ Arduino- ով. Ինչպես կարդալ/գրել տվյալներ. 14 քայլ](https://i.howwhatproduce.com/images/002/image-3405-48-j.webp)
SD քարտի մոդուլ Arduino- ով. Ինչպես կարդալ/գրել տվյալներ. Ակնարկ տվյալների պահպանումը յուրաքանչյուր նախագծի ամենակարևոր մասերից մեկն է: Կա տվյալների պահպանման մի քանի եղանակ ՝ ըստ տվյալների տեսակի և չափի: SD և միկրո SD քարտերը ամենապրակտիկներից են պահեստավորման սարքերի մեջ, որոնք օգտագործվում են
NRF24 Հեռաչափության երկկողմանի ռադիո. 9 քայլ (նկարներով)
![NRF24 Հեռաչափության երկկողմանի ռադիո. 9 քայլ (նկարներով) NRF24 Հեռաչափության երկկողմանի ռադիո. 9 քայլ (նկարներով)](https://i.howwhatproduce.com/images/005/image-12162-2-j.webp)
NRF24 Հեռաչափության երկկողմանի ռադիո. Բարև տղերք, իմ անունը Պեդրո Կաստելանի է, և ես ձեզ բերում եմ իմ առաջին հրահանգը. Արդուինոյով երկկողմանի ռադիո կառուցելը, ամեն ինչի համար, ինչի համար անհրաժեշտ է: Այս նախագծում մենք կանենք երկու առանձին սխեմաներ, որոնք հանդես կգան և՛ որպես ընդունող, և՛ փոխանցող
Arduino + SD քարտի մոդուլ `5 քայլ
![Arduino + SD քարտի մոդուլ `5 քայլ Arduino + SD քարտի մոդուլ `5 քայլ](https://i.howwhatproduce.com/images/003/image-7394-25-j.webp)
Arduino + SD քարտի մոդուլ. Բարև ընկերներ: Խնդրում ենք դիտել YOUTUBE տեսանյութը, դա բավական է ձեզ համար: Եվ մի մոռացեք բաժանորդագրվել լրացուցիչ տեղեկությունների համար, այցելեք իմ բլոգ https://www.blogger.com/blogger.g?blogID=2433497353797882246#editor/target=post;postID=5655686325161138749 ;onPu
Ինտերնետ ռադիո/ վեբ ռադիո Raspberry Pi 3 -ով (անգլուխ) `8 քայլ
![Ինտերնետ ռադիո/ վեբ ռադիո Raspberry Pi 3 -ով (անգլուխ) `8 քայլ Ինտերնետ ռադիո/ վեբ ռադիո Raspberry Pi 3 -ով (անգլուխ) `8 քայլ](https://i.howwhatproduce.com/images/002/image-3408-64-j.webp)
Ինտերնետ ռադիո/ Վեբ ռադիո Raspberry Pi 3 -ով (անգլուխ). HI youանկանու՞մ եք ձեր սեփական ռադիոհաղորդումը ինտերնետով, ապա դուք ճիշտ տեղում եք: Ես կփորձեմ հնարավորինս մանրամասնել: Ես փորձել եմ մի քանի եղանակներ, որոնցից շատերին կամ ձայնային քարտ էր պետք, որը ես դժկամությամբ էի գնում: բայց կարողացավ խփել