Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этой статье я сделаю индикатор поворота потенциометра с помощью кольца RGB Nano pixel.
Итак, сколько оборотов, сделанных на потенциометре, будет отображаться на кольце RGB
Шаг 1. Необходимые компоненты
компоненты, необходимые для его изготовления:
- Ардуино Нано v.3
- RGB RIng NeoPixels
- Потенциометр
- Перемычка
- USB мини
- Совет проекта
Шаг 2: Схема цепи
Соберите все компоненты в соответствии с приведенной выше схемой просадки.
Arduino для Potensio и кольцо RGB
+ 5 В ==> 3. Потенциал и VCC
GND ==> 1. Потенциал и GND
A0 ==> 2. Потенциал
D12 ==> В
Шаг 3: программирование
Скопируйте приведенный ниже код и вставьте его в свой набросок.
#include #ifdef _AVR_ #include // Требуется для 16 МГц Adafruit Trinket #endif
#define PIN 12
#define ЧИСЛО 16
Adafruit_NeoPixel пикселей (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define DELAYVAL 10
void setup () {
#if defined (_ AVR_ATtiny85_) && (F_CPU == 16000000)
clock_prescale_set (clock_div_1); #endif
pixel.begin ();
pixel.setBrightness (10);
Serial.begin (9600); }
пустой цикл ()
{pixel.clear (); int val = аналоговое чтение (A0); val = карта (val, 0, 1023, 0, 18);
if (val == 1) {для (int я = 0; я <1; я ++) {пикселей.setPixelColor (я, пикселей. Color (0, 225, 0)); задержка (10); }}
если (val == 2)
{для (int я = 0; я <2; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (32, 225, 0)); задержка (10); }}
если (val == 3)
{для (int я = 0; я <3; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (64, 225, 0)); задержка (10); }}
если (val == 4)
{для (int я = 0; я <4; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (96, 225, 0)); задержка (10); }}
если (val == 5)
{для (int я = 0; я <5; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (128, 225, 0)); задержка (10); }}
если (val == 6)
{для (int я = 0; я <6; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (160, 225, 0)); задержка (10); }}
если (val == 7)
{для (int я = 0; я <7; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (192, 225, 0)); задержка (10); }}
если (val == 8)
{для (int я = 0; я <8; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (225, 225, 0)); задержка (10); }}
если (val == 9)
{для (int я = 0; я <9; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (225, 225, 0)); задержка (10); }}
если (val == 10)
{для (int я = 0; я <10; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (225, 192, 0)); задержка (10); }}
если (val == 11)
{для (int я = 0; я <11; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (225, 160, 0)); задержка (10); }}
если (val == 12)
{для (int я = 0; я <12; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (225, 128, 0)); задержка (10); }}
если (val == 13)
{для (int я = 0; я <13; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (225, 96, 0)); задержка (10); }}
если (val == 14)
{для (int я = 0; я <14; я ++) {пикселей.setPixelColor (я, пикселей. Color (225, 64, 0)); задержка (10); }}
если (val == 15)
{для (int я = 0; я <15; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (225, 32, 0)); задержка (10); }}
если (val == 16)
{для (int я = 0; я <16; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (225, 0, 0)); задержка (10); }}
если (val == 17)
{для (int я = 0; я <17; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (225, 0, 0)); задержка (10); }}
если (val == 18)
{для (int я = 0; я <18; я ++) {пикселей.setPixelColor (я, пикселей. Цвет (225, 0, 0)); задержка (10); }} pixel.show (); задержка (DELAYVAL); }
Файл скетча можно скачать ниже:
Шаг 4: Результат
О результатах можно увидеть на видео выше.
Таким образом, каждый раз, когда потенциометр вращается, количество и цвет светодиодов на кольце будут загораться в соответствии с количеством оборотов, сделанных на потенциометре.