Potentio Indicator Uses RGB Neopixel

by MrSottong in Circuits > Arduino

1349 Views, 3 Favorites, 0 Comments

Potentio Indicator Uses RGB Neopixel

photo_2019-10-31_22-01-21.jpg

In this article I will make a rotation indicator of the potentio meter using RGB Nano pixel ring.

So, how many revolutions made on the potentiometer will be displayed on the RGB ring

Required Components

IMG_6882.JPG
IMG_6885.JPG
IMG_6886.JPG
IMG_7145.JPG

the components needed to make it :

  • Arduino Nano v.3
  • RGB RIng NeoPixels
  • Potentiometer
  • Jumper Wire
  • USB mini
  • Project Board

Circuit Schema

bitmap.png
photo_2019-10-31_22-01-45.jpg

Assemble all components in accordance with the drawdown scheme above.

Arduino to Potensio & RGB Ring

+5V ==> 3.Potensio & VCC

GND ==> 1.Potensio & GND

A0 ==> 2.Potensio

D12 ==> IN

Programming

Capture.PNG

Copy the code below, and paste it into your sketch

<p>#include <br>#ifdef __AVR__
 #include  // Required for 16 MHz Adafruit Trinket
#endif</p><p>#define PIN 12
#define NUMPIXELS 16 </p><p>Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);</p><p>#define DELAYVAL 10</p><p>void setup() {</p><p> #if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
  clock_prescale_set(clock_div_1);
#endif</p><p>pixels.begin();</p><p>pixels.setBrightness(10);
 
 Serial.begin(9600);
}</p><p>void loop() 
{
  pixels.clear();
  int val = analogRead(A0);
  val = map(val, 0, 1023, 0, 18);</p><p> 
  if(val == 1)
  {
    for(int i=0; i<1; i++)
    {
      pixels.setPixelColor(i, pixels.Color(0, 225, 0));
      delay(10);
    }
  }</p><p> if(val == 2)
  {
    for(int i=0; i<2; i++)
    {
      pixels.setPixelColor(i, pixels.Color(32, 225, 0));
      delay(10);
    }
  }</p><p>  if(val == 3)
  {
    for(int i=0; i<3; i++)
    {
      pixels.setPixelColor(i, pixels.Color(64, 225, 0));
      delay(10);
    }
  }</p><p>  if(val == 4)
  {
    for(int i=0; i<4; i++)
    {
      pixels.setPixelColor(i, pixels.Color(96, 225, 0));
      delay(10);
    }
  }</p><p>  if(val == 5)
  {
    for(int i=0; i<5; i++)
    {
      pixels.setPixelColor(i, pixels.Color(128, 225, 0));
      delay(10);
    }
  }</p><p>  if(val == 6)
  {
    for(int i=0; i<6; i++)
    {
      pixels.setPixelColor(i, pixels.Color(160, 225, 0));
      delay(10);
    }
  }</p><p>  if(val == 7)
  {
    for(int i=0; i<7; i++)
    {
      pixels.setPixelColor(i, pixels.Color(192, 225, 0));
      delay(10);
    }
  }</p><p>  if(val == 8)
  {
    for(int i=0; i<8; i++)
    {
      pixels.setPixelColor(i, pixels.Color(225, 225, 0));
      delay(10);
    }
  }</p><p>  if(val == 9)
  {
    for(int i=0; i<9; i++)
    {
      pixels.setPixelColor(i, pixels.Color(225, 225, 0));
      delay(10);
    }
  }</p><p>  if(val == 10)
  {
    for(int i=0; i<10; i++)
    {
      pixels.setPixelColor(i, pixels.Color(225, 192, 0));
      delay(10);
    }
  }</p><p>  if(val == 11)
  {
    for(int i=0; i<11; i++)
    {
      pixels.setPixelColor(i, pixels.Color(225, 160, 0));
      delay(10);
    }
  }</p><p>  if(val == 12)
  {
    for(int i=0; i<12; i++)
    {
      pixels.setPixelColor(i, pixels.Color(225, 128, 0));
      delay(10);
    }
  }</p><p>  if(val == 13)
  {
    for(int i=0; i<13; i++)
    {
      pixels.setPixelColor(i, pixels.Color(225, 96, 0));
      delay(10);
    }
  }</p><p>  if(val == 14)
  {
    for(int i=0; i<14; i++)
    {
      pixels.setPixelColor(i, pixels.Color(225, 64, 0));
      delay(10);
    }
  }</p><p>  if(val == 15)
  {
    for(int i=0; i<15; i++)
    {
      pixels.setPixelColor(i, pixels.Color(225, 32, 0));
      delay(10);
    }
  }</p><p>  if(val == 16)
  {
    for(int i=0; i<16; i++)
    {
      pixels.setPixelColor(i, pixels.Color(225, 0, 0));
      delay(10);
    }
  }</p><p>  if(val == 17)
  {
    for(int i=0; i<17; i++)
    {
      pixels.setPixelColor(i, pixels.Color(225, 0, 0));
      delay(10);
    }
  }</p><p>  if(val == 18)
  {
    for(int i=0; i<18; i++)
    {
      pixels.setPixelColor(i, pixels.Color(225, 0, 0));
      delay(10);
    }
  }
 
  pixels.show(); 
  
  delay(DELAYVAL);   
}</p>

Sketch file can be downloaded below:

Downloads

Result

Pot

For results can be seen in the video above.

So every time the potentiometer is rotated, the number and color of the LEDs on the ring will light up according to the number of turns done on the potentiometer.