Suzuki GSX (Katana) - Heck Phase 3 - Update Suzuki GSX (Katana) - Federbein
Nov 04

Ich habe heute mal wieder Zeit gefunden ein wenig mit dem Arduino zu spielen. Das Ergebnis ist ein 7-Segment-Anzeige, welche ziemlich einfach zu bedienen ist. Ohne IC benötig man jedoch 9-Ports von dem Arduino, somit bleibt wenig platz für andere Spielereien (Duemianove) …

Ich habe keine Lib oder sonstiges benutzt, einfach drauf los :)

Code unkommentiert und einfach (Zähler startet “unten rechts”:

void matrix(char matrix[7]) {
  int map[10];
  map[0] = 5;
  map[1] = 8;
  map[2] = 9;
  map[3] = 2;
  map[4] = 7;
  map[5] = 6;
  map[6] = 3;
  map[7] = 4;  

  int i=0;
  for(i=0;i<=7; i++) {
   if(matrix[i] == 0x31) {
      Serial.println(map[i]);
      digitalWrite(map[i],LOW);
   }
   else digitalWrite(map[i],HIGH);
  }
}

void show(int number) {
  switch(number) {
    case 1:
      matrix("1100000");
      break;
    case 2:
      matrix("01101110");
      break;
    case 3:
      matrix("11100110");
      break;
    case 4:
      matrix("11010010");
      break;
    case 5:
      matrix("10110110");
      break;
    case 6:
      matrix("10111110");
      break;
    case 7:
      matrix("1110000");
      break;
    case 8:
      matrix("11111110");
      break;
    case 9:
      matrix("11110110");
      break;
  }
}

void setup()   {
  Serial.begin(9600); 

  // initialize the digital pin as an output:
  pinMode(12, 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);
}

void loop()
{
  int i=1;
  digitalWrite(12, HIGH);   // set the LED on
  for(i=1; i<=9; i++) {
   show(i);
   delay(1000);
  }
}

Eine Antwort zu “Arduino 7 segment display”

  1. Hackfrag sagt:

    Schaut gut aus! Bilder??

Einen Kommentar schreiben