Analogwert steuert LED-Punkt-Anzeige (und: Makro)



Wie in den letzten beiden Schaltungen stellt ein einstellbarer Widerstand Spannung von 0..5V für A0 zur Verfügung.
LEDs an Pin 0 ... Pin 10.

/*
  Analogwert steuert LED-Punkt-Anzeige
  ermittelt den analogen Spannungswert 0..5V vom Analogeingang A0
  und gibt es als LED-Punkt aus
 
  www.arduinospielwiese.de
 */

#define alleAus PORTB=0b00000000;PORTC=0b00000000;PORTD=0b00000000

int Wert; // ganzzahlige Variable für den Analogwert

void setup()
{
  pinMode( 0, OUTPUT);
  pinMode( 1, OUTPUT);
  pinMode( 2, OUTPUT);
  pinMode( 3, OUTPUT);
  pinMode( 4, OUTPUT);
  pinMode( 5, OUTPUT);
  pinMode( 6, OUTPUT);
  pinMode( 7, OUTPUT);
  pinMode( 8, OUTPUT);
  pinMode( 9, OUTPUT);
  pinMode(10, OUTPUT);
}


void loop()
{
 
  Wert = analogRead(A0) / 100; // das ergibt ganzzahlg 0...10
 
  digitalWrite(Wert, HIGH);
  delay(10);
  alleAus;

}


Der neue Befehl: #define

Das ist ein Makro.

Mit Makros kann man:

  •     seinen Programmtext lesbarer gestalten

  •     beim Programmieren schneller arbeiten

  •     einweinig faul sein.


Der Befehl hat die Schreibweise: #define neu alt

In unserem Programm hat die Verwendung des Makros den Vorteil, dass man sich nicht den langen Befehl zum Löschen aller Ports merken muss. Ich geb's zu: es ginge hier auch ohne Makro. Aber So hast Du es wenigstens mal gesehen.