Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
In dit artikel zal ik een rotatie-indicator van de potentiometer maken met behulp van RGB Nano pixelring.
Dus hoeveel omwentelingen op de potentiometer worden gemaakt, wordt weergegeven op de RGB-ring
Stap 1: Vereiste componenten
de componenten die nodig zijn om het te maken:
- Arduino Nano v.3
- RGB RING NeoPixels
- Potentiometer
- Doorverbindingsdraad
- USB mini
- Stuurgroep
Stap 2: Schakelschema
Monteer alle componenten volgens bovenstaand schema.
Arduino naar Potensio & RGB-ring
+5V ==> 3. Potensio & VCC
GND ==> 1. Potensio & GND
A0 ==> 2. Potensio
D12 ==> IN
Stap 3: Programmeren
Kopieer de onderstaande code en plak deze in je schets
#include #ifdef _AVR_ #include // Vereist voor 16 MHz Adafruit Trinket #endif
#definieer pincode 12
#define NUMPIXELS 16
Adafruit_NeoPixel-pixels (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define VERTRAGING 10
ongeldige setup() {
#indien gedefinieerd(_AVR_ATtiny85_) && (F_CPU == 16000000)
clock_prescale_set(clock_div_1); #stop als
pixels.begin();
pixels.setBrightness(10);
Serieel.begin(9600); }
lege lus()
{ pixels.helder(); int val = analoog lezen (A0); val = kaart (val, 0, 1023, 0, 18);
if(val == 1) { for(int i=0; i<1; i++) { pixels.setPixelColor(i, pixels. Color (0, 225, 0)); vertraging(10); } }
als(waarde == 2)
{ for(int i=0; i<2; i++) { pixels.setPixelColor(i, pixels. Color(32, 225, 0)); vertraging(10); } }
als(waarde == 3)
{ for(int i=0; i<3; i++) { pixels.setPixelColor(i, pixels. Color(64, 225, 0)); vertraging(10); } }
als(waarde == 4)
{ for(int i=0; i<4; i++) {pixels.setPixelColor(i, pixels. Color(96, 225, 0)); vertraging(10); } }
als(waarde == 5)
{ for(int i=0; i<5; i++) { pixels.setPixelColor(i, pixels. Color(128, 225, 0)); vertraging(10); } }
als(waarde == 6)
{ for(int i=0; i<6; i++) { pixels.setPixelColor(i, pixels. Color(160, 225, 0)); vertraging(10); } }
als(waarde == 7)
{ for(int i=0; i<7; i++) { pixels.setPixelColor(i, pixels. Color(192, 225, 0)); vertraging(10); } }
als(waarde == 8)
{ for(int i=0; i<8; i++) { pixels.setPixelColor(i, pixels. Color(225, 225, 0)); vertraging(10); } }
als(waarde == 9)
{ for(int i=0; i<9; i++) { pixels.setPixelColor(i, pixels. Color(225, 225, 0)); vertraging(10); } }
als(waarde == 10)
{ for(int i=0; i<10; i++) { pixels.setPixelColor(i, pixels. Color(225, 192, 0)); vertraging(10); } }
als(waarde == 11)
{ for(int i=0; i<11; i++) {pixels.setPixelColor(i, pixels. Color(225, 160, 0)); vertraging(10); } }
als(waarde == 12)
{ for(int i=0; i<12; i++) {pixels.setPixelColor(i, pixels. Color(225, 128, 0)); vertraging(10); } }
als(waarde == 13)
{ for(int i=0; i<13; i++) { pixels.setPixelColor(i, pixels. Color(225, 96, 0)); vertraging(10); } }
als(waarde == 14)
{ for(int i=0; i<14; i++) {pixels.setPixelColor(i, pixels. Color(225, 64, 0)); vertraging(10); } }
als(waarde == 15)
{ for(int i=0; i<15; i++) { pixels.setPixelColor(i, pixels. Color(225, 32, 0)); vertraging(10); } }
als(waarde == 16)
{ for(int i=0; i<16; i++) {pixels.setPixelColor(i, pixels. Color(225, 0, 0)); vertraging(10); } }
als(waarde == 17)
{ for(int i=0; i<17; i++) {pixels.setPixelColor(i, pixels. Color(225, 0, 0)); vertraging(10); } }
als(waarde == 18)
{ for(int i=0; i<18; i++) {pixels.setPixelColor(i, pixels. Color(225, 0, 0)); vertraging(10); } } pixels.show(); vertraging (VERTRAGING); }
Het schetsbestand is hieronder te downloaden:
Stap 4: Resultaat
Voor resultaten zijn te zien in de video hierboven.
Dus elke keer dat de potentiometer wordt gedraaid, zullen het aantal en de kleur van de LED's op de ring oplichten volgens het aantal beurten dat op de potentiometer is gedaan.