' freak.no - 4x4x4 LED-kube m/arduino - Hjelp
freak.no

freak.no (https://freak.no/forum/index.php)
-   Elektrisk DIY (https://freak.no/forum/forumdisplay.php?f=152)
-   -   4x4x4 LED-kube m/arduino - Hjelp (https://freak.no/forum/showthread.php?t=218892)

GreenRay 19. april 2012 23:47

4x4x4 LED-kube m/arduino - Hjelp
 
Hei og hopp alle sammen :) Jeg har nettopp loddet sammen en 4x4x4 led kube, og sitter nå å fikler litt med kodingen. Og siden jeg ikke akkurat har så mye kunskap om programmering med Arduino lurer jeg på om det er noen der ute som har kunskap til å hjelpe meg?

Problem: Jeg får rett og slett ikke lys i kuben med arduinoen :confused: Jeg vet den funker (har testet med ekstern PSU).

Jeg har prøvd å skrevet et program selv som ikke funket, og i tillegg har jeg prøvd diverse ferdige koder som jeg fant på nettet, uten å lykkes i å få lys i kuben.

Slik har jeg koblet ledningene:

Arduino -> Kube
0 - 1 (Anode)
1 - 2 (Anode)
2 - 3 (Anode)
3 - 4 (Anode)
4 - 5 (Anode)
5 - 6 (Anode)
6 - 7 (Anode)
7 - 8 (Anode)
8 - 9 (Anode)
9 - 10 (Anode)
10 - 11 (Anode)
11 - 12 (Anode)
12 - 13 (Anode)
13 - 14 (Anode)
A0 - 15 (Anode)
A1 - 16 (Anode)
A2 - 1 (Ground/Katode)
A3 - 2 (Ground/Katode)
A4 - 3 (Ground/Katode)
A5 - 4 (Ground/Katode)

Noen som har litt tid til over og kan skrive et program? Eller hjelpe meg litt på vei?

#GreenRay

Jurgen1337 19. april 2012 23:48

Kan du poste koden? Samt har du koblingsskjema som viser hvordan du har koblet inn på kretsen?

GreenRay 20. april 2012 00:10

hehe, ja... koden ja :P Skulle bare prøve å få lys i noen led, så prøvde med denne koden:

Kode:

int LEDPin [] = {0, 1, 2};
int LayerPin [] = {16, 17, 18, 19};

void setup()
{
  for(int pin = 0; pin < 16 ; pin++ )
  {
    pinMode(LEDPin[pin],OUTPUT);
    digitalWrite(LEDPin[pin],LOW);
  }
  // Set up LED Layers as output
  for(int layer = 0; layer < 4; layer++)
  {
    pinMode(LayerPin[layer], OUTPUT);
    digitalWrite(LayerPin[layer], HIGH);
  }
}

void loop()
{
  digitalWrite(LEDPin[0],HIGH);
  digitalWrite(LEDPin[1],HIGH);
  digitalWrite(LEDPin[2],HIGH);     
 
  digitalWrite(LayerPin[0],HIGH);
  digitalWrite(LayerPin[1],HIGH);
  digitalWrite(LayerPin[2],HIGH);
  digitalWrite(LayerPin[3],HIGH);
}

PS: Ikke drep meg for å være på bærtur

Koblingsskjema:
https://imma.gr//39717.jpg

Gt&Hoo 23. april 2012 11:03

Jeg har planer om å lage en LED kube med 3x3x3, så jeg kan ikke dette, men sånn som du har tegnet det så har du bare en"plate" med LED? hvordan får du til de andre etasjene?
Hvor fant du tegningen til det du har koblet, eller lagde du den selv?

saftus 23. april 2012 11:27

Har bygd en lignende selv. Du må bruke NPN transistorer på de fire som er "negative". Det blir vel gjerne overload på arduinoen om du kobler slik, eller hvertfall fare for det. I tillegg må du kjøre en fornuftig resistor på alle 16 outputene.

Hvis du gjør som jeg sier, vil utgangene (4 stk) for hvert layer bli styrestrøm til transistorne, og arduinoen blir ikke like belastet. Resistorer på hver output (16 stk) er også viktig for å ikke ødelegge LEDs og arduinoen selv.

Lykke til!
Mvh!

Tok meg friheten til å modifisere litt på skjemaet ditt.

https://imma.gr//39854.jpg


Nå vil utgang 17-20 også være positive utganger og vi kjører mindre last gjennom selve arduinoen, da hovedstrømmen går rett til gjord, istedet for arduinoen igjen.

Jeg har klare leds på min, og ikke diffuse. Jeg har 220 ohm resistorer til lysene, og synes det blir for lyst. Hvis det nederste laget blir slått på, ser det ut som lagene over også står på. Jeg anbefaler diffuse ledpærer og eventuelt en høyere verdi på resistorne.

Mvh!

GreenRay 23. april 2012 13:42

Sitat:

Sitat av saftus (Innlegg 2543204)
Har bygd en lignende selv. Du må bruke NPN transistorer på de fire som er "negative". Det blir vel gjerne overload på arduinoen om du kobler slik, eller hvertfall fare for det. I tillegg må du kjøre en fornuftig resistor på alle 16 outputene.

Hvis du gjør som jeg sier, vil utgangene (4 stk) for hvert layer bli styrestrøm til transistorne, og arduinoen blir ikke like belastet. Resistorer på hver output (16 stk) er også viktig for å ikke ødelegge LEDs og arduinoen selv.

Lykke til!
Mvh!

Tok meg friheten til å modifisere litt på skjemaet ditt.

https://imma.gr//39854.jpg


Nå vil utgang 17-20 også være positive utganger og vi kjører mindre last gjennom selve arduinoen, da hovedstrømmen går rett til gjord, istedet for arduinoen igjen.

Jeg har klare leds på min, og ikke diffuse. Jeg har 220 ohm resistorer til lysene, og synes det blir for lyst. Hvis det nederste laget blir slått på, ser det ut som lagene over også står på. Jeg anbefaler diffuse ledpærer og eventuelt en høyere verdi på resistorne.

Mvh!

Smart! Tusen takk for hjelpen! Skal prøve dette når jeg kommer hjem i kveld :)

PS: Har allerede laget led kuben, brukte klare led.. noe jeg angrer litt på - har samme problem som deg ;) Men har noen 460ohms(?) resistorer som jeg kommer til å lodde på nå.

Gt&Hoo 24. april 2012 08:37

saftus: Kan man ikke ha de 220 Ohm motstanderene etter LED-ene slik at man bare trenger 4 stk?

saftus 24. april 2012 12:17

Nei.

Det vil være varierende antall lys som kommer til å dele på de fire motstandene. Du vil på et vis få variende lysstyrke om du gjør det slik.

Mvh!

Gt&Hoo 24. april 2012 15:48

Sitat:

Sitat av saftus (Innlegg 2544392)
Nei.

Det vil være varierende antall lys som kommer til å dele på de fire motstandene. Du vil på et vis få variende lysstyrke om du gjør det slik.

Mvh!

Trodde man bare hadde på en og en led, med forskjellig delay, slik at man ikke så det vare var ett og ett lys som lyste? Hvis du ikke helt skjønner hva jeg mener så Kan prøve å lage en tegning å forklare når jeg kommer meg hjem.

saftus 24. april 2012 20:41

Det er vel også en mulighet ja. Da må du nok programere arduinoen til å gjøre nettopp det. Du må forresten ikke forveksle dette oppsettet med multiplexing.

Lykke til : )
Mvh!

asmika 26. april 2012 22:27

Sitat:

Sitat av GreenRay (Innlegg 2539503)
Hei og hopp alle sammen :) Jeg har nettopp loddet sammen en 4x4x4 led kube,
#GreenRay

Men det ser da vitterlig ut som ett 4 X 4 ( 16 led ), der hver anode har hver sin utgang. ?

I såfall kan alle hver katode kobles rett til jord ( - ) fra strømforsyningen.

saftus 27. april 2012 01:55

Det er fire nivåer, 16 leds per nivå :)

Hver av di fire jordingene går til hvert sitt nivå.


Alle tidspunkt er GMT +2. Klokken er nå 11:20.