Arduino: ett enklare sätt att arbeta med sju segmenterar skärmar (9 / 14 steg)
Steg 9: Kod:
Här är koden, bara kopiera och klistra in efter denna linje.
/ * Kod skriven och mönster av Kyle Hovey (aka Speleomaniac på
För denna kod för en 4511 binära till sju-segment display avkodare att göra
skriva kod för visar mycket lättare (om du råkar ha en 4511
liggande somwhere)
Sju segment display:
A är ansluten till: stift 13 i 4511 (4511 chip är ett 16 stift chip för alla undrar)
B är ansluten till: pin 12 i 4511
C är ansluten till: pin-11 i 4511
D är ansluten till: pin 10 av 4511
E ansluten till: pin 9 i 4511
F är ansluten till: pin 15 av 4511
G ansluten till: stift 14 i 4511
Arduino att 4511:
Digital Pin 8 anslutna till: pin 1 av 4511 (binära pin 2)
Digital Pin 9 ansluten till: pin 2 av 4511 (binära pin 3)
Digital Pin 11 ansluten till: pin 6 i 4511 (binära PIN-kod 4)
Digital Pin 12 anslutna till: stift 7 i 4511 (binära pin 1)
Binära:
B: DEC:
0000: 1
1000: 2
0100: 3
1100: 4
0010: 5
1010: 6
0110: 7
1110: 8
0001: 9 (4511 accepterar endast siffror upp till nio, sju segment display
1001:10 kan inte Visa tvåsiffrigt tal om du inte har två skärmar och två chips)
0101: 11
1101: 12
0011: 13
0111: 14
1111: 15
Koden för en enkel count-up timer:
*/
CONST int Bin1 = 12; Dessa alla identifiera binära ingångar
CONST int Bin2 = 8; 4511 sju Segment dekoder
CONST int Bin3 = 9;
CONST int Bin4 = 11;
void setup() //Enters installationsfasen
{
pinMode (Bin1, OUTPUT); ställer in binära utdata en som en digital utgång
pinMode (Bin2, OUTPUT); och så vidare...
pinMode (Bin3, OUTPUT);
pinMode (Bin4, OUTPUT);
}
void loop() / / ganska mycket bara säger "loopa vad koden är efter denna linje"
{
digitalWrite (Bin1, B0); Skriv "0" till displayen
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B0);
Delay(500);
digitalWrite (Bin1, B1); Skriv "1" till displayen
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B0);
Delay(500); Vänta för hälften av en sekund (annars siffrorna skulle vara en oskärpa)
digitalWrite (Bin1, B0); Skriv "2" till displayen
digitalWrite (Bin2, B1);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B0);
Delay(500); Vänta för hälften av en sekund
digitalWrite (Bin1, B1); Skriv "3" till displayen
digitalWrite (Bin2, B1);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B0);
Delay(500); Vänta för hälften av en sekund
digitalWrite (Bin1, B0); Skriv "4" till displayen
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B1);
digitalWrite (Bin4, B0);
Delay(500); Vänta för hälften av en sekund
digitalWrite (Bin1, B1); Skriv "5" till displayen
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B1);
digitalWrite (Bin4, B0);
Delay(500); Vänta för hälften av en sekund
digitalWrite (Bin1, B0); Skriv "6" till displayen
digitalWrite (Bin2, B1);
digitalWrite (Bin3, B1);
digitalWrite (Bin4, B0);
Delay(500); Vänta för hälften av en sekund
digitalWrite (Bin1, B1); Skriv "7" till displayen
digitalWrite (Bin2, B1);
digitalWrite (Bin3, B1);
digitalWrite (Bin4, B0);
Delay(500); Vänta för hälften av en sekund
digitalWrite (Bin1, B0); Skriv "8" till displayen
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B1);
Delay(500); Vänta för hälften av en sekund
digitalWrite (Bin1, B1); Skriv "9" till displayen
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B1);
Delay(500); Vänta för hälften av en sekund
}