Inhoudsopgave:

Verlichte cadeautjes: 5 stappen (met afbeeldingen)
Verlichte cadeautjes: 5 stappen (met afbeeldingen)

Video: Verlichte cadeautjes: 5 stappen (met afbeeldingen)

Video: Verlichte cadeautjes: 5 stappen (met afbeeldingen)
Video: Wie is het, maar dan anders #BRAILLE #BILLEN #blindfluencer #blindfun #VoelJeGOED @roxannekwant3463 2024, Juli-
Anonim
Verlichte cadeautjes
Verlichte cadeautjes

Thuis hebben we twee verlichte cadeautjes die gebruikt worden tijdens de kerstperiode. Dit zijn eenvoudig verlichte cadeautjes met een 2-kleuren rood-groene LED die willekeurig van kleur verandert en in- en uitfaden. Het apparaat wordt aangedreven door een 3 Volt knoopcel. Dat laatste was de aanleiding voor dit project aangezien de batterij heel snel leeg is als de cadeautjes voor een langere tijd aanstaan.

Om het gebruik van een enorme hoeveelheid knoopcelbatterijen te voorkomen, heb ik mijn eigen versie ontworpen met drie oplaadbare AAA-batterijen. Deze versie maakt gebruik van een RGB LED dus blauw kan ook maar dat zat niet in het originele ontwerp. Mijn versie heeft de volgende functies:

  • Control 2 presenteert tegelijkertijd met behulp van één PIC12F617-microcontroller. De microcontroller-software is geschreven in de programmeertaal JAL.
  • Zet het cadeau aan en uit met een drukknop. De originele versie gebruikte daarvoor een schakelaar, maar een drukknop was makkelijker in gebruik.
  • Verander willekeurig de kleur van de cadeautjes door fade-in en fade-out van de kleuren rood en groen.
  • Schakel de cadeautjes uit als de accuspanning onder de 3,0 Volt komt. Zo voorkom je dat de oplaadbare batterijen te veel worden ontladen.

Na het infaden van één kleur, blijft de LED een tijd tussen de 3 seconden en 20 seconden branden. Omdat ik nog steeds de ongebruikte blauwe LED had, heb ik de functie toegevoegd dat beide pakketten blauw worden als de aan-tijd precies 10 seconden is. Dit gebeurt niet vaak omdat de willekeurige tijd wordt gegenereerd in timer-ticks van 40 milliseconden, zoals later wordt beschreven.

Stap 1: Enige theorie over in- en uitfaden met behulp van pulsbreedtemodulatie

De beste manier om de helderheid van een LED te veranderen is niet door de stroom die door de LED vloeit te veranderen, maar door de tijd dat de LED aan is binnen een bepaald tijdsinterval te veranderen. Deze manier om de helderheid van een LED te regelen wordt Pulse Width Modulation (PWM) genoemd en is meerdere keren op internet beschreven, b.v. Wikipedia.

PIC en Arduino hebben speciale PWM-hardware aan boord die het eenvoudig maken om dit PWM-signaal te genereren maar vaak hebben ze hiervoor één uitgang en kun je dus maar één LED aansturen. Voor deze versie moest ik 5 LED's aansturen (2 rode, 2 groene en 1 gecombineerde blauwe), dus PWM moest in software worden gedaan met behulp van een timer die zowel de PWM-frequentie als de PWM-duty cycle genereert.

De PIC12F617 heeft een ingebouwde timer met automatische herlaadmogelijkheden. Dit betekent dat als u de herlaadwaarde van de timer eenmaal hebt ingesteld, deze die waarde elke keer zal gebruiken als de time-out is verstreken, zodat de timer stand-alone werkt op een opgegeven frequentie. Omdat timing van cruciaal belang is voor een stabiel PWM-signaal, werkt de timer op interruptbasis, en wordt hij niet beïnvloed door de tijd die het hoofdprogramma nodig heeft om de willekeurige aan-tijd voor de LED's te regelen en te bepalen.

De PWM-frequentie moet hoog genoeg zijn om flikkeringen te voorkomen en daarom heb ik gekozen voor een PWM-frequentie van 100 Hz. Voor het fade-in en fade-out effect moeten we de duty cycle en dus de helderheid van de LED veranderen. Ik besloot om een stapsgewijze verhoging van 5 te gebruiken om de helderheid te verhogen of te verlagen om het fade-in en fade-out effect te krijgen en aangezien de timer een bereik van 0 tot 255 gebruikt voor de duty cycle, moet de timer op 255 / 5 = 51 keer de normale frequentie of 5100 Hz. Dit resulteert in een timer-interrupt elke 196 ons.

Stap 2: Het mechanische werk

Het mechanische werk
Het mechanische werk
Het mechanische werk
Het mechanische werk
Het mechanische werk
Het mechanische werk

Voor het maken van de cadeautjes gebruikte ik melkwit acryl plastic en voor de rest van de opzet gebruikte ik MDF. Om te voorkomen dat je de vorm van de LED in de verpakking ziet als de LED aan is, heb ik een deksel op de LED's geplaatst die het licht van de LED diffuus maakt. Deze hoes kwam van een paar oude elektronische kaarsen die ik had, maar je kunt ook een hoes maken door hetzelfde acrylplastic te gebruiken. Op de foto's zie je wat ik heb gebruikt als uitrusting en materiaal.

Stap 3: De elektronica

De elektronica
De elektronica
De elektronica
De elektronica
De elektronica
De elektronica
De elektronica
De elektronica

Het schematische diagram toont de elektronische componenten die u nodig hebt. Zoals eerder vermeld worden 5 LED's onafhankelijk aangestuurd waarbij de blauwe LED wordt gecombineerd. Omdat de PIC geen twee LED's op één poortpin kan aansturen, heb ik een transistor toegevoegd voor het aansturen van de gecombineerde blauwe LED's. De elektronica wordt gevoed door 3 oplaadbare AAA-batterijen en kan worden in- of uitgeschakeld door op de resetschakelaar te drukken.

Voor dit project heb je de volgende elektronische componenten nodig:

  • 1 PIC-microcontroller 12F617 met socket
  • 2 Keramische condensatoren: 2 * 100nF
  • Weerstanden: 1 * 33k, 1 * 4k7, 2 * 68 Ohm, 4 * 22 Ohm
  • 2 RGB-LED's, hoge helderheid
  • 1 BC557-transistor of equivalent
  • 1 drukknopschakelaar

Je kunt de schakeling bouwen op een breadboard en heeft niet veel ruimte nodig, zoals op de foto te zien is. U vraagt zich misschien af waarom de weerstandswaarden voor het regelen van de maximale stroom door de LED's zo laag zijn. Dit komt door de lage voedingsspanning van 3,6 Volt in combinatie met de spanningsval die elke led heeft, die afhankelijk is van de kleur per led, zie ook Wikepedia. De weerstandswaarden resulteren in een maximale stroom van ongeveer 15 mA per LED, waarbij de maximale stroom van het hele systeem ongeveer 30 mA is.

Stap 4: De software

De software voert de volgende taken uit:

Wanneer het apparaat wordt gereset met de drukknop, wordt het apparaat ingeschakeld als het uit was of wordt het apparaat uitgeschakeld als het aan was. Uit betekent dat je de PIC12F617 in de slaapstand zet, waarin hij nauwelijks stroom verbruikt.

Genereer het PWM-signaal om de helderheid van de LED's te regelen. Dit wordt gedaan met behulp van een timer en een interrupt-serviceroutine die de pinnen van de PIC12F617 bestuurt die op hun beurt de LED's aan en uit zetten.

Fade-in en fade-out van de LED's en houd ze een willekeurige tijd tussen 3 en 20 seconden aan. Als de willekeurige tijd gelijk is aan 10 seconden, worden beide LED's 10 seconden blauw, waarna het normale rood-groene fade-in en fade-out patroon wordt gebruikt.

Tijdens bedrijf meet de PIC de voedingsspanning met behulp van de ingebouwde analoog-naar-digitaalomzetter (ADC). Wanneer deze spanning onder de 3,0 V komt, schakelt hij de LED's uit en wordt de PIC weer in de slaapstand gezet. De PIC zou nog goed kunnen werken op 3,0 V, maar het is niet goed voor de oplaadbare batterijen om volledig leeg te raken.

Zoals eerder vermeld, wordt het PWM-signaal gemaakt met behulp van een timer die een interruptserviceroutine gebruikt om een stabiel PWM-signaal te behouden. Het in- en uitfaden van de LED's inclusief de tijd dat de LED's aan zijn, wordt geregeld door het hoofdprogramma. Dit hoofdprogramma gebruikt een timer-tick van 40 milliseconden, afgeleid van dezelfde timer die het PWM-signaal creëert.

Omdat ik deze keer geen specifieke JAL-bibliotheken voor dit project heb gebruikt, moest ik een willekeurige generator maken met behulp van een lineair feedback-schuifregister voor het genereren van de willekeurige aan- en willekeurige uit-tijd van de LED's.

Stap 5: Het eindresultaat

Image
Image
Het eindresultaat
Het eindresultaat

Er zijn 2 video's die het tussenresultaat laten zien. Mijn vrouw moet de kubussen nog veranderen in echte cadeautjes. De ene video toont een close-up van het resultaat, terwijl de andere video het laat zien met het originele cadeau dat tot dit project heeft geleid.

Zoals je mag verwachten als je denkt dat je klaar bent, verschijnen er nieuwe vereisten. Mijn vrouw vroeg of de helderheid van de LED's ook kan variëren nadat ze zijn ingefade. Dat kan natuurlijk omdat ik maar ongeveer de helft van het programmageheugen van de PIC12F617 heb gebruikt.

Het JAL-bronbestand en het Intel Hex-bestand voor het programmeren van de PIC zijn bijgevoegd. Als u geïnteresseerd bent in het gebruik van de PIC-microcontroller met JAL - een Pascal-achtige programmeertaal - bezoek dan de JAL-website.

Veel plezier met het maken van deze Instructable en kijk uit naar je reacties en resultaten.

Aanbevolen: