Cuprins:
- Provizii
- Pasul 1: Poveste
- Pasul 2: Teorie și metodologie
- Pasul 3: Configurare hardware
- Pasul 4: Configurare software
- Pasul 5: Codul Arduino al senzorului de culoare
Video: Senzor de culoare DIY simplu de la Magicbit: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
În acest tutorial vom învăța despre cum să faci un senzor de culoare simplu folosind Magicbit cu Arduino.
Provizii
- Magicbit
- Cablu USB-A la Micro-USB
Pasul 1: Poveste
Bună băieți, uneori trebuie să folosiți senzori de culoare în anumite scopuri. Dar poate că nu știi cum funcționează. Deci, în acest tutorial veți afla despre cum să creați un senzor de culoare DIY simplu folosind Magicbit cu Arduino. Să începem.
Pasul 2: Teorie și metodologie
În acest proiect ne așteptăm să vă învățăm să construiți senzori de culoare care să poată detecta culorile roșu, verde și albastru. Acesta este un exemplu foarte simplu. Deci, cum să faceți acest lucru. În acest scop folosim modulul RGB al Magicbit și LDR încorporat. Mai întâi de toate, trebuie să aflați ceva teorie. Este vorba despre cantitatea de reflexie a luminii. Acum îți pun întrebări. Ce suprafață colorată care reflectă cel mai mult lumina de culoare roșie? Și ce suprafețe care reflectă în cea mai mare parte luminile verzi și albastre. Gândește puțin. Dar răspunsul este simplu. Suprafața de culoare roșie reflectă în cea mai mare parte culoarea roșie a luminii. De asemenea, suprafețele verzi și albastre vor reflecta luminile verzi și albastre. Deci, în acest proiect folosim această teorie. Pentru a recunoaște culoarea, emitem roșu, verde și albastru lumini unul câte unul. De fiecare dată măsurăm cantitatea de reflexie utilizând valoarea LDR. Dacă o anumită lumină va da cea mai mare reflexie decât alte două lumini, atunci suprafața respectivă ar trebui să fie cea mai mare parte reflectată suprafață colorată.
Pasul 3: Configurare hardware
Acest lucru este foarte simplu. Conectați modulul RGB la portul din dreapta sus al Magicbit. Acest modul are LED Neopixel WS2812B. Acest LED are 4 pini. Două pentru putere și două pentru intrarea și ieșirea datelor. Deoarece folosim un led, avem nevoie doar de pini de alimentare și de date în pin. Dacă nu aveți acel modul, puteți cumpăra și modulul Neopixel. Dacă ați cumpărat acest tip de modul, trebuie să conectați pinii de alimentare și datele în pin la Magicbit. Este foarte ușor. Conectați VCC și GND ale Magicbit la pinii de alimentare ai modulului RGB și pinul D33 la pinul de date.
Pasul 4: Configurare software
Cea mai mare parte realizată de programare. Folosim Arduino IDE pentru a ne programa Magicbit. În cod folosim câteva biblioteci. Acestea sunt biblioteca Adafruit Neopixel pentru control Neopixel LED și biblioteca Adafruit OLED pentru mâner OLED. În configurare ne configurăm intrările și ieșirile. De asemenea, configurați afișajul OLED încorporat pe Magicbit. În buclă verificăm dacă butonul din stânga este apăsat sau nu din Magicbit. Dacă a fost apăsat, semnalul de intrare este 0. Deoarece este deja tras de placa. Dacă a fost apăsat, atunci facem verificarea culorilor. Dacă nu, ecranul va afișa declarația „fără culoare”. Când butonul este apăsat, porniți automat luminile roșii, verzi și albastre unul câte unul și stocați cantitatea de reflexie a culorilor în trei variabile. Apoi am comparat acele valori și am selectat valoarea maximă a culorii pentru a fi afișată ca culoare de ieșire.
Deci, conectați cablul micro USB la Magicbit și selectați corect tipul de placă și porturile com. Acum încărcați codul. Atunci este timpul să ne testăm senzorul. Pentru a testa acest lucru, păstrați hârtia sau foaia roșie, verde sau albastră pe modulul LDR și RGB și apăsați butonul stânga. Apoi, ecranul OLED va arăta care este culoarea suprafeței. Dacă acest lucru este greșit, motivul este că unele culori au o intensitate ridicată a luminii. De exemplu, în fiecare suprafață verde, ieșirea este roșie, atunci trebuie să reduceți luminozitatea luminii roșii de la o anumită cantitate. Deoarece lumina roșie are o luminozitate foarte mare în acest caz. Deci au o reflectare ridicată. Dacă nu știți cum să controlați luminozitatea, consultați tutorialul în linkul de mai jos.
magicbit-arduino.readthedocs.io/en/latest/
În acest link puteți găsi cum să controlați acel modul RGB de la Magicbit. Și, de asemenea, puteți găsi cum să lucrați cu LDR și butonul cu ajutorul Magicbit. Citiți acel document și studiați în continuare cum să îmbunătățiți senzorul de culoare. Deoarece acesta este un exemplu foarte simplu despre modul în care funcționează senzorii de culoare. Majoritatea tipurilor de senzori de culoare funcționează în acest fel. Deci, încercați să îmbunătățiți acest lucru eliminând zgomotul luminii ambientale și alte zgomote.
Pasul 5: Codul Arduino al senzorului de culoare
#include
#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 Afișaj Adafruit_SSD1306 (128, 64); #define LDR 36 #define Butonul 35 int R_value, G_value, B_value; void setup () {LED.begin (); LED.show (); pinMode (LDR, INPUT); pinMode (Buton, INPUT); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); întârziere (1000); display.clearDisplay (); Serial.begin (9600); } void loop () {if (digitalRead (Buton) == 0) {// dacă butonul este apăsat LED.setPixelColor (0, LED. Color (0, 50, 0)); // pe culoarea roșie LED.show (); întârziere (100); R_value = analogRead (LDR); // obțineți montare roșie LED.setPixelColor (0, LED. Color (150, 0, 0)); // pe greencolour LED.show (); întârziere (100); G_value = analogRead (LDR); // get green mount LED.setPixelColor (0, LED. Color (0, 0, 255)); // pe bluecolour LED.show (); întârziere (100); B_value = analogRead (LDR); // obțineți montarea albastră dacă (R_value> G_value && R_value> B_value) {// roșu este cel mai reflectat Afișaj ("RED", 3); } else if (G_value> R_value && G_value> B_value) {// verde este cel mai reflectat Afișaj ("GREEN", 3); } else if (B_value> R_value && B_value> G_value) {// albastru este cel mai reflectat Afișaj ("BLUE", 3); } Serial.print ("RED ="); Serial.print (R_value); Serial.print ("VERDE ="); Serial.print (G_value); Serial.print ("ALBASTRU ="); Serial.println (B_value); } else {LED.setPixelColor (0, LED. Color (0, 0, 0)); // oprit RGB LED.show (); Afișaj („FĂRĂ CULOARE”, 2); }} void Display (String commond, int size) {// display data display.clearDisplay (); display.setTextSize (dimensiune); // Normal 1: 1 pixel display display.setTextColor (WHITE); // Desenați textul alb display.setCursor (0, 20); // Începeți din colțul din stânga sus display.println (commond); display.display (); }
Recomandat:
Sistem radar simplu de la Magicbit: 6 pași
Sistem de radar simplu de la Magicbit: Acest tutorial arată cum să faci un sistem de radar simplu folosind senzorul HC-SR04 și placa de dezvoltare Microbit cu procesare și ID-uri Arduino
Recunoaștere culoare W / TCS230 senzor și Arduino [Cod de calibrare inclus]: 12 pași
Color Recognition W / TCS230 Sensor and Arduino [Calibration Code Included]: Prezentare generală În acest tutorial, veți afla despre senzorul TCS230 și cum să-l utilizați cu Arduino pentru a recunoaște culorile. La sfârșitul acestui tutorial, veți găsi o idee fascinantă de a crea un stilou de selecție a culorilor. Cu acest stilou, puteți scana culorile
Senzor de culoare cu ecran LCD: 6 pași
Senzor de culoare cu ecran LCD: Scopul este de a crea un dispozitiv care să permită persoanelor daltoniste să detecteze culorile fără a fi nevoie să vadă culoarea. Utilizând ecranul LCD cu senzorul, culoarea va fi preluată, apoi transferată în cuvinte pe ecranul LCD. Acest dispozitiv va
Senzor de culoare: 5 pași (cu imagini)
Senzor de culoare: Descriere: Modulul senzorului de culoare este un detector de culoare complet, care include 4 LED-uri albe și cip senzor TAOS TCS3200 RGB. Cele patru LED-uri albe pentru a oferi o sursă de lumină cu spectru larg. TCS230 are o gamă de 8 x 8 de fotodiode cu filtre de culoare
Un senzor de culoare vorbitor, bazat pe kitul vocal AIY: 4 pași
Un senzor de culoare vorbitor, bazat pe kitul vocal AIY: După ce am aflat puțin despre Braille recent, mă întrebam dacă aș putea construi ceva folosind kitul vocal AIY pentru Raspberry Pi, care ar putea avea un beneficiu real pentru persoanele cu deficiențe de vedere . Deci, descris în cele ce urmează, veți găsi un prototip