Satura rādītājs:
- Piegādes
- 1. darbība: stāsts
- 2. darbība: teorija un metodoloģija
- 3. darbība. Aparatūras iestatīšana
- 4. solis: programmatūras iestatīšana
- 5. solis: Arduino krāsu sensora kods
Video: Vienkāršs DIY krāsu sensors no Magicbit: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Šajā apmācībā mēs uzzināsim, kā izveidot vienkāršu krāsu sensoru, izmantojot Magicbit ar Arduino.
Piegādes
- Magicbit
- Kabelis no USB-A līdz mikro-USB
1. darbība: stāsts
Sveiki puiši, dažos gadījumos dažos nolūkos jums ir jāizmanto krāsu sensori. Bet, iespējams, jūs nezināt, kā tie darbojas. Tātad šajā apmācībā jūs uzzināsit, kā izveidot vienkāršu DIY krāsu sensoru, izmantojot Magicbit ar Arduino. Sāksim darbu.
2. darbība: teorija un metodoloģija
Šajā projektā mēs ceram iemācīt jums izveidot krāsu sensoru, kas var noteikt sarkano, zaļo un zilo krāsu. Tas ir ļoti vienkāršs piemērs. Tātad, kā to izdarīt. Šim nolūkam mēs izmantojam Magicbit RGB moduli un iebūvēto LDR. Vispirms jums jāapgūst kāda teorija. Tas ir par gaismas atstarošanas daudzumu. Tagad es uzdodu jums jautājumu. Kāda krāsaina virsma visvairāk atspoguļo sarkano gaismu? Arī kādas virsmas, kas galvenokārt atspoguļo zaļo un zilo gaismu. Padomā mazliet. Bet atbilde ir vienkārša. Sarkanā virsma galvenokārt atspoguļo sarkano gaismu. Arī zaļās un zilās virsmas atspoguļos zaļo un zilo gaismu. Tātad šajā projektā mēs izmantojam šo teoriju. Lai atpazītu krāsu, mēs pa vienam izstarojam sarkanas, zaļas un zilas gaismas. Katru reizi, kad mēs izmērām atstarojuma daudzumu, izmantojot LDR vērtību. Ja kāda gaisma atstaro visvairāk, nekā pārējās divas gaismas, tad šai virsmai galvenokārt jābūt atstarotai krāsainai virsmai.
3. darbība. Aparatūras iestatīšana
Šis ir ļoti vienkāršs. Pievienojiet RGB moduli Magicbit augšējā labajā portā. Šim modulim ir WS2812B Neopixel LED. Šim LED ir 4 tapas. Divi jaudai un divi datu ieejai un izejai. Tā kā mēs izmantojam vienu vadu, mums ir vajadzīgas tikai strāvas tapas un dati tapā. Ja jums nav šī moduļa, varat iegādāties Neopixel moduli. Ja esat iegādājies šāda veida moduli, jums ir jāpievieno barošanas tapas un dati pin ar Magicbit. Tas ir ļoti viegli. Savienojiet Magicbit VCC un GND ar RGB moduļa strāvas tapām un D33 tapu ar datu tapu.
4. solis: programmatūras iestatīšana
Lielāko daļu paveica programmēšana. Magicbit programmēšanai mēs izmantojam Arduino IDE. Kodā mēs izmantojam pāris bibliotēkas. Tās ir Adafruit Neopixel bibliotēka Neopixel LED kontrolei un Adafruit OLED bibliotēka OLED rokturim. Iestatīšanas laikā mēs konfigurējam savas ieejas un izejas. Konfigurējiet arī Magicbit iebūvēto OLED displeju. Ciklā mēs pārbaudām, vai kreisās puses spiedpoga ir nospiesta vai nav Magicbit. Ja tas tika nospiests, ievades signāls ir 0. Tā kā tāfele to jau ir izvilkusi. Ja tas tiek nospiests, mēs pārbaudām krāsu. Ja nē, ekrānā parādīsies paziņojums "bez krāsas". Nospiežot pogu, automātiski pa vienam ieslēdziet sarkanās, zaļās un zilās gaismas un saglabājiet krāsu atstarojuma daudzumu trīs mainīgos. Tālāk mēs salīdzinājām šīs vērtības un izvēlējāmies maksimālās vērtības krāsu, lai parādītu to kā izvades krāsu.
Tāpēc pievienojiet mikro USB kabeli Magicbit un pareizi izvēlieties tāfeles tipu un com portus. Tagad augšupielādējiet kodu. Tad ir pienācis laiks pārbaudīt mūsu sensoru. Lai to pārbaudītu, turiet LDR un RGB moduļa sarkanu, zaļu vai zilu papīru vai loksnes virsu un nospiediet kreiso spiedpogu. Tad OLED displejs parādīs, kāda ir virsmas krāsa. Ja tas nav pareizi, iemesls ir tas, ka kādai krāsai ir augsta gaismas intensitāte. Piemēram, katrai zaļai virsmai izeja ir sarkana, tad jums ir jāsamazina sarkanās gaismas spilgtums no kāda daudzuma. Tā kā sarkanajai gaismai šajā gadījumā ir ļoti augsts spilgtums. Tātad tam ir augsta atstarošana. Ja jūs nezināt, kā kontrolēt spilgtumu, skatiet pamācību zemāk esošajā saitē.
magicbit-arduino.readthedocs.io/en/latest/
Šajā saitē varat uzzināt, kā kontrolēt šo RGB moduli no Magicbit. Un arī jūs atradīsit, kā strādāt ar LDR un spiedpogu, izmantojot Magicbit. Izlasiet šo dokumentu un tālāk izpētiet, kā uzlabot krāsu sensoru. Tā kā tas ir ļoti vienkāršs piemērs tam, kā darbojas krāsu sensori. Lielākā daļa krāsu sensoru veidu darbojas šādā veidā. Tāpēc mēģiniet to uzlabot, novēršot apkārtējās gaismas troksni un citus trokšņus.
5. solis: Arduino krāsu sensora kods
#iekļaut
#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 displejs (128, 64); #define LDR 36 #define Button 35 int R_value, G_value, B_value; void setup () {LED.begin (); LED.šovs (); pinMode (LDR, INPUT); pinMode (poga, INPUT); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); kavēšanās (1000); display.clearDisplay (); Sērijas sākums (9600); } void loop () {if (digitalRead (Button) == 0) {// ja tiek nospiesta poga LED.setPixelColor (0, LED. Color (0, 50, 0)); // uz sarkanās krāsas LED.show (); kavēšanās (100); R_value = analogRead (LDR); // get red mount LED.setPixelColor (0, LED. Color (150, 0, 0)); // on greencolour LED.show (); kavēšanās (100); G_value = analogRead (LDR); // get green mount LED.setPixelColor (0, LED. Color (0, 0, 255)); // uz zilās krāsas LED.show (); kavēšanās (100); B_value = analogRead (LDR); // iegūt zilu stiprinājumu, ja (R_value> G_value && R_value> B_value) {// sarkanā krāsa ir visvairāk atspoguļota Displejs ("RED", 3); } else if (G_value> R_value && G_value> B_value) {// zaļā krāsa ir visvairāk atspoguļota Displejs ("GREEN", 3); } cits if (B_value> R_value && B_value> G_value) {// zils ir visvairāk atspoguļots Displejs ("BLUE", 3); } Serial.print ("RED ="); Serial.print (R_value); Serial.print ("GREEN ="); Serial.print (G_value); Serial.print ("BLUE ="); Serial.println (B_value); } cits {LED.setPixelColor (0, LED. Color (0, 0, 0)); // izslēgts RGB LED.show (); Displejs ("NO COLOR", 2); }} void Display (String commond, int size) {// displeja datu display.clearDisplay (); display.setTextSize (izmērs); // Parasts 1: 1 pikseļu mēroga displejs.setTextColor (WHITE); // Zīmēt balta teksta displeju.setCursor (0, 20); // Sāciet displejā augšējā kreisajā stūrī.println (commond); display.display (); }
Ieteicams:
Krāsu noteikšanas krāsu iekārta: 4 soļi
Krāsu noteikšanas krāsu iekārta: Krāsu noteikšanas krāsu iekārta kopē krāsas ap jums un ļauj zīmēt ar tām. Ja jums ir primāro krāsu krāsa, varat izmantot RGB krāsu sensoru, lai saprastu vēlamo krāsu un to sajauktu. Bet atcerieties, izmantojiet spilgtas krāsas objektu
Krāsu sensors ar LCD ekrānu: 6 soļi
Krāsu sensors ar LCD ekrānu: Mērķis ir izveidot ierīci, kas ļautu daltoniķiem noteikt krāsas, neredzot krāsu. Izmantojot LCD ekrānu ar sensoru, krāsa tiks uztverta un pēc tam pārnesta uz vārdiem uz LCD ekrāna. Šī ierīce jūs
Arduino WiFi tīkls (sensori un izpildmehānismi) - krāsu sensors: 4 soļi
Arduino WiFi tīkls (sensori un izpildmehānismi) - krāsu sensors: Cik reizes jūsu lietojumprogrammās jums ir kāds sensors vai kāds izpildmehānisms tālu no jums? Cik varētu būt ērti izmantot tikai vienu galveno ierīci datora tuvumā, lai pārvaldītu dažādas vergu ierīces, kas savienotas, izmantojot Wi-Fi tīklu? Šajā projektā
Krāsu sensors: 5 soļi (ar attēliem)
Krāsu sensors: Apraksts: Krāsu sensora modulis ir pilnīgs krāsu detektors, ieskaitot 4 baltas gaismas diodes un TAOS TCS3200 RGB sensoru mikroshēmu. Četras baltas gaismas diodes nodrošina plaša spektra gaismas avotu. TCS230 ir 8 x 8 fotodiodes ar krāsu filtriem
Runājošs krāsu sensors, pamatojoties uz AIY balss komplektu: 4 soļi
Runājošs krāsu sensors, pamatojoties uz AIY balss komplektu: Nesen uzzinājis par Braila rakstu, es domāju, vai es varētu kaut ko izveidot, izmantojot AIY balss komplektu Raspberry Pi, kas varētu dot reālu labumu redzes invalīdiem . Tālāk aprakstīts, jūs atradīsit prototipu