2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
In de vorige tutorial heb ik een potentiometer indicatie gemaakt met behulp van de RGB ring neo pixels led. je kunt het zien in dit artikel "Potentio-indicator gebruikt RGB Neopixel"
En vandaag zal ik de potentiatorindicator laten zien met behulp van het MAX7219 led-metrische display.
Volg de onderstaande stappen om het te maken.
Stap 1: Vereiste componenten
Vereiste componenten:
- Arduino nano
- Potentiometer
- Max7219 led-matrixweergave
- Doorverbindingsdraad
- Stuurgroep
- USB mini
- laptop
Vereiste bibliotheek
LedControl
Stap 2: Schema
Om de componenten te monteren, zie de schematische tekening hierboven, u kunt ook de onderstaande informatie bekijken:
Arduino naar Led & potentio
+5V ==> VCC & 3. Potentio
GND ==> GND & 1. Potentio
D6 ==> DataIn
D7 ==> CLK
D8 ==> CS / Belasting
Stap 3: Programmeren
Gebruik de onderstaande code om ait te maken:
#include "LedControl.h"
/*
Nu hebben we een LedControl nodig om mee te werken. ***** Deze pinnummers werken waarschijnlijk niet met uw hardware ***** pin 6 is verbonden met de DataIn pin 7 is verbonden met de CLK pin 8 is verbonden met LOAD We hebben maar een enkele MAX72XX. */
LedControl lc=LedControl(6, 7, 8, 1);
unsigned lange vertragingstijd=100;
ongeldige setup() {
lc.shutdown(0, false); lc.setIntensity(0, 8); lc.clearDisplay(0); } void loop () { int val = analogRead (A0); val = kaart (val, 0, 1023, 0, 8);
als(waarde == 1)
{
lc.setRow(0, 0, B10000000);
}
als(waarde == 2)
{ lc.setRow(0, 0, B10000000); lc.setRow(0, 1, B10000000); } if(waarde == 3) {
lc.setRow(0, 0, B10000000);
lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); } if(waarde == 4) {
lc.setRow(0, 0, B10000000);
lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); lc.setRow(0, 3, B10000000); } als(waarde == 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); } if(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); } if(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); } if(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); }
Stap 4: Resultaat
Eenmaal geprogrammeerd, zien de resultaten er als volgt uit.
Als de potentio naar rechts wordt gedraaid, zullen de live LED's steeds meer het aantal windingen volgen.
Als de pot naar links wordt gedraaid, zal de live-LED steeds minder worden na de rotatiepotentie.