Sommario:

L'indicatore di potenza utilizza Neopixel RGB: 4 passaggi
L'indicatore di potenza utilizza Neopixel RGB: 4 passaggi

Video: L'indicatore di potenza utilizza Neopixel RGB: 4 passaggi

Video: L'indicatore di potenza utilizza Neopixel RGB: 4 passaggi
Video: Pasquale's LAB #32 Esperimenti Giochiamo con i LED intelligenti NeoPixel, speciale 100 iscritti 2024, Dicembre
Anonim
L'indicatore di potenza utilizza Neopixel RGB
L'indicatore di potenza utilizza Neopixel RGB

In questo articolo creerò un indicatore di rotazione del potenziometro usando l'anello di pixel RGB Nano.

Quindi, quanti giri fatti sul potenziometro verranno visualizzati sull'anello RGB

Passaggio 1: componenti richiesti

Componenti richiesti
Componenti richiesti
Componenti richiesti
Componenti richiesti
Componenti richiesti
Componenti richiesti
Componenti richiesti
Componenti richiesti

i componenti necessari per realizzarlo:

  • Arduino Nano v.3
  • Anello RGB NeoPixel
  • Potenziometro
  • Cavo del ponticello
  • USB mini
  • Consiglio di progetto

Passaggio 2: schema del circuito

Schema del circuito
Schema del circuito
Schema del circuito
Schema del circuito

Assemblare tutti i componenti secondo lo schema di prelievo sopra.

Arduino a Potensio e anello RGB

+5V ==> 3. Potenza e VCC

GND ==> 1. Potensio & GND

A0 ==> 2. Potenza

D12 ==> IN

Passaggio 3: programmazione

Programmazione
Programmazione

Copia il codice qui sotto e incollalo nel tuo schizzo

#include #ifdef _AVR_ #include // Richiesto per Adafruit Trinket a 16 MHz #endif

#definisci PIN 12

#define NUMPIXELS 16

Adafruit_NeoPixel pixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define RITARDO 10

void setup() {

#se definito(_AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set(clock_div_1); #finisci se

pixel.begin();

pixels.setBrightness(10);

Serial.begin(9600); }

ciclo vuoto()

{ pixel.clear(); int val = analogRead(A0); val = map(val, 0, 1023, 0, 18);

if(val == 1) { for(int i=0; i<1; i++) { pixels.setPixelColor(i, pixels. Color(0, 225, 0)); ritardo(10); } }

if(val == 2)

{ for(int i=0; i<2; i++) { pixels.setPixelColor(i, pixels. Color(32, 225, 0)); ritardo(10); } }

if(val == 3)

{ for(int i=0; i<3; i++) { pixels.setPixelColor(i, pixels. Color(64, 225, 0)); ritardo(10); } }

if(val == 4)

{ for(int i=0; i<4; i++) { pixels.setPixelColor(i, pixels. Color(96, 225, 0)); ritardo(10); } }

if(val == 5)

{ for(int i=0; i<5; i++) { pixels.setPixelColor(i, pixels. Color(128, 225, 0)); ritardo(10); } }

if(val == 6)

{ for(int i=0; i<6; i++) { pixels.setPixelColor(i, pixels. Color(160, 225, 0)); ritardo(10); } }

if(val == 7)

{ for(int i=0; i<7; i++) { pixels.setPixelColor(i, pixels. Color(192, 225, 0)); ritardo(10); } }

if(val == 8)

{ for(int i=0; i<8; i++) { pixels.setPixelColor(i, pixels. Color(225, 225, 0)); ritardo(10); } }

if(val == 9)

{ for(int i=0; i<9; i++) { pixels.setPixelColor(i, pixels. Color(225, 225, 0)); ritardo(10); } }

if(val == 10)

{ for(int i=0; i<10; i++) { pixels.setPixelColor(i, pixels. Color(225, 192, 0)); ritardo(10); } }

if(val == 11)

{ for(int i=0; i<11; i++) { pixels.setPixelColor(i, pixels. Color(225, 160, 0)); ritardo(10); } }

if(val == 12)

{ for(int i=0; i<12; i++) { pixels.setPixelColor(i, pixels. Color(225, 128, 0)); ritardo(10); } }

if(val == 13)

{ for(int i=0; i<13; i++) { pixels.setPixelColor(i, pixels. Color(225, 96, 0)); ritardo(10); } }

if(val == 14)

{ for(int i=0; i<14; i++) { pixels.setPixelColor(i, pixels. Color(225, 64, 0)); ritardo(10); } }

if(val == 15)

{ for(int i=0; i<15; i++) { pixels.setPixelColor(i, pixels. Color(225, 32, 0)); ritardo(10); } }

if(val == 16)

{ for(int i=0; i<16; i++) { pixels.setPixelColor(i, pixels. Color(225, 0, 0)); ritardo(10); } }

if(val == 17)

{ for(int i=0; i<17; i++) { pixels.setPixelColor(i, pixels. Color(225, 0, 0)); ritardo(10); } }

if(val == 18)

{ for(int i=0; i<18; i++) { pixels.setPixelColor(i, pixels. Color(225, 0, 0)); ritardo(10); } } pixel.mostra(); ritardo(DELAYVAL); }

Il file di schizzo può essere scaricato di seguito:

Passaggio 4: risultato

Per i risultati può essere visto nel video qui sopra.

Quindi ogni volta che si ruota il potenziometro, il numero e il colore dei LED sull'anello si illumineranno in base al numero di giri fatti sul potenziometro.

Consigliato: