LED Dawn / Sunrise väckarklocka, nattlampa & säkerhet ljus - Arduino kompatibel (7 / 22 steg)
Steg 7: Modul 2 - 4-siffrig Display - översikt
För att göra detta, har jag använt en billig röd (bra på natten) 4-siffriga, 7-segment LED display köpte av e-bay. Detta har endast 12 stift: 8 gemensamma anoder, en för varje segment av displayen och fyra gemensamma katoder, en för varje siffra. Självklart kan du använda fyra separata common-katod siffror om du föredra men du skulle behöva för att koppla alla segment anoder tillsammans.
Avgränsaren som kolon är det enda "segment" som lyser på åttonde anoden. Det är associerad med siffran 2 (räknande L till R) och använder siffran 2 katoden. Ingen LED ljus med anoden 8 och alla andra katod. Vi vill också angivande av om larmet är "beväpnade" så jag har lagt en enkel röd/orange LED mellan anoden för kolon datumavgränsare och katoden för siffra 4. Vi skulle kunna lägga till en annan två indikatorlampor lätt om vi ville på de andra siffrorna. Om du gör en klocka som läser am/pm (min är bara 24-timmarsklocka) då du kanske vill ha en "pm" indikator, t.ex. Några andra 4-siffriga lysdioder kan mycket väl använda decimalerna på de andra siffrorna.
Eftersom anoderna är gemensamma för varje segment och katoder till varje siffra, kan vi ta varje segment individuellt men bara en siffra i taget. Vi kunde köra det direkt men det skulle ta 12 stift och vi inte kan skona att många! Det är där en särskild drivrutin chip kommer in, och jag har använt otroligt billig-som-chips Maxim 7219. Detta kan driva upp till 8 siffror genom att skanna varje siffra i sin tur så snabbt att de alla visas upplysta för det mänskliga ögat. Det har också programvarukontroll för ljusstyrka, vilket är en trevlig bonus och är konstant-strömmen gör att vi kan undvika att använda en hela batteriet av motstånd.
Den "7219 kommunicerar genom ett"shift register"typ seriell standardprotokoll med klocka, spärren och data rader - som bara är 3 stift i stället för 12. Och om 8 siffror inte är nog för dig kan du seriekoppla så många som du behöver. Fyra siffror är gott för oss, men om du ville lägga till en visning av sekunder också, du kan göra det från samma chip.
Den "7219 tar ett motstånd mellan pin X och 5V att ställa in den maximala strömmen. En 10K ger dig runt 40mA som även om för mycket för konstant körning av en typisk LED bör vara bra eftersom vi bara skannar varje segmentera en bråkdel av tiden (1 pass i 4 eftersom vi kör 4 digts). För att särskilt Visa jag hade, detta var fortfarande galen-ljust och jag har använt det på den lägsta inställningen programvara för ett sovrum. Du kan sätta en 10K - 50K trim-kruka i serie med de fasta 10K för att ställa in ljusstyrkeintervallet i hårdvara sedan plocka särskilda ljusstyrkenivå från programvara.