תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
במאמר זה אכין מחוון סיבוב של מד הפוטנציו באמצעות טבעת פיקסל RGB Nano.
אז, כמה מהפכות שבוצעו על הפוטנציומטר יוצגו על טבעת ה- RGB
שלב 1: רכיבים נדרשים
הרכיבים הדרושים להכנתו:
- Arduino Nano v.3
- RGB רינג NeoPixels
- פוטנציומטר
- כבל מגשר
- מיני USB
- לוח פרויקט
שלב 2: סכמת מעגלים
הרכיבו את כל הרכיבים בהתאם לתוכנית הנסיגה לעיל.
Arduino to Potensio & RGB טבעת
+5V ==> 3. פוטנציאל & VCC
GND ==> 1. פוטנציאל ו- GND
A0 ==> 2. פוטנציאל
D12 ==> IN
שלב 3: תכנות
העתק את הקוד למטה והדבק אותו בסקיצה שלך
#include #ifdef _AVR_ #include // נדרש עבור תכשיט Adafruit 16 MHz #endif
#הגדר PIN 12
#הגדר NUMPIXELS 16
פיקסלים של Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define DELAYVAL 10
הגדרת בטל () {
#אם מוגדר (_ AVR_ATtiny85_) && (F_CPU == 16000000)
ערכת_הגדלה של השעון (clock_div_1); #endif
פיקסלים.התחל ();
pixels.setBrightness (10);
Serial.begin (9600); }
לולאת חלל ()
{pixels.clear (); int val = analogRead (A0); val = מפה (val, 0, 1023, 0, 18);
if (val == 1) {for (int i = 0; i <1; i ++) {pixels.setPixelColor (i, pixels. Color (0, 225, 0)); עיכוב (10); }}
אם (val == 2)
{for (int i = 0; i <2; i ++) {pixels.setPixelColor (i, pixels. Color (32, 225, 0)); עיכוב (10); }}
אם (val == 3)
{for (int i = 0; i <3; i ++) {pixels.setPixelColor (i, pixels. Color (64, 225, 0)); עיכוב (10); }}
אם (val == 4)
{for (int i = 0; i <4; i ++) {pixels.setPixelColor (i, pixels. Color (96, 225, 0)); עיכוב (10); }}
אם (val == 5)
{for (int i = 0; i <5; i ++) {pixels.setPixelColor (i, pixels. Color (128, 225, 0)); עיכוב (10); }}
אם (val == 6)
{for (int i = 0; i <6; i ++) {pixels.setPixelColor (i, pixels. Color (160, 225, 0)); עיכוב (10); }}
אם (val == 7)
{for (int i = 0; i <7; i ++) {pixels.setPixelColor (i, pixels. Color (192, 225, 0)); עיכוב (10); }}
אם (val == 8)
{for (int i = 0; i <8; i ++) {pixels.setPixelColor (i, pixels. Color (225, 225, 0)); עיכוב (10); }}
אם (val == 9)
{for (int i = 0; i <9; i ++) {pixels.setPixelColor (i, pixels. Color (225, 225, 0)); עיכוב (10); }}
אם (val == 10)
{for (int i = 0; i <10; i ++) {pixels.setPixelColor (i, pixels. Color (225, 192, 0)); עיכוב (10); }}
אם (val == 11)
{for (int i = 0; i <11; i ++) {pixels.setPixelColor (i, pixels. Color (225, 160, 0)); עיכוב (10); }}
אם (val == 12)
{for (int i = 0; i <12; i ++) {pixels.setPixelColor (i, pixels. Color (225, 128, 0)); עיכוב (10); }}
אם (val == 13)
{for (int i = 0; i <13; i ++) {pixels.setPixelColor (i, pixels. Color (225, 96, 0)); עיכוב (10); }}
אם (val == 14)
{for (int i = 0; i <14; i ++) {pixels.setPixelColor (i, pixels. Color (225, 64, 0)); עיכוב (10); }}
אם (val == 15)
{for (int i = 0; i <15; i ++) {pixels.setPixelColor (i, pixels. Color (225, 32, 0)); עיכוב (10); }}
אם (val == 16)
{for (int i = 0; i <16; i ++) {pixels.setPixelColor (i, pixels. Color (225, 0, 0)); עיכוב (10); }}
אם (val == 17)
{for (int i = 0; i <17; i ++) {pixels.setPixelColor (i, pixels. Color (225, 0, 0)); עיכוב (10); }}
אם (val == 18)
{for (int i = 0; i <18; i ++) {pixels.setPixelColor (i, pixels. Color (225, 0, 0)); עיכוב (10); }} פיקסלים.הצג (); עיכוב (DELAYVAL); }
ניתן להוריד קובץ סקיצה למטה:
שלב 4: תוצאה
לתוצאות ניתן לראות בסרטון למעלה.
אז בכל פעם שמסובבים את הפוטנציומטר המספר והצבע של הלדים על הטבעת יידלקו בהתאם למספר הסיבובים שנעשו בפוטנציומטר.