2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu yazıda RGB Nano piksel halkasını kullanarak potansiyometrenin bir dönüş göstergesi yapacağım.
Yani potansiyometrede yapılan devir sayısı RGB halkasında görüntülenecektir.
Adım 1: Gerekli Bileşenler
yapmak için gerekli bileşenler:
- Arduino Nano v.3
- RGB HALKA NeoPikseller
- Potansiyometre
- Jumper Tel
- USB mini
- Proje tahtası
Adım 2: Devre Şeması
Tüm bileşenleri yukarıdaki çekme şemasına göre monte edin.
Arduino'dan Potensio'ya ve RGB Halkası
+5V ==> 3. Potansiyo ve VCC
GND ==> 1. Potansiyo & GND
A0 ==> 2. Potansiyo
D12 ==> İÇİNDE
Adım 3: Programlama
Aşağıdaki kodu kopyalayın ve çiziminize yapıştırın
#include #ifdef _AVR_ #include // 16 MHz Adafruit Biblo için gereklidir #endif
#define PIN 12
#define NUMPIXELS 16
Adafruit_NeoPixel piksel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define DELAYVAL 10
geçersiz kurulum() {
#if tanımlı(_AVR_ATtiny85_) && (F_CPU == 16000000)
clock_prescale_set(clock_div_1); #endif
piksel.begin();
piksel.setBrightness(10);
Seri.başla(9600); }
boşluk döngüsü()
{ piksel.temizle(); int val = analogRead(A0); val = harita(val, 0, 1023, 0, 18);
if(val == 1) { for(int i=0; i<1; i++) { piksel.setPixelColor(i, piksel. Color(0, 225, 0)); gecikme(10); } }
if(değer == 2)
{ for(int i=0; i<2; i++) { piksel.setPixelColor(i, piksel. Color(32, 225, 0)); gecikme(10); } }
if(değer == 3)
{ for(int i=0; i<3; i++) { piksel.setPixelColor(i, piksel. Color(64, 225, 0)); gecikme(10); } }
if(val == 4)
{ for(int i=0; i<4; i++) { piksel.setPixelColor(i, piksel. Color(96, 225, 0)); gecikme(10); } }
if(değer == 5)
{ for(int i=0; i<5; i++) { piksel.setPixelColor(i, piksel. Color(128, 225, 0)); gecikme(10); } }
if(değer == 6)
{ for(int i=0; i<6; i++) { piksel.setPixelColor(i, piksel. Color(160, 225, 0)); gecikme(10); } }
if(değer == 7)
{ for(int i=0; i<7; i++) { piksel.setPixelColor(i, piksel. Color(192, 225, 0)); gecikme(10); } }
if(değer == 8)
{ for(int i=0; i<8; i++) { piksel.setPixelColor(i, piksel. Color(225, 225, 0)); gecikme(10); } }
if(değer == 9)
{ for(int i=0; i<9; i++) { piksel.setPixelColor(i, piksel. Color(225, 225, 0)); gecikme(10); } }
if(değer == 10)
{ for(int i=0; i<10; i++) { piksel.setPixelColor(i, piksel. Color(225, 192, 0)); gecikme(10); } }
if(değer == 11)
{ for(int i=0; i<11; i++) { piksel.setPixelColor(i, piksel. Color(225, 160, 0)); gecikme(10); } }
if(değer == 12)
{ for(int i=0; i<12; i++) { piksel.setPixelColor(i, piksel. Color(225, 128, 0)); gecikme(10); } }
if(değer == 13)
{ for(int i=0; i<13; i++) { piksel.setPixelColor(i, piksel. Color(225, 96, 0)); gecikme(10); } }
if(değer == 14)
{ for(int i=0; i<14; i++) { piksel.setPixelColor(i, piksel. Color(225, 64, 0)); gecikme(10); } }
if(değer == 15)
{ for(int i=0; i<15; i++) { piksel.setPixelColor(i, piksel. Color(225, 32, 0)); gecikme(10); } }
if(değer == 16)
{ for(int i=0; i<16; i++) { piksel.setPixelColor(i, piksel. Color(225, 0, 0)); gecikme(10); } }
if(değer == 17)
{ for(int i=0; i<17; i++) { piksel.setPixelColor(i, piksel. Color(225, 0, 0)); gecikme(10); } }
if(değer == 18)
{ for(int i=0; i<18; i++) { piksel.setPixelColor(i, piksel. Color(225, 0, 0)); gecikme(10); } } piksel.show(); gecikme(DELAYVAL); }
Sketch dosyası aşağıdan indirilebilir:
4. Adım: Sonuç
Sonuçlar için yukarıdaki videoda görülebilir.
Yani potansiyometre her döndürüldüğünde, potansiyometrede yapılan dönüş sayısına göre halka üzerindeki ledlerin sayısı ve rengi yanacaktır.