Arduino 4 siffrig 7 segment display
Så att alla andra människor som inte förstår matriser är här ett annat sätt att göra en 4 siffrig 7 segment Visa arbete.
int aPin = 2; A
int bPin = 3; // ________
int cPin = 4; // | |
int dPin = 5; // F | | B
int ePin = 6; // | G |
int fPin = 7. // |________|
int gPin = 8; // | |
int GND1 = 9; // | |
int GND2 = 10; // E | | C
int GND3 = 11; // |________|
int GND4 = 12; //
int num; D
int dig1 = 0;
int dig2 = 0;
int dig3 = 0;
int dig4 = 0;
int DTime = 4;
void setup()
{
pinMode (aPin, OUTPUT);
pinMode (bPin, produktionen);
pinMode (cPin, produktionen);
pinMode (dPin, produktionen);
pinMode (ePin, produktionen);
pinMode (fPin, produktionen);
pinMode (gPin, produktionen);
pinMode (GND1, OUTPUT);
pinMode (GND2, OUTPUT);
pinMode (GND3, OUTPUT);
pinMode (GND4, OUTPUT);
Serial.BEGIN(9600);
}
void loop()
{
digitalWrite (GND1, hög);
digitalWrite (GND2, hög);
digitalWrite (GND3, hög);
digitalWrite (GND4, hög);
om (Serial.available() > 0)
{
NUM = Serial.parseInt();
Serial.println(NUM);
dig1 = num / 1000;
NUM = num - (dig1 * 1000);
dig2 = num / 100;
NUM = num - (dig2 * 100);
dig3 = num / 10;
dig4 = num - (dig3 * 10);
}
digitalWrite (GND4, låg); siffran 4
pickNumber(dig4);
Delay(DTime);
digitalWrite (GND4, hög);
digitalWrite (GND3, låg); siffran 3
pickNumber(dig3);
Delay(DTime);
digitalWrite (GND3, hög);
digitalWrite (GND2, låg); siffran 2
pickNumber(dig2);
Delay(DTime);
digitalWrite (GND2, hög);
digitalWrite (GND1, låg); siffran 1
pickNumber(dig1);
Delay(DTime);
digitalWrite (GND1, hög);
}
void pickNumber(int x) {
Switch(x) {
fall 1: one(); bryta;
fall 2: two(); bryta;
fall 3: three(); bryta;
fall 4: four(); bryta;
fall 5: five(); bryta;
mål 6: six(); bryta;
fall 7: seven(); bryta;
mål 8: eight(); bryta;
mål 9: nine(); bryta;
standard: zero(); bryta;
}
}
void clearLEDs()
{
digitalWrite (2, låg); A
digitalWrite (3, låg); B
digitalWrite (4, låg); C
digitalWrite (5, låg); D
digitalWrite (6, låg); E
digitalWrite (7, låg); F
digitalWrite (8, låg); G
}
void one()
{
digitalWrite (aPin, låg);
digitalWrite (bPin, hög);
digitalWrite (cPin, hög);
digitalWrite (dPin, låg);
digitalWrite (ePin, låg);
digitalWrite (fPin, låg);
digitalWrite (gPin, låg);
}
void two()
{
digitalWrite (aPin, hög);
digitalWrite (bPin, hög);
digitalWrite (cPin, låg);
digitalWrite (dPin, hög);
digitalWrite (ePin, hög);
digitalWrite (fPin, låg);
digitalWrite (gPin, hög);
}
void three()
{
digitalWrite (aPin, hög);
digitalWrite (bPin, hög);
digitalWrite (cPin, hög);
digitalWrite (dPin, hög);
digitalWrite (ePin, låg);
digitalWrite (fPin, låg);
digitalWrite (gPin, hög);
}
void four()
{
digitalWrite (aPin, låg);
digitalWrite (bPin, hög);
digitalWrite (cPin, hög);
digitalWrite (dPin, låg);
digitalWrite (ePin, låg);
digitalWrite (fPin, hög);
digitalWrite (gPin, hög);
}
void five()
{
digitalWrite (aPin, hög);
digitalWrite (bPin, låg);
digitalWrite (cPin, hög);
digitalWrite (dPin, hög);
digitalWrite (ePin, låg);
digitalWrite (fPin, hög);
digitalWrite (gPin, hög);
}
void six()
{
digitalWrite (aPin, hög);
digitalWrite (bPin, låg);
digitalWrite (cPin, hög);
digitalWrite (dPin, hög);
digitalWrite (ePin, hög);
digitalWrite (fPin, hög);
digitalWrite (gPin, hög);
}
void seven()
{
digitalWrite (aPin, hög);
digitalWrite (bPin, hög);
digitalWrite (cPin, hög);
digitalWrite (dPin, låg);
digitalWrite (ePin, låg);
digitalWrite (fPin, låg);
digitalWrite (gPin, låg);
}
void eight()
{
digitalWrite (aPin, hög);
digitalWrite (bPin, hög);
digitalWrite (cPin, hög);
digitalWrite (dPin, hög);
digitalWrite (ePin, hög);
digitalWrite (fPin, hög);
digitalWrite (gPin, hög);
}
void nine()
{
digitalWrite (aPin, hög);
digitalWrite (bPin, hög);
digitalWrite (cPin, hög);
digitalWrite (dPin, hög);
digitalWrite (ePin, låg);
digitalWrite (fPin, hög);
digitalWrite (gPin, hög);
}
void zero()
{
digitalWrite (aPin, hög);
digitalWrite (bPin, hög);
digitalWrite (cPin, hög);
digitalWrite (dPin, hög);
digitalWrite (ePin, hög);
digitalWrite (fPin, hög);
digitalWrite (gPin, låg);
}