Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
V tomto článku urobím indikátor rotácie potenciometra pomocou RGB Nano pixelového prstenca.
Koľko otáčok vykonaných na potenciometri sa teda zobrazí na krúžku RGB
Krok 1: Požadované komponenty
komponenty potrebné na jeho výrobu:
- Arduino Nano v.3
- RGB RIng NeoPixely
- Potenciometer
- Prepojovací drôt
- USB mini
- Rada projektu
Krok 2: Schéma zapojenia
Zostavte všetky komponenty podľa schémy čerpania vyššie.
Arduino až Potensio a RGB prsteň
+5V ==> 3. Potenciál a VCC
GND ==> 1. Potenciál a GND
A0 ==> 2. Potensio
D12 ==> IN
Krok 3: Programovanie
Skopírujte nižšie uvedený kód a vložte ho do náčrtu
#include #ifdef _AVR_ #include // Vyžadované pre 16 MHz Adafruit Trinket #endif
#define PIN 12
#define NUMPIXELS 16
Pixely Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define DELAYVAL 10
neplatné nastavenie () {
#je definovaný (_ AVR_ATtiny85_) && (F_CPU == 16000000)
clock_prescale_set (clock_div_1); #koniec Ak
pixely.begin ();
pixely.setBrightness (10);
Serial.begin (9600); }
prázdna slučka ()
{pixelov.clear (); int val = analogRead (A0); val = mapa (val, 0, 1023, 0, 18);
if (val == 1) {for (int i = 0; i <1; i ++) {pixely.setPixelColor (i, pixely. Color (0, 225, 0)); oneskorenie (10); }}
ak (hodnota == 2)
{for (int i = 0; i <2; i ++) {pixely.setPixelColor (i, pixely. Color (32, 225, 0)); oneskorenie (10); }}
ak (hodnota == 3)
{for (int i = 0; i <3; i ++) {pixely.setPixelColor (i, pixely. Color (64, 225, 0)); oneskorenie (10); }}
ak (val == 4)
{for (int i = 0; i <4; i ++) {pixely.setPixelColor (i, pixely. Color (96, 225, 0)); oneskorenie (10); }}
ak (hodnota == 5)
{for (int i = 0; i <5; i ++) {pixely.setPixelColor (i, pixely. Color (128, 225, 0)); oneskorenie (10); }}
ak (val == 6)
{for (int i = 0; i <6; i ++) {pixely.setPixelColor (i, pixely. Color (160, 225, 0)); oneskorenie (10); }}
ak (val == 7)
{for (int i = 0; i <7; i ++) {pixely.setPixelColor (i, pixely. Color (192, 225, 0)); oneskorenie (10); }}
ak (val == 8)
{for (int i = 0; i <8; i ++) {pixely.setPixelColor (i, pixely. Color (225, 225, 0)); oneskorenie (10); }}
ak (val == 9)
{for (int i = 0; i <9; i ++) {pixely.setPixelColor (i, pixely. Color (225, 225, 0)); oneskorenie (10); }}
ak (hodnota == 10)
{for (int i = 0; i <10; i ++) {pixely.setPixelColor (i, pixely. Color (225, 192, 0)); oneskorenie (10); }}
ak (val == 11)
{for (int i = 0; i <11; i ++) {pixely.setPixelColor (i, pixely. Color (225, 160, 0)); oneskorenie (10); }}
ak (hodnota == 12)
{for (int i = 0; i <12; i ++) {pixely.setPixelColor (i, pixely. Color (225, 128, 0)); oneskorenie (10); }}
ak (hodnota == 13)
{for (int i = 0; i <13; i ++) {pixely.setPixelColor (i, pixely. Color (225, 96, 0)); oneskorenie (10); }}
ak (hodnota == 14)
{for (int i = 0; i <14; i ++) {pixely.setPixelColor (i, pixely. Color (225, 64, 0)); oneskorenie (10); }}
ak (hodnota == 15)
{for (int i = 0; i <15; i ++) {pixely.setPixelColor (i, pixely. Color (225, 32, 0)); oneskorenie (10); }}
ak (hodnota == 16)
{for (int i = 0; i <16; i ++) {pixely.setPixelColor (i, pixely. Color (225, 0, 0)); oneskorenie (10); }}
ak (hodnota == 17)
{for (int i = 0; i <17; i ++) {pixely.setPixelColor (i, pixely. Color (225, 0, 0)); oneskorenie (10); }}
ak (val == 18)
{for (int i = 0; i <18; i ++) {pixely.setPixelColor (i, pixely. Color (225, 0, 0)); oneskorenie (10); }} pixely.show (); oneskorenie (DELAYVAL); }
Súbor náčrtu si môžete stiahnuť nižšie:
Krok 4: Výsledok
Výsledky si môžete pozrieť vo videu vyššie.
Takže pri každom otočení potenciometra sa počet a farba LED diód na krúžku rozsvieti podľa počtu závitov vykonaných na potenciometri.