Terwijl ik bezig was op een simulator "thuis" bijlage alarmsysteem, een van de dingen die ik wilde doen is dat een TV aan en van tijd tot tijd veranderen van het kanaal. Daarvoor had ik een IR Led opgenomen in het project en dat werkte prima.
TV zijn energie schrokoppen echter en het idee om een TV op stand-by voor langere periodes terwijl op vakantie ook niet echt een beroep op mij.
Dus ik dat het misschien dacht kon ik het licht van een TV met LEDs simuleren.
Waarom was ik niet verbaasd dat een dergelijk product al bestond, treffend genaamd 'fakeTV' het is een apparaat dat gebruikmaakt van 7-12 LED's om na te bootsen de flikkering van een TV. Het kan worden ingesteld om te reageren op licht (d.w.z. inschakelen in de schemering).
De prijs - afhankelijk van het model - is vanaf 25 USD 30 USD 40 dollar voor hun nieuwste model dat een 40" flatscreen-tv simuleert. Nu natuurlijk het risico met dat is dat je eigenlijk kan aantrekken een inbreker die na uw vermoedelijk 'grote flat-screen'
Ik heb gehoord gemengde reviews. Het object is dat je het ergens waar het kan worden gezien, maar nog steeds iets aan het project zijn licht op (jaloezieën, gordijnen). Uiteraard de gordijnen niet te dik worden en moet het apparaat zelf niet van buitenaf zichtbaar.
Een van de klachten die ik hoorde te vaak herhaald werd dat de 'schermen' gespeeld en dat een potentiële inbreker die het gewricht is "behuizing" zou spoedig zien dat het nep was. Hij kunt natuurlijk nog steeds niet een risico nemen en gaan naar een huis van de buren. De FakeTV - als u check hun Website is in feite echt klein. Niet groter dan een kopje koffie lijkt
Omdat ik vond de prijs een beetje steil voor 7-12 LEDs (afhankelijk van het model), begon ik te denken hoe de bouw van een zelf. Afgaande op hun website hun eenvoudigste model heeft een blauwe, een groen, een rood en 4 witte LED's, dus 4 kanalen
Idealiter ik een Attiny gedacht, maar dat heeft slechts 5 uitgangen zogenaamd alle 5 kan worden gebruikt als SoftwarePWM (PB0 en PB1 kunnen worden gebruikt als hardware PWM, PB4 kan gebruikt worden als hardware PWM als analogWrite zou worden uitgevoerd voor die pin in de kern), dat wil zeggen als u Pin 1 (Reset laat) als is. Ik hou niet knoeien met pin 1.
Ik kwam op een 'mini moodlight' met een Attiny85 met 3 LEDs en een moodlight met een Attiny85 die 3 RGB LED's gebruikt. Eigenlijk is er een hoist van sfeerlichtjes op instructables. Sfeerlichtjes natuurlijk hun kleur veranderen zeer geleidelijk, terwijl met een TV die kan meer abrupt, maar dat is een kwestie van programmeren.
Toen kwam ik op iemand ('modeller') in de adafruit forums die eigendom van een 'fakeTV' en had besloten om ook zelf bouwen... met een Arduino. Het interessante ding was dat hij 6 LEDs in plaats van 12 gebruikt en beweerde om goede resultaten mee te krijgen. Ik was echter meer zorgen maken over de hoeveelheid pinnen hij gebruikt in plaats van het bedrag van de LEDs. Goed hij 6 pinnen gebruikt, maar omdat hij leek te schrijven dezelfde waarde elke keer naar zijn 2 groene LEDs en zijn 2 rode LEDs, ik kon zomaar die LEDs parallel respectievelijk. Dat zou me zelfs 2 pinnen, wordt overgelaten met nodig opnieuw slechts 4 pin (rood groen en blauw en wit), die is OK voor een Attiny85 besparen. Ik heb dan nog 1 pin verlaten om toe te voegen een soort trigger.
Zoals gezegd, inmiddels de Arduino 6 PWM pinnen en de Attiny slechts 2 (PB0 en PB1). Zogenaamd PB4 is ook een PWM-pin, maar er is geen uitvoering van de opdracht 'AnalogWrite'. Dus ik overwoog een software PWM.
Met software PWM is in principe wat je doen overschakelen een Digital pin tussen hoog en laag met de taakcyclus bepalen van de 'analogWrite'.
Dat schept echter een ander probleem, zoals de processor zou voornamelijk bezig met 'waiting' en ook je aankan slechts één pin op het moment. Het moment dat u naar een andere pin, laat u de vorige pin hoog of laag. Hoewel u een 'state machine', die al deze problemen niet hebben kan samenstellen
Bel me dom voor willen gebruiken een Attiny85, zoals een pro mini zeer goedkoop deze dagen is en met behulp van een zou het oplossen van de problemen, maar ik gewoon niet het gevoel recht op een 14 digitale pin, 6 analoge pin controller boord voor een circuit dat 4-5 pinnen moet gebruiken.
Dus ik een andere oplossing vinden moest.
De pennen van de PWM PB0 en PB1 worden gecontroleerd door timer 0.
Als we kijken naar de mogelijke PWM pin uitvoeropties die de ATtiny85 ondersteunt:
Output PB0: OC0A of /OC1A.
Uitvoer PB1: OC0B of OC1A.
PB2 output: geen.
Output PB3: /OC1B.
PB4 output: OC1B.
We hebben al OC0A op PB0 en OC0B op PB1.
Dus hoe krijgen we 4 PWM-uitgangen
De ATtiny chip biedt twee timer/counters, Timer/Counter0 en Timer/Counter1, en elk van deze biedt twee PWM comparatoren, OCR0A, OCR0B, OCR1A en OCR1B. Dus in theorie we in staat moeten om vier PWM outputs.
Maar kijkend naar de bovenstaande tabel van pin-toewijzingen het is duidelijk dat we zowel de OC0B als de OC1A niet kan op hetzelfde moment krijgen, zelfs al zijn er twee pinnen beschikbaar: PB3 en PB4.
Gelukkig is de oplossing is vrij eenvoudig; We definiëren een interrupt optreedt wanneer het register OCR1A overeenkomt met Timer/Counter1, en een andere interrupt optreden wanneer de teller loopt over; IE bereikt 00 weer. Dit doen we met behulp van het TIMSK register, dus in principe dat de interrupt optreedt op een vergelijken en een overloop.
Ik snel iets gebouwd op een breadboard en dat leek te werken, dus het was tijd om iets meer duurzaam te bouwen.
STUKLIJST
4 x 330 Ohm Resistor
5 x 150 Ohm weerstand
1 x 10 k Ohm weerstand
1 x 470kOhm weerstand (optioneel)
6 x rode LED
6 x groene LED
6 x blauwe LED
9 x witte LED
1 x phototranistor, fotodiode of LDR (optioneel)
4 x BC547 (of andere NPN transistor schakelen)
7805
7812 (optioneel)
1 x Attiny85
1 x 8 pins DIL aansluiting
OR
Arduino Arduino/RBB
Let wel: het circuit vermeldt 220 Ohm weerstanden maar die waren eerste gissingen toen ik had van de LED voorwaartse spanning nog niet gecontroleerd.
Slechts één opmerking over de 7812: daarvoor moet u een ingang van ten minste 14,5 volt. een PSU van 14.5 volt is zeldzaam. Hoewel sommige wal-wratten uit meer geven als ze niet zijn verbonden met een lading, daalt de spanning vaak bij het laden.
Hebt u een 12 Volt PSU, kunt u de 7812 weglaten.
Als de 12 volt/14.5 volt te krijgen uit een walwart blijkt te zijn een probleem, kunt u overwegen een 75 eurocents(!) 5 tot en met 12 Volt converter