/* ===================================
* Potentiometer
*
* by computerarchiv-muenchen.de
*
* http://demo07.makercafe-muenchen.de
* ===================================
*/
#define POTENTIOMETER A0 // Pin für Potentiometer
#include <LiquidCrystal_I2C.h> // Funktionsbibliothek für I2C-LCD-Anzeige einbinden
LiquidCrystal_I2C LCD( 0x27, 16, 2 ); // LCD-Objekt aus Funktionsbibliothek für I2C-LCD-Anzeige erstellen
int ledPins[] = { 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 }; // LED-Bar Anschluss-Pins
void setup() {
LCD.init(); // LCD initialisieren
LCD.backlight(); // Hintergrundbeleuchtung an
LCD.print( "Hallo Welt !" ); // Text auf LCD ausgeben
}
void loop() {
int analogWert = analogRead( POTENTIOMETER ); // Potentiometer-Wert auslesen
int zahlenWert = map( analogWert, 0, 1023, 0, 9 ); // Zahlenwert aus Potentiometer-Wert berechnen
LCD.setCursor( 0, 1 ); // Text-Position bestimmen
LCD.print( "Zahlen-Wert:" ); // Text ausgeben
LCD.print( zahlenWert ); // Zahlenwert ausgeben
LCD.print( " " ); // alte, vorhandene Ziffern mit Leerzeichen überschreiben
for( int i = 0; i <= 9; i++ ) { // Zahlen von 0 bis 9 durchzählen
if( i <= zahlenWert ) // Wenn Schleifenwert kleiner oder gleich Zahlenwert
digitalWrite( ledPins[ i ], HIGH ); // dann entsprechende LED EINschalten
else // andernfalls
digitalWrite( ledPins[ i ], LOW ); // entsprechende LED AUSschalten
}
}