Olika metoder för att köra 7 Segment LED visar med Arduino (1 / 5 steg)
Steg 1:
- Direkt från Arduino / Atmega 328
- Via SKIFT registrera från Arduino / Atmega 328
- Direkt från Arduino / Atmega 328 med direkt port manipulation
- Multiplexed via skiftregister från Arduino / Atmega 328 / tryckknapp counter
- Multiplexed via skiftregister från Arduino / Atmega 328 / Potentiometer counter
1 - direkt från Arduino / Atmega 328
Räknar automatiskt från noll till nio och sedan upprepar
Koden
Tack vare grinig Mike http://www.thebox.myzen.co.uk/Tutorial/Arrays.html
Fördelning av LED Segment inom byte = {DP ABCDEFG}
int stift [] = {2, 3, 4, 5, 6, 7, 8, 9}; stift 9 tilldelats DP men som används inte (binär matris i char tenCode första element)
int siffror [] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int counter = 0; initialisera counter som noll
int timer = 1000; dröjsmål tidsintervall
char tenCode [] = {B01111110, B00110000, B01101101, B01111001, B00110011, B01011011, B01011111, B01110000, B01111111, B01111011};
void setup()
{
för (int jag = 0; jag < 8; i ++) / / ställa in digital pins som resultat
pinMode (stift [i], produktionen);
}
void loop()
{
för (int j = 0; j < 10; j ++)
{
displayEleven(digit[j]);
Delay(timer);
}
}
void displayEleven(int num)
{
int mask = 1;
för (int jag = 0; jag < 8; i ++)
{
om ((mask & tenCode[num]) == 0)
digitalWrite (stift [i], låg);
annat digitalWrite (stift [i], hög);
mask = maskera << 1.
}
}