Ghetto pixlar - bygga en öppen källkod BlinkM (1 / 5 steg)
Steg 1: Vad du kommer att behöva...
Reservdelslista (BoM) för en Ghetto pixel ser ut:
- 1 x RGB LED (RapidOnline eller ebay)
- 1 x Atmel ATTiny45 (eller liten 44 eller 85,) (RapidOnline eller ebay )
- 3 x motstånd enligt specifikationer av din LED datablad (RadioShack / Maplin / snabb / eller liknande till dessa [ebay]) troligen 1/2 watt eller mindre om du kan hitta dem. SMD om du är PRO ;)
- Vissa tråd att ansluta Pixel till handkontrollen och koppla ihop pixlar om du har mer än en
Anteckningar på delar:
LED
Jag skulle rekommendera att få RGB ledde i ett enda plasthölje. Det skulle vara möjligt att göra detta med tre separata lysdioder, men det skulle vara mer av en utmaning att blanda färger väl. Du måste undvika RGB lysdioder att du köpa på ebay som beskrivs som "Slow Flash", "Snabb Flash" eller "Fade" som dessa har det egna Uc's byggd i, och samtidigt söt, att vi ingen kontroll över färgen. Du kan få "manuell kontroll" RGB lysdioder som ser ut som traditionella 5mm välvd lysdioder, men med 4 eller 6 ben, men dessa tenderar inte att vara mycket ljus. Jag skulle rekommendera att få LED's som är märkt "SuperFlux" eller "Piranha". Dessa är små fyrkantiga RGB LED med fyra stift, och kan vara förvånansvärt ljusa för sin storlek.
Du kan också välja att göra på gemensam anod, eller gemensam katod varianter. Alla fyra polig RGB lysdioder består av tre enskilda "dies" allt i ett och samma plast hölje, varje "dö" ger bort en färg, röd, grön eller blå. Varje "dö" har en positiv (anod) och negativa (katod) leverans. En gemensam anod LED har alla tre anoder kopplas samman de tre katoder är separata. En gemensam katod LED har motsatt konfigurationen, alla tre katod är sammankopplade och anoden är separata. Firmware som vi använder gör användningen av gemensam katod lysdioder, och det är nog bäst att du använder de. Jag hade dock en hög av superflux gemensam anod lysdioder, så jag har ändrat CYZ_RGB firmware för att använda gemensam anod. Jag ska tala om detta senare, men jag har bara sammanställt och testat denna ändring på en ATTiny45 uC, så om du planerar att använda några andra uC jag skulle driva du mot gemensam katod lysdioder.
Phew! Är du fortfarande med mig?
Microcontroler (uC)
UC är hjärnan bakom pixeln. Vi berättar det vilken färg vi vill ha, och det kontrollerar LED. För detta projekt ska jag föreslå du använda Atmel ATTiny45, eftersom det är vad jag använt, och det är ganska lätt att få tag på. CYZ_RGB projektet stöder också de ATTiny 44 och 85, och andra 4 k + Uc's i intervallet ATTiny kanske fungerar, beror på hur mycket tid du vill lägga i ändra koden. Jag hade tur, jag hittade ATtiny45 till försäljning på snabb elektronik (i Storbritannien) för 90p (ca $1,50 USA) så knäppte upp 10.
Motstånd
Motstånden är används för att begränsa den ström som passerar genom varje "dö" RGB LED. När du köpa lysdioder bör du få ett datablad som visar olika detaljer på de elektriska egenskaperna LED, som framåt spänning och ström för varje färg. Du kommer att behöva sätta in dessa i en LED motstånd kalkylatorn tillsammans med matningsspänningen (jag skulle rekommendera 5v, men det beror på din ansökan). Resultaten kommer förmodligen hamna runt 100 Ohm regionen, med värdet för den röda lysdioden är lite högre. På denna punkt vill jag alla som vet något alls om elektronik att gå vidare till nästa avsnitt medan jag talar för en sekund om hur jag gör saker. Vänligen inte skjuta mig för vad jag ska säga.
Lysdioder och Uc's är billiga. Du kommer att blowup/smälta/steka några av dem. Så köpa extra. Jag har aldrig SuperMathsMan och jag har inte mycket tålamod när det gäller siffror, jag tenderar att konstruera kretsar genom trial and error. En strömbegränsande motstånd på en LED är det att stoppa LED suger så mycket ström att det smälter sig och/eller pin av uC är ansluten till. Men det är en balansgång, om du använder ett motstånd som har för högt värde, din LED kommer att vara svagare än den kunde vara, eftersom du hindrar nog nuvarande att få till det och om du använder en resistor för lågt i värde, din LED kan vara riktigt ljusa, men det kommer att bränna själv ut och förmodligen ta uC med den. Börjar om med vad någonsin LED kalkylatorn säger att du ska använda, och sedan se om du använder ett något mindre resistiv motstånd gör LED ljusare. lämnar LED på ett tag med lägre värde motståndet i och röra uC med baksidan av handen eller toppen av ett finger för att se om det blir varmt, om det är, Använd ett högre värde motstånd. Om saker smälter eller du låt röken ut, sedan ler och erkänna att du har hittat lägre gränserna för motståndet du kan använda. Det är en del av roligt.
Bra gjort för att göra det långt, men tyvärr, det är inte riktigt över, det finns några verktyg du kommer att behöva.
- Bakbord och skärbräda tråd
- Arduino - se not nedan.
- (Valfritt) Programmerare för blinkande hex filer till uC (jag använder här en från Adafruit)
- Lödkolv (en), lödtenn, spets renare, löda sucker, veken osv...
- Hjälpande händer, eller skrivbordsklämbeslag grejen
- Bra belysning
En anteckning på Arduino.
Du kommer att behöva en Arduino för ett par olika saker. Det huvudsakliga jobb blir att kontrollera kedjan av pixlar du ska bygga (Varför sluta byggnad vid en?) men det kan nu också användas för att blinka firmware på marker med ArduinoISP, ersätter behovet av en dedikerad chip programmerare. Jag använder inte ArduinoISP, och det låter som om det har fått några frågor måste träna innan det är tillåtet för att bära den awesome märket. Jag tror inte det fungerar ännu med Arduino Uno, och om du har en arduino som använder ett Mega328 chip, måste du använda ett motstånd för att ändra auto reset-funktionen. Men det är ett bra alternativ om du inte har en programmerare.
Kan gå vidare... Det är dags att programmera några chips!