INHOUDSOPGAWE:
- Voorrade
- Stap 1: Verhaal
- Stap 2: Teorie en metodiek
- Stap 3: hardeware -opstelling
- Stap 4: sagteware -opstelling
- Stap 5: Arduino -kleursensorkode
Video: Eenvoudige DIY kleursensor van Magicbit: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
In hierdie handleiding leer ons hoe u 'n eenvoudige kleursensor kan maak met Magicbit met Arduino.
Voorrade
- Magicbit
- USB-A na mikro-USB-kabel
Stap 1: Verhaal
Hallo ouens, soms moet jy vir sommige doeleindes kleursensors gebruik. Maar miskien weet u nie hoe dit werk nie. In hierdie tutoriaal leer u hoe u 'n eenvoudige DIY kleursensor kan maak met Magicbit met Arduino. Laat ons begin.
Stap 2: Teorie en metodiek
In hierdie projek verwag ons om u te leer om 'n kleursensor te bou wat rooi, groen en blou kleure kan opspoor. Dit is 'n baie basiese voorbeeld. So hoe om dit te doen. Vir hierdie doel gebruik ons die RGB -module van die Magicbit en ingeboude LDR. Eerstens moet u leer oor 'n paar teorieë. Dit gaan oor die hoeveelheid ligweerkaatsing. Nou vra ek vir jou 'n vraag. Watter gekleurde oppervlak weerspieël die meeste rooi lig, en watter oppervlaktes weerspieël meestal groen en blou ligte? Dink bietjie. Maar die antwoord is eenvoudig. Die rooi gekleurde oppervlak weerspieël meestal rooi kleurlig. Groen en blou oppervlaktes weerspieël ook groen en blou ligte. In hierdie projek gebruik ons dus die teorie. Om kleur te herken, gee ons een vir een rooi, groen en blou ligte uit. Elke keer meet ons die weerkaatsingshoeveelheid met behulp van LDR -waarde. As sommige lig die meeste weerkaatsing gee as die ander twee ligte, moet die oppervlak meestal gekleurde oppervlak weerspieël word.
Stap 3: hardeware -opstelling
Dit is baie eenvoudig. Koppel u RGB -module aan die boonste regterpoort van Magicbit. Hierdie module het WS2812B Neopixel LED. Hierdie LED het 4 penne. Twee vir krag en twee vir data in en uit. Omdat ons een led gebruik, benodig ons slegs kragpenne en data in die pen. As u nie die module het nie, kan u 'n Neopixel -module koop. As u die soort module gekoop het, moet u kragpenne en data in pin aan Magicbit koppel. Dit is baie maklik. Koppel VCC en GND van die Magicbit aan die kragpenne van die RGB -module en die D33 -pen aan die datapen.
Stap 4: sagteware -opstelling
Die grootste deel word gedoen deur die programmering. Ons gebruik Arduino IDE om ons Magicbit te programmeer. In die kode gebruik ons 'n paar biblioteke. Dit is die Adafruit Neopixel -biblioteek vir die beheer van Neopixel LED en die Adafruit OLED -biblioteek vir die hanteer van OLED. In die opstelling stel ons ons insette en uitsette op. Stel ook die ingeboude OLED -skerm op Magicbit op. In die lus kyk ons of die drukknop aan die linkerkant ingedruk is of nie van die Magicbit nie. As dit ingedruk word, is die insetsein 0. Omdat dit reeds deur die bord getrek word. As dit ingedruk word, doen ons kleurkontrole. Indien nie, sal die skerm 'geen kleur' gee nie. As u op die knoppie druk, skakel dan outomaties rooi, groen en blou ligte een vir een aan en stoor die weerkaatsingshoeveelheid van die kleure in drie veranderlikes. Vervolgens vergelyk ons die waardes en kies die maksimum kleur wat as die uitvoerkleur vertoon moet word.
Koppel dus 'n mikro -USB -kabel aan Magicbit en kies die tipe bord en com -poorte korrek. Laai nou die kode op. Dan is dit tyd om ons sensor te toets. Om dit te toets, hou papier of velblad met rooi, groen of blou oppervlak op die LDR- en RGB -module en druk die linker drukknop. Dan sal die OLED -skerm die kleur van die oppervlak wys. As dit verkeerd is, is die kleur 'n hoë ligintensiteit. As 'n voorbeeld op elke groen oppervlak is die uitset rooi, dan moet u die helderheid van rooi ligte verminder. Omdat die rooi lig in hierdie geval baie hoë helderheid het. Dit het dus 'n hoë weerkaatsing. As u nie weet hoe om die helderheid te beheer nie, raadpleeg dan die onderrig in die onderstaande skakel.
magicbit-arduino.readthedocs.io/en/latest/
In hierdie skakel kan u sien hoe u die RGB -module van Magicbit kan beheer. En u kan ook uitvind hoe u met LDR werk en op die drukknop met Magicbit. Lees die dokument en bestudeer verder hoe u kleursensor kan verbeter. Omdat dit 'n baie basiese voorbeeld is van hoe kleursensors werk. Die meeste kleursensors werk op hierdie manier. Probeer dit dus verbeter deur die geraas van omringende lig en ander geluide te verwyder.
Stap 5: Arduino -kleursensorkode
#insluit
#definieer 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 -skerm (128, 64); #define LDR 36 #define Button 35 int R_waarde, G_waarde, B_waarde; ongeldige opstelling () {LED.begin (); LED.show (); pinMode (LDR, INVOER); pinMode (knoppie, INVOER); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); vertoon.display (); vertraging (1000); display.clearDisplay (); Serial.begin (9600); } void lus () {if (digitalRead (Button) == 0) {// as knoppie ingedruk word LED.setPixelColor (0, LED. Color (0, 50, 0)); // op rooi kleur LED.show (); vertraging (100); R_waarde = analogRead (LDR); // kry rooi monteer LED.setPixelColor (0, LED. Color (150, 0, 0)); // op groenkleur LED.show (); vertraging (100); G_value = analogRead (LDR); // kry green mount LED.setPixelColor (0, LED. Color (0, 0, 255)); // op bloukleurige LED.show (); vertraging (100); B_waarde = analogRead (LDR); // kry blou berg as (R_waarde> G_waarde && R_waarde> B_waarde) {// rooi die meeste weerspieël word ("ROOI", 3); } anders as (G_waarde> R_waarde && G_waarde> B_waarde) {// groen die meeste weerspieël word Display ("GROEN", 3); } anders as (B_waarde> R_waarde && B_waarde> G_waarde) {// blou die meeste weerspieël is Display ("BLUE", 3); } Serial.print ("ROOI ="); Serial.print (R_waarde); Serial.print ("GROEN ="); Serial.print (G_waarde); Serial.print ("BLOU ="); Serial.println (B_waarde); } anders {LED.setPixelColor (0, LED. Color (0, 0, 0)); // af RGB LED.show (); Vertoon ("GEEN KLEUR", 2); }} leegte vertoon (String commond, int grootte) {// vertoon data display.clearDisplay (); display.setTextSize (grootte); // Normale 1: 1 pixel skaal display.setTextColor (WIT); // Teken wit teks display.setCursor (0, 20); // Begin in die linker boonste hoek display.println (commond); vertoon.display (); }
Aanbeveel:
Eenvoudige radarsisteem van Magicbit: 6 stappe
Eenvoudige radarsisteem van Magicbit: Hierdie tutoriaal wys hoe u 'n eenvoudige radarsisteem kan maak met behulp van HC-SR04-sensor en Microbit dev-bord met verwerking en Arduino IDE's
Kleursensor met LCD -skerm: 6 stappe
Kleursensor met LCD -skerm: Die doel is om 'n toestel te skep waarmee kleurblinde mense kleure kan opspoor sonder om die kleur te hoef te sien. Deur die LCD -skerm met die sensor te gebruik, word die kleur opgetel en dan oorgedra na woorde op die LCD -skerm. Hierdie toestel wou
RFID + kleursensor IoT -projek: 7 stappe
RFID + Kleursensor IoT -projek: Die idee van hierdie projek is om mense wat uit koffiekoppies drink, te beloon en daarmee weg te gooi. Neem byvoorbeeld 'n onderneming soos Tim Hortons; in 2014 het hulle jaarliks 2 miljard koppies koffie bedien. Alhoewel hul koppies herwin kan word
N Arduino WiFi -netwerk (sensors en aandrywers) - die kleursensor: 4 stappe
N Arduino WiFi -netwerk (sensors en aandrywers) - die kleursensor: hoeveel keer in u toepassings het u 'n sensor of 'n aandrywer ver van u af? Hoeveel gemaklik kan dit wees om slegs een hooftoestel naby u rekenaar te gebruik om verskillende slawe-toestelle wat via 'n wi-fi-netwerk verbind is, te bestuur? In hierdie projek
Kleursensor: 5 stappe (met foto's)
Kleursensor: beskrywing: kleursensormodule is 'n volledige kleurdetektor met 4 wit LED's en TAOS TCS3200 RGB -sensorskyfie. Die vier wit LED's bied 'n breë spektrum ligbron. Die TCS230 het 'n 8 x 8 reeks fotodiodes met kleurfilters