Sisukord:
- Tarvikud
- 1. samm: lugu
- 2. samm: teooria ja metoodika
- Samm: riistvara seadistamine
- Samm 4: Tarkvara seadistamine
- Samm: Arduino värvianduri kood
Video: Lihtne DIY värviandur Magicbitilt: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Selles õpetuses õpime, kuidas teha lihtsat värvisensorit, kasutades Magicbitit koos Arduinoga.
Tarvikud
- Magicbit
- USB-A-mikro-USB-kaabel
1. samm: lugu
Tere poisid, mõnikord peate teatud eesmärkidel kasutama värvisensoreid. Kuid võib -olla te ei tea, kuidas need toimivad. Nii et selles õpetuses saate teada, kuidas teha lihtsat DIY värvisensorit, kasutades Magicbitit koos Arduinoga. Alustame.
2. samm: teooria ja metoodika
Selles projektis loodame õpetada teid ehitama värvisensorit, mis tuvastab punast, rohelist ja sinist värvi. See on väga elementaarne näide. Niisiis, kuidas seda teha. Selleks kasutame Magicbiti RGB moodulit ja sisseehitatud LDR -i. Kõigepealt peate õppima mõnda teooriat. See on umbes valguse peegelduse suurus. Nüüd esitan teilt küsimuse. Milline värviline pind peegeldab kõige rohkem punast värvi? Samuti millised pinnad peegeldavad enamasti rohelist ja sinist valgust. Mõelge natuke. Kuid vastus on lihtne. Punane pind peegeldab enamasti punast valgust. Ka rohelised ja sinised pinnad peegeldavad rohelisi ja siniseid tulesid. Nii et selles projektis kasutame seda teooriat. Värvi äratundmiseks kiirgame ükshaaval punaseid, rohelisi ja siniseid tulesid. Iga kord, kui mõõdame peegeldussummat, kasutades LDR väärtust. Kui mõni valgus peegeldab kõige rohkem kui teised kaks valgust, peaks see pind olema enamasti peegeldunud värviline pind.
Samm: riistvara seadistamine
See väga lihtne. Ühendage oma RGB -moodul Magicbiti paremas ülanurgas. Sellel moodulil on WS2812B Neopixel LED. Sellel LED -il on 4 kontakti. Kaks toiteallikaks ja kaks andmete sisse- ja väljalülitamiseks. Kuna kasutame ühte LED -i, vajame ainult pistikuid ja pin -andmeid. Kui teil seda moodulit pole, saate osta Neopixeli mooduli. Kui ostsite sellise mooduli, peate Magicbitiga ühendama pistikud ja kontaktid. See on väga lihtne. Ühendage Magicbiti VCC ja GND RGB -mooduli toitepistikutega ja D33 -pistik andmestikuga.
Samm 4: Tarkvara seadistamine
Suurema osa teeb programmeerimine. Kasutame oma Magicbiti programmeerimiseks Arduino IDE -d. Koodis kasutame paari raamatukogu. Need on Adafruit Neopixel raamatukogu Neopixel LED juhtimiseks ja Adafruit OLED raamatukogu OLED käepideme jaoks. Seadistuses konfigureerime oma sisendid ja väljundid. Samuti seadistage Magicbitis sisseehitatud OLED -ekraan. Ahelas kontrollime, kas vasakpoolne nupp on Magicbitil vajutatud või mitte. Kui seda vajutada, on sisendsignaal 0. Sest see on juba tahvli poolt üles tõmmatud. Kui see vajutati, kontrollime värvi. Kui ei, siis kuvatakse ekraanil avaldus "ilma värvita". Nupu vajutamisel lülitatakse automaatselt ükshaaval sisse punased, rohelised ja sinised tuled ning salvestatakse värvide peegeldus kolmeks muutujaks. Järgmisena võrdlesime neid väärtusi ja valisime väljundvärvina kuvamiseks maksimaalse väärtuse värvi.
Seega ühendage mikro -USB -kaabel Magicbitiga ja valige plaadi tüüp ja com -pordid õigesti. Nüüd laadige kood üles. Siis on aeg meie andurit testida. Selle kontrollimiseks hoidke LDR- ja RGB -moodulil punast, rohelist või sinist pinnaga paberit või lehte ja vajutage vasakut nuppu. Seejärel näitab OLED -ekraan pinna värvi. Kui see on vale, on põhjuseks mõne värvi kõrge valgustugevus. Näiteks iga rohelise pinna väljund on punane, siis peate mõnest summast vähendama punase valguse heledust. Kuna punane tuli on sel juhul väga kõrge heledusega. Nii et sellel on suur peegeldus. Kui te ei tea, kuidas heledust juhtida, vaadake alloleval lingil olevat õpetust.
magicbit-arduino.readthedocs.io/en/latest/
Sellelt lingilt leiate, kuidas seda RGB -moodulit Magicbitist juhtida. Samuti leiad, kuidas töötada LDR -i ja nupuga Magicbit. Lugege seda dokumenti ja uurige edasi, kuidas värvisensorit täiustada. Sest see on väga lihtne näide värviandurite tööpõhimõtte kohta. Enamik värvisensoreid töötab sel viisil. Nii et proovige seda parandada, eemaldades ümbritseva valguse müra ja muud mürad.
Samm: Arduino värvianduri kood
#kaasake
#define LED_PIN 33
#define LED_COUNT 1 Adafruit_NeoPixel LED (LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800); #kaasama #sisalda #sisalda #defineeri OLED_RESET 4 Adafruit_SSD1306 ekraan (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 (nupp, INPUT); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); viivitus (1000); display.clearDisplay (); Seriaalne algus (9600); } void loop () {if (digitalRead (Button) == 0) {// kui nuppu vajutatakse LED.setPixelColor (0, LED. Color (0, 50, 0)); // punasel LED -il.show (); viivitus (100); R_väärtus = analogRead (LDR); // saada punane kinnitus LED.setPixelColor (0, LED. Color (150, 0, 0)); // rohelisel LED -il.show (); viivitus (100); G_value = analogRead (LDR); // hangi roheline mount LED.setPixelColor (0, LED. Color (0, 0, 255)); // sinise värviga LED.show (); viivitus (100); B_value = analogRead (LDR); // saada sinine kinnitus, kui (R_value> G_value && R_value> B_value) {// punane peegeldub kõige paremini Ekraan ("RED", 3); } else if (G_value> R_value && G_value> B_value) {// roheline on kõige paremini kajastatud Display ("GREEN", 3); } else if (B_value> R_value && B_value> G_value) {// sinine on kõige paremini kajastatud Ekraan ("SININE", 3); } Serial.print ("RED ="); Serial.print (R_value); Serial.print ("GREEN ="); Serial.print (G_value); Serial.print ("SININE ="); Serial.println (B_väärtus); } else {LED.setPixelColor (0, LED. Värv (0, 0, 0)); // väljas RGB LED.show (); Ekraan ("NO COLOR", 2); }} tühi Kuva (String commond, int suurus) {// kuvaandmete kuvamine.clearDisplay (); display.setTextSize (suurus); // Tavaline 1: 1 pikslite skaala kuva.setTextColor (VALGE); // Joonista valge teksti kuva.setCursor (0, 20); // Alusta vasakust ülanurgast. Println (commond); display.display (); }
Soovitan:
Jalgratta tugijala asendiandur Magicbitilt [Magicblocks]: 8 sammu
Jalgratta tugijala asendiandur firmast Magicbit [Magicblocks]: lihtne DIY projekt, mille abil saab tugipunkti asendianduri Magicbitiga Magicblocks abil luua. Selles projektis, mis põhineb ESP32 -l, kasutame arendusplaadina magicbitit. Seetõttu saab selles projektis kasutada mis tahes ESP32 arendusplaati
Värviandur LCD -ekraaniga: 6 sammu
LCD -ekraaniga värvisensor: Eesmärk on luua seade, mis võimaldaks värvipimedatel inimestel värve tuvastada ilma seda nägemata. Kui kasutate LCD -ekraani koos anduriga, tõuseb värv üles ja kantakse seejärel sõnadesse LCD -ekraanile. See seade on
Arduino WiFi -võrk (andurid ja täiturid) - värviandur: 4 sammu
Arduino WiFi -võrk (andurid ja täiturid) - värviandur: mitu korda on teie rakendustes mõni andur või mõni ajam teist kaugel? Kui palju oleks mugav kasutada ainult ühte peaseadet arvuti lähedal, et hallata erinevaid alamseadmeid, mis on ühendatud WiFi-võrgu kaudu? Selles projektis
Värviandur: 5 sammu (piltidega)
Värviandur: Kirjeldus: Värviandurimoodul on täielik värvideandur, mis sisaldab 4 valget LED -i ja TAOS TCS3200 RGB andurikiipi. Neli valget valgusdioodi, mis pakuvad laia spektriga valgusallikat. TCS230 -l on 8 x 8 fotodioodide komplekt koos värvifiltritega
DIY MusiLED, muusika sünkroonitud LED-id ühe klõpsuga Windowsi ja Linuxi rakendusega (32-bitine ja 64-bitine). Lihtne taastada, lihtne kasutada, lihtne teisaldada: 3 sammu
DIY MusiLED, muusika sünkroonitud LED-id ühe klõpsuga Windowsi ja Linuxi rakendusega (32-bitine ja 64-bitine). Lihtne taastada, lihtne kasutada, lihtne teisaldada .: See projekt aitab teil ühendada 18 LED-i (6 punast + 6 sinist + 6 kollast) oma Arduino plaadiga ja analüüsida arvuti helikaardi reaalajasignaale ning edastada need valgusdioodid, mis neid löögiefektide järgi süttivad (Snare, High Hat, Kick)