Სარჩევი:

როგორ ავაშენოთ მოძრაობის გამოვლენის სისტემა არდუინოთი: 7 ნაბიჯი
როგორ ავაშენოთ მოძრაობის გამოვლენის სისტემა არდუინოთი: 7 ნაბიჯი

ვიდეო: როგორ ავაშენოთ მოძრაობის გამოვლენის სისტემა არდუინოთი: 7 ნაბიჯი

ვიდეო: როგორ ავაშენოთ მოძრაობის გამოვლენის სისტემა არდუინოთი: 7 ნაბიჯი
ვიდეო: ორქიდეა ცარიელ ქილაში 🙃 უყურებს 2024, ივლისი
Anonim
როგორ ავაშენოთ მოძრაობის ამოცნობის სისტემა არდუინოსთან ერთად
როგორ ავაშენოთ მოძრაობის ამოცნობის სისტემა არდუინოსთან ერთად

შექმენით მოძრაობისა და ყოფნის წარმოების მრიცხველი ბუმბულის HUZZAH გამოყენებით დაპროგრამებული Arduino– ით და იკვებება Ubidots– ით.

ჭკვიანი სახლებისა და ჭკვიანი წარმოების ეფექტური ფიზიკური მოძრაობისა და ყოფნის გამოვლენა შეიძლება იყოს ძალიან სასარგებლო პროგრამებში, დაწყებული ხანდაზმული გარემოს დამხმარე ცხოვრების (AAL) გადაწყვეტილებებით ან წარმოების დათვლის სისტემით, რომელიც კვებავს უფრო დიდ MES– ს. მოძრაობისა და ყოფნის გამოვლენის სხვა პროგრამები მოიცავს, მაგრამ არ შემოიფარგლება მხოლოდ:

  1. კარების და კარების ავტომატიზაცია
  2. პარკირების სენსორები უფასო ადგილების დასადგენად
  3. ტანკის დონის დისტანციური მონიტორინგი
  4. ჭკვიანი სახლები და საშუალებები განათებისა და უსაფრთხოებისათვის
  5. კონვეიერის ხაზებში გამოვლენის და დათვლის ერთეულები
  6. მონიშნეთ გამოვლენა დაბეჭდილ მასალებზე
  7. თხევადი გამოვლენა მუყაოს, პლასტმასის და ქაღალდის დახრის შიგნით
  8. მანძილის გამოვლენა
  9. ხალხი ითვლის

მიუხედავად იმისა, რომ არსებობს მრავალი განაცხადი ყოფნისა და მოძრაობისთვის, თანაბრად იმდენი სენსორია მონაცემების შესაგროვებლად, როგორიცაა კონდენსაციური, ინდუქციური, ფოტოელექტრული და ულტრაბგერითი სენსორები. ხარჯებიდან, გარემოსდაცვითი პირობებიდან და სიზუსტის მოთხოვნებიდან გამომდინარე, უნდა შეირჩეს გარემოსთვის და აპლიკაციის მოთხოვნებისათვის შესაფერისი აღჭურვილობა.

ამ გაკვეთილისთვის ჩვენ ყურადღებას გავამახვილებთ რეალურ დროში წარმოების მრიცხველის მშენებლობაზე; განაცხადი დაითვლის ყველა ერთეულს, რომელიც გადის კონვეიერის ქამარზე. ჩვენ ვიყენებთ Arduino IDE– ს ბუმბულის HUZZAH ESP8266, ულტრაბგერითი სენსორის და Ubidots– ის დასაპროგრამებლად, რათა განვავითაროთ ჩვენი აპლიკაცია და აჩვენოთ ჩვენი IoT დაფა.

ნაბიჯი 1: მოთხოვნები

  1. ბუმბული HUZZAH ESP8266MB7389-100
  2. ულტრაბგერითი სენსორი
  3. Arduino IDE 1.8.2 ან უფრო მაღალი
  4. Ubidots ანგარიში -ან STEM ლიცენზია

ნაბიჯი 2: დაყენება

  • I აპარატურის დაყენება
  • II Firmware Setup
  • III. Ubidots განაცხადის განვითარება (მოვლენები, ცვლადები და დაფა)

ნაბიჯი 3: აპარატურის დაყენება

აპარატურის დაყენება
აპარატურის დაყენება
აპარატურის დაყენება
აპარატურის დაყენება

ულტრაბგერითი სენსორი MB7389-100 არის დაბალფასიანი ვარიანტი სამრეწველო პროგრამებისთვის, ფართო სპექტრის და დაბალი ენერგიის მოხმარების მოთხოვნებით, რთულ ამინდში, მისი IPv67 რეიტინგის წყალობით.

დასაწყებად, ასახეთ ქვემოთ მოცემული დიაგრამა, რომ ულტრაბგერითი სენსორი მიამაგროთ ბუმბულს HUZZAH ESP8266.

შენიშვნა: სენსორის კითხვა შეიძლება იქნას მიღებული როგორც ანალოგური კითხვა ან PWM; ქვემოთ ჩვენ ვაპირებთ ავუხსნათ PWM კითხვის პარამეტრი, დამატებითი ინფორმაციისთვის გთხოვთ იხილოთ ზემოთ ნაჩვენები მაგალითები.

[სურვილისამებრ] მოათავსეთ მიკროკონტროლი და სენსორები IP67 ჩანთაში, რომ დაიცვათ ისინი მტვრისგან, წყლისგან და სხვა საშიში გარემო ფაქტორებისგან. სტანდარტული ყუთი ჰგავს იმას, რაც ნაჩვენებია ზემოთ მოცემულ ფოტოებში.

ნაბიჯი 4: Firmware Setup

Firmware Setup
Firmware Setup
Firmware Setup
Firmware Setup

პირველი, თქვენ უნდა დააინსტალიროთ Feather Huzzah Arduino IDE– ში და შეადგინოთ კოდი. გახსოვდეთ, რომ გადაამოწმეთ ეს პარამეტრი მარტივი მოციმციმე ტესტის გაკეთებით. თქვენი ბუმბულის მოწყობილობასთან დაკავშირების შესახებ დამატებითი ინფორმაციისთვის იხილეთ ტექნიკის დაყენების ეს სასარგებლო სახელმძღვანელო.

სენსორული მონაცემების Ubidots IoT განვითარების პლატფორმაზე გასაგზავნად, დააკოპირეთ და ჩასვით ქვემოთ კოდი Arduino IDE– ში. გახსოვდეთ, მიანიჭეთ Wi-Fi ქსელის სახელი, პაროლი და თქვენი Ubidots ანგარიშის ნიშანი, სადაც მითითებულია კოდი.

/****************************** ბიბლიოთეკები შედის *************** ****************##მოიცავს /***************************** ** მუდმივები და საგნები *******************************უბიდოტები*/const char*SSID_NAME = "xxxxxxxx"; // განათავსეთ თქვენი SSID სახელი char char* SSID_PASS = "xxxxxxxx"; // განათავსეთ აქ თქვენი პაროლიconst char* TOKEN = "Assig_your_ubidots_token"; // განათავსეთ აქ თქვენი TOKENconst char* DEVICE_LABEL = "მოძრაობის კონტროლი"; // თქვენი მოწყობილობის labelconst char* VARIABLE_LABEL = "მანძილი"; // თქვენი ცვლადი labelconst char* USER_AGENT = "ESP8266"; const char* VERSION = "1.0"; const char* HTTPSERVER = "industrial.api.ubidots.com"; // Ubidots ბიზნეს მომხმარებლები // const char* HTTPSERVER = " things.ubidots.com "; // Ubidots საგანმანათლებლო მომხმარებლები HTTPPORT = 80;/ * ულტრაბგერითი სენსორი */const int pwPin1 = 5; // PWM პინი, სადაც სენსორია დაკავშირებული WiFiClient clientUbi;/****************************** დამატებითი ფუნქციები *** *************************** ** ** იღებს სხეულის სიგრძეს @arg ცვლადს სხეულის ტიპი char @return dataLen ცვლადის სიგრძე*/int dataLen (char* ცვლადი) {uint8_t dataLen = 0; for (int i = 0; i distance / 25.4* / float distance = pulseIn (pwPin1, HIGH); sendToUbidots (DEVICE_LABEL, VARIABLE_LABEL, მანძილი); შეფერხება (1000);} void sendToUbidots (const char* device_label, const char* variable_label, float sensor_value) {char * body = (char *) malloc (sizeof (char) * 150); char * data = (char *) malloc (sizeof (char) * 300); / * სივრცე მნიშვნელობების შესანახად * / char str_val [10]; /*---- გარდაქმნის სენსორების მნიშვნელობებს char ტიპად -----* / /*4 არის მინიმალური სიგანე, 2 არის სიზუსტე; float მნიშვნელობა კოპირებულია str_val* / dtostrf (sensor_value, 4, 2, str_val); /* აშენებს გამოგზავნილ სხეულს მოთხოვნაში* /sprintf (body, "{"%s / ":%s}", variable_label, str_val); /* აშენებს HTTP მოთხოვნა იყოს POST */sprintf (მონაცემები, "POST /api/v1.6/devices/%s", device_label); sprintf (მონაცემები, "%s HTTP/1.1 / r / n", მონაცემები); sprintf (მონაცემები, "%sHost: things.ubidots.com / r / n", მონაცემები); sprintf (მონაცემები, "%sUser-Agent:%s/%s / r / n", მონაცემები, USER_AGENT, VERSION); sprintf (მონაცემები, " %sX-Auth-Token: %s / r / n", მონაცემები, TOKEN); სპრინტი f (მონაცემები, "%sConnection: close / r / n", მონაცემები); sprintf (მონაცემები, "%sContent-Type: application/json / r / n", მონაცემები); sprintf (მონაცემები, " %sContent-Length: %d / r / n / r / n", data, dataLen (body)); sprintf (მონაცემები, "%s%s / r / n / r / n", მონაცემები, სხეული); / * საწყისი კავშირი */ clientUbi.connect (HTTPSERVER, HTTPPORT); / * გადაამოწმეთ კლიენტის კავშირი */ if (clientUbi.connect (HTTPSERVER, HTTPPORT)) {Serial.println (F ("თქვენი ცვლადების გამოქვეყნება:")); Serial.println (მონაცემები); / * გაგზავნეთ HTTP მოთხოვნა */ clientUbi.print (მონაცემები); } / * სანამ კლიენტი ხელმისაწვდომია წაიკითხეთ სერვერის პასუხი * / while (clientUbi.available ()) {char c = clientUbi.read (); სერიული. დაწერეთ (გ); } / * თავისუფალი მეხსიერება * / უფასო (მონაცემები); თავისუფალი (სხეული); / * კლიენტის შეჩერება */ clientUbi.stop ();}

რჩევა: შეგიძლიათ შეამოწმოთ თქვენი მოწყობილობა სწორად არის დაკავშირებული Arduino IDE– ში სერიული მონიტორის გახსნით.

თქვენ შეგიძლიათ გადაამოწმოთ, რომ მოწყობილობა შეიქმნა თქვენს Ubidots უკანა ხაზში, თქვენი ანგარიშის მოწყობილობის მენეჯმენტის -> მოწყობილობების ნახვით.

თქვენს მოწყობილობაზე დაჭერით თქვენ ნახავთ ცვლადს სახელწოდებით "მანძილი", სადაც ინახება სენსორის მაჩვენებლები. ეს სახელი მიენიჭა კოდს, რომელიც ახლახან ჩასვით Arduino IDE– ში. თუ გსურთ თქვენი ავტომატური ცვლადების მორგება, გთხოვთ გააკეთოთ ეს მოწყობილობის ბარათის რედაქტირებით ან განახლებული კოდის ციმციმით თქვენი განაცხადის სწორი ცვლადის ნომენკლატურით.

ბუმბულით HUZZAH ESP8266 დაკავშირებულია და მონაცემებს ატყობინებს Ubidots– ს, დროა შევქმნათ აპლიკაცია Ubidots– ის გამოყენებით საგულდაგულოდ შემუშავებული კოდის გარეშე პროგრამის კონფიგურაციის გამოყენებით.

ნაბიჯი 5: Ubidots განაცხადის განვითარება

Ubidots განაცხადის განვითარება
Ubidots განაცხადის განვითარება
Ubidots განაცხადის განვითარება
Ubidots განაცხადის განვითარება
Ubidots განაცხადის განვითარება
Ubidots განაცხადის განვითარება

Ubidots ღონისძიების კონფიგურაცია

ახლანდელი კითხვა, რომელსაც ჩვენ ვაგზავნით უბიდოტებს, არის დისტანციური შეყვანა. ამ კითხვების გადასატანად სასურველ შედეგში, რომელიც ჩვენ გვსურს - გამოთვლილი ერთეულები - ჩვენ უნდა შევქმნათ ღონისძიება ამ ნაბიჯების შემდეგ:

  1. მიმდინარე მოწყობილობის შიგნით "მოძრაობის კონტროლი" შექმენით ახალი ნაგულისხმევი ცვლადი სახელწოდებით "ყუთები", რომელიც მიიღებს 1-ს ყოველ ჯერზე ახალი ერთეულის დათვლისას.
  2. გადადით მოწყობილობის მენეჯმენტზე -> მოვლენები და დააწკაპუნეთ ლურჯ პლიუს ხატზე გვერდის ზედა მარჯვენა კუთხეში ახალი ღონისძიების დასამატებლად.
  3. დააკონფიგურირეთ თქვენი ღონისძიება დაწყებული "თუ იწვევს":
  • აირჩიეთ ცვლადი: "მანძილი"
  • მნიშვნელობა: მნიშვნელობა (ნაგულისხმევი)
  • არის ნაკლები ან ტოლი [მაქსიმალური მოსალოდნელი მანძილი] სენსორსა და ყუთებს შორის, რომლებიც გადადიან*ჩვენი აპლიკაცია ითხოვს 500 მმ
  • 0 წუთის განმავლობაში
  • Შენახვა

4. მას შემდეგ რაც გამომწვევები დაყენებულია თქვენი პროგრამის სპეციფიკაციებზე, დააწკაპუნეთ ფორთოხლის "პლუს" ხატულაზე ზედა მარჯვენა კუთხეში პირობითი მოქმედების დასამატებლად.

5. მოქმედების სახით შეარჩიეთ „ცვლადის დაყენება“.

6. შემდეგი, აირჩიეთ ადრე შექმნილი ნაგულისხმევი ცვლადი "ყუთები" და მნიშვნელობა "1".

7. შეინახეთ ცვლილებები. თუ ღონისძიება სწორად არის დაყენებული, ის გამოაგზავნის "1" ყოველ ჯერზე, როდესაც მანძილი სენსორსა და ერთეულს შორის აღემატება მითითებულ ზღვარს, რაც მიგვითითებს იმაზე, რომ ობიექტი არ არის ახლოს - და უნდა დაითვალოს ახალი ერთეული, რომელიც ახლახან გაიარა რა

ბუმბულის სპეციფიკური მოწყობილობის ბარათში ნახავთ, რომ ცვლადი "ყუთები", სადაც "1" იგზავნება ნებისმიერ დროს, როდესაც იგრძნობა ერთეულის ყოფნა.

განსაკუთრებით სასარგებლოა სამრეწველო კონვეიერის ქამრებისთვის და ამ პროტოტიპის დათვლის ერთეულისთვის, თქვენ შეგიძლიათ დააკონფიგურიროთ ის, რომ მოერგოს სხვადასხვა გარემოს ან აპარატურას უბრალოდ თქვენს კოდირებაში ან თქვენი პროგრამების შემუშავებაში.

8. ვიზუალურად იგრძენით ერთეულების რაოდენობა (ან რამდენჯერმე გამოჩნდა ობიექტი) განსაზღვრული სპამი (წუთი, საათი, დღეები, კვირები და სხვა). ამ განვითარების განსახორციელებლად, მიყევით ამ მარტივ ნაბიჯებს:

მიანიჭეთ შემდეგი რწმუნებათა სიგელები თქვენს ახალ მოძრავ ფანჯარაში ცვლადს

აირჩიეთ მოწყობილობა: მოძრაობის კონტროლი (ან იმ მოწყობილობის სახელი, რომელსაც თქვენ აგზავნით თქვენს მონაცემებს)

აირჩიეთ ცვლადი: ყუთები

გამოთვალეთ: ჯამი

ყოველ: "1" საათში (ან თქვენი განაცხადის მოთხოვნების შესაბამისად)

ახლა მიანიჭეთ სახელი ახალ ცვლადს, რომელიც მიუთითებს ერთ საათში დათვლილი ყუთების (ან მოძრაობების) რაოდენობას, ისევე როგორც "ყუთები/საათი" ან "ერთეული/საათი".

ნაბიჯი 6: დაფის კონფიგურაციები

დაფის კონფიგურაციები
დაფის კონფიგურაციები

დაბოლოს, შექმენით საინფორმაციო დაფა, რომ აჩვენოს შეგრძნებული ერთეულების რაოდენობა.

გადადით მოწყობილობის მენეჯმენტზე -> საინფორმაციო დაფებზე და დაამატეთ ახალი ვიჯეტი. ეს ვიჯეტი აჩვენებს დღეს დათვლილი ყუთების რაოდენობას საათში.

მიანიჭეთ შემდეგი რწმუნებათა სიგელები თქვენს ახალ ვიჯეტს თქვენი რაოდენობის ვიზუალიზაციისთვის.

როგორ გსურთ ნახოთ თქვენი მონაცემები?: დიაგრამა

აირჩიეთ ვიჯეტის ტიპი: ხაზოვანი დიაგრამა

დაამატეთ მოწყობილობა: მოძრაობის კონტროლი

დაამატეთ ცვლადი: ყუთები/საათი

დასრულება. და ამ საბოლოო დაფის შემუშავებით - თქვენი აპლიკაცია დასრულებულია და თქვენ უკვე გაქვთ მოძრაობის და ყოფნის ეფექტური და ეფექტური გამოვლენის სისტემა. აქ არის საბოლოო შედეგი ჩვენი შედეგების შესახებ.

გირჩევთ: