
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:14
Hiç bir nesnenin rengini algılamanın otomatik bir yolunu istediniz mi? Nesneye belirli bir renkteki ışık parlayarak ve ne kadar ışığın geri yansıdığına bakarak nesnenin hangi renk olduğunu anlayabilirsiniz. Örneğin, kırmızı bir nesneye kırmızı bir ışık tutarsanız, o ışık geri yansır. Kırmızı bir nesneye mavi bir ışık tutarsanız, nesne bu ışığın bir kısmını emecek ve daha azı geri yansıtılacaktır.
Adım 1: Gerekli Parçalar
Bir PIC 16F887 Mikrodenetleyici kullandım, ancak darbe genişlik modülasyonu özelliğine sahip hemen hemen her şey çalışacaktır. 1 RGB LED1 Mikrodenetleyici1 Standart kırmızı LED1 1k ohm direnç1 Fotodirenç (üzerine gelen ışığın miktarına bağlı olarak direnci değiştirir)Bazı kablolarGeniş bir renk dedektörü yelpazesine sahip olmak için sadece mikrodenetleyiciye ve RGB LED'e ihtiyacım var, ancak sadece bir devre istiyorsanız bir rengi algılar, bir mikro denetleyiciye ihtiyacınız yoktur - yalnızca algılamak istediğiniz rengin parlak bir LED'ine ihtiyacınız vardır. Standart kırmızı LED, "gösterge LED'idir" - doğru renk algılandığında yanar.
Adım 2: Devreyi Oluşturun
Şematik oldukça basittir ve genel olarak aşağıda gösterilmiştir. RGB LED'e harici olarak bir PWM sinyali ile güç verilir. Ortam ışığının içeri girmemesi için fotorezistörün etrafına elektrik bandı koydum - sadece doğrudan üzerindeki ışık algılanacak.
Adım 3: Kod
Bu kod bir Microchip PIC 16F887 için yazılmıştır, ancak umarım genel fikri anlayabilirsiniz. RGB LED'in renk spektrumunu değiştirmek için geliştirme kartımdaki yerleşik potansiyometreyi kullandım (ve 3 PWM modülüm olmadığı için tüm spektrumdan geçmiyor, ancak bu yeterince iyi) Yorumlar dahil. #include #include #include "delay.c"#include #include #gecikmeyi kullan(clock = 4000000)#FUSES INTRC, NOWDT, NOPUT, NOMCLR, NOPROTECT, NOCPD, NOBROWNOUT, NOIESO, NOFCMEN, NOLVP#byte CCP1CON = 0x17# bayt CCP2CON = 0x1D#byte PWM1CON = 0x9Bint değeri = 128;int p1 = 0;int p2 = 0;void my_setup_ccp1(int8 değeri){output_low(PIN_C2);CCP1CON = value;PWM1CON = 0;}void my_setup_ccp2(int8 değeri) {output_low(PIN_C1);CCP2CON = değer;}//=================================== ana geçersiz (){//A4 = photodiodeoutput_high(PIN_A4);output_high(PIN_B1);setup_adc(ADC_CLOCK_INTERNAL);set_adc_channel(0);setup_adc_ports(sAN0) için güç kaynağı;//Timer/Interrupt setupenable_interrupts;(INT_setup_CP1); my_setup_ccp2(CCP_PWM);setup_timer_2(T2_DIV_BY_1, 128, 1);//setup_compare(2, COMPARE_PWM|COMPARE_TIMER2);while(1){ // PIC'nin uyku moduna geçmesini engelle.//SET PWM DUTY CYCLE output_high(PIN_A5); //Pin A3 fotodiyot bağlantısıdır if(input(PIN_A3) == 1) output_high(PIN_A4); else output_low(PIN_A4);//LED'in rengini değiştirmek için potansiyometre değerini okuyun değeri = read_adc(); geçiş (değer) { durum 0: p1 = değer; output_low(PIN_C0); p2 = değer; kırmak; durum 50: p1 = değer; output_high(PIN_C0); p2 = değer; kırmak; durum 100: p1 = değer; output_high(PIN_C0); p2 = değer; kırmak; durum 150: output_high(PIN_C0); p1 = 50; p2 = değer; kırmak; durum 200: output_low(PIN_C0); p1 = 0; p2 = değer; kırmak; durum 250: p1 = 0; p2 = değer; output_low(PIN_C0); kırmak; } p1 = değer; p2 = 128 - p1; set_pwm1_duty(p1); set_pwm2_duty(p2);}}
Adım 4: Uygulamalar
Bunun gibi basit bir renk dedektörü robotikte veya legoları renge göre ayırmak, M&M'leri sıralamak veya renk körlüğüne yardımcı olmak gibi harika projeler için kullanılabilir. Umarım bu talimat, aklınızdaki bir projeyi geliştirmede yardımcı olmuştur!:) LED'ler pek çok şeye iyi geliyor….
Önerilen:
OpenCV Kullanarak Basit Renk Tespiti: 6 Adım

OpenCV Kullanarak Basit Renk Tespiti: Merhaba! Bugün OpenCV ve python kullanarak canlı bir videodan renk algılamanın basit bir yöntemini göstereceğim. Temel olarak sadece gerekli rengin arka plan çerçevesinde olup olmadığını test edeceğim ve OpenCV modüllerini kullanarak o bölgeyi maskeleyeceğim ve
OpenCV Kullanarak Python'da Renk Algılama: 8 Adım

OpenCV Kullanarak Python'da Renk Algılama: Merhaba! Bu talimat, openCV kitaplığı kullanılarak python'daki bir görüntüden belirli bir rengin nasıl çıkarılacağı konusunda rehberlik etmek için kullanılır. Bu teknikte yeniyseniz endişelenmeyin, bu kılavuzun sonunda kendi renginizi programlayabileceksiniz
Renk Algılama Tabanlı Nesne Takibi: 10 Adım

Renk Algılamaya Dayalı Nesne Takibi: Öykü Bu projeyi Raspberry PI ve açık CV kullanarak görüntü işlemeyi öğrenmek için yaptım. Bu projeyi daha ilginç hale getirmek için iki adet SG90 Servo motor kullandım ve üzerine kamera monte ettim. Bir motor yatay olarak hareket etmek için kullanılırken, ikinci motor dikey olarak hareket etmek için
Arduino RGB Renk Seçici – Gerçek Hayattaki Nesnelerden Renk Seçin: 7 Adım (Resimlerle)

Arduino RGB Renk Seçici - Gerçek Hayattaki Nesnelerden Renk Seçin: Bu Arduino tabanlı RGB renk seçici ile fiziksel nesnelerden kolayca renk seçin, gerçek hayattaki nesnelerde gördüğünüz renkleri PC'nizde veya cep telefonunuzda yeniden oluşturmanıza olanak tanır. Ucuz bir TCS347 kullanarak nesnenin rengini taramak için bir düğmeye basmanız yeterlidir
Raspberry Pi 2 ve Scratch Kullanarak Renk Spektrumunda Bir RGB LED'i Döndürme: 11 Adım

Bir Raspberry Pi 2 ve Scratch Kullanarak Renk Spektrumunda RGB LED'i Döndürme: Güncelleme Notları 25 Şubat 2016: Scratch programını geliştirdim ve talimat tablomu yeniden tasarladım. Merhaba arkadaşlar, bu proje ile bir RGB LED'i renk spektrumunda döndürmek için Scratch'i kullanmak istedim. Bunu t ile yapan bir sürü proje var