Fyra kanal 'Fake TV' med Arduino eller Attiny



Medan jag jobbade på en "hemma" simulator bilaga larmsystem, en av de saker jag ville göra är att ha en TV på och från tid till annan ändra kanal. För att jag hade en IR-Led ingår i projektet och det fungerade bra.
Men TV är energi guzzlers och idén att ha en TV på standby för längre perioder på semester också riktigt tilltalar inte mig.
Så jag tänkte att kanske kan jag simulera en TV med LED ljus.

Varför var jag inte förvånad som sådan produkt redan existerande, träffande kallas "fakeTV" det är en enhet som använder 7-12 lysdioder att efterlikna flimmer på TV. Det kan ställas in att reagera på ljus (dvs inkoppling i skymningen).
Priset - beroende på modell - är från 25 USD till 30 USD 40 USD för deras senaste modell som simulerar en 40" platt-TV. Nu naturligtvis risken med det är att du faktiskt kan locka en inbrottstjuv som efter din förmodligen "stora platt-TV"
Jag har hört blandade recensioner. Målet är att du sätter den någonstans där det inte syns men fortfarande har något att projicera sitt ljus på (mörkar, gardiner). Självklart gardinerna får inte vara för tjock och själva enheten bör inte vara synlig från utsidan.
En av de klagomål jag hört var att "scener" spelade upprepas alltför ofta och att en potentiell inbrottstjuv som "hölje gemensamt" skulle snart se att det var falska. Han kanske förstås fortfarande inte vill ta en risk och gå till en grannar hus. FakeTV - om du kolla deras hemsida är verkligen liten. Inte större än en kopp kaffe som det verkar
Eftersom jag hittade priset lite brant för 7-12 lysdioder (beroende på modell), började jag tänka hur man konstruerar en själv. Att döma av deras hemsida deras enklaste modell har en blå, en grön, en röd och 4 vita LED, så, 4 kanaler
Perfekt tänkte jag på en Attiny, men det har bara 5 utgångar förmodligen alla 5 kan användas som SoftwarePWM (PB0 och PB1 kan användas som hårdvara PWM, PB4 skulle kunna användas som hårdvara PWM om analogWrite skulle genomföras för det klämmer fast i kärnan), det vill säga om du lämnar Pin 1 (Reset) som är. Jag gillar inte jävlas med stift 1.
Jag kom på en "mini moodlight" med en Attiny85 med 3 lysdioder och en moodlight med ett Attiny85 som använde 3 RGB lysdioder. Det finns faktiskt en hissa av Moodlights på instructables. Moodlights naturligtvis ändra deras färg mycket gradvis, medan med en TV som kan vara mer abrupt, men det är en fråga om programmering.

Sedan kom jag på någon ('modeller') i adafruit forum som ägde en "fakeTV" och hade beslutat att också bygga en själv... med en Arduino. Intressanta var att han använde 6 lysdioder istället för 12 och hävdade att få bra resultat med det. Jag var emellertid mer bekymrad över mängden stiften han använde i stället för beloppet av lysdioder. Han använde Jo 6 stift, men eftersom han verkade skriva samma värde varje gång till sin 2 gröna lysdioder och sin 2 röda lysdioder, jag kunde bara sätta dessa lysdioder parallellt respektive. Det skulle även spara mig 2 stift, att vara kvar med behöver igen endast 4 stift (röd grön blå och vit), vilket är OK för en Attiny85. Jag har sedan fortfarande 1 stift kvar för att tillfoga någon sort av utlösaren.

Arduinoen har nu som sagt ovan, 6 PWM stift och Attiny endast 2 (PB0 och PB1). Förment PB4 är också en PWM stift, men det finns inga genomförandet av kommandot "AnalogWrite". Så jag funderar på en programvara PWM.
Med programvara PWM i princip vad du gör växling en Digital pin mellan hög och låg med intermittensen bestämma "analogWrite".
Detta skapar emellertid ett annat problem som processorn skulle vara främst upptagen med "väntar" och dessutom kan du bara hantera en pin på gång. Det ögonblick du gå till en annan PIN-kod, lämnar du den tidigare stiftet antingen högt eller lågt. Även om du bygga en tillståndsdator har som inte alla dessa problem

Kalla mig dum för att vilja använda en Attiny85, som en pro mini är mycket billigt i dessa dagar och med hjälp av en skulle lösa problem, men jag bara inte känner rätt att använda en 14 digitala pin, 6 analoga pin styrkort för en krets som behöver 4-5 stift.
Så jag fick hitta en annan lösning.
PWM stift PB0 och PB1 styrs av timer 0.

Tittar på möjliga PWM utdata pin alternativ ATtiny85 stöder:
Utgång PB0: OC0A eller /OC1A.
Output PB1: OC0B eller OC1A.
Utgång PB2: ingen.
Output PB3: /OC1B.
Utgång PB4: OC1B.

Vi har redan fått OC0A på PB0 och OC0B på PB1.

Så hur får vi 4 PWM-utgångar
ATtiny chip innehåller två timer/räknare, Timer/Counter0 och Timer/Counter1, och varje av dessa ger två PWM kontrollapparater, OCR0A, OCR0B, OCR1A och OCR1B. Så i teorin bör vi kunna få fyra PWM utgångar.

Men titta på tabellen ovan av pin uppdrag det är klart att vi inte kan få både OC0B och OC1A samtidigt, även om det finns två stift: PB3 och PB4.

Lyckligtvis är lösningen ganska enkel; vi definierar ett avbrott inträffar när registret OCR1A matchar Timer/Counter1, och en annan avbrott inträffar när räknaren flödar över; dvs når 00 igen. Vi använder TIMSK registret, så i princip avbrottet inträffar på en jämför och dataspill.

Jag byggt något på en skärbräda och som verkade fungera, så var det dags att bygga något tåligare.

BOM
4 x 330 Ohm motstånd
5 x 150 ohms motstånd
1 x 10 k Ohm motstånd
1 x 470kOhm Resistor (valfritt)
6 x röd LED
6 x grön LED
6 x blå LED
9 x vit LED
1 x phototranistor, fotodiod eller LDR (valfritt)
4 x BC547 (eller andra byta transistor NPN)
7805
7812 (valfritt)
1 x Attiny85
1 x 8 pin DIL uttag
ELLER
Arduino/RBB Arduino
Märk: kretsen nämner 220 Ohm motstånd men de var inledande gissningar när jag inte hade kontrollerat lysdioder framspänning ännu.

Bara en kommentar om 7812: du behöver en ingång på minst 14,5 volt för att. ett NÄTAGG av 14.5 volt är sällsynt. Även om vissa wal-vårtor ge mer om de inte är anslutna till en last, sjunker spänningen ofta på belastning.
Om du har en 12 volts PSU, kan du utelämna 7812.

Om att få 12 volt/14.5 volt från en walwart visar sig vara ett problem, överväga en 75 eurocents(!) 5 till 12 Volt converter

Se Steg
Relaterade Ämnen

En trådlös Smart Home (var: hem simulator och larm med Arduino eller Atmega328 (Uppdaterad maj 2016))

Obs: det nu är en android bluetooth kontroll app ibble för detta projektObs: Även om det började som ett projekt simulera min närvaro i hemmet, det har vuxit till ett smart hem, därav titeln jag detta InstructableNär folk är på semester, eller ibland...

2-tråds LCD gränssnitt för Arduino eller Attiny (uppdaterad juni 2016)

LCD-talet allmänt behov 11signal linjer + 3 eller 5 linjer för Vcc, marken och kontrast och i vissa fall en extra 2 för bakgrundsljus.Med hjälp av LCD-skärmen i 4 bitars läge sparar 4 stift, men det är ofta inte tillräckligt. Även om det är möjligt a...

Hur man mäter AC nuvarande med Hall effekt Sensor med Arduino eller andra gemensamma Microcontrollers

Vänligen se ett nytt enklare tillvägagångssätt härMål: Detta Instructable visar hur att göra en gränssnittet box som, när skarvas i en förlängningssladd, tillåter gemensamma mikrokontroller som Arduino att mäta AC nuvarande som DC spänning signal pro...

Jorden världen roterar med Arduino eller Raspberry Pi kontrollerade Stepper Motor

Detta instructable beskriver hur du uppgraderar din världen till en motoriserad version. Det ser otroligt bättre på hyllan när det sakta roterar, och någon demonstration med dina barn (att förklara den dag/natt cykeln eller årstiderna) vinner i intre...

Styra en Furby med Arduino (eller andra mikrokontroller)

Miljoner Dollar Furby: Vi kan bygga upp honom. Vi har tekniken.Fortsatte från den tidigare Instructable där vi censurerade Furbys primitiva hjärnan, är det nu dags att ersätta det med något större.Detta Instructable kommer detalj hur man installerar...

Styrning av motorer med Arduino

detta är en enkel Instructable att berätta hur du kan kontrollera DC motorer med en Arduino. Det begärdes av en kollega användare så jag tänkte jag skulle gå vidare och kasta något tillsammans. Jag kommer att använda en enkel h-bridge IC med vissa Ar...

PIR rörelsedetektor med Arduino: Drivs på lägsta energiläge som konsumtion

Denna video visar snabbt och lätt strategi för att minska energiförbrukningen för ATMEGA 328P baserade Arduino styrelser med cirka 70-75% med PIR eller PID sensorer för rörelsedetektering.Detta projekt införs efter saker-1) gränssnitt Pyroelectric/Pa...

Kontrollera enkelt LED stapeldiagram med Arduino

i denna tutorial jag ska visa dig hur du styr enkelt 10 LED stapeldiagram array med Arduino eller Arduino klona MCU och MAX7219 (fungerar även med MAX7221) LED controller chip.Här är video av den färdiga produkten i aktionOm LED stapeldiagram matrise...

Fotocell reagerar på ljus som ett öga. ett inledande projekt för bearbetning med Arduino

I detta projekt kan du se ett enkelt exempel på med behandling för att göra en grafisk representation av data som en arduino får som indata från en sensor. I detta fall en fotocell.Efter att få ett öga bild från internet, vad jag gjorde är, göra med...

3 kanal-Dimmer/fader för Arduino eller andra microcontroller

I ett tidigare instructable jag fram en enkel AC TRIAC-fader/dimmer som kan styras med en Arduino. I olika reaktioner jag fick, uttryckte ett antal personer sitt intresse för en 3 kanalfadern RGB. Men eftersom jag inte har sett några resultat av dess...

Programmera en ATtiny med Arduino

följer är anvisningar för programmering ATtiny mikrokontroller med Arduino IDE. På ren svenska är detta hur man programmerar 8-pin Atmel marker som vanligt en Arduino. Detta är cool eftersom ATtiny är mycket liten, och - Ja - detta kan du göra små sa...

ATtiny programmering med Arduino

efter detta Instructable bör du kunna programmera en A Ttiny85/45 med en arduino. Det låter kanske komplicerat men det är verkligen inte. Efter lite forskning kunde jag inte hitta till mycket information om hur detta skulle kunna ske. Jag har dock hi...

ATtiny programmerare med Arduino ISP

för relativt små (mindre antal stift än ATmega328) projekt, ATtiny serie, ATtiny45 eller Attiny85 är bra val vad gäller dess fysiska storlek (8-DIP eller 8-SOIC) och låg strömförbrukning.Det finns många sätt att programmera den. En av den populära en...

Fisk ur vattnet - ATtiny styrelsen används med Arduino

FishBowl är en liten mikrokontroller styrelse programmerbara med hjälp av Arduino programvara. Den har ett batteri så kan du sedan använda det utan större Arduino moderkortet. Det är som en liten Arduino att gå.Bygga instruktioner för fisk av vatten...

Multiplexering fyra 7-segment visar med hjälp av SKIFT register Arduino

Hallo allaJag konstruerade ett enkelt sätt att multiplex fyra 7-Segment visar med hjälp av SKIFT register och en ArduinoLåt oss multiplex 7 segment displaySteg 1: Steg-1: Låt oss utforma Ta fyra 7-segment visar och löda på en PCB på ett sätt som sida...

Snabb Digital termometer med billiga USB till TTL omvandlare och DS18B20 - utan Arduino eller Raspberry Pi

I min tidigare instructable jag gav en introduktion till Digital termometer med DS18B20 och ESP8266 nodemcu ombord med SPI OLED-skärm och programmering använder Arduino IDE. Det krävs kunskaper i programmering, grundläggande elektronik och krävs lite...

En nybörjare guide till setup ESP8266 med Arduino Mega 2560 eller Uno

För produkter med öppen källkod för att lyckas eller anta en masse "skaparna" / "DIY-na" / "dev" / "etc"; en aktuell och korrekt dokumentation eller snabbstart-guide som skall krävas. Användarens inlägg i diskussion...

En 15-LED RGB klocka med Arduino kärna

RGB klockan använder RGB sammansättning-färgmodellen används i alla färgskärmar. Denna modell använder tre "grundläggande" färger, nämligen röda, gröna och blå, för att bygga någon annan "sammansatta" färg av spektrumet. Med RGB klocka...

BLDC Motor Control med Arduino, bärgades HD motor och hallgivare

det finns ett stort intresse dessa dagar bland hobbyister kontrollera borstlösa DC (BLDC) motorer, som har bättre prestanda och bättre energieffektivitet övertraditionella DC-motorer, är men svårare att använda. Många off-the-shelf produkter finns fö...