Die Arduino-platform is een van die beste vir die bou van verskeie outomatiese stelsels. Boonop gebruik baie universiteite en kolleges Arduino om studente bekend te stel aan die veld van robotika. Inderdaad, Arduino is 'n baie liggewig, maar terselfdertyd kragtige platform vir die bou van verskeie robotte en slim stelsels. En natuurlik, sodat dit alles minder tyd neem, word klaargemaakte sensors verkoop. Daar is 'n groot aantal van hulle in winkels, so dit is nogal moeilik om deurmekaar te raak om die regte een te kies. In hierdie artikel sal ons kyk na sommige van die belangrikste Arduino-sensors, en hoe hulle werk.
Waar om te koop
Die feit is dat die sensors in ons winkels baie geld kos. En as jy die Arduino-platform gaan begin verken, moet jy net weet waar jy dit teen 'n lae prys kan koop. Die antwoord is eenvoudig - Chinese winkels. Dit kan weesAliexpress, Joom, Pandao en ander. Byna alle winkels koop sensors daar en verkoop dit met 'n groot marge, wat tot 300% bereik. Natuurlik sal jy 'n geruime tyd moet wag, en jy kan nie seker wees van die kwaliteit van die goedere nie, maar om drie keer meer vir dieselfde sensor te betaal, is ook nie die moeite werd nie. Voorbeeld: Aliexpress het 'n stel van 36 sensors wat 800 roebels kos. Dieselfde stel word in 'n Russiese winkel vir 3,5 duisend roebels verkoop. Dit is dus aan jou.
Servoaandrywing
Servoaandrywing word gebruik in die ontwerp van robotte en verskeie slimstelsels. Met behulp van 'n servo kan jy deure oopmaak, die graad van rotasie en nog baie meer uitvind. Maar meestal word dit gebruik in die skepping van robotte. Die maksimum draaihoek van die servo: 180 grade. Maar soms in die oop ruimtes van Aliexpress kan jy ook opsies met 'n 360-grade rotasiehoek sien. Dit is 'n redelik basiese element, byna alle lesse oor Arduino met sensors begin daarmee. Die servo is maklik om te koppel, die beheerkode is baie eenvoudig.
Om die servo te koppel, word slegs drie drade gebruik: grond, krag, logika. Die seindraad (gewoonlik geel of bruin) is gekoppel aan enige PWM (pulswye modulasie)-geaktiveerde pen op die Arduino.
Kodevoorbeeld:
include // sluit die biblioteek in om met Servo servo1 te werk; // verklaar 'n servo veranderlike van tipe "servo1" void setup() // procedure setup { servo1.attach(11); //bind servo aan analoog uitset 11 } void lus() // procedure lus { servo1.write(0); // stel rotasiehoek na 0 vertraging (2000); // wag 2 sekondes servo1.skryf(90); // stel rotasiehoek na 90 vertraging (2000); // wag 2 sekondes servo1.skryf(180); // stel rotasiehoek na 180 vertraging (2000); // wag 2 sekondes }
Eers voeg ons die biblioteek wat reeds in die Arduino is by die kode, dan dui ons aan aan watter pen die servo gekoppel is. Soos jy kan sien, is dit regtig baie eenvoudig om met 'n servo te werk, die beheer is net een operateur.
Prys op Aliexpress: 80–100 roebels.
DHT-11
DHT-11 word gebruik om temperatuur en humiditeit te meet. Hierdie temperatuursensor vir Arduino is die gewildste vanweë sy prys en kenmerke. Meet temperatuur in die reeks van 0 tot 50 grade, en humiditeit van 20 tot 80%. Ook te koop is 'n ander weergawe van hierdie sensor, DHT-22, dit het 'n groter meetreeks, maar dit kos ook 'n paar keer meer. Vir eenvoudige projekte is die gebruik daarvan nie raadsaam nie, so almal verkies die DHT-11, wat 'n uitstekende werk doen om te meet. Krag kan van 3.3 tot 5V voorsien word. Oor die algemeen het die sensor self 4 verbindingspenne, maar daar is DHT-11-modules te koop, dit is baie geriefliker om daarmee te werk, aangesien die verbinding deur 3 penne is en jy nie met resistors hoef te ly nie.
Verbinding. Hierdie temperatuursensor is met drie kontakte aan die Arduino gekoppel: grond, krag en logika.
Kodevoorbeeld:
sluit in"DHT.h" definieer DHTPIN 2 // Dieselfde pinnommer hierbo genoem DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void lus() { delay(2000); // 2 sekonde vertraging float h=dht.readHumidity(); //Meet humiditeit float t=dht.readTemperature(); //Meet temperatuur as (isnan(h) || isnan(t)) { // Kontroleer. As die lees misluk, word "Lees misluk" gedruk en die program verlaat Serial.println("Lees misluk"); terugkeer; } Serial.print("Vog: "); Reeksdruk(h); Serial.print("%\t"); Serial.print("Temperatuur: "); Reeksdruk(t); Serial.println("C"); //Vertoon aanwysers op die skerm }
Aan die begin, soos wanneer jy met 'n servo werk, is die biblioteek gekoppel. Terloops, oor die biblioteek. Aanvanklik is dit nie in die Arduino-pakket nie, hierdie biblioteek moet afgelaai word. Daar is verskeie weergawes van hierdie biblioteek, in ons voorbeeld word die mees standaard een gebruik. Wees versigtig wanneer jy aflaai, want die sintaksis kan anders wees en die kode sal nie werk nie. Verder word daar ook geskryf aan watter kontak die sensor gekoppel is en sy weergawe (DHT11 of DHT22). Soos met 'n servo, is dit baie maklik om met hierdie sensor vir Arduino te werk, met slegs 'n paar operateurs. Terloops, dikwels werk die servo en dht11 saam, byvoorbeeld wanneer outomatiese vensters geskep word wat sal oopmaak as die kamer of kweekhuis te warm is.
Prys op Aliexpress: 80–100 roebels.
Grondvogsensor
Hierdie sensor word gebruik wanneerontwerp van outomatiese besproeiing. Daarmee kan jy grondvog meet, en dan hierdie data verwerk en, indien nodig, die plant natmaak. Daar is baie variante van hierdie sensor vir Arduino te koop, maar die FC-28-model is gewild. Nogal 'n begroting opsie, so almal is mal daaroor en gebruik dit in hul projekte. Die sensor het twee probes wat elektrisiteit deur die grond gelei. Met droë grond is die weerstand groter, en met nat grond minder. Basies word hierdie sensor slegs in klein projekte gebruik, dit is te wyte aan die feit dat die sondes van swak materiaal gemaak is en vroeër of later, tydens aktiewe werk, word dit geroes, waarna die sensor ophou werk. Die leeftyd van die sensor kan verleng word deur dit slegs te aktiveer wanneer data van die grond af geneem word, byvoorbeeld een keer elke 6 uur. Sommige vakmanne verander selfs die sondes na beters, self gemaak, of maak selfs 'n humiditeitsensor vir Arduino van nuuts af.
Om die grondvogsensor aan te sluit is redelik eenvoudig. Dit kom gewoonlik met 'n potensiometer en 'n vergelyker om die sensitiwiteit van die sensor te beheer. In totaal het dit drie kontakte: logika, krag en grond. Dit kan aan beide digitale en analoog kontakte gekoppel word. Terloops, dit is geriefliker om in analoogmodus te werk.
Kodevoorbeeld:
int sensor_pen=A0; int uitsetwaarde; void setup() { Serial.begin(9600); Serial.println("Lees data vanaf die sensor"); vertraging (2000); } void lus() { output_value=analogRead(sensor_pen);uitsetwaarde=kaart(uitsetwaarde, 550, 0, 0, 100); Serial.print("Vog: "); Serial.print(uitset_waarde); Serial.println("%"); vertraging(1000); }
Eerstens bepaal ons die kontakte waaraan die sensor aan die Arduino gekoppel is. Dan lees ons die data daaruit en vertoon dit. Soos met ander sensors, is die FC-28 maklik om mee te werk. En dit alles te danke aan klaargemaakte biblioteke en sensors.
Prys op Aliexpress: 30–50 roebels.
PIR-sensor
Hierdie bewegingsensor vir Arduino word gebruik in die konstruksie van verskeie sekuriteitstelsels. Bespeur bewegende elemente van 0 tot 7 meter. Ons sal nie die beginsel van werking oorweeg nie, kom ons gaan voort om hierdie sensor aan Arduino te koppel.
Te oordeel aan die resensies, is dit ook verbind met drie kontakte: logika, krag en grond. Dit werk deur digitale uitsette.
Kodevoorbeeld:
definieer PIN_PIR 2 definieer PIN_LED 13 void setup() { Serial.begin(9600); pinMode(PIN_PIR, INPUT); pinMode(PIN_LED, UITSET); } void lus() { int pirVal=digitalRead(PIN_PIR); Serial.println(digitalRead(PIN_PIR)); //As beweging bespeur word as (pirVal) { digitalWrite(PIN_LED, HIGH); Serial.println("Beweging bespeur"); vertraging (2000); } else { //Serial.print("Geen beweging"); digitalWrite(PIN_LED, LOW); } }
Ons bepaal die kontakte waaraan die sensor gekoppel is, waarna ons kyk vir beweging. Om daarmee te werk is baie gerieflik en maklik, maar daar is gevalle van vals positiewes.
Prys virAliexpress: 30-50 roebels.
maak gevolgtrekkings
Hierbo is die hoofsensors vir Arduino oorweeg, wat die heel eerste is wat deur beginner radioamateurs bestudeer is. Soos u kan sien, is hulle redelik goedkoop, hulle verbind maklik en lees data neem slegs 'n paar reëls. Benewens hulle is daar nog 'n groot aantal ander sensors, selfs om die pols te meet! Dit is die winsgewendste om dit in stelle op Aliexpress te koop, so dit sal selfs goedkoper kos. Dit is maklik om te skep, die belangrikste ding is om die drie basiese reëls van robotika te onthou!