Ang Arduino platform ay isa sa pinakamahusay para sa pagbuo ng iba't ibang automated system. Bukod dito, maraming unibersidad at kolehiyo ang gumagamit ng Arduino upang ipakilala ang mga mag-aaral sa larangan ng robotics. Sa katunayan, ang Arduino ay isang napakagaan, ngunit sa parehong oras ay makapangyarihang platform para sa pagbuo ng iba't ibang mga robot at matalinong sistema. At siyempre, upang ang lahat ay tumatagal ng mas kaunting oras, ang mga yari na sensor ay ibinebenta. Mayroong isang malaking bilang ng mga ito sa mga tindahan, kaya medyo mahirap malito sa pagpili ng tama. Sa artikulong ito, titingnan natin ang ilan sa mga pangunahing Arduino sensor, at kung paano gumagana ang mga ito.
Saan bibili
Ang katotohanan ay ang mga sensor sa aming mga tindahan ay nagkakahalaga ng malaking pera. At kung sisimulan mong tuklasin ang platform ng Arduino, kailangan mo lang malaman kung saan mo mabibili ang mga ito sa mababang presyo. Ang sagot ay simple - mga tindahan ng Tsino. Maaaring ito ayAliexpress, Joom, Pandao at iba pa. Halos lahat ng mga tindahan ay bumibili ng mga sensor doon at ibinebenta ang mga ito nang may malaking margin, na umaabot ng hanggang 300%. Siyempre, kakailanganin mong maghintay ng ilang oras, at hindi ka makatitiyak sa kalidad ng mga kalakal, ngunit ang pagbabayad ng tatlong beses nang higit pa para sa parehong sensor ay hindi rin katumbas ng halaga. Halimbawa: Ang Aliexpress ay may isang set ng 36 na sensor na nagkakahalaga ng 800 rubles. Ang parehong set ay ibinebenta sa isang tindahan ng Russia para sa 3.5 libong rubles. Kaya ikaw ang bahala.
Servo drive
Servo drive ay ginagamit sa disenyo ng mga robot at iba't ibang smart system. Sa tulong ng isang servo, maaari mong buksan ang mga pinto, alamin ang antas ng pag-ikot at marami pang iba. Ngunit karamihan ay ginagamit ito sa paglikha ng mga robot. Ang maximum na anggulo ng pag-ikot ng servo: 180 degrees. Ngunit minsan sa mga bukas na espasyo ng Aliexpress maaari mo ring makita ang mga opsyon na may 360-degree na anggulo ng pag-ikot. Ito ay isang medyo pangunahing elemento, halos lahat ng mga aralin sa Arduino na may mga sensor ay nagsisimula dito. Ang servo ay madaling kumonekta, ang control code ay napakasimple.
Para ikonekta ang servo, tatlong wire lang ang ginagamit: ground, power, logic. Ang signal wire (karaniwang dilaw o kayumanggi) ay konektado sa anumang PWM (pulse wide modulation) na naka-enable na pin sa Arduino.
Halimbawa ng code:
isama ang // isama ang library upang gumana sa Servo servo1; // magdeklara ng servo variable na may uri na "servo1" void setup() // procedure setup { servo1.attach(11); //itali ang servo sa analog na output 11 } void loop() // procedure loop { servo1.write(0); // itakda ang anggulo ng pag-ikot sa 0 pagkaantala (2000); // maghintay ng 2 segundo servo1.write(90); // itakda ang anggulo ng pag-ikot sa 90 pagkaantala (2000); // maghintay ng 2 segundo servo1.write(180); // itakda ang anggulo ng pag-ikot sa 180 pagkaantala (2000); // maghintay ng 2 segundo }
Una, idinaragdag namin ang library na nasa Arduino na sa code, pagkatapos ay ipinapahiwatig namin kung saang pin nakakonekta ang servo. Tulad ng nakikita mo, ang pagtatrabaho sa isang servo ay talagang napakasimple, ang kontrol ay isang operator lamang.
Presyo sa Aliexpress: 80–100 rubles.
DHT-11
Ang DHT-11 ay ginagamit upang sukatin ang temperatura at halumigmig. Ang temperature sensor na ito para sa Arduino ang pinakasikat dahil sa presyo at mga feature nito. Sinusukat ang temperatura sa saklaw mula 0 hanggang 50 degrees, at halumigmig mula 20 hanggang 80%. Ibinebenta din ang isa pang bersyon ng sensor na ito, ang DHT-22, mayroon itong mas malaking hanay ng pagsukat, ngunit nagkakahalaga din ito ng maraming beses. Para sa mga simpleng proyekto, hindi maipapayo ang paggamit nito, kaya mas pinipili ng lahat ang DHT-11, na gumagawa ng mahusay na trabaho sa pagsukat. Ang kapangyarihan ay maaaring ibigay mula 3.3 hanggang 5V. Sa pangkalahatan, ang sensor mismo ay may 4 na koneksyon na mga pin, ngunit may mga DHT-11 na mga module na ibinebenta, ito ay mas maginhawa upang gumana sa kanila, dahil ang koneksyon ay sa pamamagitan ng 3 pin at hindi mo kailangang magdusa sa mga resistor.
Koneksyon. Nakakonekta ang temperature sensor na ito sa Arduino gamit ang tatlong contact: ground, power at logic.
Halimbawa ng code:
isama"DHT.h" define DHTPIN 2 // Parehong pin number na binanggit sa itaas DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void loop() { delay(2000); // 2 second delay float h=dht.readHumidity(); // Sukatin ang humidity float t=dht.readTemperature(); //Sukatin ang temperatura kung (isnan(h) || isnan(t)) { // Suriin. Kung nabigo ang pagbabasa, ang "Nabigo sa Pagbasa" ay ipi-print at lalabas ang programa sa Serial.println("Nabigo ang Pagbasa"); bumalik; } Serial.print("Moisture: "); Serial print(h); Serial.print("%\t"); Serial.print("Temperatura: "); Serial print(t); Serial.println("C"); //Pagpapakita ng mga indicator sa screen }
Sa simula pa lang, tulad ng kapag nagtatrabaho sa isang servo, nakakonekta ang library. By the way, about sa library. Sa una, wala ito sa pakete ng Arduino, kailangang ma-download ang library na ito. Mayroong ilang mga bersyon ng library na ito, sa aming halimbawa ang pinaka-karaniwang isa ay ginagamit. Mag-ingat kapag nagda-download, dahil maaaring iba ang syntax at hindi gagana ang code. Dagdag pa, nakasulat din kung saan nakakonekta ang sensor at ang bersyon nito (DHT11 o DHT22). Tulad ng isang servo, ang pagtatrabaho sa sensor na ito para sa Arduino ay napakadali, gamit lamang ang ilang mga operator. Siyanga pala, kadalasan ang servo at dht11 ay nagtutulungan, halimbawa, kapag gumagawa ng mga awtomatikong bintana na magbubukas kung ang silid o greenhouse ay masyadong mainit.
Presyo sa Aliexpress: 80–100 rubles.
Soil moisture sensor
Ginagamit ang sensor na ito kapagdisenyo ng awtomatikong patubig. Gamit ito, maaari mong sukatin ang kahalumigmigan ng lupa, at pagkatapos ay iproseso ang data na ito at, kung kinakailangan, diligan ang halaman. Mayroong maraming mga variant ng sensor na ito para sa Arduino na ibinebenta, ngunit sikat ang modelong FC-28. Medyo isang pagpipilian sa badyet, kaya gusto ito ng lahat at ginagamit ito sa kanilang mga proyekto. Ang sensor ay may dalawang probe na nagsasagawa ng kuryente sa lupa. Sa tuyong lupa, mas malaki ang paglaban, at sa basang lupa, mas kaunti. Karaniwan, ang sensor na ito ay ginagamit lamang sa mga maliliit na proyekto, ito ay dahil sa ang katunayan na ang mga probes ay gawa sa mahinang materyal at maaga o huli, sa panahon ng aktibong trabaho, sila ay nagiging corroded, pagkatapos nito ang sensor ay tumigil sa pagtatrabaho. Ang buhay ng sensor ay maaaring tumaas sa pamamagitan ng pag-activate lamang nito kapag kumukuha ng data mula sa lupa, halimbawa, isang beses bawat 6 na oras. Pinapalitan pa nga ng ilang craftsmen ang mga probe sa mas mahusay, na ginawa ng kanilang sarili, o kahit na nag-assemble ng humidity sensor para sa Arduino mula sa simula.
Ang pagkonekta sa soil moisture sensor ay medyo simple. Kadalasan ito ay may kasamang potentiometer at comparator para makontrol ang sensitivity ng sensor. Sa kabuuan, mayroon itong tatlong contact: logic, power at ground. Maaari itong konektado sa parehong digital at analog na mga contact. Siyanga pala, mas maginhawang magtrabaho sa analog mode.
Halimbawa ng code:
int sensor_pin=A0; int output_value; void setup() { Serial.begin(9600); Serial.println("Pagbabasa ng data mula sa sensor"); pagkaantala(2000); } void loop() { output_value=analogRead(sensor_pin);output_value=mapa(output_value, 550, 0, 0, 100); Serial.print("Moisture: "); Serial.print(output_value); Serial.println("%"); pagkaantala(1000); }
Una sa lahat, tinutukoy namin ang mga contact kung saan nakakonekta ang sensor sa Arduino. Pagkatapos ay binabasa namin ang data mula dito at ipinapakita ito. Tulad ng ibang mga sensor, ang FC-28 ay madaling gamitin. At lahat salamat sa mga nakahandang library at sensor.
Presyo sa Aliexpress: 30–50 rubles.
PIR sensor
Ang motion sensor na ito para sa Arduino ay ginagamit sa pagbuo ng iba't ibang security system. Nakikita ang mga gumagalaw na elemento mula 0 hanggang 7 metro. Hindi namin isasaalang-alang ang prinsipyo ng pagpapatakbo, magpatuloy tayo sa pagkonekta sa sensor na ito sa Arduino.
Sa paghusga sa mga review, konektado din ito gamit ang tatlong contact: logic, power at ground. Gumagana ito sa pamamagitan ng mga digital na output.
Halimbawa ng code:
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 movement is detected if (pirVal) { digitalWrite(PIN_LED, HIGH); Serial.println("Nakita ang paggalaw"); pagkaantala(2000); } else { //Serial.print("Walang galaw"); digitalWrite(PIN_LED, LOW); } }
Tinutukoy namin ang mga contact kung saan nakakonekta ang sensor, pagkatapos nito ay tinitingnan namin kung may paggalaw. Ang paggawa nito ay napaka-maginhawa at madali, ngunit may mga kaso ng mga maling positibo.
Presyo para saAliexpress: 30-50 rubles.
pagguhit ng mga konklusyon
Sa itaas, ang mga pangunahing sensor para sa Arduino ay isinasaalang-alang, na siyang pinakaunang pinag-aralan ng mga baguhang amateur sa radyo. Tulad ng nakikita mo, ang mga ito ay medyo mura, madali silang kumonekta, at ang pagbabasa ng data ay tumatagal lamang ng ilang linya. Bilang karagdagan sa kanila, mayroon pa ring malaking bilang ng iba pang mga sensor, kahit na para sa pagsukat ng pulso! Pinakamahusay na bilhin ang mga ito sa Aliexpress sa mga hanay, kaya mas mura ang mga ito. Madali itong gawin, ang pangunahing bagay ay tandaan ang tatlong pangunahing panuntunan ng robotics!