Innehållsförteckning:

Upplysta presenter: 5 steg (med bilder)
Upplysta presenter: 5 steg (med bilder)

Video: Upplysta presenter: 5 steg (med bilder)

Video: Upplysta presenter: 5 steg (med bilder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Upplysta presenter
Upplysta presenter

Hemma har vi två upplysta presenter som används under julperioden. Dessa är enkla upplysta presenter med hjälp av en tvåfärgad rödgrön LED som slumpmässigt ändrar färg som bleknar in och bleknar. Enheten drivs av en 3 Volt knappcell. Det senare var anledningen till detta projekt eftersom batteriet tar slut mycket snabbt när presenterna slås på under en längre tid.

För att förhindra användning av en enorm mängd knappcellsbatterier utformade jag min egen version med tre laddningsbara AAA -batterier. Denna version använder en RGB LED så blå är också möjlig men det var inte en del av den ursprungliga designen. Min version har följande funktioner:

  • Kontroll 2 presenteras samtidigt med en PIC12F617 mikrokontroller. Mikrokontrollerprogramvaran skrevs på JAL -programmeringsspråket.
  • Slå på och stäng av presenten med en tryckknapp. Den ursprungliga versionen använde en omkopplare för detta ändamål men en tryckknapp var lättare att använda.
  • Ändra slumpmässigt färgen på presenterna genom att fade-in och fade-out av färgerna rött och grönt.
  • Stäng av presenterna när batterispänningen sjunker under 3,0 Volt. Detta förhindrar att de laddningsbara batterierna laddas ur för mycket.

Efter att ha färgats in i en färg, lyser lysdioden under en tid någonstans mellan 3 sekunder och 20 sekunder. Eftersom jag fortfarande hade den oanvända blå lysdioden lade jag till funktionen att båda paketen blir blå när tiden är exakt 10 sekunder. Detta händer inte särskilt ofta eftersom slumpmässig tid genereras i timerfästingar på 40 millisekunder som beskrivs senare.

Steg 1: Några teorier om inmatning och uttoning med hjälp av pulsbreddsmodulering

Det bästa sättet att ändra ljusstyrkan på en lysdiod är inte genom att ändra strömmen som flyter genom lysdioden utan genom att ändra den tid lysdioden är på inom ett visst tidsintervall. Detta sätt att styra ljusstyrkan på en LED kallas Pulse Width Modulation (PWM) som har beskrivits flera gånger på internet, t.ex. Wikipedia.

PIC och Arduino har speciell PWM -hårdvara ombord som gör det enkelt att generera denna PWM -signal men de har ofta en utgång för detta och så kan du bara styra en LED. För den här versionen behövde jag styra 5 lysdioder (2 röda, 2 gröna och 1 kombinerade blå) så PWM behövde göras i programvara med hjälp av en timer som genererar både PWM -frekvensen och PWM -driftscykeln.

PIC12F617 har en inbyggd timer med automatisk laddning. Detta betyder att när du har ställt in timerns omladdningsvärde kommer det att använda det värdet varje gång timeout har passerat och så fungerar timern fristående vid en viss frekvens. Eftersom tidpunkten är avgörande för en stabil PWM-signal fungerar timern på ett avbrott och påverkas inte av den tid som huvudprogrammet behöver för att styra och bestämma slumpmässig on-time för lysdioderna.

PWM -frekvensen måste vara tillräckligt hög för att förhindra flimmer och därför valde jag en PWM -frekvens på 100 Hz. För fade-in och fade-out-effekten måste vi ändra arbetscykeln och ljusstyrkan på LED: n. Jag bestämde mig för att använda ett stegsteg på 5 för att öka eller minska ljusstyrkan för att få in- och uttonningseffekten och eftersom timern använder ett intervall på 0 till 255 för driftcykeln måste timern köras med 255 / 5 = 51 gånger normalfrekvensen eller 5100 Hz. Detta resulterar i ett timeravbrott var 196: e oss.

Steg 2: Det mekaniska arbetet

Det mekaniska arbetet
Det mekaniska arbetet
Det mekaniska arbetet
Det mekaniska arbetet
Det mekaniska arbetet
Det mekaniska arbetet

För att göra presenterna använde jag mjölkvit akrylplast och för resten av uppsättningen använde jag MDF. För att förhindra att du ser formen på lysdioden i förpackningen när lysdioden är tänd lägger jag ett lock ovanpå lysdioderna som sprider ljuset från lysdioden. Detta omslag kom från några gamla elektroniska ljus som jag hade men du kan också skapa ett lock med samma akrylplast. På bilderna ser du vad jag använde som utrustning och material.

Steg 3: Elektroniken

Elektroniken
Elektroniken
Elektroniken
Elektroniken
Elektroniken
Elektroniken
Elektroniken
Elektroniken

Schemat visar de elektroniska komponenter du behöver. Som nämnts tidigare styrs 5 lysdioder oberoende där den blå lysdioden kombineras. Eftersom PIC inte kan driva två lysdioder på en portstift lade jag till en transistor för att styra de kombinerade blå lysdioderna. Elektroniken drivs av 3 laddningsbara AAA -batterier och kan slås på eller av genom att trycka på återställningsknappen.

Du behöver följande elektroniska komponenter för detta projekt:

  • 1 PIC -mikrokontroller 12F617 med uttag
  • 2 keramiska kondensatorer: 2 * 100nF
  • Motstånd: 1 * 33k, 1 * 4k7, 2 * 68 Ohm, 4 * 22 Ohm
  • 2 RGB -lysdioder, hög ljusstyrka
  • 1 BC557 -transistor eller motsvarande
  • 1 tryckknappsbrytare

Du kan bygga kretsen på en brödbräda och kräver inte mycket utrymme, som kan ses på bilden. Du kanske undrar varför motståndsvärdena för att styra maximal ström genom lysdioderna är så låga. Detta beror på den låga matningsspänningen på 3,6 Volt i kombination med spänningsfallet som varje lysdiod har, vilket beror på färgen per lysdiod, se även Wikepedia. Motståndsvärdena resulterar i en maximal ström på cirka 15 mA per LED där den maximala strömmen för hela systemet är cirka 30 mA.

Steg 4: Programvaran

Programvaran utför följande uppgifter:

När enheten återställs med tryckknappen slås den på om den var avstängd eller om den stängs av om den var på. Av betyder att du sätter PIC12F617 i viloläge där den knappt förbrukar ström.

Generera PWM -signalen för att styra ljusstyrkan på lysdioderna. Detta görs med hjälp av en timer och en avbrottsrutin som styr stiften på PIC12F617 som tänder och släcker lysdioderna.

Tona in och tona ut lysdioderna och håll dem tända under en slumpmässig tid mellan 3 och 20 sekunder. Om slumpmässig tid är lika med 10 sekunder blir båda lysdioderna blåa i 10 sekunder, varefter det normala rödgröna in- och uttonningsmönstret används.

Under drift kommer PIC att mäta matningsspänningen med sin inbyggda Analog to Digital Converter (ADC). När denna spänning sjunker under 3,0 V, kommer den att stänga av lysdioderna och sätta PIC i viloläge igen. PIC kan fortfarande fungera bra vid 3,0 V men det är inte bra att de laddningsbara batterierna är helt urladda.

Som nämnts tidigare skapas PWM -signalen med hjälp av en timer som använder en avbrottsrutin för att hålla en stabil PWM -signal. In- och uttoning av lysdioderna inklusive tiden då lysdioderna är tända styrs av huvudprogrammet. Detta huvudprogram använder en timer tick på 40 millisekunder, härledd från samma timer som skapar PWM -signalen.

Eftersom jag inte använde några specifika JAL -bibliotek för detta projekt den här gången var jag tvungen att göra en slumpgenerator med hjälp av ett linjärt återkopplingsskiftregister för att generera slumpmässig tid i slumpmässig och slumptid för lysdioderna.

Steg 5: Slutresultatet

Image
Image
Slutresultatet
Slutresultatet

Det finns 2 videor som visar mellanresultatet. Min fru behöver fortfarande byta kuberna till faktiska presenter. En video visar en närbild av resultatet där den andra videon visar den med den ursprungliga presenten som ledde till detta projekt.

Som du kan förvänta dig när du tror att du är klar, dyker det upp nya krav. Min fru frågade om ljusstyrkan på lysdioderna också kan variera efter att de har bleknat. Det är naturligtvis möjligt eftersom jag bara använde ungefär hälften av programminnet för PIC12F617.

JAL -källfilen och Intel Hex -filen för programmering av PIC bifogas. Om du är intresserad av att använda PIC -mikrokontroller med JAL - ett Pascal -liknande programmeringsspråk - besök JAL -webbplatsen.

Ha kul att göra detta instruerbart och ser fram emot dina reaktioner och resultat.

Rekommenderad: