Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Sa nakaraang tutorial gumawa ako ng isang pahiwatig ng potensyomiter gamit ang RGB ring neo pixel na humantong. maaari mo itong makita sa artikulong ito "Ang Potentio tagapagpahiwatig Gumagamit ng RGB Neopixel"
At ngayon ipapakita ko ang tagapagpahiwatig ng potentiator gamit ang MAX7219 led metric display.
Sundin ang mga hakbang sa ibaba upang magawa ito.
Hakbang 1: Kinakailangan na Mga Sangkap
Mga Kinakailangan na Bahagi:
- Arduino nano
- Potensyomiter
- Max7219 Ipakita ang Matrix Display
- Jumper Wire
- Lupon ng Proyekto
- USB mini
- laptop
Kinakailangan Library
LedControl
Hakbang 2: Scheme
Upang tipunin ang mga sangkap tingnan ang iskematikong pagguhit sa itaas, maaari mo ring makita ang impormasyon sa ibaba:
Arduino sa Led & potentio
+ 5V ==> VCC & 3. Potentio
GND ==> GND & 1. Potentio
D6 ==> DataIn
D7 ==> CLK
D8 ==> CS / Load
Hakbang 3: Programming
Gamitin ang code sa ibaba upang makagawa:
# isama ang "LedControl.h"
/*
Ngayon kailangan namin ng isang LedControl upang gumana. ***** Ang mga pin na numero ay malamang na hindi gagana sa iyong hardware ***** pin 6 ay konektado sa DataIn pin 7 ay konektado sa CLK pin 8 ay konektado sa LOAD Mayroon kaming isang solong MAX72XX. * /
LedControl lc = LedControl (6, 7, 8, 1);
unsigned matagal na pagkaantala = 100;
walang bisa ang pag-setup () {
lc.shutdown (0, false); lc.setIntensity (0, 8); lc.clearDisplay (0); } void loop () {int val = analogRead (A0); val = mapa (val, 0, 1023, 0, 8);
kung (val == 1)
{
lc.setRow (0, 0, B10000000);
}
kung (val == 2)
{lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); } kung (val == 3) {
lc.setRow (0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); } kung (val == 4) {
lc.setRow (0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); } kung (val == 5) {
lc.setRow (0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); } kung (val == 6) {lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); } kung (val == 7) {lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); lc.setRow (0, 6, B10000000); } kung (val == 8) {lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); lc.setRow (0, 6, B10000000); lc.setRow (0, 7, B10000000); } lc.clearDisplay (0); }
Hakbang 4: Resulta
Kapag na-program na, magiging ganito ang mga resulta.
Kung ang potentio ay pinaikot sa kanan, ang mga live na LED ay lalong susundan ang bilang ng mga liko.
Kung ang palayok ay lumiko sa kaliwa, ang live na LED ay magiging mas mababa at mas mababa sa pagsunod sa lakas ng pag-ikot.