
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38
Chtěli jste někdy automatizovaný způsob detekce barvy předmětu? Zářící světlo určité barvy na předmět a pohled na to, kolik světla se odráží zpět, můžete zjistit, jakou barvu má předmět. Pokud například na červený předmět posvítíte červeným světlem, bude se toto světlo odrážet zpět. Pokud na červený předmět posvítíte modrým světlem, předmět část tohoto světla pohltí a méně se odrazí zpět.
Krok 1: Potřebné součásti
Použil jsem mikrokontrolér PIC 16F887, ale téměř jakýkoli s možností modulace šířky pulzu bude fungovat. 2 RGB LED detekuje jednu barvu, nepotřebujete mikrokontrolér - potřebujete pouze jasnou LED barvu, kterou chcete detekovat. Standardní červená LED je „indikační LED“- rozsvítí se, když je detekována správná barva.
Krok 2: Vybudujte obvod
Schéma je poměrně jednoduché a v obecné formě je uvedeno níže. RGB LED je externě napájena signálem PWM. Okolo fotorezistoru jsem umístil elektrickou pásku, aby se dovnitř nedostalo okolní světlo - bude detekováno pouze světlo přímo nad ním.
Krok 3: Kód
Tento kód byl napsán pro Microchip PIC 16F887, ale doufejme, že získáte obecnou představu. Vestavěný potenciometr na mé vývojové desce měnil barevné spektrum RGB LED (a neprochází celým spektrem, protože nemám 3 PWM moduly, ale je to dost dobré) Včetně komentářů. #include #include #include "delay.c" #include #include #use delay (clock = 4000000) #FUSES INTRC, NOWDT, NOPUT, NOMCLR, NOPROTECT, NOCPD, NOBROWNOUT, NOIESO, NOFCMEN, NOLVP #byte CCP1CON = 0x17 # byte CCP2CON = 0x1D#byte PWM1CON = 0x9Bint hodnota = 128; int p1 = 0; int p2 = 0; neplatné my_setup_ccp1 (hodnota int8) {output_low (PIN_C2); CCP1CON = hodnota; PWM1CON = 0;} neplatná moje_setup_ccp2 {output_low (PIN_C1); CCP2CON = hodnota;} // =================================================== () {// A4 = zdroj energie pro photodiodeoutput_high (PIN_A4); output_high (PIN_B1); setup_adc (ADC_CLOCK_INTERNAL); set_adc_channel (0); setup_adc_ports (sAN0); // Timer/Interrupt setupenable_interrupts (INT_TIM2) my_setup_ccp2 (CCP_PWM); setup_timer_2 (T2_DIV_BY_1, 128, 1); // setup_compare (2, COMPARE_PWM | COMPARE_TIMER2); while (1) {// Zabránění přechodu PIC do režimu spánku. //SET PWM DUTY CYCLE output_high (PIN) // Pin A3 je připojení fotodiody if (vstup (PIN_A3) == 1) output_high (PIN_A4); else output_low (PIN_A4); // Načtení hodnoty potenciometru pro změnu barvy hodnoty LED = read_adc (); přepínač (hodnota) {případ 0: p1 = hodnota; output_low (PIN_C0); p2 = hodnota; přestávka; případ 50: p1 = hodnota; output_high (PIN_C0); p2 = hodnota; přestávka; případ 100: p1 = hodnota; output_high (PIN_C0); p2 = hodnota; přestávka; případ 150: output_high (PIN_C0); p1 = 50; p2 = hodnota; přestávka; případ 200: output_low (PIN_C0); p1 = 0; p2 = hodnota; přestávka; případ 250: p1 = 0; p2 = hodnota; output_low (PIN_C0); přestávka; } p1 = hodnota; p2 = 128 - p1; set_pwm1_duty (p1); set_pwm2_duty (p2);}}
Krok 4: Aplikace
Jednoduchý detektor barev, jako je tento, lze použít v robotice nebo pro skvělé projekty, jako je oddělování lega podle barev, třídění M & M nebo jako pomůcka pro barvoslepost. Naštěstí tento návod pomohl vylepšit projekt, který jste měli na mysli!:) LED diody jsou dobré pro tolik věcí….
Doporučuje:
Jak vyrobit bezdotykový zvonek, detekce tělesné teploty, GY-906, 433 MHz pomocí Arduina: 3 kroky

Jak vyrobit bezdotykový zvonek, detekce tělesné teploty, GY-906, 433 MHz pomocí Arduina: Dnes vyrobíme nedotykový zvonek, který bude detekovat vaši tělesnou teplotu. V současné situaci je velmi důležité vědět, zda je někdo tělesná teplota vyšší než normální, když někdo kohoutuje. Tento projekt zobrazí červené světlo, pokud detekuje
Jednoduchá detekce barev pomocí OpenCV: 6 kroků

Jednoduchá detekce barev pomocí OpenCV: Ahoj! Dnes ukážu jednoduchou metodu detekce barvy ze živého videa pomocí OpenCV a pythonu. V zásadě jen otestuji, zda je požadovaná barva v pozadí pozadí nebo ne, a pomocí modulů OpenCV tuto oblast zamaskuji a
Detekce barev v Pythonu pomocí OpenCV: 8 kroků

Detekce barev v Pythonu pomocí OpenCV: Dobrý den! Tento instruktáž slouží k tomu, jak extrahovat konkrétní barvu z obrázku v pythonu pomocí knihovny openCV. Pokud jste v této technice nováčkem, nebojte se, na konci této příručky budete moci naprogramovat vlastní barvu
Sledování objektů na základě detekce barev: 10 kroků

Sledování objektů na základě detekce barev: Příběh Tento projekt jsem provedl, abych se naučil zpracování obrazu pomocí Raspberry PI a otevřeného CV. Aby byl tento projekt zajímavější, použil jsem dva servomotory SG90 a namontoval na něj kameru. Jeden motor sloužil k pohybu vodorovně a druhý motor k pohybu svisle
Jak vytvořit projekt třídění barev pomocí Microbit?: 4 kroky

Jak vytvořit projekt třídění barev pomocí Microbit ?: Cíle projektu Po stažení programu vidíme, že mikro: bitová LED matice ukazuje „srdce“, inicializuje servo 90 °. Když na barevný senzor položíme modré nebo žluté věci, servo otočí různé úhly, klasifikuje některé různé