Sida 1 av 7

Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 20:00:07
av jolerius
Hej, jag har tänkt att göra ett projekt baserat på arduino.

Jag har ett nyckelskåp hemma där jag har tänkt sätta in lysdioder och en NO-kontakt på dörren. Så när man öppnar dörren så vill jag att lysdioderna ska tändas. Men anledningen till arduinon är att jag vill att lysdioderna ska dimmas ner efter antingen 30 sekunder eller när dörren stängs. Är det någon som kan hjälpa mig med konfigurationen?

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 20:05:30
av Klas-Kenny
Menar du hårdvara eller mjukvara?

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 20:09:53
av jolerius
vill gärna ha hjälp med både och. har hyffsat koll på hur jag ska koppla det. Men hade vart trevligt om någon kunde ge info även angående den biten så att det blir rätt med inputs/outputs i arduino. Men framförallt är det programmeringen jag behöver hjälp med, då jag glömt i princip allt jag lärde mig på gymnasiet om just programmering

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 20:12:19
av Klas-Kenny
Börja med att presentera hur du själv tycker att det ska kopplas, så kan vi andra komma med input på det, hur kul blir det om vi gör allting åt dig? :)

Ang. programmeringen så är det väl bara till att börja från grunden, finns ju massor med guider på nätet.

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 20:31:56
av jolerius
dock vet jag inte hur jag ska skissa upp det för att koppla in i arduino. Men jag får väl ge det ett försök...

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 20:35:03
av Krille Krokodil

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 20:42:48
av jolerius
om jag har två LEDs som ska kopplas in. Ska jag sätta de på varsin utgång eller ska jag sätta de på samma? Om jag sätter de på samma ska de sitta i serie med ett motstånd eller parallellt med varsitt? Och hur stora bör motstånden vara?

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 20:58:27
av jolerius
såhär hade väl jag tänkt mig:

GND-----------Motstånd-------------LED1--------------LED2---------------DigitalPin 3

GND---------------------------------NO-switch----------------------------DigitalPin 2

svårt att se såhär kanske. Men hoppas ni förstår litegrann hur jag tänkt. Bör jag ändra något i mitt tänk?

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 21:01:35
av Klas-Kenny
Det beror lite på. Med tex. röda eller gula lysdioder kan det gå bra att koppla dem i serie, för de har så lågt spänningsfall (runt 2,1V), så med 5V ut går de bra att driva. Där emot med tex. Vita, gröna eller blå har högre spänningsfall (runt 3,4V), så kopplar du dem i serie till 5V kommer du inte att få dem att lysa.

Nackdelen med att koppla dem parallellt är att de drar mer ström, och en microcontroller kan inte lämna så mycket ström från utgångarna (runt 20-25mA, vet inte hur just Arduino ligger), vill du driva lysdioderna fullt (normalt 20mA) så kan du inte driva två stycken för fullt parallellt.

Vill du driva mer från en utgång får du ha en transistor emellan.

Förutsatt att du har röda eller gula lysdioder så kan du koppla lysdioderna så som du visat. Gällande knappen så fungerar det ifall ingången har intern pull-up, annars får du lägga till ett motstånd, typ 10k, mellan VCC och DigitalPin 2.

Edit: Men gäller det inte mer än två lysdioder kan du utan problem driva dem med varsin utgång och då kunna driva båda fullt hela tiden (förutsatt att det är vanliga 20mA-lysdioder). Dock finns det alltid en gräns för max totala ström ut och in ur alla I/O, så det fungerar inte att fylla hela processorn med lysdioder och vänta sig att kunna driva alla samtidigt med 20mA.

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 21:07:52
av jolerius
jag har tänkt mig vita lysdioder, d ska ju lysa fint i nyckelskåpet så man kan hitta sina nycklar..
vad är VCC för nåt?

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 21:10:18
av Klas-Kenny
VCC är bara vad man brukar kalla den positiva matningen på IC'er, kan även kallas VDD. Kollar du i ett datablad för en processor eller så, så står tex. vilken pinne som är VCC/VDD, det är alltså den positiva matningen (Antar +5V i ditt fall).

Och VSS eller VEE är den negativa matningen/jord.

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 21:16:54
av jolerius
Ok, jag har bara tänkt använda två lysdioder, så det borde inte vara några problem alls förhoppningsvis. Men då blir det ett motstånd i serie på varje dio då lr? Hur stort bör det vara? Är shitdålig på att räkna på sånt där

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 21:24:23
av Klas-Kenny
Med två lysdioder är det inga problem att driva dem från varsin utgång på Arduinon, nej. :)

Att räkna på det är enkelt, Ohms lag säger att R=U/I (Resistansen alltså motståndet = spänningen delat på strömmen).
Du har 5V att tillgå från Arduinon. Du har ca. 3,4V spänningsfall över en vit lysdiod. U över motståndet är alltså lika med 5-3,4=1,6V.
Du vill ju att lysdioden ska lysa så mycket som möjligt. Alltså 20mA, I=0,02A.

R=1,6V/0,02A= 80ohm.
Men 80 ohm är inget standard E12-värde på motstånd, jag hade valt 100ohm så har man lite säkerhetsmarginal också och sliter inte lika mycket på lysdioderna, du kommer aldrig att se den lilla skillnaden i ljusstyrka med blotta ögat.
Ska man följa alla vanliga räkneexempel så hade man valt 82 ohm för det är närmsta E12-värdet över, men som sagt, lite säkerhetsmarginal är bra.

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 22:50:20
av jolerius
Nu har jag lyckats få ihop det så att LED tänds om strömbrytaren släpps. Men jag fattar inte riktigt hur jag ska få in faden sen när man trycker in strömbrytaren igen.

Alltså jag vill få in detta scenario:
*Nyckelskåpet är stängt -LED=släckt
*Nyckelskåpet öppnas (strömbrytarn släpper) - LED tänds direkt
-Om nyckelskåpet är öppet så ska den börja räkna ner 30 sekunder sen dimma ner LEDen.
*Om jag stänger dörren så ska den släcka med en gång.

*=Har jag lyckats fixa med arduino
-=Behöver hjälp med denna delen i arduino

Re: Arduino + NO brytare + LEDs?

Postat: 13 augusti 2012, 23:11:41
av Klas-Kenny
Principen blir typ att när lyset tänts så sätter du igång att räkna fram tills det gått 30 sekunder, använd typ

episk pseudo-kod:

Kod: Markera allt

while(dörr==öppen) {
   i++;
   10msDelay();
   if(i > 3000) {
      fadeout();
      break;
   }
}
eller någonting i den stilen.

Och själva fadeout är ju rätt enkel, kikade lite på Krilles länk så den borde vara typ

Kod: Markera allt

void fadeout() {
   for(int i = 255; i == 0; i--) {
      analogWrite(3, i);     //eller vilka utgångar du nu använder
      analogWrite(4, i);
      delay(25);         //eller hur snabbt det nu ska fadeas ut
      }
   }
Har aldrig kodat till Arduino så syntaxen kanske felar någonstans eller så, men principen bör fungera.