Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Σε αυτό το άρθρο θα κάνω έναν δείκτη περιστροφής του μετρητή δυναμικού χρησιμοποιώντας δακτύλιο pixel RGB Nano.
Έτσι, πόσες στροφές γίνονται στο ποτενσιόμετρο θα εμφανίζονται στο δακτύλιο RGB
Βήμα 1: Απαιτούμενα εξαρτήματα
τα συστατικά που απαιτούνται για την κατασκευή του:
- Arduino Nano v.3
- RGB RIng NeoPixels
- Ποτενσιόμετρο
- Jumper Wire
- USB mini
- Πίνακας έργου
Βήμα 2: Σχήμα κυκλώματος
Συναρμολογήστε όλα τα εξαρτήματα σύμφωνα με το παραπάνω σχέδιο απόσυρσης.
Arduino to Potensio & RGB Ring
+5V ==> 3. Potensio & VCC
GND ==> 1. Potensio & GND
A0 ==> 2. Potensio
D12 ==> IN
Βήμα 3: Προγραμματισμός
Αντιγράψτε τον παρακάτω κώδικα και επικολλήστε τον στο σκίτσο σας
#include #ifdef _AVR_ #include // Απαιτείται για 16 MHz Adafruit Trinket #endif
#καθορίστε το PIN 12
#define NUMPIXELS 16
Εικονοστοιχεία Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define DELAYVAL 10
void setup () {
#if καθορισμένα (_ AVR_ATtiny85_) && (F_CPU == 16000000)
clock_prescale_set (clock_div_1); #τέλος εαν
pixels.begin ();
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)
{για (int i = 0; i <2; i ++) {pixels.setPixelColor (i, pixels. Color (32, 225, 0)); καθυστέρηση (10)? }}
αν (val == 3)
{για (int i = 0; i <3; i ++) {pixels.setPixelColor (i, pixels. Color (64, 225, 0)); καθυστέρηση (10)? }}
αν (val == 4)
{για (int i = 0; i <4; i ++) {pixels.setPixelColor (i, pixels. Color (96, 225, 0)); καθυστέρηση (10)? }}
αν (val == 5)
{για (int i = 0; i <5; i ++) {pixels.setPixelColor (i, pixels. Color (128, 225, 0)); καθυστέρηση (10)? }}
αν (val == 6)
{για (int i = 0; i <6; i ++) {pixels.setPixelColor (i, pixels. Color (160, 225, 0)); καθυστέρηση (10)? }}
εάν (val == 7)
{για (int i = 0; i <7; i ++) {pixels.setPixelColor (i, pixels. Color (192, 225, 0)); καθυστέρηση (10)? }}
αν (val == 8)
{για (int i = 0; i <8; i ++) {pixels.setPixelColor (i, pixels. Color (225, 225, 0)); καθυστέρηση (10)? }}
αν (val == 9)
{για (int i = 0; i <9; i ++) {pixels.setPixelColor (i, pixels. Color (225, 225, 0)); καθυστέρηση (10)? }}
αν (val == 10)
{για (int i = 0; i <10; i ++) {pixels.setPixelColor (i, pixels. Color (225, 192, 0)); καθυστέρηση (10)? }}
αν (val == 11)
{για (int i = 0; i <11; i ++) {pixels.setPixelColor (i, pixels. Color (225, 160, 0)); καθυστέρηση (10)? }}
αν (val == 12)
{για (int i = 0; i <12; i ++) {pixels.setPixelColor (i, pixels. Color (225, 128, 0)); καθυστέρηση (10)? }}
αν (val == 13)
{για (int i = 0; i <13; i ++) {pixels.setPixelColor (i, pixels. Color (225, 96, 0)); καθυστέρηση (10)? }}
αν (val == 14)
{για (int i = 0; i <14; i ++) {pixels.setPixelColor (i, pixels. Color (225, 64, 0)); καθυστέρηση (10)? }}
αν (val == 15)
{για (int i = 0; i <15; i ++) {pixels.setPixelColor (i, pixels. Color (225, 32, 0)); καθυστέρηση (10)? }}
αν (val == 16)
{για (int i = 0; i <16; i ++) {pixels.setPixelColor (i, pixels. Color (225, 0, 0)); καθυστέρηση (10)? }}
αν (val == 17)
{για (int i = 0; i <17; i ++) {pixels.setPixelColor (i, pixels. Color (225, 0, 0)); καθυστέρηση (10)? }}
αν (val == 18)
{για (int i = 0; i <18; i ++) {pixels.setPixelColor (i, pixels. Color (225, 0, 0)); καθυστέρηση (10)? }} pixels.show (); καθυστέρηση (ΚΑΘΥΣΤΕΡΗΣΗ)? }
Μπορείτε να κατεβάσετε το αρχείο σκίτσων παρακάτω:
Βήμα 4: Αποτέλεσμα
Για αποτελέσματα μπορείτε να δείτε στο παραπάνω βίντεο.
Έτσι κάθε φορά που περιστρέφεται το ποτενσιόμετρο, ο αριθμός και το χρώμα των LED στο δαχτυλίδι θα ανάβουν ανάλογα με τον αριθμό των στροφών που γίνονται στο ποτενσιόμετρο.