Mundarija:
Video: RGB LED yordamida rangni aniqlash: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:29
Siz hech qachon ob'ektning rangini aniqlashning avtomatlashtirilgan usulini xohlaganmisiz? Ob'ektga ma'lum bir rangning yorug'ligini berib, orqada qancha yorug'lik aks etayotganiga qarab, siz uning qaysi rangda ekanligini bilib olishingiz mumkin. Masalan, agar siz qizil narsaga qizil chiroqni yoqsangiz, u nur qaytariladi. Agar siz qizil narsaga ko'k chiroqni yoqsangiz, ob'ekt uning bir qismini o'zlashtiradi va undan kamroq qismi aks etadi.
1 -qadam: kerakli qismlar
Men PIC 16F887 mikrokontrolleridan foydalandim, lekin puls-kenglik-modulyatsiya qobiliyatiga ega deyarli hamma ishlaydi. 1 RGB LED1 Mikrokontroller1 Standart qizil LED 1k ohmli rezistor1 Fotoresistor (uning nurlanishiga qarab qarshiligini o'zgartiradi) Ba'zi simlar Menga faqat rangli detektorlarning keng diapazoni bo'lishi uchun mikrokontroller va RGB LED kerak bo'ladi. bitta rangni aniqlaydi, sizga mikrokontroller kerak emas - faqat siz aniqlamoqchi bo'lgan rangdagi yorqin LED kerak. Oddiy qizil LED - "ko'rsatkichli LED" - to'g'ri rang aniqlanganda yonadi.
2 -qadam: O'chirish sxemasini yarating
Sxema juda sodda va umuman olganda quyida ko'rsatilgan. RGB LED tashqi tomondan PWM signali bilan quvvatlanadi, men fotorezistorga elektr tasmasini qo'yaman, shunda atrofdagi yorug'lik kirmaydi - faqat uning ustidagi yorug'lik aniqlanadi.
3 -qadam: Kod
Bu kod Microchip PIC 16F887 uchun yozilgan, lekin umid qilamanki, siz umumiy fikrga ega bo'lasiz. Men RGB LED-ning rang spektrini o'zgartirish uchun ishlab chiqish panelidagi o'rnatilgan potentsiometrdan foydalandim (va u butun spektr bo'ylab o'tmaydi, chunki menda 3 PWM moduli yo'q, lekin bu etarli darajada yaxshi) Sharhlar kiritilgan. #include #include #include "delay.c" #include #include #use delay (soat = 4000000) #FUSES INTRC, NOWDT, NOPUT, NOMCLR, NOPROTECT, NOCPD, NOBROWNOUT, NOIESO, NOFCMEN, NOLVP #bayt CCP1 bayt CCP2CON = 0x1D#bayt PWM1CON = 0x9Bint qiymati = 128; int p1 = 0; int p2 = 0; void my_setup_ccp1 (int8 qiymati) {output_low (PIN_C2); CCP1CON = qiymat; PWM1CON = 0;} bekor qilingan my_setup_ccp2 {output_low (PIN_C1); CCP2CON = qiymati;} // ================================ void main () {// A4 = photodiodeoutput_high uchun quvvat manbai (PIN_A4); output_high (PIN_B1); setup_adc (ADC_CLOCK_INTERNAL); set_adc_channel (0); setup_adc_ports (sAN0); // Timer/Interrupt setupenable_interrups_PP_P1 my_setup_ccp2 (CCP_PWM); setup_timer_2 (T2_DIV_BY_1, 128, 1); // setup_compare (2, COMPARE_PWM | COMPARE_TIMER2); while (1) {// PICning uyquga ketishini oldini oladi. // Pin A3 - bu fotodiod aloqasi, agar (kirish (PIN_A3) == 1) chiqish_yuqori (PIN_A4); else output_low (PIN_A4); // LED qiymatining rangini o'zgartirish uchun potansiometrning qiymatini o'qing = read_adc (); switch (qiymat) {0 holat: p1 = qiymat; chiqish_ past (PIN_C0); p2 = qiymat; tanaffus; 50 -holat: p1 = qiymat; chiqish_yuqori (PIN_C0); p2 = qiymat; tanaffus; 100 -holat: p1 = qiymat; chiqish_yuqori (PIN_C0); p2 = qiymat; tanaffus; 150 -holat: chiqish_yuqori (PIN_C0); p1 = 50; p2 = qiymat; tanaffus; ish 200: output_low (PIN_C0); p1 = 0; p2 = qiymat; tanaffus; holat 250: p1 = 0; p2 = qiymat; chiqish_ past (PIN_C0); tanaffus; } p1 = qiymat; p2 = 128 - p1; set_pwm1_duty (p1); set_pwm2_duty (p2);}}
4 -qadam: Arizalar
Bu kabi oddiy rang detektori robototexnika sohasida yoki legolarni rang bo'yicha ajratish, M & Mlarni saralash yoki rang ko'rligi uchun yordam sifatida ajoyib loyihalarda ishlatilishi mumkin. Umid qilamanki, bu ko'rsatma siz o'ylagan loyihani yaxshilashda yordam berdi!:) LEDlar ko'p narsalar uchun yaxshi ….
Tavsiya:
Rangni aniqlash bo'yoq mashinasi: 4 qadam
Rangni aniqlash bo'yoq mashinasi: Rangni aniqlash bo'yoq mashinasi atrofingizdagi ranglardan nusxa ko'chiradi va ular bilan chizishga imkon beradi. Agar sizda asosiy ranglarning bo'yog'i bo'lsa, siz xohlagan rangni sezish va aralashtirish uchun RGB rang sensoridan foydalanishingiz mumkin. Ammo esda tutingki, yorqin rangli ob'ektdan foydalaning
OpenCV yordamida oddiy rangni aniqlash: 6 qadam
OpenCV yordamida oddiy rangni aniqlash: Salom! Bugun men OpenCV va python yordamida jonli videodan rangni aniqlashning oddiy usulini ko'rsatmoqchiman, asosan, kerakli rangning fon ramkasida mavjudligini yoki yo'qligini tekshirib ko'raman va OpenCV modullari yordamida men bu hududni niqoblayman va
Yuzni aniqlash va aniqlash - OpenCV Python va Arduino yordamida Arduino Face ID: 6 qadam
Yuzni aniqlash va aniqlash | OpenCV Python va Arduino yordamida Arduino Face ID: yuzni aniqlash AKA yuz identifikatori hozirgi vaqtda mobil telefonlarning eng muhim xususiyatlaridan biridir. Shunday qilib, menda "Arduino loyihasi uchun yuz identifikatori bo'lishi mumkinmi?" Degan savol bor edi. va javob ha … Mening sayohatim quyidagicha boshlandi: 1 -qadam: Bizga kirish
Rangni aniqlash W/ TCS230 sensori va Arduino [Kalibrlash kodi kiritilgan]: 12 qadam
Rangni aniqlash W/ TCS230 Sensor va Arduino [Kalibrlash kodi kiritilgan]: Umumiy nuqtai Ushbu qo'llanmada siz TCS230 sensori va ranglarni tanib olish uchun uni Arduino bilan qanday ishlatishni bilib olasiz. Qo'llanma oxirida siz rang tanlash qalamini yaratishning ajoyib g'oyasini topasiz. Ushbu qalam yordamida siz ranglarni skanerlashingiz mumkin
IR-masofadan turib rangni aniqlash o'yini: 3 qadam
Rangni masofadan turib aniqlashning o'yini: Men sizga ko'rsatma beraman, RGB boshqaruvini IR-masofadan boshqarish pulti yordamida qanday boshqarishni va undan qiziqarli o'yin yasashni ko'rsataman