สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ในบทความนี้ ฉันจะสร้างตัวบ่งชี้การหมุนของโพเทนชิโอมิเตอร์โดยใช้วงแหวนพิกเซล RGB นาโน
ดังนั้นจะแสดงจำนวนรอบการหมุนบนโพเทนชิออมิเตอร์บนวงแหวน RGB
ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็นในการทำ:
- Arduino นาโน v.3
- RGB ริง NeoPixels
- โพเทนชิออมิเตอร์
- สายจัมเปอร์
- USB มินิ
- คณะกรรมการโครงการ
ขั้นตอนที่ 2: แผนผังวงจร
ประกอบส่วนประกอบทั้งหมดตามรูปแบบการเบิกจ่ายด้านบน
Arduino เป็น 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
#กำหนด NUMPIXELS 16
Adafruit_NeoPixel พิกเซล (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#กำหนด DELAYVAL 10
การตั้งค่าเป็นโมฆะ () {
#if กำหนด (_AVR_ATtiny85_) && (F_CPU == 16000000)
clock_prescale_set(clock_div_1); #endif
พิกเซล.begin();
พิกเซล.setBrightness(10);
Serial.begin(9600); }
วงเป็นโมฆะ ()
{ พิกเซล. ชัดเจน (); int val = analogRead (A0); วาล = แผนที่(วาล, 0, 1023, 0, 18);
if(val == 1) { สำหรับ(int i=0; i<1; i++) { pixels.setPixelColor(i, pixels. Color(0, 225, 0)); ล่าช้า(10); } }
ถ้า(วาล == 2)
{ สำหรับ(int i=0; i<2; i++) { pixels.setPixelColor(i, pixels. Color(32, 225, 0)); ล่าช้า(10); } }
ถ้า(วาล == 3)
{ สำหรับ(int i=0; i<3; i++) { pixels.setPixelColor(i, pixels. Color(64, 225, 0)); ล่าช้า(10); } }
ถ้า(วาล == 4)
{ สำหรับ(int i=0; i<4; i++) { pixels.setPixelColor(i, pixels. Color(96, 225, 0)); ล่าช้า(10); } }
ถ้า(วาล == 5)
{ สำหรับ(int i=0; i<5; i++) { pixels.setPixelColor(i, pixels. Color(128, 225, 0)); ล่าช้า(10); } }
ถ้า(วาล == 6)
{ สำหรับ(int i=0; i<6; i++) { pixels.setPixelColor(i, pixels. Color(160, 225, 0)); ล่าช้า(10); } }
ถ้า(วาล == 7)
{ สำหรับ(int i=0; i<7; i++) { pixels.setPixelColor(i, pixels. Color(192, 225, 0)); ล่าช้า(10); } }
ถ้า(วาล == 8)
{ สำหรับ(int i=0; i<8; i++) { pixels.setPixelColor(i, pixels. Color(225, 225, 0)); ล่าช้า(10); } }
ถ้า(วาล == 9)
{ สำหรับ(int i=0; i<9; i++) { pixels.setPixelColor(i, pixels. Color(225, 225, 0)); ล่าช้า(10); } }
ถ้า(วาล == 10)
{ สำหรับ(int i=0; i<10; i++) { pixels.setPixelColor(i, pixels. Color(225, 192, 0)); ล่าช้า(10); } }
ถ้า(วาล == 11)
{ สำหรับ(int i=0; i<11; i++) { pixels.setPixelColor(i, pixels. Color(225, 160, 0)); ล่าช้า(10); } }
ถ้า(วาล == 12)
{ สำหรับ(int i=0; i<12; i++) { pixels.setPixelColor(i, pixels. Color(225, 128, 0)); ล่าช้า(10); } }
ถ้า(วาล == 13)
{ สำหรับ(int i=0; i<13; i++) { pixels.setPixelColor(i, pixels. Color(225, 96, 0)); ล่าช้า(10); } }
ถ้า(วาล == 14)
{ สำหรับ(int i=0; i<14; i++) { pixels.setPixelColor(i, pixels. Color(225, 64, 0)); ล่าช้า(10); } }
ถ้า(วาล == 15)
{ สำหรับ(int i=0; i<15; i++) { pixels.setPixelColor(i, pixels. Color(225, 32, 0)); ล่าช้า(10); } }
ถ้า (ค่า == 16)
{ สำหรับ(int i=0; i<16; i++) { pixels.setPixelColor(i, pixels. Color(225, 0, 0)); ล่าช้า(10); } }
ถ้า (ค่า == 17)
{ สำหรับ(int i=0; i<17; i++) { pixels.setPixelColor(i, pixels. Color(225, 0, 0)); ล่าช้า(10); } }
ถ้า(วาล == 18)
{ สำหรับ(int i=0; i<18; i++) { pixels.setPixelColor(i, pixels. Color(225, 0, 0)); ล่าช้า(10); } } pixels.show(); ล่าช้า (DELAYVAL); }
สามารถดาวน์โหลดไฟล์ Sketch ได้ด้านล่าง:
ขั้นตอนที่ 4: ผลลัพธ์
สำหรับผลลัพธ์สามารถเห็นได้ในวิดีโอด้านบน
ดังนั้นทุกครั้งที่หมุนโพเทนชิออมิเตอร์ จำนวนและสีของไฟ LED บนวงแหวนจะสว่างขึ้นตามจำนวนรอบที่ทำบนโพเทนชิออมิเตอร์