Arduino gemensam anod 7 segment display
I denna tutorial kommer jag visa dig hur tråd och använda en gemensam anod display med arduino. först måste du hitta databladet och hitta vilka benen är anoderna, i mitt fall var det 3 och 8 och ledsen genom att bilden är på fel sätt, så längst ner till höger är en och övre vänstra är tio. de röda trådarna är min anoder och de koppla ihop och gå till stift 2 på arduino. De fyra nedersta stiften är anslutna: pin 1 på 7 segment är ansluten till 3 på arduino och stift 2 är 4 osv och på den översta raden: stift 5 är 7 etc, min hoppare ledningar inte kunde nå så patch av arduino är bara jag ansluta två tillsammans.
Fick allt fast på rätt ställe? Stor! Oh och min 7 segment är en kingsbright sa05 11ewa.
För att lätta 7 segment gemensamma anoden makt (PIN2) och katoder behöver för att nå marken, därför genom att inducera en ström i katoder du kan stoppa dem från att lysa upp.
Detta innebär att det i princip bara på fel sätt runda, när du slår segment katoden (katod pin HIGH) segmentet är avstängd eftersom det inte kan nå marken, när du låter katoden nå marken (katod pin låg) segmentet är på, fick det?
HÖG ledde bort, låg innebär på
på är, off är på...
Jag skrev en snabb bit kod att dechiffrera vilket stift är vilket.
Detta är ett program som försöker lysa upp sa05 11ewa ledde
7 bitars ljus med gemensam anod i serien från varje ljus
CONST int ANODEN = 2; gemensam anod pin
CONST int LED1 = 3; ledde 1 går just till vänster uppifrån och ned
CONST int LED2 = 4; PIN-koden för led 2
CONST int LED3 = 5; PIN-koden för led 3
CONST int LED4 = 6; PIN-koden för led 4
nu nedre raden
CONST int LED5 = 7. PIN-koden för led 5
CONST int LED6 = 8; PIN-koden för led 6
CONST int LED7 = 9; PIN-koden för led 7
CONST int LED8 = 10; PIN-koden för led 8
int dröjsmål = 0; så det händer endast 3 gånger
void setup() {
pinMode (ANODEN, OUTPUT); gemensam anod är uppenbarligen en utgång
pinMode (LED1, OUTPUT); LED är för låg kommer att vara på
pinMode (LED2, OUTPUT); led 2 är utdata
pinMode (LED3, OUTPUT); LED 3 är utdata
pinMode (LED4, OUTPUT); LED 4 är utdata
pinMode (LED5, OUTPUT); LED 5 är utdata
pinMode (LED6, OUTPUT); LED 6 är utdata
pinMode (LED7, OUTPUT); LED 7 är utdata
pinMode (LED8, OUTPUT); LED 8 är utdata
}
void loop() {
om (dröjsmål == 300) {
Delay(100000);
}
digitalWrite (ANODEN, hög); anoden är strömförsörjd
digitalWrite (LED1, hög); stoppar power led 1
digitalWrite (LED2, hög); stoppar power led 2
digitalWrite (LED3, hög); stoppar power led 3
digitalWrite (LED4, hög); stoppar power-led 4
digitalWrite (LED5, hög); stoppar power-led 5
digitalWrite (LED6, hög); stoppar power-led 6
digitalWrite (LED7, hög); stoppar power-led 7
digitalWrite (LED8, hög); stoppar power led 8
Delay(1000); förseningar innan du börjar
digitalWrite (LED1, låg); vänder på 1
Delay(500); förseningar
digitalWrite (LED1, hög); stänga av 1
digitalWrite (LED2, låg); slå på 2
Delay(500); förseningar
digitalWrite (LED2, hög); stänga av 2
digitalWrite (LED3, låg); slå på 3
Delay(500); förseningar
digitalWrite (LED3, hög); Stäng av 3
digitalWrite (LED4, låg); slå på 4
Delay(500); förseningar
digitalWrite (LED4, hög); stänga av 4
digitalWrite (LED5, låg); slå på 5
Delay(500); förseningar
digitalWrite (LED5, hög); stänga av 4
digitalWrite (LED6, låg); slå på 5
Delay(500); förseningar
digitalWrite (LED6, hög); stänga av 4
digitalWrite (LED7, låg); slå på 5
Delay(500); förseningar
digitalWrite (LED7, hög); stänga av 4
digitalWrite (LED8, låg); slå på 5
Delay(500); förseningar
digitalWrite (LED8, hög); stänga av 4
Delay(100); förseningar
DELAY = FÖRDRÖJNING + 150; förseningar är ökade
}