Mundarija:

Android Mobile bilan RGB kamera orqa nuri boshqaruvi: 6 qadam
Android Mobile bilan RGB kamera orqa nuri boshqaruvi: 6 qadam

Video: Android Mobile bilan RGB kamera orqa nuri boshqaruvi: 6 qadam

Video: Android Mobile bilan RGB kamera orqa nuri boshqaruvi: 6 qadam
Video: REAL RACING 3 LEAD FOOT EDITION 2024, Noyabr
Anonim
Image
Image
Ranglarni aralashtirish
Ranglarni aralashtirish

Qizil, yashil va ko'k rangdagi uchta LED chiroqli RGB chiroqlar. Biz LEDning yorqinligini sozlaymiz, u yangi rang hosil qiladi. Shunday qilib, LEDlarning yorqinligini sozlash kodlar yordamida amalga oshiriladi (0-255).

►Diodlar bir -biriga juda yaqin bo'lgani uchun, biz uchta rangni alohida -alohida emas, balki oxirgi ranglarning natijasini ko'rishimiz mumkin. ►Ranglarni qanday birlashtirish haqida tasavvurga ega bo'lish uchun quyidagi jadvalga qarang. Bu ranglarni aralashtirishning eng oddiy jadvali, Internetda yanada murakkab rangli jadvallar mavjud. ►RGB svetodiodlarida 4 ta pin bor, ular uzunligi bilan ajralib turadi. Eng uzun-mos ravishda umumiy katod yoki umumiy anodli LED bo'ladimi-yo'qligiga qarab (-) yoki kuchlanish (+).

RGB LED - bu bitta LED to'plamidagi 3 ta LEDning kombinatsiyasi · 1x qizil LED

· 1x yashil LED

· 1x ko'k LED

RGB LED ishlab chiqaradigan rang - bu uchta LEDning har birining ranglarining kombinatsiyasi.

1 -qadam: Ranglarni aralashtirish

Boshqa ranglarni ishlab chiqarish uchun siz uchta rangni har xil intensivlikda birlashtira olasiz. Turli xil ranglarni ishlab chiqarish uchun har bir LEDning yorqinligini sozlash uchun PWM -dan foydalanishingiz mumkin. LEDlar bir -biriga juda yaqin bo'lgani uchun, biz uchta rangni alohida -alohida emas, balki oxirgi ranglarning natijasini ko'rishimiz mumkin.

R G B (255, 255, 255) = Oq rang 255 - yorug'lik chiroqining to'liq yorqinligi

2 -qadam: RGB LED ikki xil:

RGB LED ikki xil
RGB LED ikki xil

3 -qadam: RGB LED BLINK:

RGB LED BLINK
RGB LED BLINK

int redPin = 11; int greenPin = 10; int bluePin = 9; void setup () {pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); } void loop () {setColor (255, 0, 0); // qizil kechikish (1000); setColor (0, 255, 0); // yashil kechikish (1000); setColor (0, 0, 255); // ko'k kechikish (1000); setColor (255, 255, 0); // sariq kechikish (1000); setColor (80, 0, 80); // binafsha kechikish (1000); setColor (0, 255, 255); // suv kechikishi (1000); } void setColor (int qizil, yashil yashil, ko'k) {#ifdef COMMON_ANODE qizil = 255 - qizil; yashil = 255 - yashil; ko'k = 255 - ko'k; #endif analogWrite (redPin, qizil); analogWrite (greenPin, yashil); analogWrite (bluePin, ko'k); }

4 -qadam: BLUETOOTH RGB boshqaruvidan foydalanib ARDUINO UNO:

BLUETOOTH RGB boshqaruvidan foydalangan holda ARDUINO UNO
BLUETOOTH RGB boshqaruvidan foydalangan holda ARDUINO UNO

int rang = 0; int qizil = 12; int yashil = 11; ko'k ko'k = 10;

char qabul qilindi;

bo'sh o'rnatish () {

Serial.begin (9600); pinMode (qizil, OUTPUT); pinMode (yashil, OUTPUT); pinMode (ko'k, OUTPUT);

analogWrite (qizil, 0);

analogWrite (yashil, 0); analogWrite (ko'k, 0); }

void loop () {

if (Serial.available ()> 0) {color = Serial.read (); char Rec = char (rang); if (Rec! = '0') {Serial.println (Rec); }} // Qora if (rang == 'B') {analogWrite (qizil, 0); analogWrite (yashil, 0); analogWrite (ko'k, 0); }

// oq

if (color == 'W') {analogWrite (qizil, 255); analogWrite (yashil, 255); analogWrite (ko'k, 255); }

// QIZIL

if (color == 'R') {analogWrite (qizil, 255); analogWrite (yashil, 0); analogWrite (ko'k, 0); }

//LAYM

if (color == 'L') {analogWrite (qizil, 0); analogWrite (yashil, 255); analogWrite (ko'k, 0); }

// Moviy

if (color == 'E') {analogWrite (qizil, 0); analogWrite (yashil, 0); analogWrite (ko'k, 255); }

// Sariq

if (color == 'Y') {analogWrite (qizil, 255); analogWrite (yashil, 255); analogWrite (ko'k, 0); }

// Cyan/Aqua

if (color == 'C') {analogWrite (qizil, 0); analogWrite (yashil, 255); analogWrite (ko'k, 255); }

// Qizil /Fuşya

if (color == 'M') {analogWrite (qizil, 255); analogWrite (yashil, 0); analogWrite (ko'k, 255); }

// Maroon

if (color == 'F') {analogWrite (qizil, 128); analogWrite (yashil, 0); analogWrite (ko'k, 0); }

// Zaytun

if (color == 'O') {analogWrite (qizil, 128); analogWrite (yashil, 128); analogWrite (ko'k, 0); }

// Yashil

if (color == 'G') {analogWrite (qizil, 0); analogWrite (yashil, 128); analogWrite (ko'k, 0); }

// Siyohrang

if (color == 'P') {analogWrite (qizil, 128); analogWrite (yashil, 0); analogWrite (ko'k, 128); }

// dengiz floti

if (color == 'N') {analogWrite (qizil, 0); analogWrite (yashil, 0); analogWrite (ko'k, 128); }

// engil mercan

if (color == 'J') {analogWrite (qizil, 240); analogWrite (yashil, 128); analogWrite (ko'k, 128); }

// to'q sariq qizil

if (color == 'X') {analogWrite (qizil, 255); analogWrite (yashil, 69); analogWrite (ko'k, 0); }

// yashil sariq

if (color == 'G') {analogWrite (qizil, 173); analogWrite (yashil, 255); analogWrite (ko'k, 47); }

// bahor yashil

if (color == 'S') {analogWrite (qizil, 0); analogWrite (yashil, 255); analogWrite (ko'k, 127); }

// suv dengizchilari

if (color == 'A') {analogWrite (qizil, 127); analogWrite (yashil, 255); analogWrite (ko'k, 212); }

// issiq pushti

if (color == 'H') {analogWrite (qizil, 255); analogWrite (yashil, 105); analogWrite (ko'k, 180); }

// obinavot

if (color == 'D') {analogWrite (qizil, 240); analogWrite (yashil, 255); analogWrite (ko'k, 240); }

// och kulrang / och kulrang

if (color == 'U') {analogWrite (qizil, 211); analogWrite (yashil, 211); analogWrite (ko'k, 211); }}

5 -qadam: BLUETOOTH RGB boshqaruvidan foydalangan holda ARDUINO NANO:

ARDUINO NANO BLUETOOTH RGB boshqaruvidan foydalanadi
ARDUINO NANO BLUETOOTH RGB boshqaruvidan foydalanadi

6 -qadam: Yuklab olish: Arduino kodi va Android ilovasi

Menga bosing

Tavsiya: