Arduino-plattformen är en av de bästa för att bygga olika automatiserade system. Dessutom använder många universitet och högskolor Arduino för att introducera studenter till området robotik. Arduino är faktiskt en mycket lätt, men samtidigt kraftfull plattform för att konstruera olika robotar och smarta system. Och så klart, för att det hela ska ta kortare tid, säljs färdiga sensorer. Det finns ett stort antal av dem i butikerna, så det är ganska svårt att bli förvirrad när du ska välja rätt. I den här artikeln kommer vi att titta på några av de viktigaste Arduino-sensorerna och hur de fungerar.
Var kan man köpa
Faktum är att sensorerna i våra butiker kostar mycket pengar. Och om du ska börja utforska Arduino-plattformen behöver du bara veta var du kan köpa dem till ett lågt pris. Svaret är enkelt - kinesiska butiker. Det kan varaAliexpress, Joom, Pandao och andra. Nästan alla butiker köper sensorer där och säljer dem med en enorm marginal, som når upp till 300%. Naturligtvis måste du vänta ett tag, och du kan inte vara säker på kvaliteten på varorna, men att betala tre gånger mer för samma sensor är inte heller värt det. Exempel: Aliexpress har en uppsättning av 36 sensorer som kostar 800 rubel. Samma uppsättning säljs i en rysk butik för 3,5 tusen rubel. Så det är upp till dig.
Servodrivning
Servodrivning används vid design av robotar och olika smarta system. Med hjälp av en servo kan du öppna dörrar, ta reda på graden av rotation och mycket mer. Men mestadels används det i skapandet av robotar. Servots maximala rotationsvinkel: 180 grader. Men ibland i de öppna utrymmena på Aliexpress kan du också se alternativ med en 360-graders rotationsvinkel. Detta är ett ganska grundläggande element, nästan alla lektioner på Arduino med sensorer börjar med det. Servot är lätt att ansluta, kontrollkoden är mycket enkel.
För att ansluta servo används endast tre ledningar: jord, ström, logik. Sign altråden (vanligtvis gul eller brun) är ansluten till valfri PWM (pulsbreddsmodulering) aktiverad stift på Arduino.
Kodexempel:
include // inkludera biblioteket för att fungera med Servo servo1; // deklarera en servovariabel av typen "servo1" void setup() // procedure setup { servo1.attach(11); //bind servo till analog utgång 11 } void loop() // procedure loop { servo1.write(0); // ställ in rotationsvinkeln till 0 delay(2000); // vänta 2 sekunder servo1.write(90); // ställ in rotationsvinkeln till 90 delay(2000); // vänta 2 sekunder servo1.write(180); // ställ in rotationsvinkeln till 180 delay(2000); // vänta 2 sekunder }
Först lägger vi till biblioteket som redan finns i Arduino till koden, sedan anger vi vilket stift servo är ansluten till. Som du kan se är det väldigt enkelt att arbeta med en servo, kontrollen är bara en operatör.
Pris på Aliexpress: 80–100 rubel.
DHT-11
DHT-11 används för att mäta temperatur och luftfuktighet. Denna temperatursensor för Arduino är den mest populära på grund av dess pris och funktioner. Mäter temperatur i intervallet från 0 till 50 grader, och luftfuktighet från 20 till 80%. Också till försäljning finns en annan version av denna sensor, DHT-22, den har ett större mätområde, men den kostar också flera gånger mer. För enkla projekt är användningen inte tillrådlig, så alla föredrar DHT-11, som gör ett utmärkt jobb med att mäta. Ström kan levereras från 3,3 till 5V. Generellt sett har själva sensorn 4 anslutningsstift, men det finns DHT-11-moduler till försäljning, det är mycket bekvämare att arbeta med dem, eftersom anslutningen är genom 3 stift och du inte behöver lida av motstånd.
Anslutning. Denna temperatursensor är ansluten till Arduino med tre kontakter: jord, ström och logik.
Kodexempel:
inkludera"DHT.h" define DHTPIN 2 // Samma pin-nummer som nämns ovan DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void loop() { delay(2000); // 2 sekunders fördröjning float h=dht.readHumidity(); //Mät fuktighet float t=dht.readTemperature(); //Mät temperaturen om (isnan(h) || isnan(t)) { // Kontrollera. Om läsningen misslyckas skrivs "Read Failed" ut och programmet avslutas Serial.println("Read Failed"); lämna tillbaka; } Serial.print("Fukt: "); Serietryck(h); Serial.print("%\t"); Serial.print("Temperatur: "); Serietryck(t); Serial.println("C"); //Visar indikatorer på skärmen }
I början, som när man arbetar med en servo, är biblioteket uppkopplat. Förresten, om biblioteket. Till en början finns det inte i Arduino-paketet, det här biblioteket måste laddas ner. Det finns flera versioner av detta bibliotek, i vårt exempel används den mest standardiserade. Var försiktig när du laddar ner, eftersom syntaxen kan vara annorlunda och koden kommer inte att fungera. Vidare står det också skrivet till vilken kontakt sensorn är ansluten och dess version (DHT11 eller DHT22). Precis som med en servo är det mycket enkelt att arbeta med den här sensorn för Arduino, med endast ett fåtal operatörer. Förresten, ofta fungerar servo och dht11 tillsammans, till exempel när man skapar automatiska fönster som öppnas om rummet eller växthuset är för varmt.
Pris på Aliexpress: 80–100 rubel.
Markfuktighetssensor
Denna sensor används närdesign av automatisk bevattning. Med den kan du mäta markfuktigheten och sedan bearbeta dessa data och vid behov vattna växten. Det finns många varianter av denna sensor för Arduino till försäljning, men FC-28-modellen är populär. Ett ganska budget alternativ, så alla älskar det och använder det i sina projekt. Sensorn har två sonder som leder elektricitet genom marken. Med torr jord är motståndet större och med våt jord mindre. I grund och botten används denna sensor endast i små projekt, detta beror på det faktum att sonderna är gjorda av dåligt material och förr eller senare, under aktivt arbete, blir de korroderade, varefter sensorn slutar fungera. Sensorns livslängd kan ökas genom att aktivera den endast när data tas från marken, till exempel en gång var 6:e timme. Vissa hantverkare byter till och med ut sonderna till bättre, tillverkade av dem själva, eller till och med monterar en fuktsensor för Arduino från grunden.
Att ansluta jordfuktighetssensorn är ganska enkelt. Vanligtvis kommer den med en potentiometer och en komparator för att kontrollera sensorns känslighet. Tot alt har den tre kontakter: logik, kraft och jord. Den kan kopplas till både digitala och analoga kontakter. Förresten, det är bekvämare att arbeta i analogt läge.
Kodexempel:
int sensor_pin=A0; int output_value; void setup() { Serial.begin(9600); Serial.println("Läser data från sensorn"); delay(2000); } void loop() { output_value=analogRead(sensor_pin);output_value=map(output_value, 550, 0, 0, 100); Serial.print("Fukt: "); Serial.print(output_value); Serial.println("%"); fördröjning(1000); }
Först och främst bestämmer vi kontakterna som sensorn är ansluten till Arduino. Sedan läser vi data från den och visar den. Precis som med andra sensorer är FC-28 lätt att arbeta med. Och allt tack vare färdiga bibliotek och sensorer.
Pris på Aliexpress: 30–50 rubel.
PIR-sensor
Denna rörelsesensor för Arduino används i konstruktionen av olika säkerhetssystem. Detekterar rörliga element från 0 till 7 meter. Vi kommer inte att överväga funktionsprincipen, låt oss gå vidare till att ansluta den här sensorn till Arduino.
Att döma av recensionerna är den också ansluten med tre kontakter: logik, ström och jord. Det fungerar via digitala utgångar.
Kodexempel:
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)); //Om rörelse detekteras om (pirVal) { digitalWrite(PIN_LED, HIGH); Serial.println("Rörelse upptäckt"); delay(2000); } else { //Serial.print("Ingen rörelse"); digitalWrite(PIN_LED, LOW); } }
Vi bestämmer kontakterna som sensorn är ansluten till, varefter vi kontrollerar rörelse. Att arbeta med det är väldigt bekvämt och enkelt, men det finns fall av falska positiva resultat.
Pris förAliexpress: 30–50 rubel.
att dra slutsatser
Ovan övervägdes huvudsensorerna för Arduino, som är de allra första som studerades av nybörjare radioamatörer. Som du kan se är de ganska billiga, de ansluter lätt och att läsa data tar bara ett par rader. Utöver dem finns det fortfarande ett stort antal andra sensorer, även för att mäta pulsen! Det är mest lönsamt att köpa dem på Aliexpress i uppsättningar, så de kommer att kosta ännu billigare. Det är lätt att skapa, det viktigaste är att komma ihåg robotteknikens tre grundläggande regler!