Arduino Lysshow (Læst 5177x)

Offline Danni-Hansen

  • µProcessoren
  • *
  • Indlæg: 544
  • Antal brugbare Indlæg: 17
    • Vis profil
Arduino Lysshow
« Dato: Juli 15, 2011, 21:22:02 »
Hey Folkens, endnu engang :D

Nå, jeg har jo som folk nok har regnet ud, et arduino board.. Hvis jeg programmer det rigtigt, kan jeg få nogle dioder til at lyse tilfældigt, der er dog nogle spørgsmål.

Til dette projekt vælger jeg at bruge Digital Udgang 13, og 5 volt og henholdsvis GND (Ground) ved 5 volt og ved Digital Udgang 13.

Problemet er dog, at hvis jeg gerne vil have mere end, 10 dioder sammentidigt, kan jeg vel ricikere at brænde 5 volts porten af?
Hvad gør jeg så?


Jeg har kigget lidt på den her PDF fil:
http://www.arduino.cc/playground/uploads/Learning/relays.pdf
Som omhandler relæ'er. Så tænkte jeg på at udskifte relæ'et også sætte 10 dioder på.

Men, hvis jeg vil have flere på, er jeg vel nød til at lave en darlington transistor? 2 transistore der er ens, som danner en darlington transistor?


Håber folket forstår hvad jeg vil, eller er jeg helt umulig? :D

tak
Mvh. Danni Hansen.

 

Offline Danni-Hansen

  • µProcessoren
  • *
  • Indlæg: 544
  • Antal brugbare Indlæg: 17
    • Vis profil
Sv: Arduino Lysshow
« Svar #1 Dato: Juli 15, 2011, 21:24:46 »
Eller kan jeg finde en anden 5 volts udgang, fx. en gammel mobil oplader, også benytte?
Mvh. Danni Hansen.

 

Offline pacman

  • Højpas filter
  • *****
  • Indlæg: 311
  • Antal brugbare Indlæg: 8
  • Jens Bauer (Forsøgs-person)
    • Vis profil
Sv: Arduino Lysshow
« Svar #2 Dato: Juli 17, 2011, 12:09:52 »
Til dette projekt vælger jeg at bruge Digital Udgang 13, og 5 volt og henholdsvis GND (Ground) ved 5 volt og ved Digital Udgang 13.

Jeg plejer at lave det uden Arduino, men med kun AVR-chippen:

Hvis jeg skal bruge få lysdioder, sætter jeg en modstand (mellem 100R og 1K) mellem microcontrolleren og lysdioden. Plus-benet sætter jeg så til +5V permanent og minus-benet sætter jeg til modstanden som sidder på AVR'en.
Dette er et "gammelt kendt trick". Man gør det på den måde, fordi det er lettere for en IC at 'synke' strømmen hvis den kører som aktiv-lav; dvs. at microcontrolleren får strøm igennem sig ved 0V.

Hvis du skal have flere lysdioder på, så vil jeg anbefale en BC547 for hver lysdiode.
Der er en ekstra fordel ved dette: Du får samme lysstyrke på alle LEDs.
Hvis du har lysdioderne sat direkte til microcontrolleren, vil du opdage, at efterhånden som du tænder flere LEDs, vil lysstyrken falde. (Jeg har sådan et vækkeur).

Men altså:

1 stk. BC547 transistor
1 stk. 100R modstand
1 stk. 1K modstand
1 stk. LED efter eget valg. Her regner jeg med at den er 3V, 20mA og kredsløbet er +5V.

På Collector sætter du 100R i serie med LED'en.
Emitter sætter du til GND
Base sætter du på microcontroller-benet med 1K modstanden imellem.

Denne opstilling kan også trække et relæ (som du tidligere her linket til), men du bør have en beskyttende 1N4148 over relæet "som altid".
Bruger du BC547 (eller SMD: BC847), kan du få fat i en masse billige transistorer overalt i Danmark.
Tip: BC546/BC846 kan klare højere spænding, så det kan være en fordel, hvis du skal lave noget over 45V, at du køber BC546/BC846.

Hvis du sætter en elektrolyt-kondensator (fx. 10uF) ind mellem GND og +5V, når du kører fra batteri-strøm; vil det kunne give et spark opad i lysstyrke.

Så det er egentlig ikke nødvendigt med en Darlington transistor.
-På den anden side, hvis du skal tænde en masse på en gang, kunne du gøre dette med en stærk Darlington (fx. en TIP125/TIP127 [de er PNP] eller lign.)

Her er en andens tegning, som jeg tyv-henviser til, fordi jeg er så doven at jeg ikke gider at tegne den selv.
Rb = 1K
Rc = 100R
Den anden side af Rb sættes så til microcontrolleren (din digitale udgang på din Arduino).
« Senest Redigeret: Juli 17, 2011, 12:21:19 af pacman »

 

Offline Danni-Hansen

  • µProcessoren
  • *
  • Indlæg: 544
  • Antal brugbare Indlæg: 17
    • Vis profil
Sv: Arduino Lysshow
« Svar #3 Dato: Juli 17, 2011, 20:23:39 »
Hej Pacman.

Det var faktisk det jeg havde tænkt mig, at tænde fx.
20 grønne dioder med pin 13
20 røde dioder med pin 12
20 gule dioder med pin 11
osv osv osv

Så jeg er vel nød til at bruge en darlington transistor? Spørgsmålet er om jeg kan gøre som jeg har gjort i soveværelset (Dog uden "show"/arduino), hvor jeg har sat 2 BC547 som en darlington transistor?
Mvh. Danni Hansen.

 

Offline pacman

  • Højpas filter
  • *****
  • Indlæg: 311
  • Antal brugbare Indlæg: 8
  • Jens Bauer (Forsøgs-person)
    • Vis profil
Sv: Arduino Lysshow
« Svar #4 Dato: Juli 17, 2011, 20:39:30 »
Så jeg er vel nød til at bruge en darlington transistor? Spørgsmålet er om jeg kan gøre som jeg har gjort i soveværelset (Dog uden "show"/arduino), hvor jeg har sat 2 BC547 som en darlington transistor?

Jeg ville nok vælge at have en BC547 (eller lign.) til at tænde for en TIP127, som så trækker alle 20 lysdioder.
TIP127 koster 2,65 hvilket ikke er ret dyrt; den kan trække 5A, hvilket vil svarre til ca. 250 lysdioder på 20mA.
Du kan så vælge at sætte 20 lysdioder i serie, og så én effektmodstand, eller sætte de 20 lysdioder på hver sin 100R modstand (og derved sætte dem i "parallel").
-Det er nok billigst/bedst at køre dem på hver sin modstand.
Hvis du skal have én effektmodstand, skal du jo beregne denne modstand, men ikke kun det; for der er lidt bøvl med dette. Jo flere lysdioder du sætter på, desto større effekt skal den kunne trække, og så skal du også have spændingen op.

Der findes en SMD udgave af TIP127, den hedder MJD127T4, men der er en endnu sjovere én, den kan trække 8A:MJD127T4G, den koster bare det dobbelte.