Gewusst wie: ein 5-Kanal-Flamme-weniger LED Kerze Simulator bauen (16 / 16 schritt)


Schritt 16: Flamme-weniger LED Kerze Simulator Firmware Beschreibung

Die Quelle für die Firmware (wie auch die binäre Bilder für die Programmierung) finden Sie unter
http://www.wire2wire.org/LED_candle/LED_candle.HTML

Es gibt umfangreiche Dokumentation in der Quelle über die Funktionsweise der Firmware im Detail also nur über die wichtigsten Punkte hier zu gehen.

Dieses Projekt verwendet ein pic12F508 dieser bestimmten Micro hat sehr wenig Hardware-Peripherie. In der Tat es hat auch keinen Interrupts und hat nur einen einzigen Hardware-Timer / Zähler. Dies erschwert vor allem die Generierung von PWM-Signalen. Der Hauptgrund, warum ich entschied mich für dieses Mikro war hatte ich bestand auf Hand und ihre niedrigen Kosten.

Das Datenblatt für dieses Teil finden Sie hier:
http://WW1.Microchip.com/Downloads/en/DeviceDoc/41236E.PDF

Die Kernkomponenten der Firmware sind die 5 LFSR PRBS-Generatoren und der PWM-Motor. Zum Generieren der Höchstbetrag von zufälligen flackern mit den begrenzten Mitteln ich ich hatte beschlossen, 5 identisch lineare Feedback Shift Register Pseudo Bitstream-Zufallsgeneratoren einrichten. Jedes Zimmer ist 16 Bit lang und fängt mit einem einzigartigen Samen. Die einzigartige Samen sind wichtig, da die Generatoren nicht sind wirklich zufällig und sie werden nach einer gewissen Zeit wiederholen. Wenn sie alle mit dem gleichen Saatgut gestartet, die 5 Kanäle synchron und nicht so schön, dass ein Flimmern produzieren würde.  Um die Zufälligkeit zwischen den Kanälen zu maximieren, die die niedrigwertigen Bits verwendet werden, um der Helligkeit einstellen, dass Kanal und die oberen Bits des vorherigen Kanal verwendet werden, um der Verweildauer dieser Helligkeitsstufe eingestellt werden stattfinden. Das LFSR wird nur auf den nächsten Wert aktualisiert, wenn eine neue Helligkeit benötigt wird. So sollten mithilfe einer anderen Kanäle Generator der Verweilzeit der einzelnen Kanal einstellen Muster im Laufe der Zeit in Bezug zueinander verschieben.

Die andere Funktion im Code ist ein "Wind"-Modus. Dies auf Code-Ebene ist ein zufälliges Ereignis, das für eine zufällige Zeit dauern. Wenn ein Wind-Ereignis ausgelöst wird der Code nimmt 2 neue Nummern aus den vorhandenen LFSR als die Dauer der Veranstaltung genutzt wird und die andere ist die Verzögerung, bevor der Ereignisauslöser wieder nach Kursende. Während der Wind-Veranstaltung ist die einzige wirkliche Unterschied in der PWM-Code die Masken angewendet, um die Zeit und den Helligkeitswert wohnen. Für den "normalen" Modus werden sie eingerichtet, hell und langsam Flimmern zu produzieren. Während der Wind-Modus werden die Masken angepasst, um ein trüber und schneller Flimmern zu produzieren.

Wie erwähnt gibt es keine Interrupts oder Peripheriegeräte auf diesem Mikro als einen einzigen Timer zur Verfügung. Zur Umsetzung des 5-Kanal-PWM-Generators, die ich zuerst Timer 0 einrichten, können einen Zähler läuft langsam genug, dass ich die Anweisung, die erforderliche Aktualisierung ausführen könnte das LFSR vor dem nächsten zählen aber schnell genug, dass das Dimmen glatt für das Auge war. In der Hauptschleife ist Logik, die eines von zwei Dingen mit dem Timer funktioniert. Wenn der Timer auf 0 überrollt stellt sich zuerst an den Ausgängen. Zweitens vergleicht es die Anzahl die Helligkeitsstufen der einzelnen Kanal. Wenn das Niveau niedriger als die aktuelle Anzahl ist schaltet sie den Kanal aus.
Diese Methode funktionierte gut für diese Anwendung jedoch nicht ohne Nachteile. Der größte Nachteil ist, da die Anzahl der Timer langsamer sein muss als die Zeit nehmen Ihre Update-Anweisungen, die es nicht auf große komplexe Programme funktionieren würde (oder die PWM sehr körnig wäre). 

In Verbindung stehende Artikel

Gewusst wie: eine steife Spannungsquelle mit einem Emitter-Anhänger bauen

Gewusst wie: eine steife Spannungsquelle mit einem Emitter-Anhänger bauen

diese instructable lernen Sie, wie eine große Spannungsquelle mit ein paar Widerstände, eine Spannungsquelle und einen Transistor zu machen. Nur eine minimale Kenntnisse der Elektronik ist erforderlich!Schritt 1: Motivation In einfachen Worten, denke
Gewusst wie: ein Boba Fett Jetpack von Grund auf neu bauen

Gewusst wie: ein Boba Fett Jetpack von Grund auf neu bauen

Seien wir ehrlich, $350 ist eine Menge Geld, warf sein, eine geformte Jetpack-Kit zur Vervollständigung Ihrer Boba Fett Kostüm kaufen. Glücklicherweise ist es nicht unmöglich, ein Jetpack von Grund auf neu zusammengestellt (zumindest das ist, was ich
Gewusst wie: ein Boot aus zwei Platten von Sperrholz zu bauen,

Gewusst wie: ein Boot aus zwei Platten von Sperrholz zu bauen,

Jedes Mal, wenn wir campen am Clear Lake in der Nähe von Mount Hood in Oregon, früher habe ich alle Kanus, Kajaks und Ruderboote, die entlang der Küste des Sees, eifersüchtig vorbeigehen warten stundenlang Angeln ins Wasser herausgenommen werden und
Gewusst wie: eine LED - Arduino Tutorial verblassen

Gewusst wie: eine LED - Arduino Tutorial verblassen

In diesem Beispiel erfahren Sie, wie eine LED verblassen mit analogWrite()-Funktion. AnalogWrite nutzt Pulsweitenmodulation (PWM), drehen ein digitales pin auf und sehr schnell aus, um einen Fading-Effekt zu erzielen.Bevor wir beginnen, erfahren Sie
Gewusst wie: eine 3-stufige chinesische Picknick Box bauen

Gewusst wie: eine 3-stufige chinesische Picknick Box bauen

Gewusst wie: eine 3-stufige chinesische Picknick Box bauenZur gleichen Zeit ist ein Geschenk für ein frisch verheiratetes Paar, die abgestufte Picknick Box ein eher ungewöhnliches Element und kein Projekt, für die Sie einfach Anweisungen heute finden
Gewusst wie: eine lustige Schatzsuche planen

Gewusst wie: eine lustige Schatzsuche planen

Obwohl dieser Schatztruhe mit Süßigkeiten gefüllt ist ein lustiges finden für die meisten Kinder, der wahre Schatz ist auf der Jagd!Aus Bild Hinweise auf Wort kriecht und Anagramme genossen die Kinder stundenlangen Spaß bei unseren neuesten Schatzsuc
Gewusst wie: eine gesteppte Tasche nähen

Gewusst wie: eine gesteppte Tasche nähen

Gewusst wie: eine gesteppte NähenEinkaufstasche1. Holen Sie sich einem quadratischen Stück Papier2. Stift das Papier auf das material3. Schneiden Sie das Material um das quadratische Stück4. kombinieren Sie die beiden Farben die quadratischen Blöcken
Gewusst wie: ein großes Minecraft Haus bauen

Gewusst wie: ein großes Minecraft Haus bauen

In meiner ersten instructable ich zeigen Ihnen, wie eine große Überlebens-Haus in Minecraft Haus bauen.Schritt 1: Rahmen Finden Sie zunächst einen großen, flachen Bereich.Dann wünschen Sie sich ein Bild zu machen, wie gezeigtSchritt 2: Rahmen und Wän
Gewusst wie: ein Gewächshaus - Schritt für Schritt Anleitung errichten

Gewusst wie: ein Gewächshaus - Schritt für Schritt Anleitung errichten

HalloIch baute diese Gartengewächshaus mit alten Fenstern und Recycling-Tür.Verkleidung mit Poly. Größe 15 ft x 25 ftBauanleitungen:Schritt 1: wie ein Gewächshaus zu Boden zu verankernSchritt 2: sichern die Gewächshaus-Basis zu ankernSchritt 3: wie m
Gewusst wie: eine Leder Brieftasche machen

Gewusst wie: eine Leder Brieftasche machen

Ich habe eine ziemlich dicke Brieftasche. Nicht, dass alle ihr Geld. Es ist meist verschiedene Karten, mir Geld sparen zu helfen. Ich bin süchtig nach Einsparungen Karten! Meine Brieftasche ist voll von Mitgliedskarten, Bonus-Karten, Lochkarten, you
Gewusst wie: eine 1156-LED-Lampe in ein 7507 Gehäuse passt

Gewusst wie: eine 1156-LED-Lampe in ein 7507 Gehäuse passt

Wie man eine 1156-LED-Lampe in einem 7507 Gehäuse und umgekehrt passen.Sie stellen möglicherweise fest, dass die 1156 und 7507 Glühbirnen Tabs auf der Basis haben, die nicht genau übereinstimmen. Die 1156 Registerkarten sind 180 Grad während der 7507
Gewusst wie: ein RGB-LED - Arduino Tutorial verwenden

Gewusst wie: ein RGB-LED - Arduino Tutorial verwenden

Eine RGB-LED hat 4 Pins, eine für jede Farbe (rot, grün, blau) und eine gemeinsame Kathode. Es hat Baum unterschiedliche Farbe emittierende Dioden, die kombiniert werden können, um alle Arten von Farbe zu erstellen! Jede Farbe ist möglich, je nachdem
Gewusst wie: eine dekorative HTPC bauen

Gewusst wie: eine dekorative HTPC bauen

Warum ein HTPC?Eine HTPC (Home Theater PC) ist in der Regel eine einfache, erschwingliche bauen, wenn der Hauptzweck ist, stream-Video (z. B. Netflix, etc.). Selbst wenn Sie etwas wie eine Roku verwenden, mit einem PC im Mix erweitert die Funktionali
Gewusst wie: ein rotierender Laptop Mobile Stand bauen

Gewusst wie: ein rotierender Laptop Mobile Stand bauen

in letzter Zeit der Großteil meiner Arbeit ist gemacht auf meinem Laptop und versuchen, um alles zusammen zu halten (Laptop, Drucker, Scanner, tragbares Laufwerk und diversen anderen benötigten Accessoires) ich brauche eine Arbeitsstation, die ich ru