
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41


Tässä opetusohjelmassa opimme tekemään yksinkertaisen värianturin Magicbitin ja Arduinon avulla.
Tarvikkeet
- Magicbit
- USB-A-Micro-USB-kaapeli
Vaihe 1: Tarina

Hei kaverit, joskus on käytettävä värianturia joihinkin tarkoituksiin. Mutta et ehkä tiedä, miten ne toimivat. Joten tässä opetusohjelmassa opit tekemään yksinkertaisen DIY -värianturin Magicbitin ja Arduinon avulla. Aloitetaan.
Vaihe 2: Teoria ja metodologia
Tässä projektissa odotamme opettaa sinua rakentamaan värianturin, joka pystyy havaitsemaan punaisen, vihreän ja sinisen värin. Tämä on hyvin yksinkertainen esimerkki. Joten miten tämä tehdään. Tätä tarkoitusta varten käytämme Magicbitin RGB -moduulia ja sisäänrakennettua LDR: ää. Ensin sinun on opittava teoria. Kyse on valon heijastuksen määrästä. Nyt kysyn teiltä kysymyksen. Mikä värillinen pinta heijastaa eniten punaista valoa? Myös mitkä pinnat heijastavat enimmäkseen vihreää ja sinistä valoa. Ajattele vähän. Mutta vastaus on yksinkertainen. Punainen pinta heijastaa enimmäkseen punaista valoa. Myös vihreät ja siniset pinnat heijastavat vihreitä ja sinisiä valoja. Joten tässä projektissa käytämme tätä teoriaa. Värin tunnistamiseksi lähetämme punaisia, vihreitä ja sinisiä valoja yksitellen. Aina kun mittaamme heijastussummaa käyttämällä LDR -arvoa. Jos jokin valo heijastaa eniten kuin kaksi muuta valoa, sen pinnan tulisi olla enimmäkseen heijastunut värillinen pinta.
Vaihe 3: Laitteiston asennus
Tämä hyvin yksinkertainen. Liitä RGB -moduulisi Magicbitin oikeaan yläkulmaan. Tässä moduulissa on WS2812B Neopixel LED. Tässä LED -valossa on 4 nastaa. Kaksi virtaa ja kaksi dataa sisään ja ulos. Koska käytämme yhtä lediä, tarvitsemme vain nastat ja tiedot nastassa. Jos sinulla ei ole kyseistä moduulia, voit ostaa Neopixel -moduulin. Jos ostit tällaisen moduulin, sinun on kytkettävä nastat ja tiedot nastassa Magicbitiin. Se on erittäin helppoa. Liitä Magicbitin VCC ja GND RGB -moduulin ja D33 -nastan datatappiin.
Vaihe 4: Ohjelmiston asennus
Suurin osa ohjelmoinnista. Käytämme Arduino IDE: tä Magicbitin ohjelmointiin. Koodissa käytämme paria kirjastoa. Ne ovat Adafruit Neopixel -kirjasto Neopixel LED -ohjaukseen ja Adafruit OLED -kirjasto OLED -kahvaan. Asetuksissa määritämme tulot ja lähdöt. Määritä myös sisäänrakennettu OLED -näyttö Magicbitissa. Silmukassa tarkistamme, että vasen painike on painettu tai ei Magicbitista. Jos sitä painetaan, tulosignaali on 0. Koska levy jo vetää sen ylös. Jos se painaa, teemme väritarkistuksen. Jos ei, näytöllä näkyy "ei väriä" -ilmoitus. Kun painiketta painetaan, sytytetään automaattisesti punaiset, vihreät ja siniset valot yksitellen ja tallennetaan värien heijastusmäärä kolmeen muuttujaan. Seuraavaksi vertailimme näitä arvoja ja valitsimme enimmäisarvon värin näytettäväksi lähtövärinä.
Liitä siis mikro -USB -kaapeli Magicbitiin ja valitse kortin tyyppi ja com -portit oikein. Lataa nyt koodi. Sitten on aika testata anturimme. Testaa tämä pitämällä punaista, vihreää tai sinistä pintapaperia tai arkkia LDR- ja RGB -moduulin päällä ja painamalla vasenta painiketta. Sitten OLED -näyttö näyttää pinnan värin. Jos tämä on väärin, syy on joidenkin värien voimakas valovoima. Esimerkkinä jokaisella vihreällä pinnalla lähtö on punainen, joten sinun on vähennettävä punaisen valon kirkkautta jostakin määrästä. Koska punaisella valolla on tällöin erittäin suuri kirkkaus. Joten sillä on korkea heijastus. Jos et tiedä kuinka hallita kirkkautta, katso opetusohjelma alla olevasta linkistä.
magicbit-arduino.readthedocs.io/en/latest/
Tästä linkistä löydät kuinka hallita kyseistä RGB -moduulia Magicbitista. Löydät myös kuinka työskennellä LDR: n ja painikkeen kanssa Magicbitin avulla. Lue asiakirja ja opi lisää värianturin parantamisesta. Koska tämä on hyvin yksinkertainen esimerkki värianturien toiminnasta. Useimmat värianturit toimivat tällä tavalla. Yritä siis parantaa tätä poistamalla ympäristön valomelu ja muut äänet.
Vaihe 5: Arduino -värianturin koodi
#sisältää
#define LED_PIN 33
#define LED_COUNT 1 Adafruit_NeoPixel LED (LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800); #Sisällytä #Sisällytä #Sisällytä #Määritä OLED_RESET 4 Adafruit_SSD1306 -näyttö (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 (painike, INPUT); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); viive (1000); display.clearDisplay (); Sarja.alku (9600); } void loop () {if (digitalRead (Button) == 0) {// jos painiketta painetaan LED.setPixelColor (0, LED. Color (0, 50, 0)); // punainen väri LED.show (); viive (100); R_arvo = analoginenLue (LDR); // hanki punainen kiinnitys LED.setPixelColor (0, LED. Väri (150, 0, 0)); // vihreänvärisellä LED.show (); viive (100); G_value = analoginenLue (LDR); // hanki vihreä kiinnitys LED.setPixelColor (0, LED. Color (0, 0, 255)); // on bluecolour LED.show (); viive (100); B_arvo = analoginenLue (LDR); // hanki sininen kiinnitys, jos (R_arvo> G_arvo && R_value> B_value) {// punainen heijastuu eniten Näyttö ("PUNAINEN", 3); } else if (G_value> R_value && G_value> B_value) {// vihreä heijastuu eniten Näyttö ("VIHREÄ", 3); } else if (B_value> R_value && B_value> G_value) {// sininen heijastuu eniten Näyttö ("SININEN", 3); } Serial.print ("RED ="); Serial.print (R_value); Serial.print ("VIHREÄ ="); Serial.print (G_value); Serial.print ("SININEN ="); Sarja.println (B_arvo); } else {LED.setPixelColor (0, LED. Color (0, 0, 0)); // pois RGB LED.show (); Näyttö ("NO COLOR", 2); }} mitätön näyttö (merkkijono yhteinen, sisäkoko) {// näytön tietojen näyttö.clearDisplay (); display.setTextSize (koko); // Normaali 1: 1 pikseliasteikko display.setTextColor (WHITE); // Piirrä valkoinen tekstinäyttö.setCursor (0, 20); // Aloita näytön vasemmasta yläkulmasta.println (commond); display.display (); }
Suositeltava:
DIY Yksinkertainen langaton latausjalusta: 12 vaihetta

DIY yksinkertainen langaton latausjalusta: Olemme kaikki nähneet langattomia latureita, jotka käyttävät laitteiden lataamiseen resonanssikytkentää. Mutta tässä on puhelinlaturi, jota voidaan käyttää useimpien matkapuhelimien lataamiseen
Yksinkertainen tutkajärjestelmä Magicbitista: 6 vaihetta

Yksinkertainen tutkajärjestelmä Magicbitista: Tämä opetusohjelma näyttää kuinka tehdä yksinkertainen tutkajärjestelmä käyttämällä HC-SR04-anturia ja Microbit-kehityskorttia prosessoinnilla ja Arduino IDE: llä
Itsetasapainottava robotti Magicbitista: 6 vaihetta

Magicbitin itsetasapainottava robotti: Tämä opetusohjelma näyttää, kuinka tehdä itsetasapainottava robotti Magicbit dev -levyn avulla. Käytämme magicbitia kehityskorttina tässä projektissa, joka perustuu ESP32: een. Siksi mitä tahansa ESP32 -kehityskorttia voidaan käyttää tässä projektissa
Tietojen visualisointi Magicbitista AWS: ssä: 5 vaihetta

Tietojen visualisointi Magicbitista AWS: ssä: Magicbitiin kytketyistä antureista kerätyt tiedot julkaistaan AWS IOT -ydelle MQTT: n kautta, jotta ne voidaan visualisoida graafisesti reaaliajassa. Käytämme magicbitia kehityskorttina tässä projektissa, joka perustuu ESP32: een. Siksi mikä tahansa ESP32 d
Smartbit Roskakori Magicbitista: 5 vaihetta

Smartbit -roskakori Magicbitista: Tässä opetusohjelmassa opimme kuinka tehdä älykäs roskakori Magicbit dev. kortti Arduino IDE: llä. Aloitetaan