Arduino-plattformen er en av de beste for å bygge ulike automatiserte systemer. Dessuten bruker mange universiteter og høyskoler Arduino for å introdusere studenter til robotikkfeltet. Arduino er faktisk en veldig lett, men samtidig kraftig plattform for å konstruere ulike roboter og smarte systemer. Og selvfølgelig, for at det hele skal ta kortere tid, selges ferdige sensorer. Det er et stort antall av dem i butikkene, så det er ganske vanskelig å bli forvirret når du velger den rette. I denne artikkelen skal vi se på noen av de viktigste Arduino-sensorene, og hvordan de fungerer.
Hvor kan jeg kjøpe
Faktum er at sensorene i butikkene våre koster mye penger. Og hvis du skal begynne å utforske Arduino-plattformen, så trenger du bare å vite hvor du kan kjøpe dem til en lav pris. Svaret er enkelt - kinesiske butikker. Det kan væreAliexpress, Joom, Pandao og andre. Nesten alle butikker kjøper sensorer der og selger dem med en enorm margin, som når opp til 300%. Selvfølgelig må du vente en stund, og du kan ikke være sikker på kvaliteten på varene, men å betale tre ganger mer for den samme sensoren er heller ikke verdt det. Eksempel: Aliexpress har et sett med 36 sensorer som koster 800 rubler. Det samme settet selges i en russisk butikk for 3,5 tusen rubler. Så det er opp til deg.
Servodrive
Servodrive brukes i design av roboter og ulike smarte systemer. Ved hjelp av en servo kan du åpne dører, finne ut graden av rotasjon og mye mer. Men for det meste brukes det til å lage roboter. Maksimal rotasjonsvinkel for servoen: 180 grader. Men noen ganger i de åpne områdene til Aliexpress kan du også se alternativer med en 360-graders rotasjonsvinkel. Dette er et ganske grunnleggende element, nesten alle leksjoner på Arduino med sensorer starter med det. Servoen er enkel å koble til, kontrollkoden er veldig enkel.
For å koble til servoen brukes kun tre ledninger: jord, strøm, logikk. Signalledningen (vanligvis gul eller brun) er koblet til en hvilken som helst PWM (pulsvidde modulasjon) aktivert pinne på Arduino.
Kodeeksempel:
include // inkluderer biblioteket for å fungere med Servo servo1; // erklær en servovariabel av typen "servo1" void setup() // prosedyreoppsett { servo1.attach(11); //bind servo til analog utgang 11 } void loop() // procedure loop { servo1.write(0); // sett rotasjonsvinkelen til 0 delay(2000); // vent 2 sekunder servo1.write(90); // sett rotasjonsvinkelen til 90 forsinkelse(2000); // vent 2 sekunder servo1.write(180); // sett rotasjonsvinkelen til 180 forsinkelse(2000); // vent 2 sekunder }
Først legger vi til biblioteket som allerede er i Arduinoen til koden, deretter indikerer vi hvilken pinne servoen er koblet til. Som du kan se, er det veldig enkelt å jobbe med en servo, kontrollen er bare én operatør.
Pris på Aliexpress: 80–100 rubler.
DHT-11
DHT-11 brukes til å måle temperatur og fuktighet. Denne temperatursensoren for Arduino er den mest populære på grunn av pris og funksjoner. Måler temperatur i området fra 0 til 50 grader, og luftfuktighet fra 20 til 80%. Også på salg er en annen versjon av denne sensoren, DHT-22, den har et større måleområde, men den koster også flere ganger mer. For enkle prosjekter er bruken ikke tilrådelig, så alle foretrekker DHT-11, som gjør en utmerket jobb med å måle. Strøm kan leveres fra 3,3 til 5V. Generelt har selve sensoren 4 tilkoblingsstifter, men det er DHT-11-moduler på salg, det er mye mer praktisk å jobbe med dem, siden tilkoblingen er gjennom 3 pinner og du ikke trenger å lide med motstander.
Tilkobling. Denne temperatursensoren er koblet til Arduino ved hjelp av tre kontakter: jord, strøm og logikk.
Kodeeksempel:
include"DHT.h" define DHTPIN 2 // Samme pin-nummer nevnt ovenfor DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void loop() { delay(2000); // 2 sekunders forsinkelse float h=dht.readHumidity(); //Mål fuktighet float t=dht.readTemperature(); //Mål temperatur hvis (isnan(h) || isnan(t)) { // Sjekk. Hvis lesingen mislykkes, skrives "Read Failed" ut og programmet avslutter Serial.println("Read Failed"); komme tilbake; } Serial.print("Fuktighet: "); Serietrykk(h); Serial.print("%\t"); Serial.print("Temperatur: "); Serietrykk(t); Serial.println("C"); //Viser indikatorer på skjermen }
Helt i begynnelsen, som når du arbeider med en servo, er biblioteket tilkoblet. Forresten, om biblioteket. I utgangspunktet er det ikke i Arduino-pakken, dette biblioteket må lastes ned. Det finnes flere versjoner av dette biblioteket, i vårt eksempel brukes den mest standard. Vær forsiktig når du laster ned, fordi syntaksen kan være annerledes og koden vil ikke fungere. Videre er det også skrevet hvilken kontakt sensoren er koblet til og versjonen (DHT11 eller DHT22). Som med en servo er det veldig enkelt å jobbe med denne sensoren for Arduino, ved å bruke bare noen få operatører. Forresten, ofte fungerer servoen og dht11 sammen, for eksempel når du lager automatiske vinduer som åpnes hvis rommet eller drivhuset er for varmt.
Pris på Aliexpress: 80–100 rubler.
Jordfuktighetssensor
Denne sensoren brukes nårdesign av automatisk vanning. Med den kan du måle jordfuktighet, og deretter behandle disse dataene og om nødvendig vanne planten. Det er mange varianter av denne sensoren for Arduino på salg, men FC-28-modellen er populær. Ganske et budsjett alternativ, så alle elsker det og bruker det i sine prosjekter. Sensoren har to sonder som leder elektrisitet gjennom bakken. Med tørr jord er motstanden større, og med våt jord mindre. I utgangspunktet brukes denne sensoren bare i små prosjekter, dette skyldes det faktum at probene er laget av dårlig materiale og før eller senere, under aktivt arbeid, blir de korrodert, hvoretter sensoren slutter å fungere. Levetiden til sensoren kan økes ved å aktivere den kun når du tar data fra bakken, for eksempel en gang hver 6. time. Noen håndverkere bytter til og med probene til bedre, laget av seg selv, eller setter til og med sammen en fuktighetssensor for Arduino fra bunnen av.
Å koble til jordfuktighetssensoren er ganske enkelt. Vanligvis kommer den med et potensiometer og en komparator for å kontrollere følsomheten til sensoren. Tot alt har den tre kontakter: logikk, strøm og jord. Den kan kobles til både digitale og analoge kontakter. Det er forresten mer praktisk å jobbe i analog modus.
Kodeeksempel:
int sensor_pin=A0; int output_value; void setup() { Serial.begin(9600); Serial.println("Leser data fra sensoren"); delay(2000); } void loop() { output_value=analogRead(sensor_pin);output_value=map(output_value, 550, 0, 0, 100); Serial.print("Fuktighet: "); Serial.print(output_value); Serial.println("%"); forsinkelse(1000); }
Først av alt bestemmer vi kontaktene som sensoren er koblet til Arduinoen. Så leser vi dataene fra den og viser den. Som med andre sensorer er FC-28 enkel å jobbe med. Og alt takket være ferdige biblioteker og sensorer.
Pris på Aliexpress: 30–50 rubler.
PIR-sensor
Denne bevegelsessensoren for Arduino brukes i konstruksjonen av ulike sikkerhetssystemer. Registrerer bevegelige elementer fra 0 til 7 meter. Vi vil ikke vurdere operasjonsprinsippet, la oss gå videre til å koble denne sensoren til Arduino.
Etter vurderingene å dømme, er den også koblet sammen med tre kontakter: logikk, strøm og jord. Den fungerer gjennom digitale utganger.
Kodeeksempel:
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)); //Hvis bevegelse oppdages hvis (pirVal) { digitalWrite(PIN_LED, HIGH); Serial.println("Bevegelse oppdaget"); delay(2000); } else { //Serial.print("Ingen bevegelse"); digitalWrite(PIN_LED, LOW); } }
Vi bestemmer kontaktene som sensoren er koblet til, deretter sjekker vi for bevegelse. Å jobbe med det er veldig praktisk og enkelt, men det er tilfeller av falske positiver.
Pris forAliexpress: 30–50 rubler.
trekke konklusjoner
Ovenfor ble hovedsensorene for Arduino vurdert, som er de aller første som ble studert av nybegynnere radioamatører. Som du kan se, er de ganske rimelige, de kobles enkelt til, og lesing av data tar bare et par linjer. I tillegg til dem er det fortsatt et stort antall andre sensorer, selv for å måle pulsen! Det er mest lønnsomt å kjøpe dem på Aliexpress i sett, så de vil koste enda billigere. Det er enkelt å lage, det viktigste er å huske de tre grunnleggende reglene for robotikk!