Kazalo:
- Zaloge
- 1. korak: Zgodba
- 2. korak: teorija in metodologija
- 3. korak: Namestitev strojne opreme
- 4. korak: Namestitev programske opreme
- 5. korak: Arduino koda barvnega senzorja
Video: Preprost DIY barvni senzor znamke Magicbit: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
V tej vadnici se bomo naučili, kako narediti preprost barvni senzor z uporabo Magicbita z Arduinom.
Zaloge
- Magicbit
- Kabel USB-A do Micro-USB
1. korak: Zgodba
Pozdravljeni, včasih morate uporabiti barvne senzorje za nekatere namene. Morda pa ne veste, kako delujejo. V tej vadnici se boste naučili, kako narediti preprost barvni senzor DIY z uporabo Magicbita z Arduinom. Začnimo.
2. korak: teorija in metodologija
Pričakujemo, da vas bomo v tem projektu naučili izdelati barvni senzor, ki zazna rdeče, zelene in modre barve. To je zelo osnovni primer. Torej, kako to storiti. V ta namen uporabljamo RGB modul Magicbit in vgrajen LDR. Najprej se morate naučiti nekaj teorije. To je približno količina odboja svetlobe. Zdaj postavljam vprašanje od vas. Kakšne barvne površine najbolj odražajo svetlobo rdeče barve in katere površine večinoma odsevajo zeleno in modro svetlobo. Pomisli malo. Toda odgovor je preprost. Rdeče obarvane površine večinoma odbijajo svetlobo rdeče barve. Tudi zelene in modre površine bodo odražale zelene in modre luči. Zato v tem projektu uporabljamo to teorijo. Za prepoznavanje barve eno za drugo oddajamo rdeče, zelene in modre luči. Vsakič, ko merimo količino odboja z uporabo vrednosti LDR. Če bo nekaj svetlobe dalo največ odboja kot drugi dve luči, potem mora biti ta površina večinoma odsevana barvna površina.
3. korak: Namestitev strojne opreme
To zelo preprosto. Priključite modul RGB v zgornja desna vrata Magicbita. Ta modul ima LED diodo WS2812B Neopixel. Ta LED ima 4 zatiči. Dva za napajanje in dva za vhod in izhod podatkov. Ker uporabljamo en vodnik, potrebujemo le napajalne zatiče in podatke v pin. Če tega modula nimate, lahko kupite modul Neopixel. Če ste kupili takšen modul, morate priključke za napajanje in podatke v pin priključiti na Magicbit. To je zelo enostavno. Priključite VCC in GND Magicbita na napajalne nožice modula RGB in pin D33 na podatkovni pin.
4. korak: Namestitev programske opreme
Večino dela opravi programiranje. Za programiranje našega Magicbita uporabljamo Arduino IDE. V kodi uporabljamo nekaj knjižnic. So knjižnica Adafruit Neopixel za nadzor Neopixel LED in knjižnica Adafruit OLED za ročaj OLED. V nastavitvah konfiguriramo naše vhode in izhode. Konfigurirajte tudi vgrajen zaslon OLED na Magicbitu. V zanki preverimo, ali je levi potisni gumb pritisnjen ali ne na Magicbitu. Če pritisnete, je vhodni signal 0. Ker ga plošča že potegne navzgor. Če pritisnete, naredimo preverjanje barve. V nasprotnem primeru se na zaslonu prikaže izjava "brez barve". Ko pritisnete gumb, samodejno vklopite eno za drugo rdečo, zeleno in modro luč in shranite količino odboja barv v tri spremenljivke. Nato smo te vrednosti primerjali in izbrali barvo največje vrednosti, ki bo prikazana kot izhodna barva.
Zato priključite kabel mikro USB na Magicbit in pravilno izberite vrsto plošče in vrata COM. Zdaj naložite kodo. Potem je čas, da preizkusimo naš senzor. Če želite to preveriti, držite papir ali list listov z rdečo, zeleno ali modro površino na modulih LDR in RGB in pritisnite levi gumb. Potem bo OLED zaslon pokazal, kakšne je barve površine. Če je to narobe, je razlog v tem, da imajo nekatere barve visoko jakost svetlobe. Kot primer na vsaki zeleni površini je izhod rdeč, potem morate zmanjšati svetlost rdeče svetlobe za določeno količino. Ker ima rdeča luč v tem primeru zelo visoko svetlost. Zato imajo velik odsev. Če ne veste, kako nadzorovati svetlost, si oglejte vadnico na spodnji povezavi.
magicbit-arduino.readthedocs.io/en/latest/
Na tej povezavi najdete navodila za upravljanje tega RGB modula iz Magicbita. Prav tako lahko ugotovite, kako delati z LDR in pritisniti gumb z uporabo Magicbita. Preberite ta dokument in preučite, kako izboljšati barvno tipalo. Ker je to zelo osnovni primer delovanja barvnih senzorjev. Večina barvnih senzorjev deluje na ta način. Poskusite to izboljšati z odstranitvijo hrupa svetlobe v okolici in drugih hrupov.
5. korak: Arduino koda barvnega senzorja
#vključi
#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 zaslon Adafruit_SSD1306 (128, 64); #define LDR 36 #define Button 35 int R_value, G_value, B_value; void setup () {LED.begin (); LED.show (); pinMode (LDR, INPUT); pinMode (gumb, VHOD); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); zamuda (1000); display.clearDisplay (); Serial.begin (9600); } void loop () {if (digitalRead (Button) == 0) {// če je pritisnjen gumb LED.setPixelColor (0, LED. Color (0, 50, 0)); // na rdeči barvi LED.show (); zamuda (100); R_value = analogRead (LDR); // dobim rdeči nosilec LED.setPixelColor (0, LED. Color (150, 0, 0)); // na zelenobarvni LED.show (); zamuda (100); G_value = analogRead (LDR); // dobimo zeleni nosilec LED.setPixelColor (0, LED. Color (0, 0, 255)); // na modri barvi LED.show (); zamuda (100); B_value = analogRead (LDR); // dobimo modri nosilec, če (R_value> G_value && R_value> B_value) {// rdeča se najbolj odraža na zaslonu ("RDEČA", 3); } else if (G_value> R_value && G_value> B_value) {// zelena se najbolj odraža Prikaz ("ZELENO", 3); } drugače, če (B_value> R_value && B_value> G_value) {// modra se najbolj odraža Display ("BLUE", 3); } Serial.print ("RDEČA ="); Serial.print (R_value); Serial.print ("ZELENO"); Serial.print (G_value); Serial.print ("BLUE ="); Serial.println (B_value); } else {LED.setPixelColor (0, LED. Color (0, 0, 0)); // izklop RGB LED.show (); Zaslon ("NO COLOR", 2); }} void Display (String commond, int size) {// prikaz podatkov display.clearDisplay (); display.setTextSize (velikost); // Običajen prikaz v merilu 1: 1 slikovnih pik.setTextColor (BELO); // Nariši prikaz belega besedila.setCursor (0, 20); // Začni v zgornjem levem kotu display.println (commond); display.display (); }
Priporočena:
RGB LED nočno jagnje znamke Arduino: 5 korakov
Arduino LED nočna jagnjetina RGB: Ta navodila vam bodo pokazala nočno svetilko, ki jo dobavlja LED RGB. Projekt vsebuje več komponent s preprosto kodo, ki je primerna za začetnike. Ta izdelek je mogoče spremeniti glede videza ohišja, lahko ga oblikujete poljubno
Barvni senzor z LCD zaslonom: 6 korakov
Barvni senzor z LCD zaslonom: Cilj je ustvariti napravo, ki bi daltonistikom omogočila zaznavanje barv, ne da bi jih morali videti. Z uporabo LCD zaslona s senzorjem se barva pobere in nato prenese v besede na LCD zaslon. Ta naprava bo
Arduino WiFi omrežje (senzorji in aktuatorji) - barvni senzor: 4 koraki
Arduino WiFi omrežje (senzorji in aktuatorji) - barvni senzor: Kolikokrat v svojih aplikacijah imate senzor ali kakšen aktuator daleč od sebe? Koliko bi bilo udobno uporabljati samo eno glavno napravo v bližini računalnika za upravljanje različnih podrejenih naprav, povezanih prek omrežja wi-fi? V tem projektu
Barvni senzor: 5 korakov (s slikami)
Barvni senzor: Opis: Modul barvnega senzorja je popoln detektor barv, ki vključuje 4 bele LED diode in čip senzorja TAOS TCS3200 RGB. Štiri bele LED diode zagotavljajo svetlobni vir širokega spektra. TCS230 ima 8 x 8 niz fotodiod z barvnimi filtri
Barvni senzor, ki govori, na podlagi AIY Voice Kit: 4 koraki
Senzor govorijočih barv, ki temelji na glasovni opremi AIY: Ko sem se pred kratkim naučil nekaj o Brailleovi pisavi, sem se spraševal, ali bi lahko z glasovnim kompletom AIY za Raspberry Pi ustvaril kaj resničnega, kar bi lahko koristilo slabovidnim v živo. . Tako opisano v nadaljevanju boste našli prototip