Göra en Desktop Tamagotchi (2 / 8 steg)
Steg 2: Hårdvaran sidan
Hårdvaran består av 2 delar: den microcontroller delen och LED-displayen.
Den microcontroller delen är mycket rättfram, det är en fristående arduino (ATmega328 med arduino bootloader) med
vissa kringutrustning (4 knappar, en Summer och en RTC), men it är den mest kritiska delen som det gör alla tänkande.
LED display del är lite mer komplext och tar lite tid att löda. Denna krets består av 4 SKIFT register (74HC595),
2 darlington transistorer matriser (ULN2803) och 4 8 x 8 ledde matriser.
Som de flesta LED visar det kommer som någon överraskning att displayen måste vara multiplexade (leta upp det är en ganska cool koncept) eftersom driva 16 x 16 lysdioder individuellt tar 256 pins från mikrokontroller och det är bara dumt.
Även med metoden multiplexering behöver vi fortfarande 32 (16 rader + 16 kolumner) stift från mikrokontroller köra displayen som igen vi inte har, så lösningen är att använda SKIFT register som en I/O expansion, 4 8-bitars SKIFT register ge oss 32 utgångar och det tar bara 3 rader att kontrollera dem alla.
Men problemen slutar inte här eftersom de SKIFT register inte kan hantera sjunker strömmen av 16 lysdioder (om en full rad lyser) på en PIN-kod så vi måste ge det en hand med hjälp av matrisen darlington transistor som ska fungera som en buffert som kan hantera stora strömmar som kan steka skiftet register.
Så för att sammanfatta vi använder 4 daisy fastkedjade SKIFT register för att styra visningen, de första 2 kör raderna och de andra 2 kör kolumnerna med hjälp av matrisen darlington.
Det enda som måste beräknas i detta projekt är värdet av motstånden som kommer att driva LED raderna.
Formeln är mycket enkel och går som så:
R = (Vsource - Vled) / Iled
Vsource är 5V, Vled är den framåt spänningen på ett enda LED i matrisen och Iled är framåt strömmen av det samma LED.
Du kan också använda online räknare för att hjälpa dig med detta.