Sadržaj:
- Supplies
- Korak 1: Priča
- Korak 2: Teorija i metodologija
- Korak 3: Postavljanje hardvera
- Korak 4: Postavljanje softvera
- Korak 5: Arduino kôd senzora boje
Video: Jednostavan "uradi sam" senzor u boji od Magicbita: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
U ovom ćemo vodiču naučiti kako napraviti jednostavan senzor u boji pomoću Magicbita s Arduinom.
Supplies
- Magicbit
- USB-A na mikro-USB kabel
Korak 1: Priča
Zdravo momci, ponekad morate koristiti senzore za boje u neke svrhe. Ali možda ne znate kako oni funkcioniraju. Dakle, u ovom ćete vodiču naučiti o tome kako napraviti jednostavan DIY senzor boje koristeći Magicbit s Arduinom. Počnimo.
Korak 2: Teorija i metodologija
U ovom projektu očekujemo da ćete vas naučiti izgraditi senzor boja koji može detektirati crvenu, zelenu i plavu boju. Ovo je vrlo osnovni primjer. Pa kako to učiniti. U tu svrhu koristimo RGB modul Magicbita i ugrađeni LDR. Prije svega morate naučiti nešto o teoriji. To je otprilike količina refleksije svjetlosti. Sada postavljam pitanje od vas. Koje obojene površine najviše reflektiraju svjetlo crvene boje? Također koje površine uglavnom reflektiraju zeleno i plavo svjetlo. Razmisli malo. Ali odgovor je jednostavan. Površina crvene boje uglavnom reflektuje svjetlost crvene boje. Takođe, zelene i plave površine odražavat će zelena i plava svjetla. Dakle, u ovom projektu koristimo tu teoriju. Za prepoznavanje boje emitujemo jedno po jedno crveno, zeleno i plavo svjetlo. Svaki put mjerimo količinu refleksije pomoću LDR vrijednosti. Ako neko svjetlo daje najviše refleksije od druga dva svjetla, tada bi ta površina trebala biti uglavnom reflektirana obojena površina.
Korak 3: Postavljanje hardvera
Ovo je vrlo jednostavno. Uključite svoj RGB modul u gornji desni port Magicbita. Ovaj modul ima LED diodu WS2812B Neopixel. Ova LED dioda ima 4 pina. Dva za napajanje i dva za ulaz i izlaz podataka. Budući da koristimo jedan led, potrebni su nam samo pinovi za napajanje i podaci u pin -u. Ako nemate taj modul, možete kupiti i Neopixel modul. Ako ste kupili takvu vrstu modula, morate povezati pinove za napajanje i podatke u pinu na Magicbit. To je vrlo lako. Spojite VCC i GND Magicbita na pinove za napajanje RGB modula i pin D33 na pin za podatke.
Korak 4: Postavljanje softvera
Najveći dio obavlja programiranje. Za programiranje našeg Magicbita koristimo Arduino IDE. U kodu koristimo nekoliko biblioteka. Oni su Adafruit Neopixel biblioteka za kontrolu Neopixel LED i Adafruit OLED biblioteka za OLED ručicu. U postavkama konfiguriramo naše ulaze i izlaze. Također konfigurirajte ugrađeni OLED ekran na Magicbitu. U petlji proveravamo da li je pritisnuto levo dugme na Magicbitu. Ako se pritisne, ulazni signal je 0. Budući da ga je ploča već podigla. Ako je pritisnuto, radimo provjeru boje. U suprotnom će se na ekranu prikazati izraz "bez boje". Kada se pritisne dugme, automatski uključuje jedno po jedno crveno, zeleno i plavo svjetlo i pohranjuje količinu refleksije boja u tri varijable. Zatim smo usporedili te vrijednosti i odabrali boju maksimalne vrijednosti za prikaz kao izlaznu boju.
Zato spojite mikro USB kabel na Magicbit i ispravno odaberite vrstu ploče i com portove. Sada učitajte kôd. Tada je vrijeme da testiramo naš senzor. Da biste to provjerili, držite crveni, zeleni ili plavi papir ili gornji dio lista na LDR i RGB modulu i pritisnite lijevo dugme. Zatim će OLED ekran pokazati koje je boje površina. Ako je to pogrešno, razlog je što neke boje imaju visok intenzitet svjetla. Na primjer, na svakoj zelenoj površini izlaz je crven, tada morate smanjiti jačinu svjetla crvenog svjetla s neke količine. Zato što crveno svjetlo u tom slučaju ima jako visoku svjetlinu. Tako da imaju visoku refleksiju. Ako ne znate kako kontrolirati svjetlinu, pogledajte vodič na donjoj vezi.
magicbit-arduino.readthedocs.io/en/latest/
Na ovoj vezi možete pronaći kako kontrolirati taj RGB modul iz Magicbita. Također ćete pronaći način rada s LDR -om i pritiskom na gumb pomoću Magicbita. Pročitajte taj dokument i proučite dalje kako poboljšati senzor boje. Zato što je ovo vrlo osnovni primjer kako senzori u boji rade. Većina vrsta senzora u boji radi na ovaj način. Pokušajte to poboljšati uklanjanjem buke iz ambijentalnog svjetla i drugih zvukova.
Korak 5: Arduino kôd senzora boje
#include
#define LED_PIN 33
#define LED_COUNT 1 Adafruit_NeoPixel LED (LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800); #include #include #include #define OLED_RESET 4 Adafruit_SSD1306 ekran (128, 64); #define LDR 36 #define dugme 35 int R_value, G_value, B_value; void setup () {LED.begin (); LED.show (); pinMode (LDR, INPUT); pinMode (dugme, INPUT); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); kašnjenje (1000); display.clearDisplay (); Serial.begin (9600); } void loop () {if (digitalRead (Button) == 0) {// ako je dugme pritisnuto LED.setPixelColor (0, LED. Color (0, 50, 0)); // na redcolour LED.show (); kašnjenje (100); R_value = analogRead (LDR); // dobijemo LED.setPixelColor (0, LED. Color (150, 0, 0)) za montiranje u crvenom položaju; // na LED zelenoj boji.show (); kašnjenje (100); G_value = analogRead (LDR); // dobiti zeleni nosač LED.setPixelColor (0, LED. Color (0, 0, 255)); // na bluecolour LED.show (); kašnjenje (100); B_value = analogRead (LDR); // nabavite plavo montiranje ako (R_value> G_value && R_value> B_value) {// crveno se najviše reflektuje Display ("RED", 3); } else if (G_value> R_value && G_value> B_value) {// zeleno se najviše reflektuje Prikaz ("ZELENO", 3); } else if (B_value> R_value && B_value> G_value) {// plava se najviše reflektuje Display ("BLUE", 3); } Serial.print ("RED ="); Serial.print (R_value); Serial.print ("ZELENO"); Serial.print (G_value); Serial.print ("PLAVO"); Serial.println (B_value); } else {LED.setPixelColor (0, LED. Color (0, 0, 0)); // isključeno RGB LED.show (); Zaslon ("NO COLOR", 2); }} void Display (String commond, int veličina) {// prikaz podataka display.clearDisplay (); display.setTextSize (veličina); // Normalni prikaz u mjerilu 1: 1 piksela.setTextColor (BIJELO); // Nacrtaj bijeli tekst display.setCursor (0, 20); // Pokreni u gornjem lijevom kutu display.println (commond); display.display (); }
Preporučuje se:
Uradi sam Arduino LED organ u boji 2.0: 5 koraka
DIY Arduino LED Color Organ 2.0: U ovom projektu ću vam pokazati kako izgraditi Arduino LED Color Organ koji reagira na različite frekvencijske opsege u vašoj muzici sa svjetlosnim emisijama. U mom slučaju crveno svjetlo predstavlja bas, zeleno svjetlo srednje frekvencije, a plavo je visoka nota
"Uradi sam" senzor za temperaturu i vlažnost aparat za gašenje požara (Arduino UNO): 11 koraka
Uradi sam aparat za gašenje požara sa senzorom temperature i vlažnosti (Arduino UNO): Ovaj je projekt napravljen da ga koriste svi u domovima ili kompanijama kao senzor temperature i vlažnosti prikazan na LCD -u i senzor plamena uparen sa zujalicom i pumpom za vodu za gašenje požar u slučaju nužde
Nadogradite "uradi sam" lonac za zalijevanje sa WiFi -em u alarmni uređaj za otkrivanje kretnji za otkrivanje pokreta "Uradi sam": 17 koraka
Nadogradite "uradi sam" lonac za zalijevanje sa WiFi -jem u aparat za alarme za otkrivanje kretnji za otkrivanje pokreta "Uradi sam": U ovom članku pokazat ćemo vam kako nadograditi svoj lonac za samolijevanje s vlastitim WiFi -jem u DIY lonac za samolijevanje s WiFi -jem i alarmom za detekciju kretanja. niste pročitali članak o tome kako izgraditi lonac za samostalno zalijevanje s WiFi -jem, možete fin
"Uradi sam" senzor vlage biljaka sa Arduinom: 6 koraka (sa slikama)
Uradi sam senzor vlage u biljkama W/ Arduino: Pogledajte ovaj projekt na mojoj web stranici! Ovaj projekt će izračunati sadržaj vode u tlu oko biljke mjerenjem dielektrične konstante (sposobnost tla da prenosi električnu energiju) i upozorit će vas crvenom LED diodom kada se biljci je potrebno više vode
Sigurnosni senzor "Uradi sam" pomoću Arduina: 5 koraka
Sigurnosni senzor „uradi sam“pomoću Arduina: Naučite kako na jednostavan način zaštititi svoju kuću od pljački