Mündəricat:
- Təchizat
- Addım 1: Hekayə
- Addım 2: nəzəriyyə və metodologiya
- Addım 3: Hardware Setup
- Addım 4: Proqram Quraşdırması
- Addım 5: Arduino Rəng Sensoru Kodu
Video: Magicbit -dən sadə DIY rəng sensoru: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Bu dərslikdə Arduino ilə Magicbit istifadə edərək sadə bir rəng sensoru necə edəcəyimizi öyrənəcəyik.
Təchizat
- Magicbit
- USB-A-dan Mikro-USB Kabelinə
Addım 1: Hekayə
Salam uşaqlar, bəzən bəzi məqsədlər üçün rəng sensorlarından istifadə etməlisiniz. Amma bəlkə də onların necə işlədiyini bilmirsən. Beləliklə, bu dərslikdə Arduino ilə Magicbit istifadə edərək sadə bir DIY rəng sensoru necə edəcəyinizi öyrənəcəksiniz. Başlayaq.
Addım 2: nəzəriyyə və metodologiya
Bu layihədə sizə qırmızı, yaşıl və mavi rəngləri algılayan rəng sensoru qurmağı öyrətməyi gözləyirik. Bu çox əsas bir nümunədir. Beləliklə, bunu necə etmək olar. Bu məqsədlə Magicbit və daxili LDR -nin RGB modulundan istifadə edirik. Əvvəlcə bəzi nəzəriyyələri öyrənməlisiniz. İşığın əks olunma miqdarı haqqında. İndi sizdən bir sual soruşuram. Qırmızı rəng işığını ən çox əks etdirən hansı rəngli səthdir, həm də əsasən Yaşıl və Mavi işıqları əks etdirən səthlər. Bir az fikirləş. Ancaq cavab sadədir. Qırmızı rəngli səth əsasən qırmızı işığı əks etdirir. Yaşıl və mavi səthlər yaşıl və mavi işıqları əks etdirəcək. Bu layihədə bu nəzəriyyədən istifadə edirik. Rəngi tanımaq üçün qırmızı, yaşıl və mavi işıqları bir -bir yandırırıq. Hər dəfə LDR dəyərindən istifadə edərək əks olunma miqdarını ölçürük. Əgər bir işıq digər iki işığa nisbətən daha çox əks olunarsa, o səth əsasən rəngli səthə əks olunmalıdır.
Addım 3: Hardware Setup
Bu çox sadə. RGB modulunuzu Magicbit -in yuxarı sağ limanına qoşun. Bu modulda WS2812B Neopixel LED var. Bu LEDdə 4 pin var. İki güc və ikisi Məlumat giriş və çıxış üçün. Bir led istifadə etdiyimiz üçün yalnız güc pinlərinə və pin məlumatlarına ehtiyacımız var. Bu modul yoxdursa, satın ala bilərsiniz və Neopixel modulu. Belə bir modul satın alsanız, güc pinlərini və məlumatları pindəki Magicbit -ə bağlamalısınız. Bu çox asandır. Magicbit -in VCC və GND -ni RGB modulunun pinlərinə və D33 pinini məlumat pininə qoşun.
Addım 4: Proqram Quraşdırması
Çox hissəsi proqramlaşdırma ilə aparılır. Magicbit proqramlaşdırmaq üçün Arduino IDE -dən istifadə edirik. Kodda bir neçə kitabxanadan istifadə edirik. Bunlar idarəetmə Neopixel LED üçün Adafruit Neopixel kitabxanası və sapı OLED üçün Adafruit OLED kitabxanasıdır. Quraşdırmada giriş və çıxışlarımızı konfiqurasiya edirik. Magicbit -də quraşdırılmış OLED ekranı da konfiqurasiya edin. Döngədə, Magicbit düyməsinin sol ələ basıldığını yoxlayırıq. Basıldıqda giriş siqnalı 0 -dır. Çünki lövhə tərəfindən artıq çəkilir. Basıldıqda rəng yoxlamasını edirik. Əks təqdirdə, ekranda "rəng yoxdur" ifadəsi görünəcək. Düymə basıldıqda avtomatik olaraq qırmızı, yaşıl və mavi işıqları bir -bir yandırın və rənglərin əks olunma miqdarını üç dəyişənə daxil edin. Sonra bu dəyərləri müqayisə etdik və çıxış rəngi kimi göstərmək üçün maksimum dəyər rəngini seçdik.
Mikro USB kabelini Magicbit -ə qoşun və lövhə növünü və giriş portlarını düzgün seçin. İndi kodu yükləyin. Sonra sensorumuzu sınamağın vaxtı gəldi. Bunu yoxlamaq üçün LDR və RGB modulunda qırmızı, yaşıl və ya mavi üzlü kağızı və ya vərəqi saxlayın və sol düyməni basın. Sonra OLED ekran səthin rənginin nə olduğunu göstərəcək. Səhv olarsa, bəzi rənglərin yüksək işıq intensivliyinə sahib olmasıdır. Nümunə olaraq hər yaşıl səthdə çıxış qırmızıdır, sonra qırmızı işığın parlaqlığını müəyyən qədər azaltmalısınız. Çünki qırmızı işıq çox yüksək parlaqlığa malikdir. Buna görə yüksək əks olunmağa malikdir. Parlaqlığı necə idarə edəcəyinizi bilmirsinizsə, aşağıdakı linkdəki təlimata baxın.
magicbit-arduino.readthedocs.io/az/latest/
Bu linkdə Magicbit -dən RGB modulunu necə idarə edəcəyinizi tapa bilərsiniz. Həm də LDR ilə necə işləməyi və Magicbit istifadə edərək düyməni basmağı öyrənə bilərsiniz. Bu sənədi oxuyun və rəng sensorunu necə yaxşılaşdıracağınızı öyrənin. Çünki bu rəng sensorlarının necə işlədiyinə dair çox sadə bir nümunədir. Çox rəng sensoru bu şəkildə işləyir. Buna görə də ətrafdakı işıq səslərini və digər səsləri aradan qaldıraraq bunu yaxşılaşdırmağa çalışın.
Addım 5: Arduino Rəng Sensoru Kodu
#daxil edin
#LED_PIN 33 təyin edin
#define LED_COUNT 1 Adafruit_NeoPixel LED (LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800); #include #include #include #define OLED_RESET 4 Adafruit_SSD1306 displeyi (128, 64); #define LDR 36 #define Button 35 int R_value, G_value, B_value; void setup () {LED.begin (); LED.show (); pinMode (LDR, GİRİŞ); pinMode (Düymə, GİRİŞ); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); gecikmə (1000); display.clearDisplay (); Serial.begin (9600); } void loop () {if (digitalRead (Button) == 0) {// düyməsinə basıldığı təqdirdə LED.setPixelColor (0, LED. Color (0, 50, 0)); // qırmızı rəngli LED.show (); gecikmə (100); R_value = analogRead (LDR); // qırmızı montaj LED.setPixelColor (0, LED. Color (150, 0, 0)); // yaşıl rəngdə LED.show (); gecikmə (100); G_value = analogRead (LDR); // yaşıl montaj LED.setPixelColor əldə edin (0, LED. Color (0, 0, 255)); // mavi rəngli LED.show (); gecikmə (100); B_value = analogRead (LDR); // mavi rəng alsanız (R_value> G_value && R_value> B_value) {// qırmızı ən çox əks olunan Ekrandır ("QIRMIZI", 3); } else if (G_value> R_value && G_value> B_value) {// yaşıl ən çox əks olunan Görüntüdür ("YEŞİL", 3); } else if (B_value> R_value && B_value> G_value) {// mavi ən çox əks olunan Görüntüdür ("MAVİ", 3); } Serial.print ("QIRMIZI ="); Serial. çap (R_ dəyəri); Serial.print ("GREEN ="); Serial.print (G_value); Serial.print ("MAVİ ="); Serial.println (B_value); } başqa {LED.setPixelColor (0, LED. Color (0, 0, 0))); // off RGB LED.show (); Ekran ("RENK YOX", 2); }} void Display (String commond, int size) {// məlumatların göstərilməsi display.clearDisplay (); display.setTextSize (ölçü); // Normal 1: 1 piksel ölçülü display.setTextColor (BEYAZ); // Ağ mətn çəkin display.setCursor (0, 20); // Sol üst küncdəki ekrandan başlayın.println (commond); display.display (); }
Tövsiyə:
Dərslik: Arduino UNO ilə RGB Rəng Dedektörü Sensoru TCS230 -dan necə istifadə olunur: 3 addım
Dərslik: Arduino UNO ilə RGB Rəng Dedektörü Sensoru TCS230 -dan necə istifadə olunur: Təsvir: Bu dərslik sizə Arduino Uno istifadə edərək RGB Rəng Dedektörü Sensorunun necə istifadə ediləcəyi ilə bağlı bir neçə sadə addımı göstərəcək. Bu təlimatın sonunda, bir neçə rəng arasında bir sıra müqayisə nəticələri əldə edəcəksiniz
OpenCV istifadə edərək sadə rəng algılama: 6 addım
OpenCV istifadə edərək sadə rəng algılama: Salam! Bu gün OpenCV və python istifadə edərək canlı videodan bir rəng aşkar etməyin sadə bir üsulunu göstərəcəyəm. Əsasən lazım olan rəngin arxa çərçivədə olub olmadığını yoxlayacağam və OpenCV modullarından istifadə edərək həmin bölgəni maskalayacağam və
Arduino RGB Rəng Seçici - Real Həyat Obyektlərindən Rəng Seçin: 7 Addım (Şəkillərlə)
Arduino RGB Rəng Seçici - Real Həyat Nəsillərindən Rəng Seçin: Kompüterinizdə və ya cib telefonunuzda real həyatda gördüyünüz rəngləri yenidən yaratmağa imkan verən bu Arduino əsaslı RGB rəng seçici ilə fiziki obyektlərdən rəngləri asanlıqla seçin. Ucuz bir TCS347 istifadə edərək obyektin rəngini skan etmək üçün sadəcə bir düyməni basmaq kifayətdir
LCD ekranlı rəng sensoru: 6 addım
LCD Ekranlı Rəng Sensoru: Məqsəd, rəng korlarına rəngləri görmədən rəngləri aşkar etməyə imkan verən bir cihaz yaratmaqdır. Sensorlu LCD ekrandan istifadə edərək rəng alına bilər və sonra sözlər LCD ekrana köçürülür. Bu cihaz sizə
RFID + Rəng Sensoru IoT Layihəsi: 7 addım
RFID + Rəng Sensoru IoT Layihəsi: Bu layihənin ideyası, qəhvə fincanlarından içki içən insanları mükafatlandırmaqdır. Məsələn Tim Hortons kimi bir şirkəti götürək; 2014 -cü ildə hər il 2 milyard fincan qəhvə verdiklərini qeyd etdilər. Fincanları geri çevrilə bilsə də