Bird cage LED daylight simulation system (3 / 10 steg)

Steg 3: LED dimmring



Ljusreglering/blekning av lysdioder är den viktigaste delen av dagsljus simulering systemet. Lysdioderna kan vara bleknat genom att leverera en PWM-signal i stället för en DC signal. Ett exempel på detta är känt för de flesta arduino ägare: exemplet "fade". Det enda du behöver för detta är en enkel LED och ett motstånd för att begränsa strömmen genom kretsen.

Samma kod kan användas för blekning en LED strip istället för en enstaka LED. När driver eller blekning en LED strip, spänningen eller den ström som kan levereras av en Arduino stift inte längre tillräckligt. Därför införs en n-kanal NPN transistor. En mycket vanlig transistor för detta är BD135. Den ström som kan levereras av denna LED är begränsad (TO220 typ jag använde för detta kan leverera Max 1A). Om det behövs mer makt, kan en Power MOSFET användas.

En exempel krets visas nedan:

Här är ett 9V batteri för att driva en led som kontrolleras av en Arduino. 9v batteri representerar här, med extern strömförsörjning. Observera att en 10 k externa puldown motstånd för att hålla signalen låg tills arduino levererar en signal på Pin 9. Även om du driver en LED strip, de strömbegränsande motstånd är redan integrerade i remsan själv och kan lämnas.

Exemplet ovan tar inte hänsyn till konto två saker:

  1. Relationen mellan puls och (upplevd) LED ljusstyrka är inte linjär, utan logaritmisk (eller åtminstone: logaritmisk är en tillräckligt bra approximation)
  2. Standardfrekvensen för PWM är ganska lågt, detta riskerar att störa fåglarna om de är i detta ljus hela dagen

Google är din vän, och det finns en hel del ämnen som omfattar snabb PWM och logaritmisk LUTs för arduino, så du slipper uppfinna hjulet på nytt. Min huvudsakliga källa till inspiration: http://forum.arduino.cc/index.php/topic, 130736.0.h...

Så är här några exempelkod som använder en logaritmisk LUT och snabb PWM på stift 9:

Observera att detta fungerar på min duemillanova klon, och kanske inte fungerar på Arduino mega, rakt, leonardo etc.

< p > / * BirdLight < /p >< p > exempel på en 12 bitars logaritmisk LUT & snabb PWM för försiktigt öka
/ avtagande ljusstyrka under dagen till natt och natt till dag övergångar. < /p >< p > kod mestadels Hämtad från: < en href = "http://forum.arduino.cc/index.php/topic, 130736.0.html" > http://forum.arduino.cc/index.php/topic, 130736.0...</a> < /p >< p > Copyright 2013 - Patrick Bronneberg
*/
/ *---(Konfiguration)---* /
CONST double Night_Level = 5.0;
CONST double Day_Level = 99,0;
CONST int LED_PWM_PIN = 9; PIN-koden som blekning lysdioder är kopplade till < /p >< p > / *---(deklarera konstanter)---* /
CONST int PWMMax = 4095; Ställ in maximal ljusstyrka för PWM
Definiera en logaritmisk LUT för PWM ljusreglering
CONST int PWMLut [] = {0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,9,9,9,10,11,
13,15,16,17,19,21,23,25,26,27,29,31,32,33,35,37,39,41,43,45,47,49,51,53,55,57,
60,63,66,69,71,74,77,80,84,88,91,94,98,102,106,110,114,118,123,128,133,138,143,
148,154,160,166,172,179,185,192,199,207,214,222,230,239,248,257,266,276,286,296,
306,317,329,341,353,366,379,392,406,421,436,451,466,483,500,518,536,555,574,595,
616,638,661,684,707,732,757,784,811,840,869,900,931,964,997,1032,1067,1105,1144,
1184,1224,1267,1311,1357,1404,1453,1503,1555,1609,1665,1722,1782,1843,1907,1973,
2042,2112,2185,2260,2339,2419,2503,2589,2679,2771,2867,2965,3069,3174,3284,3397,
3514,3629,3761,3905,4024,4079,4094}.
Definiera storleken på lut: Observera att heltal 16bits så 2 byte
CONST int lutSize = sizeof (PWMLut) / 2; < /p >< p > / *---(förklarar globala variabler)---* /
int ledBrightnessLevel = 0;
int dayLevel = 0;
int nightLevel = 0;
booleska isDay = true; < /p >< p > void setup()
{
Initiera LED PWM
pinMode(LED_PWM_PIN,OUTPUT);
TCCR1A = (1 << COM1A1) | (1 << WGM11); Aktivera snabb PWM på OC1A (Pin 9)
TCCR1B = (1 << WGM13) | (1 << WGM12) | (1 << CS10); Läge 14 snabb PWM / (TOP = ICR1), före skala = 1
ICR1 = PWMMax; Som det bästa värdet för 12-bitars PWM

Beräkna nivåer från konfigurerade procentsatser
dayLevel = LutPercentageToLevel(Day_Level);
nightLevel = LutPercentageToLevel(Night_Level);
} < /p >< p > void loop()
{
om (isDay)
{
Minska led ljusstyrka tills vi når natt-nivå
om (ChangeLedBrightness (nightLevel, -1))
{
isDay = false;
}
}
annat
{
Öka intensiteten för led tills vi når dag nivå
om (ChangeLedBrightness (dayLevel, -1))
{
isDay = sant;
}
}
} < /p >< p > dubbel LutLevelToPercentage (int lutLevel)
{
återgå lutLevel * 100,0 / lutSize;
} < /p >< p > int LutPercentageToLevel (dubbel lutPercentage)
{
avkastning (int)((lutSize/100.0)*lutPercentage);
} < /p >< p > boolean ChangeLedBrightness (int finishedLevel, int ledFadeAmount)
{

den nuvarande ljusstyrkan
analogWrite (LED_PWM_PIN, PWMLut[ledBrightnessLevel]); < /p >< p > / / ändra ljusstyrkan för nästa gång genom öglan:
ledBrightnessLevel = ledBrightnessLevel + ledFadeAmount; < /p >< p > //Check om ljusreglering är slutförd
om ((ledFadeAmount > 0 & & ledBrightnessLevel > = finishedLevel)
|| (ledFadeAmount < 0 & & ledBrightnessLevel < = finishedLevel))
{
Klar!
return true;
}
Ännu inte klar
returnera false;
} < /p >

Se Steg
Relaterade Ämnen

Hur man bygger en 5 kanal Flame-mindre LED ljus Simulator

detta Instructable förklarar hur att bygga och ändra en 5 kanal "Flame-mindre" LED ljus drivrutin.Vår hackerspace "The Rabbit Hole" är att ha en pumpa carving natt och vi ville prova något annat att tända pumpor. Så kom jag upp med det...

High Powered LED Solar Lighting System

Även om jag älskar att göra bevis på konceptet sol projekt, eller sol projekt som jag kan använda om världen tar slut, föredrar jag att göra sol projekt som är användbara i mitt dagliga liv. (Jag älskar min sol FM-radio, men jag har aldrig haft behov...

LED cykel Light System

detta kan göras för att vara bara en strålkastare eller både ett strålkastare/bakljus cykel ljus system.Min NiteRider ljus var av att få fast på fabriken och jag behövde något för min dagliga pendla. Jag har använt det i en 45 minuters hällande regn...

Effektiv LED cykel Light System

detta är den mest effektiva metoden att tända din hela cykel.Det du ser på bilden är endast 8 lysdioder som kör i timmar på 2 AA-batterier (exklusive den röd baklykta, som är separat).Säg adjö till kall katod och stora strängar av många lysdioder: de...

Salams ut LED bil Sound System

du någonsin gå på vägen som du kan flytta till beat? Med denna LED mod av befintliga bilstereon kan du din musik i ljud och ljus. Denna ändring använder basfrekvenser att ändra ljusstyrkan lampa fäst med brädan. Vi beslutade att använda basen som de...

LED Audio reaktiva System

Hej killar,här är min 2: a post, och hoppas ni gillar det som jag verkligen gör :)Jo jag köpte en ny bil och fann att jag måste göra något med mörker, så varsågodNjut av...Du kan titta på filmen i nedan länk:för aktuellt innehåll, kan du följa mig oc...

Wood bird cage

Denna fågelbur som jag gjort med min pappa är kvalitet skiljer på mitten och har hjul för att flytta det plus att det har en bricka som kommer ut för enkel rengöring....

Love Birds Cage

Detta är min kärlek fågelbur jag bygga... Med hjälp av återvunnet trä...

Bird cage-Polymer lera handledning

Detta är en handledning om hur man gör en polymer lera fågelburJag hoppas du njuter!Steg 1:...

24 Watt LED Grow Light med ljusstyrka

mat växer är en av mina favorit hobbies eftersom jag är ett stort fan av ekologiska livsmedel och sunda matvanor. Detta Instructable visar dig hur man bygger en LED grow light med röd/blå ljusstyrka kontroller efter växande behov och tillåta dig att...

48 kanaler Mono / 16 kanal RGB LED-Controller

48 kanaler Mono/16 kanal RGB LED Controller av Chromation system kan användas självständigt kontroll 48 grupper/kanaler (upp till 120ma per grupp av mono-färg lysdioder) eller 16 grupper/kanaler för gemensam anod RGB-lysdioder. Man använder 3 x TLC59...

Summern system med LabVIEW och MyRIO-1900

Detta Instructable handlar om att göra en Summer system med NI MyRIO-1900Pre-projektanteckningar:För en frågesport konkurrens, kommer att snabbast och det rätta svaret betraktas, som inte är möjligt manuellt för frågesport befälhavaren att välja vilk...

LED Grow Light

Hej alla,Uppdatering: fläktlös design -.Jag kommer att dela med dig hur man gör en billig men ändå mycket kraftfullt ljusna. denna 12 Watt - brett spektrum led-ljus kommer att blomstra dina växter ($ 7,88/år). nästan varje del finns runt huset eller...

Växande växter med LED lampor

i detta instructable jag skall visar hur man odlar små växter under härliga sken av LED-lampor. Woop!Steg 1: Introduktion Först och främst... Hallå!Detta är min första instructable (lång tid läsare, första gången "faktiskt-post-anythinger", jag...

Ambilight system för varje ingång ansluten till teven. WS2812B Arduino UNO Raspberry Pi

Jag har alltid velat lägga till ambilight till min TV. Det ser så coolt! Jag gjorde slut och jag blev inte besviken!Jag har sett många videor och många tutorials om hur du skapar ett Ambilight system för din TV men jag har aldrig hittat en fullständi...

Hur man installerar iJDMTOY Ford F150 LED Light Bar

Denna iJDMTOY Ford F-150 LED ljus bar-systemet är utformad med en specialdesignad montering fästet och fordon specifika medelstora LED ljus bar. Till skillnad från andra Ford F-150 LED ljus bar system som kräver ändringar, har iJDMTOY LED-ljus bar-sy...

LED Bikelight v2

detta är version 2 av LED cykel Light system. Efter att ha använt version 1 kom jag till två slutsatser:-De har fulländat den bakre blinkande lysdioden, gör inte din egen om du verkligen vill (jag gillar den Blackburn Mars 3.0 ) Detta är inte att avs...

Kina berömda brand utomhus LED-skärm

Utomhus LED-DisplayPASSION LED är en utomhus LED-skärm professionell tillverkare, våra nuvarande utomhus LED-displayen inkluderar: super tunna utomhus LED-display, curvedLED display, mjuk LED-display, framsidan underhåll LED display, stadium perimete...

GIANT ROBOT från animen Madness på Mokuba

detta är min 9 fot lång hemgjord Giant Robot kostym. Det väger 120 pounds, tog cirka 250 arbetstimmar för att slutföra, och är oftast gjorda av återvunnet byggmaterial, maskinvara och frigolit från datorn lådor. Den övre delen är uppbyggd på en tripp...