Sadržaj:

Potencio indikator koristi RGB neopiksel: 4 koraka
Potencio indikator koristi RGB neopiksel: 4 koraka

Video: Potencio indikator koristi RGB neopiksel: 4 koraka

Video: Potencio indikator koristi RGB neopiksel: 4 koraka
Video: ESP32 Tutorial 12 - WS2812 RGB Srip 4 Project with SunFounder's ESP32 IoT Learnig kit 2024, Srpanj
Anonim
Potencio indikator koristi RGB Neopixel
Potencio indikator koristi RGB Neopixel

U ovom članku napravit ću indikator rotacije potenciometra pomoću RGB Nano prstenastog piksela.

Dakle, koliko će okretaja na potenciometru biti prikazano na RGB prstenu

Korak 1: Potrebne komponente

Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente

komponente potrebne za njegovu izradu:

  • Arduino Nano v.3
  • RGB neopikseli
  • Potenciometar
  • Kratkospojna žica
  • USB mini
  • Projektni odbor

Korak 2: Shema kruga

Shema sklopa
Shema sklopa
Shema sklopa
Shema sklopa

Sastavite sve komponente u skladu s gornjom shemom povlačenja.

Arduino na Potensio i RGB prsten

+5V ==> 3. Potensio i VCC

GND ==> 1. Potensio & GND

A0 ==> 2. Potensio

D12 ==> IN

Korak 3: Programiranje

Programiranje
Programiranje

Kopirajte donji kôd i zalijepite ga u skicu

#include #ifdef _AVR_ #include // Potrebno za 16 MHz Adafruit Trinket #endif

#definirajte PIN 12

#definirajte BROJKE 16

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

#define DELAYVAL 10

void setup () {

#ako je definirano (_ AVR_ATtiny85_) && (F_CPU == 16000000)

set_prescale_set (clock_div_1); #završi ako

pikseli.begin ();

piksela.setBrightness (10);

Serial.begin (9600); }

void loop ()

{piksela.clear (); int val = analogRead (A0); val = karta (val, 0, 1023, 0, 18);

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

ako (val == 2)

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

ako (val == 3)

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

ako (val == 4)

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

ako (val == 5)

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

ako (val == 6)

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

ako (val == 7)

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

ako (val == 8)

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

ako (val == 9)

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

ako (val == 10)

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

ako (val == 11)

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

ako (val == 12)

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

ako (val == 13)

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

ako (val == 14)

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

ako (val == 15)

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

ako (val == 16)

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

ako (val == 17)

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

ako (val == 18)

{for (int i = 0; i <18; i ++) {pixels.setPixelColor (i, pixels. Color (225, 0, 0)); kašnjenje (10); }} piksela.show (); kašnjenje (DELAYVAL); }

Datoteka skice može se preuzeti ispod:

Korak 4: Rezultat

Rezultate možete vidjeti u videu iznad.

Dakle, svaki put kada se potenciometar okreće, broj i boja LED dioda na prstenu će svijetliti u skladu s brojem okretaja na potenciometru.

Preporučeni: