Სარჩევი:
- ნაბიჯი 1: საბაზო სადგურის მშენებლობა
- ნაბიჯი 2: პირველი ტესტი
- ნაბიჯი 3: შექმენით ინტერფეისი
- ნაბიჯი 4: დაამატეთ ლიანდაგი
- ნაბიჯი 5: გადაიტანეთ ლიანდაგი GPS და დაამატეთ OpenStreetMap
- ნაბიჯი 6: გადაიტანეთ GPS საზომი და დაამატეთ ცხრილის ჟურნალი
- ნაბიჯი 7: მიიღეთ კოდი
- ნაბიჯი 8: Arduino IDE
- ნაბიჯი 9: დეტალების კოდირება
ვიდეო: Arduino პროექტი: ტესტი Range LoRa მოდული RF1276 GPS Tracking Solution: 9 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
კავშირი: USB - სერიული
საჭიროა: Chrome ბრაუზერი
საჭიროა: 1 X Arduino მეგა
საჭიროა: 1 X GPS
საჭიროა: 1 X SD ბარათი
საჭიროა: 2 X LoRa მოდემი RF1276
ფუნქცია: Arduino გაგზავნეთ GPS მნიშვნელობა ძირითად ბაზაზე-ძირითადი მონაცემთა ბაზა ინახავს მონაცემებს Dataino Server Lora მოდულში: ულტრა გრძელი დიაპაზონი RF1276 APPCONWIRELESS LoRa არის ახალი, კერძო და გავრცელებული სპექტრის მოდულაციის ტექნიკა, რომელიც იძლევა მონაცემთა უკიდურესად დაბალ სიჩქარეზე მონაცემების გაგზავნის საშუალებას გრძელი დიაპაზონი. მონაცემთა დაბალი მაჩვენებელი (წამში რამდენიმე ბაიტამდე) და LoRa მოდულაცია იწვევს მიმღების ძალიან დაბალ მგრძნობელობას, რაც ნიშნავს, რომ ამ ტესტში იგულისხმება 10 კმ-ზე მეტი.
ნაბიჯი 1: საბაზო სადგურის მშენებლობა
კომპიუტერის სიგანის ინტერნეტ კავშირი და LoRa მოდემი, რომელიც დაკავშირებულია USB პორტში.
არდუინოს მანქანის ნაკრები ·
მეტრული ყუთი
Anduino Mega დაკავშირებულია სერიულ 2 -თან GPS მიმღებთან და სერიული 1 LoRa მოდემთან. SD ბარათი გამოიყენება მონაცემების შესანახად.
ნაბიჯი 2: პირველი ტესტი
· 10.6 კმ ბილიკზე ქალაქური ცენტრების, გალერეების და სანაპიროების გასწვრივ მარყუჟებით
მიღების /გადაცემის თანაფარდობა იყო 321 /500TX წერტილი
RX წერტილი
ნაბიჯი 3: შექმენით ინტერფეისი
1 - შექმენით ახალი პროექტი LoRa
დააჭირეთ ღილაკს cog პროექტის კონფიგურაციის გასახსნელად
ნაბიჯი 4: დაამატეთ ლიანდაგი
2) გახსენით ლიანდაგის სლაიდერი.
· 3) გადაახვიეთ GPS– ზე.
· 4) დაამატეთ ერთი მაგიდასთან.
ნაბიჯი 5: გადაიტანეთ ლიანდაგი GPS და დაამატეთ OpenStreetMap
· 5) დაამატეთ OpenStreetMap რუკა მაგიდასთან
გადაათრიეთ კომპონენტის GPS ხატის რუკაზე, იქმნება OpenStreet რუკა.
შექმენით ინტერფეისი
· 6) შეცვალეთ რუქის განახლება
შეცვალეთ რუქის განახლების დრო 5000 -დან 10000 -მდე
ნაბიჯი 6: გადაიტანეთ GPS საზომი და დაამატეთ ცხრილის ჟურნალი
· 7) დაამატეთ ცხრილის ჟურნალი ლიანდაგი.
GPS– ის ხატის ზემოთ ლიანდაგის გადაწევით იქმნება ლიანდაგის ცხრილის ჟურნალი
· 8) ცხრილის ჟურნალის განახლების შეცვლა. შეცვალეთ რუქის განახლების დრო 5000 -დან 10000 -მდე
გაზომვის პოზიციის მორგება
· 9) გადაათრიეთ ლიანდაგები დაარეგულირეთ გაზომვების პოზიცია ეკრანზე გადაადგილებით.
· 10) პროექტის შენახვა
ნაბიჯი 7: მიიღეთ კოდი
10) გააქტიურეთ კოდის კონტეინერი
ღილაკი ზედა მარჯვენა ღილაკზე, აირჩიეთ ყველა და დააკოპირეთ ძირითადი კოდი.
ნაბიჯი 8: Arduino IDE
· 11) ჩასვით კოდი Arduino IDE– ზე
· 12) კოდის რედაქტირება დაამატეთ ეს ხაზი განმარტებაში
ნაბიჯი 9: დეტალების კოდირება
დაამატეთ ეს ხაზი განმარტებაში
//*************************************************************************
// ** ბიბლიოთეკა ** // ************************************** *******************************
#მოიცავს // ++ GPS ბიბლიოთეკას
#მოიცავს // ++ SPI ბიბლიოთეკას #მოიცავს
// ++ SD ბიბლიოთეკა //
*************************************************************************
// ** SD ** // ************************************** *******************************
// * SD ბარათი მიმაგრებულია SPI ავტობუსზე შემდეგნაირად:
// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4
// (CS პინის შეცვლა შესაძლებელია) და პინი #10 (SS) უნდა იყოს გამომავალი
// ** მეგა: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53
// (CS პინის შეცვლა შესაძლებელია) და პინი #52 (SS) უნდა იყოს გამომავალი
// ** ლეონარდო: დაუკავშირდით ტექნიკურ SPI– ს ICSP სათაურის საშუალებით
// პინ 4 გამოიყენება აქ Arduino– ს სხვა მაგალითებთან თანმიმდევრულობისთვის const int chipSelect = 53;
// ++ SD პინის ამომრჩევი
//*************************************************************************
// ** GPS ** // ************************************** *******************************
TinyGPS gps; // ++ GPS სერიალზე 2
ბათილი gpsdump (TinyGPS & gps); // ++
bool newdataGPS = false; // ++
დაამატეთ ეს ხაზი კონფიგურაციაში ()
//***********************************************************************
// ** GPS სერიული დაყენება ** // ************************************* *******************************
Serial2.begin (9600); // ++
დაგვიანება (1000); // ++
//***********************************************************************
// ** SD ინიციალიზაცია ** // ************************************** ******************************
// დარწმუნდით, რომ ნაგულისხმევი ჩიპის არჩევის პინი დაყენებულია // ++ - ზე
// გამომავალი, მაშინაც კი, თუ თქვენ არ იყენებთ მას: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("SD ბარათის ინიციალიზაცია …")); // ++
// ნახეთ, არის თუ არა ბარათი და შესაძლებელია მისი ინიციალიზაცია: // ++
თუ (! SD.begin (chipSelect)) {// ++
Serial.println (F ("ბარათი ვერ მოხერხდა, ან არ არის"); // ++
// მეტი არაფერი გააკეთო: // ++
დაბრუნების; // ++
} სხვა {// ++
Serial.println (F ("SD ბარათი OK")); // ++
} // ++
დაამატეთ ეს ხაზები მარყუჟში () void
serialEvent2 (); // ++ ზარის GPS სერიული მოვლენა
დაამატეთ SeriaEvent2 კოდი
//*************************************************************************
// ** GPS serialEvent ** // ************************************** ********************************
void serialEvent2 () {// ++
ხოლო (Serial2.available ()) {// ++
char c = Serial2.read (); // ++
// სერიული. ბეჭდვა (გ); // უკომენტარო GPS ნედლი მონაცემების სანახავად // ++
if (gps.encode (c)) {// ++
newdataGPS = ჭეშმარიტი; // ++
შესვენება; // ახალი მონაცემების დაუყოვნებლივ დაბეჭდვის კომენტარი! // ++
} // ++
} // ++
} // ++
დაამატეთ GPS ნაგავსაყრელი ხმამაღლა
//*************************************************************************
// ** gps dump ** // ************************************** ********************************
// ** გრძედის მოქმედი დიაპაზონი გრადუსებში არის -90 და +90. **
// ** განედი არის დიაპაზონში -180 და +180 **
// ** აღმოსავლეთ-დასავლეთის პოზიციის დაზუსტება **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
ბათილი gpsdump (TinyGPS & gps) // ++
{ // ++
int წელს; // ++
ბაიტი თვე, დღე, საათი, წუთი, წამი, მეასედი; // ++
ხელმოუწერელი ხანგრძლივი ასაკი; // ++
gps.f_get_position (& LATGP00, & LONGP00, & ასაკი); // ++
gps.crack_datetime (& წელი, & თვე, & დღე, & საათი, // ++
& წუთი, & მეორე, & მეასედები, და ასაკი); // ++
გრძელი ლათ, ლონ; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** გააკეთეთ სტრიქონი მონაცემების შესანახად შესასვლელად: **
// *********************************************************************
სიმებიანი dataString = ""; // ++
dataString += (lat / 100000); // ++
dataString += "."; // ++
dataString += lat - (lat / 100000) * 100000; // ++
dataString += ";"; // ++
dataString += (lon / 100000); // ++
dataString += "."; // ++
dataString += lon - (lon / 100000) * 100000; // ++
dataString += ";"; // ++
dataString += სიმებიანი (static_cast (დღე)); // ++
dataString += "/"; // ++
dataString += სიმებიანი (static_cast (თვე)); // ++
dataString += "/"; // ++
dataString += სიმებიანი (წელი); // ++
dataString += ";"; // ++
dataString += სიმებიანი (static_cast (საათი)); // ++
dataString += ":"; // ++
dataString += სიმებიანი (static_cast (წუთი)); // ++
dataString += ":"; // ++
dataString += სიმებიანი (static_cast (მეორე)); // ++ // ***************************************** ****************************
// ** შენახვა SD ** // ************************************* *********************************
// გახსენით ფაილი. გაითვალისწინეთ, რომ მხოლოდ ერთი ფაილის გახსნა შეიძლება ერთდროულად, **
// ასე რომ თქვენ უნდა დახუროთ ეს ერთი მეორის გახსნამდე. ** // ******************************************* ***************************
ფაილის მონაცემები ფაილი = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** თუ ფაილი ხელმისაწვდომია, ჩაწერეთ: **
// ***********************************************************************
if (dataFile) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} სხვა {// ++
Serial.println (F ("ERROR SD ჩაწერა")); // ++
} // ++
}
თუ გსურთ კოდის ჩამოტვირთვა, გთხოვთ ეწვიოთ ამ გვერდს.
გირჩევთ:
მოცულობის ტესტი ყალბი 18650: 7 ნაბიჯი (სურათებით)
ყალბი 18650 სიმძლავრის ტესტი: ამ ინსტრუქციებში მოდით ვიპოვოთ ყალბი 10400mAh დენის ბანკის ტევადობა. ადრე მე გამოვიყენე ეს დენის ბანკი საკუთარი დენის ბანკის გასაკეთებლად, რადგან მე ვიყიდე 2 დოლარად. ამ პროექტის ვიდეოს სანახავად - და არ დაგავიწყდეთ რომ გამოიწეროთ ჩემი არხი ასე რომ მოდი
MicroPython PCF8591 DAC ტესტი: 3 ნაბიჯი (სურათებით)
MicroPython PCF8591 DAC ტესტი: შევიძინე ეს წიგნი ჩემი მიკროპითონის უნარების გასაუმჯობესებლად: MicroPython for ESP8266 განვითარების სემინარი აგუს კურნიაავანის მიერ. ეს წიგნი არის ძალიან კარგი დასაწყისი, I2C პროექტი იყენებს PCF8591 მოდულს. მაგრამ არ არსებობს DAC პროგრამირების მაგალითი, ასე რომ მომიწია ამის გააზრება
10 ძირითადი არდუინოს პროექტი დამწყებთათვის! გააკეთეთ მინიმუმ 15 პროექტი ერთი დაფით!: 6 ნაბიჯი
10 ძირითადი არდუინოს პროექტი დამწყებთათვის! გააკეთეთ მინიმუმ 15 პროექტი ერთი დაფით!: Arduino პროექტი & სამეურვეო საბჭო; მოიცავს Arduino– ს 10 ძირითად პროექტს. ყველა კოდის კოდი, გერბერის ფაილი და სხვა. SMD არ არის! მარტივი შედუღება ყველასთვის. ადვილად მოსახსნელი და შესაცვლელი კომპონენტები. თქვენ შეგიძლიათ გააკეთოთ მინიმუმ 15 პროექტი ერთი პროგრამით
სტრესის ტესტი ჟოლოს პი: 6 ნაბიჯი (სურათებით)
ჟოლო ჟოლო Pi სტრესი: როდესაც Raspberry Pi პირველად გამოვიდა, მე ყურმილში ჩავვარდი, მაგრამ საბოლოოდ მე უფრო მეტი დრო გავატარე Arduino– სთან, რადგან ისინი უფრო მეტად შეეფერება ელექტრონიკის პროექტებს. მე მაქვს ორი ორიგინალური Raspberry Pi ფარდულში და მეგონა, რომ ეს იყო
სახლის ავტომატური ფარდები - მინი პროექტი MakerChips– ის BluChip– ით (nRF51 BLE) მოდული: 7 ნაბიჯი (სურათებით)
სახლის ავტომატური ფარდები - მინი პროექტი MakerChips 'BluChip- ით (nRF51 BLE) მოდული: წარმოიდგინეთ, რომ გაიღვიძეთ და გინდათ მზის სხივი მიიღოთ თქვენი ფანჯრებიდან, ან დახუროთ ფარდები, რათა შეძლოთ შემდგომ დაიძინოთ, საკუთარი თავის ახლოდან გაწევის ძალისხმევის გარეშე. ფარდებისკენ, არამედ თქვენს სმარტფზე ღილაკის დაჭერით