Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Historie
- Trinn 2: Teori og metodikk
- Trinn 3: Maskinvareoppsett
- Trinn 4: Programvareoppsett
- Trinn 5: Arduino Code of Color Sensor
Video: Enkel DIY fargesensor fra Magicbit: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
I denne opplæringen lærer vi om hvordan du lager en enkel fargesensor ved hjelp av Magicbit med Arduino.
Rekvisita
- Magicbit
- USB-A til mikro-USB-kabel
Trinn 1: Historie
Hei folkens, noen ganger må du bruke fargesensorer til noen formål. Men det kan være at du ikke vet hvordan de fungerer. Så i denne opplæringen lærer du om hvordan du lager en enkel DIY fargesensor ved hjelp av Magicbit med Arduino. La oss komme i gang.
Trinn 2: Teori og metodikk
I dette prosjektet forventer vi å lære deg å bygge fargesensor som kan oppdage røde, grønne og blå farger. Dette er et veldig grunnleggende eksempel. Så hvordan gjør du dette. Til dette formålet bruker vi RGB -modulen til Magicbit og innebygd LDR. Først av alt må du lære om litt teori. Det handler om lysrefleksjonsmengde. Nå stiller jeg spørsmål fra deg. Hvilken farget overflate som mest reflekterer rødt lys? Også hvilke overflater som for det meste reflekterer grønt og blått lys. Tenk litt. Men svaret er enkelt. Den rødfargede overflaten reflekterer stort sett rødt lys. Også grønne og blå overflater reflekterer grønt og blått lys. Så i dette prosjektet bruker vi den teorien. For å gjenkjenne fargen sender vi ut rødt, grønt og blått lys en etter en. Hver gang vi måler refleksjonsmengden ved å bruke LDR -verdi. Hvis noe lys vil gi mest refleksjon enn to andre lys, bør overflaten for det meste reflekteres farget overflate.
Trinn 3: Maskinvareoppsett
Dette er veldig enkelt. Koble RGB -modulen til øvre høyre port på Magicbit. Denne modulen har WS2812B Neopixel LED. Denne LED -en har 4 pinner. To for strøm og to for data inn og ut. Fordi vi bruker en LED, trenger vi bare strømnål og data i pin. Hvis du ikke har den modulen, kan du kjøpe en Neopixel -modul. Hvis du kjøpte en slik modul, må du koble strømpinner og data i pin til Magicbit. Det er veldig enkelt. Koble VCC og GND til Magicbit til strømpinnene på RGB -modulen og D33 -pinnen til datapinnen.
Trinn 4: Programvareoppsett
Det meste utført av programmeringen. Vi bruker Arduino IDE til å programmere Magicbit. I koden bruker vi et par biblioteker. De er Adafruit Neopixel bibliotek for kontroll Neopixel LED og Adafruit OLED bibliotek for håndtak OLED. I oppsettet konfigurerer vi våre innganger og utganger. Konfigurer også den innebygde OLED -skjermen på Magicbit. I sløyfen sjekker vi at venstre trykknapp er trykket på Magicbit eller ikke. Hvis det trykkes, er inngangssignalet 0. Fordi det allerede er trukket opp av brettet. Hvis det trykket på, gjør vi fargekontroll. Hvis ikke, vil skjermen vise "ingen farge" -erklæring. Når du trykker på knappen, slå deretter automatisk på rødt, grønt og blått lys en etter en og lagre refleksjonsmengden til fargene i tre variabler. Deretter sammenlignet vi disse verdiene og velger fargen på maksimal verdi som skal vises som utgangsfarge.
Så koble mikro -USB -kabelen til Magicbit og velg brettype og com -porter riktig. Last nå opp koden. Så er det på tide å teste sensoren vår. For å teste det må du beholde rødt, grønt eller blått papir eller ark på overflaten på LDR- og RGB -modulen og trykke på venstre trykknapp. Deretter viser OLED -skjermen hva som er fargen på overflaten. Hvis det er feil grunnen er at noen farger har høy lysintensitet. Som et eksempel på hver grønne overflate er utgangen rød, så må du redusere lysstyrken for rødt lys fra en viss mengde. Fordi det røde lyset har veldig høy lysstyrke i så fall. Så den har høy refleksjon. Hvis du ikke vet hvordan du styrer lysstyrken, kan du se opplæringen i lenken nedenfor.
magicbit-arduino.readthedocs.io/en/latest/
I denne lenken finner du hvordan du styrer RGB -modulen fra Magicbit. Og du kan også finne ut hvordan du arbeider med LDR og trykknapp ved hjelp av Magicbit. Les dokumentet og studer videre hvordan du forbedrer fargesensoren. Fordi dette er et veldig grunnleggende eksempel på hvordan fargesensorer fungerer. De fleste fargesensorer fungerer på denne måten. Så prøv å forbedre dette ved å fjerne støy fra omgivelsene og andre lyder.
Trinn 5: Arduino Code of Color Sensor
#inkludere
#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 display (128, 64); #define LDR 36 #define Knapp 35 int R_verdi, G_verdi, B_verdi; ugyldig oppsett () {LED.begin (); LED.show (); pinMode (LDR, INNGANG); pinMode (Knapp, INNGANG); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); forsinkelse (1000); display.clearDisplay (); Serial.begin (9600); } void loop () {if (digitalRead (Button) == 0) {// hvis knappen trykkes LED.setPixelColor (0, LED. Color (0, 50, 0)); // på rødfarget LED.show (); forsinkelse (100); R_value = analogRead (LDR); // få rødmontert LED.setPixelColor (0, LED. Color (150, 0, 0)); // på grønnfarget LED.show (); forsinkelse (100); G_value = analogRead (LDR); // få green mount LED.setPixelColor (0, LED. Color (0, 0, 255)); // på blåfarget LED.show (); forsinkelse (100); B_verdi = analogRead (LDR); // få blå montering hvis (R_verdi> G_verdi && R_verdi> B_verdi) {// rød er mest reflektert Display ("RØD", 3); } annet hvis (G_verdi> R_verdi && G_verdi> B_verdi) {// grønn er mest reflektert Display ("GRØNN", 3); } annet hvis (B_verdi> R_verdi && B_verdi> G_verdi) {// blå er mest reflektert Display ("BLÅ", 3); } Serial.print ("RØD ="); Serial.print (R_verdi); Serial.print ("GRØNN"); Serial.print (G_verdi); Serial.print ("BLÅ ="); Serial.println (B_verdi); } annet {LED.setPixelColor (0, LED. Color (0, 0, 0)); // av RGB LED.show (); Display ("NO COLOR", 2); }} void Display (String commond, int size) {// display data display.clearDisplay (); display.setTextSize (størrelse); // Normal 1: 1 piksel skala display.setTextColor (WHITE); // Tegn hvit tekst display.setCursor (0, 20); // Start øverst i venstre hjørne display.println (commond); display.display (); }
Anbefalt:
Fargesensor med LCD -skjerm: 6 trinn
Fargesensor med LCD -skjerm: Målet er å lage en enhet som lar fargeblindede mennesker oppdage farger uten å måtte se fargen. Ved å bruke LCD -skjermen med sensoren ville fargen bli plukket opp og deretter overført til ord på LCD -skjermen. Denne enheten ville
RFID + fargesensor IoT -prosjekt: 7 trinn
RFID + fargesensor IoT -prosjekt: Ideen med dette prosjektet er å belønne folk som drikker ut av kaffekopper og kaster dem på forsvarlig måte. Ta et selskap som Tim Hortons for eksempel; i 2014 registrerte de servering av 2 milliarder kopper kaffe årlig. Selv om koppene deres kan resirkuleres
Fargesensor: 5 trinn (med bilder)
Fargesensor: Beskrivelse: Fargesensormodul er en komplett fargedetektor, inkludert 4 hvite lysdioder og TAOS TCS3200 RGB -sensorbrikke. De fire hvite lysdiodene gir et bredspektret lyskilde. TCS230 har en 8 x 8 rekke fotodioder med fargefiltre
Ordrebokanalyse etter fargesensor: 14 trinn
Ordrebokanalyse etter fargesensor: Bruker en Adafruit TCS34725 rød/grønn/blå fargesensor for å analysere lysutgangen fra ordreboken på skjermen ved kryptohandel. Hvis du hovedsakelig " kjøper " ordrer kommer inn, representert med grønne tall på skjermen, du kan muligens forvente
(Enkel) enkel måte å få analog/pwm -lyd fra Raspberry PI Zero og også tilkobling til Crt TV: 4 trinn
(Enkel) enkel måte å få analog/pwm -lyd fra Raspberry PI Zero og også tilkobling til Crt TV: Her har jeg brukt en enkleste metode for å mate lyd til en tv sammen med video fra en annen side