სენსორები "Arduino": აღწერა, მახასიათებლები, კავშირი, მიმოხილვები

Სარჩევი:

სენსორები "Arduino": აღწერა, მახასიათებლები, კავშირი, მიმოხილვები
სენსორები "Arduino": აღწერა, მახასიათებლები, კავშირი, მიმოხილვები
Anonim

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

სენსორები არდუინოსთვის
სენსორები არდუინოსთვის

სად ვიყიდოთ

ფაქტია, რომ ჩვენს მაღაზიებში სენსორები ძვირი ღირს. და თუ თქვენ აპირებთ დაიწყოთ Arduino პლატფორმის შესწავლა, მაშინ უბრალოდ უნდა იცოდეთ სად შეგიძლიათ შეიძინოთ ისინი დაბალ ფასად. პასუხი მარტივია - ჩინური მაღაზიები. Ეს შეიძლება იყოსAliexpress, Joom, Pandao და სხვები. იქ თითქმის ყველა მაღაზია ყიდულობს სენსორებს და ყიდის მათ უზარმაზარი მარჟით, რომელიც 300%-მდე აღწევს. რა თქმა უნდა, მოგიწევთ გარკვეული დრო ლოდინი და არ შეგიძლიათ დარწმუნებული იყოთ საქონლის ხარისხში, მაგრამ იგივე სენსორისთვის სამჯერ მეტის გადახდა ასევე არ ღირს. მაგალითი: Aliexpress-ს აქვს 36 სენსორისგან შემდგარი კომპლექტი, რომლის ღირებულებაა 800 რუბლი. იგივე ნაკრები რუსულ მაღაზიაში იყიდება 3,5 ათას რუბლში. ასე რომ, ეს თქვენზეა დამოკიდებული.

სად ვიყიდოთ სენსორები არდუინოსთვის
სად ვიყიდოთ სენსორები არდუინოსთვის

სერვოდისკი

Servo Drive გამოიყენება რობოტების და სხვადასხვა ჭკვიანი სისტემების დიზაინში. სერვოს დახმარებით შეგიძლიათ გააღოთ კარები, გაიგოთ ბრუნვის ხარისხი და მრავალი სხვა. მაგრამ ძირითადად ის გამოიყენება რობოტების შესაქმნელად. სერვოს ბრუნვის მაქსიმალური კუთხე: 180 გრადუსი. მაგრამ ზოგჯერ Aliexpress-ის ღია სივრცეებში ასევე შეგიძლიათ იხილოთ ვარიანტები 360 გრადუსიანი ბრუნვის კუთხით. ეს საკმაოდ ძირითადი ელემენტია, თითქმის ყველა გაკვეთილი Arduino-ზე სენსორებით იწყება ამით. სერვო ადვილი დასაკავშირებელია, კონტროლის კოდი ძალიან მარტივია.

სერვოს დასაკავშირებლად გამოიყენება მხოლოდ სამი მავთული: მიწა, ძალა, ლოგიკა. სიგნალის მავთული (ჩვეულებრივ, ყვითელი ან ყავისფერი) დაკავშირებულია Arduino-ზე ნებისმიერ PWM-ზე (პულსის ფართო მოდულაცია) ჩართული პინთან.

Servo-ს დაკავშირება Arduino-სთან
Servo-ს დაკავშირება Arduino-სთან

კოდის მაგალითი:


შეიცავს // მოიცავს ბიბლიოთეკას Servo servo1-თან მუშაობისთვის; // გამოაცხადეთ "servo1" ტიპის servo ცვლადი void setup() // procedure setup { servo1.attach(11); //სერვოს მიბმა ანალოგურ გამომავალზე 11 } void loop() // procedure loop { servo1.write(0); // ბრუნვის კუთხის დაყენება 0-ზე დაყოვნებაზე(2000); // დაელოდე 2 წამს servo1.write(90); // ბრუნვის კუთხის დაყენება 90 delay (2000); // დაელოდე 2 წამს servo1.write(180); // ბრუნვის კუთხის დაყენება 180 delay (2000); // მოითმინეთ 2 წამი }

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

ფასი Aliexpress-ზე: 80–100 რუბლი.

DHT-11

DHT-11 გამოიყენება ტემპერატურისა და ტენიანობის გასაზომად. ეს ტემპერატურის სენსორი Arduino-სთვის ყველაზე პოპულარულია მისი ფასისა და მახასიათებლების გამო. ზომავს ტემპერატურას 0-დან 50 გრადუსამდე, ხოლო ტენიანობა 20-დან 80%-მდე. ასევე იყიდება ამ სენსორის კიდევ ერთი ვერსია, DHT-22, მას აქვს უფრო დიდი გაზომვის დიაპაზონი, მაგრამ ასევე ღირს რამდენჯერმე მეტი. მარტივი პროექტებისთვის მისი გამოყენება არ არის მიზანშეწონილი, ამიტომ ყველას ურჩევნია DHT-11, რომელიც შესანიშნავად ასრულებს გაზომვას. ელექტროენერგიის მიწოდება შესაძლებელია 3.3-დან 5 ვოლტამდე. ზოგადად, თავად სენსორს აქვს 4 კავშირის პინი, მაგრამ იყიდება DHT-11 მოდული, მათთან მუშაობა ბევრად მოსახერხებელია, რადგან კავშირი ხდება 3 პინის საშუალებით და არ გჭირდებათ რეზისტორების ტანჯვა.

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

dht11-ის დაკავშირება arduino-სთან
dht11-ის დაკავშირება arduino-სთან

კოდის მაგალითი:


შეიცავს"DHT.h" define DHTPIN 2 // ზემოთ ნახსენები პინის იგივე ნომერი DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void loop() { delay(2000); // 2 წამის დაყოვნების float h=dht.readHumidity(); //ტენიანობის გაზომვა float t=dht.readTemperature(); //გაზომეთ ტემპერატურა, თუ (ისნან(თ) || ისნან(ტ)) { // შეამოწმეთ. თუ კითხვა ვერ მოხერხდა, იბეჭდება "Read Failed" და პროგრამა გამოდის Serial.println("Read Failed"); დაბრუნების; } Serial.print ("ტენიანობა: "); სერიული ბეჭდვა (თ); Serial.print("%\t"); Serial.print("ტემპერატურა:"); სერიული ბეჭდვა (t); Serial.println("C"); //ინდიკატორების ჩვენება ეკრანზე }

თავიდანვე, როგორც სერვოსთან მუშაობისას, ბიბლიოთეკა უკავშირდება. სხვათა შორის, ბიბლიოთეკის შესახებ. თავდაპირველად, ის არ არის Arduino პაკეტში, ამ ბიბლიოთეკის ჩამოტვირთვაა საჭირო. ამ ბიბლიოთეკის რამდენიმე ვერსია არსებობს, ჩვენს მაგალითში გამოყენებულია ყველაზე სტანდარტული. ჩამოტვირთვისას ფრთხილად იყავით, რადგან სინტაქსი შეიძლება განსხვავებული იყოს და კოდი არ იმუშავებს. გარდა ამისა, ასევე იწერება რომელ კონტაქტთან არის დაკავშირებული სენსორი და მისი ვერსია (DHT11 ან DHT22). როგორც სერვოსთვის, Arduino-სთვის ამ სენსორთან მუშაობა ძალიან მარტივია, მხოლოდ რამდენიმე ოპერატორის გამოყენებით. სხვათა შორის, ხშირად servo და dht11 ერთად მუშაობენ, მაგალითად, ავტომატური ფანჯრების შექმნისას, რომლებიც გაიხსნება თუ ოთახი ან სათბური ძალიან ცხელია.

ფასი Aliexpress-ზე: 80–100 რუბლი.

ნიადაგის ტენიანობის სენსორი

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

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

ნიადაგის ტენიანობის სენსორის დაკავშირება არდუინოსთან
ნიადაგის ტენიანობის სენსორის დაკავშირება არდუინოსთან

კოდის მაგალითი:


int sensor_pin=A0; int output_value; void setup() { Serial.begin(9600); Serial.println("მონაცემების კითხვა სენსორიდან"); დაგვიანება (2000); } void loop() { output_value=analogRead(sensor_pin);გამომავალი_მნიშვნელობა=რუკა (გამომავალი_მნიშვნელობა, 550, 0, 0, 100); Serial.print ("ტენიანობა: "); Serial.print(output_value); Serial.println("%"); დაგვიანებით (1000); }

პირველ რიგში, ჩვენ განვსაზღვრავთ კონტაქტებს, რომლებზეც სენსორი უკავშირდება Arduino-ს. შემდეგ ვკითხულობთ მისგან მონაცემებს და ვაჩვენებთ მას. როგორც სხვა სენსორებთან, FC-28-თან მუშაობა მარტივია. და ეს ყველაფერი მზა ბიბლიოთეკებისა და სენსორების წყალობით.

ფასი Aliexpress-ზე: 30-50 რუბლი.

PIR სენსორი

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

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

მოძრაობის სენსორის დაკავშირება არდუინოსთან
მოძრაობის სენსორის დაკავშირება არდუინოსთან

კოდის მაგალითი:


define PIN_PIR 2 define PIN_LED 13 void setup() { Serial.begin(9600); pinMode (PIN_PIR, INPUT); pinMode (PIN_LED, OUTPUT); } void loop() { int pirVal=digitalRead(PIN_PIR); Serial.println(digitalRead(PIN_PIR)); //თუ მოძრაობა გამოვლინდა if (pirVal) { digitalWrite(PIN_LED, HIGH); Serial.println("მოძრაობა აღმოჩენილია"); დაგვიანება (2000); } else { //Serial.print("No motion"); digitalWrite (PIN_LED, LOW); } }

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

ფასიალიექსპრესი: 30-50 რუბლი.

დასკვნის გამოტანა

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

გირჩევთ: