Мазмұны:
- Жабдықтар
- 1 -қадам: Әңгіме
- 2 -қадам: Теория мен әдістеме
- 3 -қадам: Жабдықты орнату
- 4 -қадам: Бағдарламалық қамтамасыз етуді орнату
- 5 -қадам: Arduino түс сенсорының коды
Бейне: Magicbit -тен қарапайым DIY түс сенсоры: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Бұл оқулықта біз Magicbit көмегімен Arduino көмегімен қарапайым түсті сенсорды қалай жасау керектігін білеміз.
Жабдықтар
- Magicbit
- USB-A-Micro-USB кабелі
1 -қадам: Әңгіме
Сәлем балалар, кейде түс сенсорларын кейбір мақсаттарда қолдануға тура келеді. Бірақ сіз олардың қалай жұмыс істейтінін білмейсіз. Сонымен, бұл оқулықта сіз Magicbit көмегімен Arduino көмегімен қарапайым DIY түс сенсорын қалай жасау керектігін білесіз. Бастайық.
2 -қадам: Теория мен әдістеме
Бұл жобада біз сізге қызыл, жасыл және көк түстерді анықтай алатын түс сенсорын құруды үйретеміз деп күтеміз. Бұл өте қарапайым мысал. Сонымен, мұны қалай жасауға болады. Ол үшін біз Magicbit және кіріктірілген LDR RGB модулін қолданамыз. Алдымен сіз кейбір теорияны білуіңіз керек. Бұл жарықтың шағылу мөлшері туралы. Енді мен сізден сұрақ қоямын. Қандай түсті бет қызыл түсті жарықты көбірек көрсетеді, сонымен қатар көбінесе жасыл және көк шамдарды көрсететін беттер. Кішкене ойланыңыз. Бірақ жауап қарапайым. Қызыл түсті бет негізінен қызыл түсті жарықты көрсетеді. Жасыл және көк беттер жасыл және көк шамдарды көрсетеді. Сондықтан бұл жобада біз бұл теорияны қолданамыз. Түсті тану үшін біз қызыл, жасыл және көк шамдарды бір -бірлеп шығарамыз. Әр уақытта біз LDR мәнін қолдана отырып, шағылысу мөлшерін өлшейміз, егер кейбір жарық басқа екі шамға қарағанда көбірек шағылысатын болса, онда бұл бет негізінен түсті бетке шағылысуы керек.
3 -қадам: Жабдықты орнату
Бұл өте қарапайым. RGB модулін Magicbit жоғарғы оң жақ портына қосыңыз. Бұл модульде WS2812B неопиксельді жарық диоды бар. Бұл жарық диодында 4 түйреуіш бар. Қуат үшін екеуі және деректерді енгізу және шығару үшін екеуі. Біз бір жарықдиодты қолданатындықтан, бізге тек түйреуіштер мен түйреуіштердегі деректер қажет. Егер сізде бұл модуль болмаса, сіз Neopixel модулін сатып ала аласыз. Егер сіз осындай модульді сатып алған болсаңыз, Magicbit -ке қуат түйреуіштері мен пиндегі деректерді қосу керек. Бұл өте оңай. Magicbit VCC және GND құрылғысын RGB модулінің қуат түйреуіштеріне, ал D33 түйреуішін деректер түйреуішіне қосыңыз.
4 -қадам: Бағдарламалық қамтамасыз етуді орнату
Көп бөлігі бағдарламалау арқылы жүзеге асады. Біз Magicbit бағдарламалау үшін Arduino IDE қолданамыз. Кодта біз бірнеше кітапхананы қолданамыз. Бұл Neopixel LED басқару үшін Adafruit Neopixel кітапханасы және OLED тұтқасы үшін Adafruit OLED кітапханасы. Орнатуда біз кірістер мен шығыстарды конфигурациялаймыз. Сондай -ақ Magicbit -те кірістірілген OLED дисплейін конфигурациялаңыз. Циклда біз Magicbit -тің сол жақ батырмасы басылғанын немесе басылмағанын тексереміз. Егер ол басылса, кіріс сигналы 0. Себебі оны тақта көтеріп қойған. Егер ол басылса, біз түстерді тексереміз. Олай болмаған жағдайда экранда «түс жоқ» деген жазу шығады. Түйме басылғаннан кейін қызыл, жасыл және көк шамдарды автоматты түрде қосады және түстердің шағылу мөлшерін үш айнымалыға сақтайды. Содан кейін біз бұл мәндерді салыстырдық және шығыс түсі ретінде көрсетілетін максималды мән түсін таңдаймыз.
Сондықтан Micro USB кабелін Magicbit -ке жалғап, тақтаның түрі мен порттарын дұрыс таңдаңыз. Енді кодты жүктеңіз. Содан кейін сенсорды тексеретін уақыт келді. Мұны тексеру үшін қызыл, жасыл немесе көк бетті LDR мен RGB модулінде ұстаңыз және сол жақ батырманы басыңыз. Содан кейін OLED дисплейі беттің түсі қандай болатынын көрсетеді. Егер бұл қате болса, онда кейбір түстердің жарық қарқындылығы жоғары. Мысал ретінде әрбір жасыл бетте шығыс қызыл болады, содан кейін қызыл шамның жарықтығын белгілі бір мөлшерден төмендетуге тура келеді. Өйткені бұл жағдайда қызыл жарық өте жоғары жарықтылыққа ие. Сондықтан ол жоғары рефлексияға ие. Егер сіз жарықтықты қалай басқаруға болатынын білмесеңіз, төмендегі сілтемедегі оқулықты қараңыз.
magicbit-arduino.readthedocs.io/kz/latest/
Бұл сілтемеде сіз RGB модулін Magicbit -тен қалай басқаруға болатынын біле аласыз. Сондай -ақ, сіз LDR -мен қалай жұмыс істеу керектігін білесіз және Magicbit көмегімен түймені басасыз. Бұл құжатты оқыңыз және түс сенсорын қалай жақсартуға болатынын біліңіз. Бұл түс сенсорларының қалай жұмыс істейтіні туралы қарапайым мысал. Түсті сенсорлардың көпшілігі осылай жұмыс істейді. Сондықтан оны қоршаған ортадағы шу мен басқа да шуылдарды жою арқылы жақсартуға тырысыңыз.
5 -қадам: Arduino түс сенсорының коды
#қосу
33. LED_PIN анықтаңыз
#LED_COUNT анықтаңыз 1 Adafruit_NeoPixel LED (LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800); #қосу #қосу #қосу #анықтау OLED_RESET 4 Adafruit_SSD1306 дисплейі (128, 64); #define LDR 36 #define батырмасы 35 int R_value, G_value, B_value; void setup () {LED.begin (); LED.show (); pinMode (LDR, INPUT); pinMode (Түйме, INPUT); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); кешіктіру (1000); display.clearDisplay (); Serial.begin (9600); } void loop () {if (digitalRead (Button) == 0) {// егер түйме басылса LED.setPixelColor (0, LED. Color (0, 50, 0)); // redcolour LED.show () бойынша; кешіктіру (100); R_value = analogRead (LDR); // қызыл түске ие LED.setPixelColor (0, LED. Color (150, 0, 0)); // greencolour LED.show (); кешіктіру (100); G_value = analogRead (LDR); // жасыл түске ие болыңыз LED.setPixelColor (0, LED. Color (0, 0, 255)); // bluecolour LED.show () бойынша; кешіктіру (100); B_value = analogRead (LDR); // көк түске ие болыңыз, егер (R_value> G_value && R_value> B_value) {// қызыл түс ең көп бейнеленсе («ҚЫЗЫЛ», 3); } else if (G_value> R_value && G_value> B_value) {// green ең көп бейнеленген Дисплей («ЖАСЫЛ», 3); } else if (B_value> R_value && B_value> G_value) {// blue ең көп бейнеленген Дисплей («КӨК», 3); } Serial.print («ҚЫЗЫЛ =»); Serial.print (R_ мәні); Serial.print («GREEN =»); Serial.print (G_value); Serial.print («КӨК =»); Serial.println (B_ мәні); } басқа {LED.setPixelColor (0, LED. Color (0, 0, 0))); // өшірілген RGB LED.show (); Дисплей («NO COLOR», 2); }} void Display (String commond, int size) {// ақпаратты көрсету display.clearDisplay (); display.setTextSize (өлшем); // Қалыпты 1: 1 пиксель масштабы display.setTextColor (WHITE); // Draw white text display.setCursor (0, 20); // Дисплейдің жоғарғы сол жақ бұрышынан бастаңыз.println (commond); display.display (); }
Ұсынылған:
Оқулық: Arduino UNO көмегімен RGB түс детекторы сенсоры TCS230 қалай қолданылады: 3 қадам
Оқу құралы: Arduino UNO көмегімен RGB түс детекторының сенсоры TCS230 қалай қолдану керек: Сипаттама: Бұл оқулықта Arduino Uno көмегімен RGB түс детекторы сенсорын пайдалану туралы бірнеше қарапайым қадамдар көрсетіледі. Бұл оқулықтың соңында сіз бірнеше түстерді салыстыратын көптеген нәтижелерді аласыз
СКД экраны бар түс сенсоры: 6 қадам
СКД экраны бар түс сенсоры: Мақсаты - соқырларға түстерді көрмей -ақ түстерді анықтауға мүмкіндік беретін құрылғыны құру. СКД экранын сенсормен қолдану арқылы түсі алынады, содан кейін СКД экранына сөздерге ауысады. Бұл құрылғы
RFID + Түс сенсоры IoT жобасы: 7 қадам
RFID + Color Sensor IoT жобасы: Бұл жобаның идеясы кофе шыныаяқтарын ішіп, оларды дұрыс тастаған адамдарды марапаттау болып табылады. Мысалы, Тим Хортонс сияқты компанияны алайық; 2014 жылы олар жылына 2 миллиард шыныаяқ кофе беретінін жазды. Олардың шыныаяқтарын қайта өңдеуге болатынына қарамастан
Arduino WiFi желісі (сенсорлар мен іске қосқыштар) - түс сенсоры: 4 қадам
Arduino WiFi желісі (сенсорлар мен іске қосқыштар) - түс сенсоры: сізден қанша қашықтықта сенсор немесе жетегіңіз бар? Wi-Fi желісі арқылы қосылған әр түрлі қосалқы құрылғыларды басқару үшін компьютердің жанындағы бір ғана негізгі құрылғыны пайдалану қаншалықты ыңғайлы? Бұл жобада
Түс сенсоры: 5 қадам (суреттермен)
Түс сенсоры: Сипаттама: Түсті сенсорлық модуль - бұл 4 түсті жарық диодты және TAOS TCS3200 RGB сенсорлық чипін қамтитын толық түсті детектор. Кең спектрлі жарық көзін қамтамасыз ететін төрт ақ түсті жарықдиодты. TCS230 8 x 8 фотодиодтардың түрлі -түсті сүзгілері бар