Arduino for loop met if else en or

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Waarschijnlijk is onderstaande code heel ver gezocht en kan hem niet testen omdat ik nog wat onderdelen mis.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
void Layer(int pin)
{
  for (int i = 1; i <= 6; i++)
 {
   shift.writeBit(pin, HIGH);
  if(i == pin) {
   continue;
  }
   shift.writeBit(i, LOW);
 }
    
 }

void Led(int pin,  int Number)
{
 if(pin  >=7) {                         // pin 1 t/m 6 activeert Layer1
 Layer(1);}

 else if(pin  <= 6) || (pin  >= 13) {    // pin 7 t/m 12 activeert Layer2
 Layer(2);}

 else if(pin  <= 12) || (pin  >= 19) {   // pin 13 t/m 18  activeert Layer3
 Layer(3);}

 else if(pin  <= 18) || (pin  >= 25) {   // pin 19 t/m 24 activeert Layer4
 Layer(4);}

 else if(pin  <= 24) || (pin  >= 31) {   // pin 25 t/m 30 activeert Layer5
 Layer(5);}

 else if(pin  <= 30) || (pin  >= 37) {   // pin 31 t/m 36 activeert Layer6
 Layer(6);}


 for (int i = 1; i <= 36; i++)
{
 shift.writeBit(pin +12, HIGH);        // Led(1,500); maakt pin 13 HIGH
  
if(i == pin) {
   continue;
    }
    shift.writeBit(i +12, LOW);       // en maakt 13 t/m 48 LOW behalve LED1=pin 13
}
   delay(Number);                     // na alles gedaan te hebben delay(500);
  }


shift.writeBit(nummer, HIGH) de maakt die pin op de sr HIGH.
Dit geld ook voor LOW.
De kathode voor de layers zitten op 1 t/m 6
De anodes op 13 t/m 48.
Bij bijvoorbeeld Led(5) moet hij dus 17 HIGH maken.
En 13 t/m 48 LOW behalve 17.
En hij moet layer1 high maken en 2 t/m 6 LOW.
Gaat dit zo werken.
Of weet iemand een betere oplossing.

Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
offtopic:
@jeroen vrij Je kent toch nou onderhand de [code=c]-tags wel? ;) Je moet sowieso je post even controleren.

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Vertel me wat ik er aan moet co troleren.

Acties:
  • 0 Henk 'm!

Verwijderd

jeroen vrij schreef op maandag 15 april 2019 @ 10:23:
Vertel me wat ik er aan moet co troleren.
Nou, begin eerst maar met de code tag.
[..\] really?

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Lol haha.
Gedaan.

Ik krijg met de compiler
Expected primary expression before '||' token op regel 31

Heb de compiler error gevonden.
Heb naast de || de ) en ( weggehaald

[ Voor 25% gewijzigd door jeroen vrij op 15-04-2019 10:33 ]


Acties:
  • 0 Henk 'm!

  • zwiep
  • Registratie: November 2010
  • Laatst online: 21-09 09:34
Ben geen expert ter zake maar formatterings- en overzichtsgewijs kan je misschien beter je hele conditions voorzien van (), krijg je dan nog dezelfde foutmelding?

dus:
C:
1
if(pin  <= 6) || (pin  >= 13) { ... }

C:
1
if((pin  <= 6) || (pin  >= 13)) { ... }

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Heb bovenstaande opgelost ik zat helemaal fout.
Maar is inmiddels opgelost.

Zit wel met het volgende.

Wil een functie void Led(int X)

Als Led=(1) (37) (73) (109) (145) (181)
Maak 1 high
Als Led = (2) (38) enz
Maak 2 high
Tot aan als led =(36) (72)...... (216).
Maak 36 high.

Ik heb dat nu als een if statement.
Maar zou hem graag korter hebben als in een for loop met een formule erin.

Zodat ik niet meer heb dan wat ik gedaan heb bij de Zas.

code:
1
2
3
4
5
6
7
void Z(int Z) 
{
for (int i = 0; i <=217; i+36)
{
Led(i *Z) ;
delay(1);
}}


Had iets in gedachten.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void Led(int pin)
{
 if(pin  <= 37) {                        // pin 1 t/m 6 activeert Layer1//
 Layer(1);}

 else if(pin  <= 36 || pin  >= 73) {    // pin 7 t/m 12 activeert Layer2//
 Layer(2);}

 else if(pin  <= 72 || pin  >= 109) {   // pin 13 t/m 18  activeert Layer3//
 Layer(3);}

 else if(pin  <= 108 || pin  >= 145) {   // pin 19 t/m 24 activeert Layer4//
 Layer(4);}

 else if(pin  <= 144 || pin  >= 181) {   // pin 25 t/m 30 activeert Layer5//
 Layer(5);}

 else if(pin  <= 180 || pin  >= 217) {   // pin 31 t/m 36 activeert Layer6//
 Layer(6);}


 for (int i = pin; i <= 217; i+36)
{
 if(i % i  == pin) {
   shift.writeBit(pin, HIGH);
    }else{   
    shift.writeBit(pin, LOW);
}
}                       
  }

Maar i % i =altijd 1 dus dat klopt niet zo.
Iemand ideeen
Heb nog een ander forum gevraagd als ik antwoord heb zal ik het melden scheelt jullie denkwerk.

[ Voor 140% gewijzigd door jeroen vrij op 15-04-2019 13:54 ]


Acties:
  • 0 Henk 'm!

  • Fordox
  • Registratie: Maart 2011
  • Laatst online: 25-09 16:15

Fordox

00101010

Als Led=(1) (37) (73) (109) (145) (181)
Maak 1 high
Als Led = (2) (38) enz
Maak 2 high
Tot aan als led =(36) (72)...... (216).
Maak 36 high.
code:
1
2
3
4
5
6
7
8
9
10
11
12
for (int i = 1; i < 37; i++){   // 1 tm 36
    if (led == (i) {                // Als Led = 1 tm 36
        Layer(i);               // Layer = 1 tm 36
    } else {                    // Als Led > 36
        for (int k = 1 < 37; k++){
            j = (36 + i) * k;           // 37, 73, 109, ...
            if (Led == j){          // als Led 37, 73, 109, ...
                Layer(k);           // Layer = 1, 2, 3, 4, ...
            }
        }
    }
}

Helpt dit?

edit: foutje gevonden
edit2: nog een foutje

[ Voor 9% gewijzigd door Fordox op 15-04-2019 15:05 ]

Edit: Ik gebruik de edit-knop vaak.


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
De if-else met || - or kan ik even niet in beeld krijgen maar over de modulo van i % i = 1 klopt volgens mij niet. Dat zou m.i. dan 0 worden.

Operations of addition, subtraction, multiplication and division correspond literally to their respective mathematical operators. The last one, modulo operator, represented by a percentage sign (%), gives the remainder of a division of two values. For example:

x = 11 % 3;

results in variable x containing the value 2, since dividing 11 by 3 results in 3, with a remainder of 2.

http://www.cplusplus.com/doc/tutorial/operators/

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Fordox schreef op maandag 15 april 2019 @ 14:42:
[...]

code:
1
2
3
4
5
6
7
8
9
10
for (int i = 1; i < 37; i++){   // 1 tm 36
    if (led == i) {             // Als Led = 1 tm 36
        Layer(i);               // Layer = 1 tm 36
    } else {                    // Als Led > 36
        j = i * 36 + 1;         // 37, 73, 109, ...
        if (Led == j){          // als Led 37, 73, 109, ...
            Layer(i);           // Layer = 1, 2, 3, 4, ...
        }
    }
}

Helpt dit?
Nee niet echt.

De if else met layers die werkt.
Dus laten we die even buiten schot houden.

Ik moet een formule hebben dat als ik 1 of 37 of 73 of 109 of 145 of 181 invoer.
Dus telkens + 36
Ik altijd op 1 uitkom.
En bij 2 of 38 of 74 of 110 of 146 of 182
Ik altijd op 2 uitkom.
Tot aan
36 of 72 of 108 of 144 of 180 of 216
Ik altijd op 36 uitkom

Acties:
  • 0 Henk 'm!

  • Fordox
  • Registratie: Maart 2011
  • Laatst online: 25-09 16:15

Fordox

00101010

jeroen vrij schreef op maandag 15 april 2019 @ 14:55:
[...]

Nee niet echt.

De if else met layers die werkt.
Dus laten we die even buiten schot houden.

Ik moet een formule hebben dat als ik 1 of 37 of 73 of 109 of 145 of 181 invoer.
Dus telkens + 36
Ik altijd op 1 uitkom.
En bij 2 of 38 of 74 of 110 of 146 of 182
Ik altijd op 2 uitkom.
Tot aan
36 of 72 of 108 of 144 of 180 of 216
Ik altijd op 36 uitkom
Die fout had ik zelf gevonden en geupdate (waarschijnlijk nog steeds niet perfect, maar het valt met deze methode wel op te lossen :+)

[ Voor 8% gewijzigd door Fordox op 15-04-2019 15:02 ]

Edit: Ik gebruik de edit-knop vaak.


Acties:
  • 0 Henk 'm!

  • Tom-Z
  • Registratie: Augustus 2010
  • Laatst online: 07:20
Disclaimer: Ik vind het lastig te begrijpen wat je precies wil dat er gebeurt, dus ik moet hier en daar gissen. Als ik dit lees:
De kathode voor de layers zitten op 1 t/m 6
De anodes op 13 t/m 48.
Bij bijvoorbeeld Led(5) moet hij dus 17 HIGH maken.
En 13 t/m 48 LOW behalve 17.
En hij moet layer1 high maken en 2 t/m 6 LOW.
Dan is dit denk ik wat je wil:
C:
1
2
3
4
5
6
7
8
9
void Led(int led) {
  for(int i = 0; i < 6; i++) {
    shift.writeBit(i + 1, i == (led-1)/36);
  }
  
  for(int i = 0; i < 36; i++) {
    shift.writeBit(i + 13, i == ((led-1)%36)); 
  }
}

[ Voor 3% gewijzigd door Tom-Z op 15-04-2019 15:12 ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Tom-Z schreef op maandag 15 april 2019 @ 14:56:
Disclaimer: Ik vind het lastig te begrijpen wat je precies wil dat er gebeurt, dus ik moet hier en daar gissen. Als ik dit lees:

[...]


Dan is dit denk ik wat je wil:
C:
1
2
3
4
5
6
7
8
9
void Led(int led) {
  for(int i = 0; i < 6; i++) {
    shift.writeBit(i + 1, i == (led-1)/7);
  }
  
  for(int i = 0; i < 36; i++) {
    shift.writeBit(i + 13, i == ((led-1)%36)); 
  }
}
Er moet bij led() de eigenlijk 3 dingen gedaan worden.
Laten we het even bij Dw houden(digitalWrite) ;

Ik wil functie Led(1); t/m Led(216);
Hebben.

Led(1 t/m 216); 1 tegelijk.

Layer(L) 1 pin van de 6
is led 1 t/m 16 vul 1 in bij L
Is Led 17 t/m 72 vul 2 in bij L
Is led 73 t/m 108 vul 3 in bij L

DigitalWrite(K HIGH)1 pin van de 35
Is led 1 of 37 of 43 enz vul 1 in bij K
Is led 2 of 38 of 44 enz vul 2 in bij K

DigitalWrite( H LOW) 35pins van de 36
Is led 1 of 37 of 43 enz zet alles uit behalve 1
Is led 2 of 38 of 44 enz zet alles uit behalve 2

[ Voor 19% gewijzigd door jeroen vrij op 15-04-2019 15:19 ]


Acties:
  • 0 Henk 'm!

  • Tom-Z
  • Registratie: Augustus 2010
  • Laatst online: 07:20
Volgens mij doet mijn code dan precies wat je wil. Er zat 1 klein foutje in (/7 ipv. /36) maar dat is nu gefixed. De eerste loop doet een shiftbit voor de layer (1..6) die je high wil en zet de rest op laag, de tweede loop pakt de anode (13...48) en zet de rest laag.

Als dat duidelijker is, dan is
C:
1
shift.writeBit(i + 1, i == (led-1)/36);
ook te schrijven als
C:
1
2
3
4
if(i == (led-1)/36)
  shift.writeBit(i + 1, HIGH);
else
  shift.writeBit(i + 1, LOW);

[ Voor 29% gewijzigd door Tom-Z op 15-04-2019 15:38 ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
@Tom-Z nee sorry de juiste leds gaan niet aan.

Dit was mijn code hiervoor
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
void Layer(int pin)
{
  
  for (int i = 1; i <= 6; i++)
{
 if(i == pin) {
  continue;
    }
    shift.writeBit(i , LOW);
     }else{
    shift.writeBit(pin , HIGH);
}
}
void Kolom(int pin)
{
  
  for (int i = 1; i <= 36; i++)
{
      if(i == pin) {
         continue;
    }
    shift.writeBit(i +12 , LOW);
     }else{
    shift.writeBit(pin +12 , HIGH);
}
}
void Led(int K,int L)
{
  Layer(L);
  Kolom(K);
  delay(1);
}
void Xas(int H,int L);
for (int i = 0; i <= 6; i++)
{
Led(H +i, L);

Maar goed die is wat omslachtiger omdat ik steeds de Layer moet invullen.

Acties:
  • 0 Henk 'm!

  • Tom-Z
  • Registratie: Augustus 2010
  • Laatst online: 07:20
Hoe weet je dat de juiste LEDs niet aan gaan als je niet de hardware hebt om te testen? En wat gebeurt er dan wel?

De code die je nu post is onvolledig en syntactisch onjuist. Dit kan niet compileren want de else's hebben geen corresponderende ifs.

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Heb niet genoeg draden kan 2 sr naar de kubus bevestigen dus test een aantal lagen en kolommen.
Maar krijg niets brandend.
Zal vast wel aan mij liggen.
En mijn hele arduino ide loopt te flippen
Ik begin weer van voor af aan

[ Voor 7% gewijzigd door jeroen vrij op 15-04-2019 17:14 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Je kan deze nemen

0,2 mm2 montagekabel met massieve kern
Door de massieve kern en de diameter ideaal voor gebruik op breadboard.

Wel een tegenslag om opnieuw te moeten beginnen, maar je zou deze kunnen proberen met twee sr's ?
https://www.arduino.cc/en/tutorial/ShiftOut

De codes daarin hebben helaas geen shifty.h

https://www.arduino.cc/en/Tutorial/ShftOut22

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
@kitao ik heb nu 2 sr's op me 3x3x3
Maar me arduino ide doet raar.
Dus ga hem her installeren.

Heb me save map even opgeschoond staan te veel probeersels in.
Heb de juiste gevonden denk ik.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <Shifty.h>


// Declare the shift register
Shifty shift; 



void setup() {
  
  shift.setBitCount(16);

 ///////////////3///6//5/////////
  shift.setPins(11, 8, 12); 
  pinMode(6,OUTPUT);
digitalWrite(6,HIGH);
}
void OE()
{
  digitalWrite(6,HIGH);
  delay(1);
  digitalWrite(6,LOW);
}
void Layer(int L)
{
  for (int i = 1; i <= 6; i++)
{
  if(i == L) {
      continue;
    }
    shift.writeBit(i , LOW);   
}
    shift.writeBit(L , HIGH);
    delay(1);
}
void Kolom(int K)
{
  for (int i = 1; i <= 36; i++)
{
  if(i == K) {
      continue;
    }
    shift.writeBit(i +12 , LOW);   
}
    shift.writeBit(K +12, HIGH);
    delay(1);
}
void Led(int K, int L)
{
  Layer(L);
  Kolom(K);
  delay(1);
}

 
void loop()
{}

Zo had ik hem eerst

[ Voor 5% gewijzigd door jeroen vrij op 15-04-2019 17:38 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Begin gewoon met 1 IC en dan stukje voor stukje verder op- en uitbouwen en nummer je codes, test 1 , test2 etc.

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Bedankt allemaal maar ik ben eruit.
Was inderdaad te moeilijk aan het denken oplossing wat makkelijk voor woorden.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <Shifty.h>

// Declare the shift register
Shifty shift; 


void setup() {
  
  shift.setBitCount(16);

 ///////////////3///6//5/////////
  shift.setPins(11, 8, 12); 
  pinMode(6,OUTPUT);
digitalWrite(6,HIGH);
}
void OE()
{
  digitalWrite(6,HIGH);
  delay(1);
  digitalWrite(6,LOW);
}
void Layer(int pin)
{
  
  for (int i = 1; i <= 6; i++)
{
 if(i == pin) {
  continue;
   } 
    shift.writeBit(i , LOW);
     }
    shift.writeBit(pin , HIGH);

}
void Kolom(int pin)

{
  for (int i = 1; i <= 36; i++)
{
  if(i == pin) {
      continue;
    }
    shift.writeBit(i , LOW);   
}

    shift.writeBit(pin , HIGH);
}
  

void Led(int pin)
{
 if(pin  <= 37) {                        // pin 1 t/m 6 activeert Layer1//
Layer(1);
Kolom(pin);Kolom(pin);}

 else if(pin  <= 36 && pin  >= 73) {    // pin 7 t/m 12 activeert Layer2//
Layer(2);
Kolom(pin -36);}

 else if(pin  <= 72 && pin  >= 109) {   // pin 13 t/m 18  activeert Layer3//
Layer(3);
Kolom(pin -72);}

 else if(pin  <= 108 && pin  >= 145) {   // pin 19 t/m 24 activeert Layer4//
Layer(4);
Kolom(pin -108);}

 else if(pin  <= 144 && pin  >= 181) {   // pin 25 t/m 30 activeert Layer5//
Layer(5);
Kolom(pin -144);}

 else if(pin  <= 180 && pin  >= 217) {   // pin 31 t/m 36 activeert Layer6//
Layer(6);
Kolom(pin -180);}


}
void loop(){}

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Ik heb nu voor de layers.
code:
1
shift.writeBit((Col - 1) /36 +1);

Is geworden (Col-35)/36 en :)
Dus 1 t/m 36 word 1
37 t/m 72 word 2.
Enz

Nou wil ik eigenlijk hetzelfde doen met de Leds
code:
1
2
3
4
void Led(int X) ;
{
Col(X + som) 
Layer((X- 1) /36 +1);

1, 37, 73, 109, 145, 181=1
2, 38, 74, 110, 146, 182=2
Enz enz
Ik heb al van allerlei rekensommen geprobeerd maar kom er niet uit.

L= L- (L-1)/36+1) *36
37=37 - (1*36)=1
38=38- (1*36)=2
73=73-(2*36)=1
Ik heb het antwoord maar krijg hem niet juis geformuleerd

[ Voor 16% gewijzigd door jeroen vrij op 17-04-2019 20:05 ]


Acties:
  • 0 Henk 'm!

  • Tom-Z
  • Registratie: Augustus 2010
  • Laatst online: 07:20
jeroen vrij schreef op woensdag 17 april 2019 @ 19:23:
Nou wil ik eigenlijk hetzelfde doen met de Leds
[...]
1, 37, 73, 109, 145, 181=1
2, 38, 74, 110, 146, 182=2
Enz enz
Ik heb al van allerlei rekensommen geprobeerd maar kom er niet uit.
(NB: dit moet nog +1)

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Tom-Z schreef op woensdag 17 april 2019 @ 22:00:
[...]


[...]

(NB: dit moet nog +1)
Ik had nu deze in gebruik

digitalWrite((Y+35)/36);

Opzich werkt dat.
Heb gekeken naar wat dat % teken doet en hoe ik dat toe pas maar kom er niet uit.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Dat is het modulo teken.
Stel, je deelt 13 door vijf, dan is het restant 3 en dat is je modulo.
Of 27 gedeeld door 10, de modulo (%) is 7.

https://www.arduino.cc/re...thmetic-operators/modulo/

Acties:
  • 0 Henk 'm!

  • Tom-Z
  • Registratie: Augustus 2010
  • Laatst online: 07:20
jeroen vrij schreef op woensdag 17 april 2019 @ 22:48:
[...]

Ik had nu deze in gebruik

digitalWrite((Y+35)/36);

Opzich werkt dat.
Ik snap niet waarom dat werkt. Je schrijft dat 110 naar pin 2 moet gaan. (110+35)/36 is 4. Jouw oplossing klopt dus niet met het probleem waarvoor je om een oplossing vroeg. Met deling is het zo dat opeenvolgende getallen meestal naar hetzelfde getal gaan (x/36 is hetzelfde als (x+1)/36 behalve als x+1 toevallig een 36-voud is). Maar jij wil juist dat opeenvolgende getallen naar verschillende pins gaan, dus dat kun je niet met delen en optellen oplossen.
Mijn oplossing met mod geeft ((110-1)%36)+1. 109/36 is 3.028, mod geeft de deelrest dus die rest is 109-36*3= 1. Plus 1 geeft de gewenste 2.

[ Voor 21% gewijzigd door Tom-Z op 18-04-2019 08:17 ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Dat is dat een schrijffout van mij 110 hoort op Layer 4.
Layer 3 gaat tot 108

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Er staan meer formules in die niet kloppen helaas.
Kan al die formules weghalen als ik voor de leds gewoon pin 1 tot 36 op de sr gebruik.
En de Layer op 37 to 43.
Maar als alle pins hij worden
Héb ik 65,8 mA over 1 sr dat moet kunnen.
Maar wat gebeurt er als alle layers ineens aangaan heb gezien dat als ik de arduino stroom geef alle pins eventjes hoog worden.
En gaan alle leds aan
Dan zitten er 6 leds achter 1 weerstand van 180 ohm.

A. Wat doet dat met de stroom over 1 pin 6leds op 1 weerstand van 180 ohm.

B. Gaat de weerstand daarvan stuk.

C. Kan dat kwaad voor de Leds.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
@jeroen vrij
Ben er lang geen deskundige in maar dacht dat er toch wel verschil in piek- en constante belasting zit.
Daarom in de 6D kubus met 7 SR's wordt er gemultiplext waar in het programma ook een blink alles voorkomt. Dat is dus 6 x 6 lagen die voluit bij komen. Voor het oog althans.
Maar hoewel de weerstanden en Ic's goedkoop zijn is het natuurlijk flink balen als je een print moet gaan repareren en een nieuwe Uno tikt toch weer lekker aan. Deze post is daarom geen advies.
Vind het trouwens lastig jouw vragen in beeld te krijgen, knap dat anderen dat wel lukt en helaas zonder shifty kan ik het niet natekenen.

*************
Deze is mss wel handig voor jou, 3D array.

Afbeeldingslocatie: https://i.imgur.com/ENxeo31.jpg?1
https://i.imgur.com/ENxeo31.jpg
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//: C03:StructArray.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
// An array of struct

typedef struct {
  int i, j, k;
} ThreeDpoint;

int main() {
  ThreeDpoint p[10];
  for(int i = 0; i < 10; i++) {
    p[i].i = i + 1;
    p[i].j = i + 2;
    p[i].k = i + 3;
  }
} ///:~

Vertaald naar Ard-Ide
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void setup() {}

// An array of struct

typedef struct {
  int i, j, k;
} ThreeDpoint;

void loop() {
  ThreeDpoint p[10];
  for(int i = 0; i < 10; i++) {
    p[i].i = i + 1;
    p[i].j = i + 2;
    p[i].k = i + 3;
  }
}

[ Voor 40% gewijzigd door kitao op 18-04-2019 15:48 . Reden: ********* ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
@kitao ik moet het echt even bij het eenvoudige houden.
Heb al van alles geprobeerd maar de shifty bevalt mij het beste en kan ik mee uit de voeten.
Heb inmiddels me 3x3x3 werken op ic's.

Heb de code al naar 100 regels ipv de 300 op mij te github.
En héb ook modulo functie toegepast.

Moet nog 1 ding verkleinen en dan heb ik een mooi code al zeg ik het zelf. ;)


Probeer nog een functie te maken met een pin array van 6 pins.

code:
1
2
3
4
5
6
7
void layer(int X) {

////pin 41 tot 46///
Pin 41 hoog 
Is andere 5 laag

En visa versa

Wat betreft de piek spanning is mij een oplossing aangedragen.
Door een 1 led op een pin van een arduino te gooien en deze high maken als de loop van de arduino start.
En een switch op de spanning naar de ic's.
Dan start de arduino op maar de ic, 's nog niet als het ledje aan gaat de switch om en dan gaat de rest aan.
Bij afsluiten het omgekeerd eerste de ic' uit dan de arduino.
Zo voorkom ik blijkbaar de piekspanning tijdens opstarten en afsluiten.

[ Voor 5% gewijzigd door jeroen vrij op 18-04-2019 16:08 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
@jeroen vrij
Eenvoudiger als dat struct voorbeeld krijg je het niet waarschijnlijk.

Ipv 3 geneste for-loops heb je er dan nog maar één. Het zou misschien zelfs toegepast kunnen worden zonder het hele hoofdstuk struct en array door te nemen, maar met array ben je toch al bekend.
Hoe dit te vertalen naar de SR's is weer ander verhaal, dat ben ik met je eens.

Mooi dat je van de pieken af bent en zal de code bekijken, tnx :)

Ps\
Het aan- en afsluiten vd IC's doe je zeker met |OE| ?
.

[ Voor 6% gewijzigd door kitao op 18-04-2019 16:18 ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
@kitao
Ja als de arduino start krijgt de oe 5v
Als de arduino is opgestart gaat er een groene led branden op de behuizing.
Dan kan ik de schakelaar om zetten en gaat de oe naar gnd.


Hier de code voor 216 leds.
Setup is net 50 regels.
;)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <Shifty.h>


Shifty shift;
///// kolom 1-35 op pin 1-35 kolom 36 op pin 0!!!!!!///////
///// Layers 1-6 op pin 41-46
void setup() {
  // Aantal bits minimaal 8x aantal shuifregisters////
  shift.setBitCount(48);

  // 11=ds 12=sh 8=st pin //

  shift.setPins(11, 12, 8);
}
void Layer(int L)
{
  for (int i = 1; i <= 6; i++)
  {
    shift.writeBit(i + 40, LOW);
    if (i == L)
    {
      continue;
    }
  }
  shift.writeBit(L+ 40, HIGH);
}
void Led(int L, int state)
{
  shift.writeBit(L % 36, state);
  Layer((L + 35) / 36);
}
void Yas(int Y, int state1, int state2, int state3, int state4, int state5, int state6)
{
  Led(Y % 36, state1);
  Led((Y + 6) % 36, state2);
  Led((Y + 12) % 36, state3);
  Led((Y + 18) % 36, state4);
  Led((Y + 24) % 36, state5);
  Led((Y + 30) % 36, state6);
}
void Xas(int X, int state1, int state2, int state3, int state4, int state5, int state6)
{
  Led(X % 36, state1);
  Led((X + 1) % 36, state2);
  Led((X + 2) % 36, state3);
  Led((X + 3) % 36, state4);
  Led((X + 4) % 36, state5);
  Led((X + 5) % 36, state6);
}


void loop()
{
  for (int i = 1; i <= 216; i += 6)
  {
    Xas(i, 1, 1, 1, 1, 1, 1);
    delay(200);
    Xas(i, 0, 0, 0, 0, 0, 0);
    delay(200);
  }
  for (int i = 1; i <= 216; i++)
  {
    Led(i, 1);
    delay(200);
    Led(i, 0);
  }
  for (int i = 1; i <= 36; i++)
  {
    Yas(i, 1, 1, 1, 1, 1, 1);
    delay(200);
    Yas(i, 0, 0, 0, 0, 0, 0);
    delay(200);
  }
}


10 regels om alle 216 leds aan te sturen inc de layers.
Heel veel korter zal niet lukken.

De Y en Xas stuur je aan door de eerste Led tussen de haakje te vermelden.
En dan 6x 0 of 1 om desbetreffende aan of uit te zetten

Ik ben. Nu met een code bezig om meerdere bits tegelijk aan te sturen.
Alleen zit met een probleem.
Als de spanning op de base wegvalt duur het nog een seconde voor de leds uit gaan.
Wat kan ik daar aan doen.

En krijg onderstaande code niet door de compile.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
  ShiftRegister74HC595 - Library for simplified control of 74HC595 shift registers.
  Created by Timo Denk (www.timodenk.com), Nov 2014.
  Additional information is available at http://shiftregister.simsso.de/
  Released into the public domain.
*/

#include <ShiftRegister74HC595.h>

// create a global shift register object
// parameters: (number of shift registers, data pin, clock pin, latch pin)
ShiftRegister74HC595 sr (2, 11, 12, 8); 
 
void setup() { 
}

void loop() {

  uint8_t pinValues[] = { B11111111, B10000001  }; 
  sr.setAll(pinValues); 
  delay(200);
  uint8_t pinValues[] = { B11111111, B10000010  }; 
  sr.setAll(pinValues); 
  delay(200);
  uint8_t pinValues[] =  { B11111111, B10000100  }; 
  sr.setAll(pinValues); 
  delay(200);
}

Als ik er 1 verzend naar de arduino gaat het goed.
Nu zegt hij redeclaration of uint8_t

@kitao
Ben er achter dat je voor de cube geen transistors nodig hebt.
De 74hc595 kan oon voor de gnd gewoon doen net als de arduino

[ Voor 32% gewijzigd door jeroen vrij op 19-04-2019 00:40 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
jeroen vrij schreef op donderdag 18 april 2019 @ 17:30:
@kitao
Ja als de arduino start krijgt de oe 5v
Als de arduino is opgestart gaat er een groene led branden op de behuizing.
Dan kan ik de schakelaar om zetten en gaat de oe naar gnd.

Hier de code voor 216 leds.
Setup is net 50 regels.
;)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <Shifty.h>


Shifty shift;
///// kolom 1-35 op pin 1-35 kolom 36 op pin 0!!!!!!///////
///// Layers 1-6 op pin 41-46
void setup() {
  // Aantal bits minimaal 8x aantal shuifregisters////
  shift.setBitCount(48);

  // 11=ds 12=sh 8=st pin //

  shift.setPins(11, 12, 8);
}
void Layer(int L)
{
  for (int i = 1; i <= 6; i++)
  {
    shift.writeBit(i + 40, LOW);
    if (i == L)
    {
      continue;
    }
  }
  shift.writeBit(L+ 40, HIGH);
}
void Led(int L, int state)
{
  shift.writeBit(L % 36, state);
  Layer((L + 35) / 36);
}
void Yas(int Y, int state1, int state2, int state3, int state4, int state5, int state6)
{
  Led(Y % 36, state1);
  Led((Y + 6) % 36, state2);
  Led((Y + 12) % 36, state3);
  Led((Y + 18) % 36, state4);
  Led((Y + 24) % 36, state5);
  Led((Y + 30) % 36, state6);
}
void Xas(int X, int state1, int state2, int state3, int state4, int state5, int state6)
{
  Led(X % 36, state1);
  Led((X + 1) % 36, state2);
  Led((X + 2) % 36, state3);
  Led((X + 3) % 36, state4);
  Led((X + 4) % 36, state5);
  Led((X + 5) % 36, state6);
}


void loop()
{
  for (int i = 1; i <= 216; i += 6)
  {
    Xas(i, 1, 1, 1, 1, 1, 1);
    delay(200);
    Xas(i, 0, 0, 0, 0, 0, 0);
    delay(200);
  }
  for (int i = 1; i <= 216; i++)
  {
    Led(i, 1);
    delay(200);
    Led(i, 0);
  }
  for (int i = 1; i <= 36; i++)
  {
    Yas(i, 1, 1, 1, 1, 1, 1);
    delay(200);
    Yas(i, 0, 0, 0, 0, 0, 0);
    delay(200);
  }
}


10 regels om alle 216 leds aan te sturen inc de layers.
Heel veel korter zal niet lukken.
Ziet er prima uit , zo te zien maak je goede vooruitgang met het programmeren :)
De Y en Xas stuur je aan door de eerste Led tussen de haakje te vermelden.
En dan 6x 0 of 1 om desbetreffende aan of uit te zetten

Ik ben nu met een code bezig om meerdere bits tegelijk aan te sturen.
Alleen zit met een probleem.
Als de spanning op de base wegvalt duurt het nog een seconde voor de leds uit gaan.
Wat kan ik daar aan doen.
Dat weet ik niet
En krijg onderstaande code niet door de compile.
Als ik er 1 verzend naar de arduino gaat het goed.
Nu zegt hij redeclaration of uint8_t

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
  ShiftRegister74HC595 - Library for simplified control of 74HC595 shift registers.
  Created by Timo Denk (www.timodenk.com), Nov 2014.
  Additional information is available at http://shiftregister.simsso.de/
  Released into the public domain.
*/

#include <ShiftRegister74HC595.h>

// create a global shift register object
// parameters: (number of shift registers, data pin, clock pin, latch pin)
ShiftRegister74HC595 sr (2, 11, 12, 8); 
 
void setup() { 
}

void loop() {

  uint8_t pinValues[] = { B11111111, B10000001  }; 
  sr.setAll(pinValues); 
  delay(200);
  uint8_t pinValues[] = { B11111111, B10000010  }; 
  sr.setAll(pinValues); 
  delay(200);
  uint8_t pinValues[] =  { B11111111, B10000100  }; 
  sr.setAll(pinValues); 
  delay(200);
}

Als ik er 1 verzend naar de arduino gaat het goed.
Nu zegt hij redeclaration of uint8_t
Je hebt te maken met een array (reeks) hier.
Je roept daar twee dingen tegelijk in op, dat gaat niet.
Aan uint ouwe zooi ligt het niet volgens mij, de debugger arduino , net als zovele andere, dumpt hier een standaard riedeltje.
Als je tot een array toegang wil krijgen moet je netjes aangeven welk element in de reeks je wil zien.
Dus stel, je hebt een array reeks van 0-4 en je wil nummer3 zien dan moet je schrijven array[2]
Vind het nog steeds lastig die dingen maar vermoed dat het daar aan ligt.
Als je ze alle vijf wil zien in de reeks is een for-lus nodig en voordat je een array aanroept moet die ook eerst gedeclareerd worden hoewel ik niet achter de schermen kan kijken van de gebruikte lib waarvan hier een voorbeeld
https://shiftregister.simsso.de/
en in het algemeen
http://www.cplusplus.com/doc/tutorial/arrays/

Heb het door de compiler gekregen
Niet door toevoegen bovenaan maar door de array-namen apart te benoemen te nummeren
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <ShiftRegister74HC595.h>

// create a global shift register object
// parameters: (number of shift registers, data pin, clock pin, latch pin)

int numberOfShiftRegisters = 2; // number of shift registers attached in series
int serialDataPin = 0; // DS
int clockPin = 1; // SHCP
int latchPin = 2; // STCP
//ShiftRegister74HC595 sr (numberOfShiftRegisters, serialDataPin, clockPin, latchPin); 
 ShiftRegister74HC595 sr (2, 11, 12, 8); 
void setup() { 
}

void loop() {

  uint8_t   pinValues[] = { B11111111, B10000001  }; 
  sr.setAll(pinValues); 
delay(200); 
 uint8_t pinValues2[] = { B11111111, B10000010  }; 
  sr.setAll(pinValues2); 
delay(200);
  uint8_t pinValues3[] =  { B11111111, B10000100  }; 
  sr.setAll(pinValues3); 
delay(200);
}

Ik weet niet Jeroen, maar de libs die jij vindt komen vaag op mij over. Die meneer staat op git en dan heeft die één mager voorbeeldje erop staan.
@kitao
Ben er achter dat je voor de cube geen transistors nodig hebt.
De 74hc595 kan ook voor de gnd gewoon doen net als de arduino
Ja hè hè
Dat was 14 dagen geleden al te zien in het 7 x SR voor de 6D kubus voorbeeld
.

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Een int is is altijd een integer 1 of 2 of 3.
Maar stel je wil ipv een int
B10101010 dat gebruiken kan dat ook

code:
1
2
3
4
5
6
7
8
void Layer(int A,int b)
{
  uint8_t pinvalues[] = {int a, int b} 
} 
 Void loop() 
{
 Layer( b01010101, b10100010) ;
}


Het werkt wel als ik cases aan maak.
Maar kan ik dat int vervangen voor iets.
Bijv long of hex???

Of dat ik iets in de setup kan doen dat ik in de loop alleen dit hoef te doen.

{b00101010, b10101010} ;
delay(100);
{b11111111, b10010101} ;

[ Voor 16% gewijzigd door jeroen vrij op 19-04-2019 10:15 ]


Acties:
  • 0 Henk 'm!

  • Tom-Z
  • Registratie: Augustus 2010
  • Laatst online: 07:20
B10101010 is gewoon een integer. Het is een andere manier om 170 te schrjiven. Overal waar je 170 zou kunnen schrijven, kan je net zo goed B10101010 schrijven.

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
@Tom-Z ok super dank je

@kitao
ik wil gaan proberen om in excel 6x6 vlak te maken met aanvink blokjes.
Daarnaast 6 voor de layers.
Dat ik de leds aanvink die aan moeten en de layer en dat excel er een code van maakt die ik kan kopieren en plakken in de ide.
Dus ik vink led1 aan en layer1 dan maakt excel.
B10000000, B00000000, B00000000, B00000000, B00000000, B00100000

Of heeft iemand een makkelijkere oplossing

[ Voor 137% gewijzigd door jeroen vrij op 19-04-2019 18:36 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
@jeroen vrij
Maar had jij niet 7 draden op één SR zitten ? Dan op die manier gaan de twee laatste bits naar de volgende laag ?
Heb tijdje terug een kladje geplaatst, de codeschrijver gebruikt daar nibbels die naar hex worden vertaald met 6 draden op een chip, dus de laatste twee bits maken dan niet uit want niet aangesloten.
Dus stel , je wil 01111100

dan split je dat in 0111 1100
en dat is hex........ 7........C
Dat is het mooie van hex, ieder nibbel kan meteen naar hex omgezet worden tussen 0 en 15.
Zou met 7 draden ook kunnen natuurlijk want dan vallen er niet twee maar één weg.
Hangt dus van jouw opstelling af hoe je dat doet en pas dan kan iemand eventueel meekijken voor een excel vertaling, waar ik circa 0 ervaring mee heb behalve invoer geven.

[ Voor 20% gewijzigd door kitao op 19-04-2019 16:09 ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Jawel heb ze veranderd ivm met toewijzing in de functie
Als de B10101010 codegebruik zitten ze van 0 tot 35
En als de modulo wil gebruiken zet ik 36 op 0 en dan 1 tot 35
Heb ondervonden dat de 74hc595 gewoon 8 leds van 9,4mA kan hebben op 1 sr heb nu de 3x3x3 op 2 sr's waarvan de eerste 8 op 1 sr en doet het prima geen problemen

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Ik probeer het in beeld te krijgen, dus kan goed zijn dat ik het helemaal verkeerd zie.
Maar m.i. is de kubus naar 2D vertaald een matrix van 6 rijen en 36 kolommen.
Ik ga ervanuit dat je per laag wil gaan aanstippen welke leds gaan branden etc.
Dan kom je uit op 6 rasters voor de hele kubus die je kan inkleuren.
Neem je er 8 dan zit je op de volgende laag twee kolommen mee te kleuren.
Of mis ik iets ?

Afbeeldingslocatie: https://i.imgur.com/E4ht400.jpg?1

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Ik heb besloten de handdoek in de ring te gooien.
Ik krijg geen. Juiste effecten op de cube.
Lijkt wel of wanneer de leds uitgaan ze te langzaam uit gaan.
Alsof er restspanning op de led blijft.
Schakel nu met 2ms delay tussen led 1-3 dus alle 3 tegelijk.
25-27 ook alle 3 tegelijk.

123 hoog
Delay(2)
123laag(2)
25 26 27 hoog.
Delay(2)
25 26 27 laag
Delay(2)

Maar bij 123 brand heel zachtjes led 5 na dus 26 op laag 3 gaat traag uit.

En bij 25 26 27 blijft led 1licht na branden
Op de 3x3x3 mer 2 srs

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Je kan een andere benadering nemen ipv ermee te stoppen.
Als de meubel niet via links wil kantelen dan andersom.

kitao in "3x3x3 led cube"

Een paar postjes boven die link begint het verhaal.

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Lijkt wel of de bc547 spanning blijft vasthouden en dimt ipv direct uitgaat.
Dus langaam dicht gaat.

Probleem gevonden mijn sr zijn van slechte kwaliteit heb sluiting tussen + en - als ik de sr verwijder is de sluiting weg
Had er 20 besteld 18 geven sluiting.

Dus zal de 3x3x3 met de uno doen.
Bestel nog een mega voor de 6x6x6.
En dan houd ik het voor gezien

[ Voor 61% gewijzigd door jeroen vrij op 20-04-2019 02:47 ]


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
jeroen vrij schreef op vrijdag 19 april 2019 @ 22:43:
Lijkt wel of de bc547 spanning blijft vasthouden en dimt ipv direct uitgaat.
Dus langaam dicht gaat.
Wat is de spanning op de basis als hij aan danwel uit is? Het kan zijn dat als je uitgangspin niet naar gnd trekt (pin correct geconfigureerd?) er een stroom blijft lopen en de transistor half in geleiding blijft.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Het lag niet aan de transistor uiteindelijk.
Ik had 2 sr'op mijn bradboard gedaan.
+ naar vcc en mr
- naar gnd en oem
Q7" sr1 naar Ds sr2 en de clock en latch doorgelust.
5v op breadboard.
Van arduino vin naar 5v. Gnd naar gnd.
Toen gemeten op breadboard =3v.
Toen gemeten met pieper en 5v en gnd op breadboard zijn met elkaar verbonden.

Sr eraf en multimeter op vcc van sr en alle pinnen op sr staan met elkaar in verbinding.
Dus sr's zijn niet goed
Als ik 5v op de sr zet op vcc.
Heb ik spanning op alle pinnen varierend van 1 tot 3v.

[ Voor 8% gewijzigd door jeroen vrij op 20-04-2019 13:10 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Vind het lastig om zomaar aan te nemen dat de hele partij chips bedorven is hoewel ik zelf ook vaak de neiging heb om aan software de schuld te geven. Achteraf blijkt dat namelijk meestal onterecht te zijn geweest. Maar goed, met deze opmerking gaat de 3D kubus, want daar gaat het nu over zo te zien, niet beter branden.
Even mijn mening, houd het simpel. De tip van Damic is heel leerzaam en was zeer zeker ook welkom geweest in mijn topic over de 595 aangaande de |OE| pin, maar ik heb dat tot dusver nergens gezien, die hangt gewoon aan GND. De Vin-pin waar jij het nu over hebt, is die ook wel nodig ?
Als je extra power nodig hebt kan je dan niet gewoon een aparte 5V rail op de chips zetten en de Uno op zn eigen usb-voeding ?

En ps\
Begrijp verder ook niet goed waarom je de 7x595 niet even probeert op de 6D.
Alle onderdelen heb je ervoor inclusief je knap gemaakte kubus en komt kant en klaar met code.
Zitten trouwens wel weerstanden in die schakeling, mijn opmerking van hè hè was onjuist.
Maar dat zijn er maar zes.
Als dat het wel doet bespaart het je een mega, die zijn toch niet zo goedkoop.

[ Voor 23% gewijzigd door kitao op 20-04-2019 15:00 ]


Acties:
  • +1 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
jeroen vrij schreef op zaterdag 20 april 2019 @ 13:04:
Het lag niet aan de transistor uiteindelijk.
Ik had 2 sr'op mijn bradboard gedaan.
+ naar vcc en mr
- naar gnd en oem
Q7" sr1 naar Ds sr2 en de clock en latch doorgelust.
5v op breadboard.
Van arduino vin naar 5v. Gnd naar gnd.
Toen gemeten op breadboard =3v.
Toen gemeten met pieper en 5v en gnd op breadboard zijn met elkaar verbonden.

Sr eraf en multimeter op vcc van sr en alle pinnen op sr staan met elkaar in verbinding.
Dus sr's zijn niet goed
Als ik 5v op de sr zet op vcc.
Heb ik spanning op alle pinnen varierend van 1 tot 3v.
Ik snap niet wat je allemaal brabbelt. :?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Nou dat de ic, s kortsluiting hebben.
Waarschijnlijk doordat ik goedkope chinese troep heb.
Afbeeldingslocatie: https://tweakers.net/ext/f/LJZ3OuNRt05J4j6mvvIrqFfC/thumb.jpg
Dus nu maak ik een 6x6x6 op een uno zonder ic, s

[ Voor 52% gewijzigd door jeroen vrij op 20-04-2019 18:34 ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Ik heb een effect gemaakt voor een 12x6 matrix.
Nou is dit effect al meer dan 600 regels.

Heeft iemand een idee om een kleiner te maken.

Hij is te groot om te plaatsen dus probeer hem uit te leggen.

Het zijn dus 72 leds.
Er branden er 12.
Led 1 t/m 12.
Nou wil ik dat na elke interval iets gebeurt.
Heb led even als L gedaan.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
for (i=1; i=6; i ++) 
{
L(1); L(2); L(3); L(4); L(5); L(6);
L(7); L(8); L(9); L(10); L(11); L(12);
}

for (i=1; i=6; i ++) 
{
L(1 +12); L(2); L(3); L(4); L(5); L(6);
L(7); L(8); L(9); L(10); L(11); L(12);
}

for (i=1; i=6; i ++) 
{
L(1 +24);L(2 +12);L(3); L(4);L(5);L(6);
L(7);L(8);L(9);L(10);L(11);L(12);
}
for (i=1; i=6; i ++) 
{
L(1 +36); L(2 +24); L(3 +12); L(4); L(5); L(6);
L(7); L(8); L(9); L(10); L(11); L(12);
}

Dus eerst brande de 12 geselecteerde leds.
Dan bij led1 12 erbij.
Dan bij led 1 24 erbij en bij led 2 12 erbij.
Tot er 1 bij +60 is da moet die led weer terug gaan.
Iemand een idee in welke hoek ik moet zoeken en of het überhaupt kan zonder een hele lap tekst.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
for (i=1; i=6; i ++)

Die snap ik niet, heb je vantevoren de i een globale scope gegeven en eerst wordt die 1 en meteen weer 6 ?
Als je bedoelt gelijk aan 6 heb je een == nodig.

Deze herken ik evenmin
L(1 +36); L(2 +24); L(3 +12);

Ik zeg niet dat het fout is maar zag dat zover ik herinner nergens terug behalve eerder in een code door jou geplaatst, maar als dit draait dan kan je er misschien ook L( 60 - 59) van maken om terug te keren bij 1.
Wel leuk schema wat je hebt en zou die willen meekijken maar gaat niet met shifty en geen puf om er zelf een code voor te schrijven, als het al zou lukken.
.

[ Voor 66% gewijzigd door kitao op 22-04-2019 16:48 ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Deze code is zonder shifty.
Is voor een 6x12 matrix met allen een arduino.

https://youtu.be/e9rEa1MtfMk


If(i=1; i <=6; i ++) {}
Dan herhaald hij het geen tussen de haakjes 6x hoef je niet speciaal iets voor aan te maken.
L(1,1); een functie led1 state1 + bijbehorende layer.

Snap alleen hier niks van.
Weet niet wat ik nou fout doe.
Afbeeldingslocatie: https://tweakers.net/ext/f/eg7YnNnwDJ5Ib1OGoh9Maiim/thumb.jpg

[ Voor 33% gewijzigd door jeroen vrij op 22-04-2019 16:50 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
jeroen vrij schreef op maandag 22 april 2019 @ 16:43:
Deze code is zonder shifty.
Is voor een 6x12 matrix met allen een arduino.

If(i=1; i <=6; i ++) {}
Dan herhaald hij het geen tussen de haakjes 6x hoef je niet speciaal iets voor aan te maken.
L(1,1); een functie led1 state1 + bijbehorende layer.

Snap alleen hier niks van.
Weet niet wat ik nou fout doe.
[Afbeelding]
Had net een edit gemaakt in mijn vorige post maar maak er een nieuwe van zodat je die niet mist.

Deze L(1 +36); inmiddels zelf geprobeerd en die doet het (toch)
Blijkbaar kan je gewoon een berekening in een functie-aanroep meegeven.
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;

int y ;

int L( int x ) {
    y = x ;
    return y ;
}
int main() {
    L ( 1 + 36 );
    cout <<  y << endl;
    L ( y - 1 ) ;
    cout << y << endl;
}

cout betekent print
In scherm verschijnt
37
36
Dus op die manier zou je m.i. weer terug kunnen keren over de hele rij.
Dit is weliswaar geen arduino-taal maar vervang main() door loop() en cout door 'zet led aan' en dan heb je ongeveer hetzelfde.

+++++++++
:D
Grappige video hoor, lachen :)
Op de achtergrond zie ik een paar van je kapotte chips in een breadboard gestoken.
Liggen die op de test bank ?

Oh, wacht , daar is dat plaatje voor.
Tja, ik gaf al een tip, houd het simpel dus gooi al die condensatoren het raam uit en gebruik gewoon één voeding als je toch maar twee IC's gebruikt, namelijk de voeding van de uno.

Staat hier een officiele testmethode voor 1 en voor twee stuks 595 incl code
https://www.arduino.cc/en/tutorial/ShiftOut
Daarin staat ook een condensatoortje maar probeer eerst eens zonder, moet lukken volgens mij.
.

[ Voor 23% gewijzigd door kitao op 22-04-2019 17:16 . Reden: ++++ ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
De condensors zijn er omdat er 6 achter elkaar moeten.
Maar goed heb nu de computer stuk.
Harde schijf heeft cluster problemen.
Dus ik moet even zien te regelen dat ik windows naar mijn ander harde schijf krijg

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
jeroen vrij schreef op maandag 22 april 2019 @ 18:02:
De condensors zijn er omdat er 6 achter elkaar moeten.
Maar goed heb nu de computer stuk.
Harde schijf heeft cluster problemen.
Dus ik moet even zien te regelen dat ik windows naar mijn ander harde schijf krijg
Van wie moet dat ?
Vorige keer in het kubus topic kwam je ineens met deze
jeroen vrij in "3x3x3 led cube"

De bron daarvan is m.i. nooit vermeld en dat geeft verder niet en heeft nu even niks met het volgende te maken maar ik zie er maar drie. Dat is zomaar verdubbeld blijkbaar.

Bij mijn sim-projectje heb ik wel de bron gezet, helemaal getest, ging prima en daar zitten er 0 in.
https://www.instructables.com/id/6x6x6-Arduino-LED-Cube/

Dus hoezo 'er moeten 6 van die bommen op' ?

Je bent soms lastig te volgen Jeroen, vaak geef je de indruk dat alles wat je in je handen hebt breekt en dan ineens komt er een virtuoos eindresultaat op video.
Sterkte met je pc trouwens, problemen met de harde schijf wens je niemand toe.

Iets anders, wil even pauze nemen van de 7400 serie en jouw vorige schema , deze dus
jeroen vrij in "Arduino for loop met if else en or"
eens proberen nu je toch geen shifty gebruikt , welke mosfets en/of andere onderdelen zitten daar in en heb je daar wel een bron voor ?
.

[ Voor 3% gewijzigd door kitao op 22-04-2019 19:02 ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
De 6x6x6 op arduino daar gebruik ik de bc547 voor de kathodes en de irl540 op de anodes.

Even over de 6 ic's die zijn nodig om de 6x6x6 zonder mosfets aan te sturen.
Dan heb ik er aan 3 niet genoeg.
De 3x3x3 hoeft niet met ic, s want de arduino heeft daarvoor pinnen genoeg

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Ok, tnx.
Ik las je post verkeerd, je bedoelde 6 Ic's ipv 6 C's.
Toch is het handiger als lezers die willen meekijken dat je dan ook de bron vermeldt waar je de opstelling vandaan hebt gehaald, tenzij je die zelf ontworpen hebt natuurlijk.
Afin, zal een beginnetje maken met de 6D uno solo, de rest is dan herhaald plakken van hetzelfde.

Dat natekenen wordt uitgesteld, klopt namelijk niet met jouw onderdelen, indien ik mij niet vergis.
IRL540 zijn N-Channel , zie
https://www.vishay.com/docs/91300/sihl540.pdf
Pijltje gaat naar de dikke stippellijn.
In jouw schema
https://tweakers.net/ext/f/LJZ3OuNRt05J4j6mvvIrqFfC/full.jpg
gaan alle pijlen de andere kant op, zie ter vergelijk
https://www.electronics-tutorials.ws/transistor/tran_6.html

?

[ Voor 37% gewijzigd door kitao op 22-04-2019 20:05 . Reden: ? ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Ik probeer uit te vogelen hoe ik teksten over de matrix kan. Laten gaan.
Heb iets gelezen over x en y array maken.
En dan kan je in de functie gewoon zetten display(tekst) of iets

@kitao
Weet jij dit misschien.
Is er op een computer tussenliggende tekst in 1x een regel te laten zaken.

Bijv.
3
5 appels
6 peren
4 bananen
8 kiwis
7 luchtballonnen
ballen

Is het nu zonder copy paste mogelijk om bijvoorbeeld alleen de cijfers een regel te laten zakken.

[ Voor 45% gewijzigd door jeroen vrij op 23-04-2019 00:47 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
@jeroen vrij
Hangt van het programma af, bij office kan je meer doen als in notepadje.
Laten zakken weet ik niet, kan wel een verticale selectie met alt+shift horizontaal verschuiven maar weet niet of dat naar beneden gaat.
Ik ga het proberen, kom erop terug.

Ik heb je schema geprobeerd van de 6D solo uno maar bleek een heel harde noot te zijn en is me niet gelukt zoals getekend. Er zijn ook erg veel combinaties, zo heb je pnp en npn en verrijkt en verarmd en weet niet wat nog meer. Niks lukte.
Heb er deze van gemaakt, er zijn twee opties, een deelblok van zes in zn geheel aan/uit zetten met een transistor, óf met een pnp mosfet, resp. bovenblok en onderblok genoemd. Voor bij de transistor is dan een aparte voedingsrail nodig.
De rijen worden met npn-mosfets geschakeld.
Schakelen van de kolommen gaat wel traag voordat de leds uit zijn maar kan aan sim liggen. Of niet.
De rijen schakelen wel direkt uit.
Alle 5V knopjes moeten arduino pinnen voor stellen, alleen die linksboven is een rail.
En er kan maar één blok van 6x6 tegelijk aan maar meen dat ook uit jouw schema op te kunnen maken.

Afbeeldingslocatie: https://i.imgur.com/TKBbBR1.jpg?1
https://i.imgur.com/TKBbBR1.jpg

Dit is een simulatie, schade aan elektronische onderdelen is op eigen risico.

***************************************************************************
3
5 appels
6 peren
4 bananen
8 kiwis
7 luchtballonnen
ballen
Wat je kan proberen
Selecteer eerst de 3 op normale wijye yodat die blauw wordt.
Dan knop shift en alt ingedrukt houden en met pijtje naar beneden de rest van de getallen erbij selecteren.
Dit kopieren en dan een tabel aanmaken, dit in de eerste kolom yetten, de tekst in de tweede kolom en dan weer onttabellen.
Mijn y is ineens een z geworden, verkeerde knopje gedrukt waarschijnlijk. Mijn lap gaat nu ook de geest geven. Had je trouwens jouw PC niet een vorige week uit de winkel gehaald _ You eerst terug gaan dan. Sterkte.
.

[ Voor 23% gewijzigd door kitao op 23-04-2019 15:08 ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Mijn computer heeft de geest gegeven.
Probeer windows 7 nu te installeren op de slave harde schijf.
Maar kan niet bij mijn windows code :(
Die staat in de computer.

Heb de opstelling getest het zijn idd n-channel mosfet maaf ze sturen wel 5v door.
10 leds met alle een mosfet
5 schakelaars voor die mosfets
2 voor de power lijn elke gaat naar 5 mosfets.
1vd2 switches en 1 van de 5 swithes 1 led gaat aan.

Toen omgedraaid mosfets vervange voor bc547 om de gnd werkt ook.
Alleen die opstelling heeft wat last van inductie denk als je met je handen iets dichtbij komt lichte de leds iets op behalve als ik de breadboard voeding erbij aanraak

[ Voor 56% gewijzigd door jeroen vrij op 23-04-2019 22:43 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
@jeroen vrij
Ik heb jouw schema geprobeerd maar kreeg er geen geluid uit en maakte niet uit of ik er pnp , npn , depletion of geen depletion, source aan de bovenkant of onderkant, etc etc. van maakte totdat ik uit kwam bij de schakeling gisteren gepost. Maar die had ook zn nadelen zoals traag schakelen. (Zie trouwens nog mijn edit)

Heb er nu eentje 'verzonnen' die schakelt wel rap, geeft vrij constante stroom bij enkel ledje of meerdere leds en kortom lijkt zeker levensvatbaar in het echte leven. (Indien het rekenprogramma in de sim enigzins klopt met de werkelijkheid althans).
Verzonnen tussen aanhaaltekens want is niet helemaal zonder voorbeeld, immers gebaseerd op het schema van Jeroen en een paar mosfet-voorbeelden op internet, maar voor zeker een kwart is ontstaan door zelf zitten schuiven.

Afbeeldingslocatie: https://i.imgur.com/ysad4jP.jpg?1
https://i.imgur.com/ysad4jP.jpg

Rijen betekent voor mij de 6 'afvoer' kanalen voor de kubus.
Kolom betekent de 36 led series van 6
En blok betekent verdieping van de kubus, oftewel een 6 x 6 matrix per verdieping.

Er komt nog een tweede blok bij of dat ook goed gaat maar zal morgen worden.
Nadeel van Sim is dat je geen hele secties tegelijk kunt kantelen , dat gaat enkel per component daarom zijn de rij-mosfets een beetje vreemd getekend maar hetzelfde gebleven als gisteren. idem de PNP blok schakelaar. Er zitten nu geen normale transistors meer in. De rail is inmiddels ook verdwenen.
Een kolom gaat aan als de uno pin laag gaat, omgekeerd dus.
Net als gisteren moeten de 5V blokjes een pin op de Uno voorstellen.
.

[ Voor 8% gewijzigd door kitao op 23-04-2019 23:41 ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Ik heb hem volgens mijn schema gebouwd en werkt prima bc547 aan de kathode kant en de mostfet voor de anode.
Heb alle anode gate op 1 pulldown resistor om te zorgen dat de leds direct uitgaan.
En de kathode base op 1 pulldown om te zorgen dat de leds niet spontaan aan gaan.
Ziet er goed uit jouw opstelling.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
jeroen vrij schreef op woensdag 24 april 2019 @ 00:27:
Ik heb hem volgens mijn schema gebouwd en werkt prima bc547 aan de kathode kant en de mostfet voor de anode.
Heb alle anode gate op 1 pulldown resistor om te zorgen dat de leds direct uitgaan.
En de kathode base op 1 pulldown om te zorgen dat de leds niet spontaan aan gaan.
Ziet er goed uit jouw opstelling.
Ok, gelukkig maar, goed gedaan dan. :)
Misschien kan je als de testfase voorbij is een nieuw schema zetten (?).
De mijne ziet er wel aardig uit, schakelt verder prima maar gaat niet werken op de uno.
Heb de kolommen nu rijen genoemd en vice versa.
Er kunnen nu zelfs twee blokken tegelijk worden bijgezet, gister ging dat nog niet.
Maarrrrrrr, als alle leds uit zijn dan gaat er 137 mA per blok-pin doorheen.
Dat is einde Uno :|

En klinkt misschien raar maar bij deze is stroom nodig om een rij leds led uit te zetten, omgekeerde wereld.

Ik ga geen tien plaatjes posten met alle ampere standen maar hier een indicatie.

Afbeeldingslocatie: https://i.imgur.com/eIaCbCK.jpg?1
https://i.imgur.com/eIaCbCK.jpg

Lijkt erop dat de transistor en het rail een come back gaan maken.
Per los ledje gaat er iets van 11 mA doorheen dus dat is wel te doen.

******************************
Rail en transistor erbij gezet, uno gaat het overleven, zelfs makkelijk met twee of meerdere blokken tegelijk aan. Rail voeding zal iets van 6 x 150 = 1 Ampere moeten zijn. (hoewel nog steeds eigen risico >:)

Afbeeldingslocatie: https://i.imgur.com/faJSI0V.jpg?1
https://i.imgur.com/faJSI0V.jpg

Twee blokken tegelijk aan
https://i.imgur.com/9bMWGfa.jpg
.

[ Voor 16% gewijzigd door kitao op 24-04-2019 04:01 . Reden: ************ ]


Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Ok ok ik heb hier nu een opstelling ik stuur 216 leds aan.
Een 6x6x6. Cube met 17 pinnen
5 voor de layers en 12 voor de kolommen.

Bij de layers zijn er 3 pinnen die elk via een transistor een gnd geven op emitter van 2 lagen.
Zet ik 1 aan.
Dan kan ik met 2 pinnen die elk naar drie x base van de lagen gaat 1 en 2 om en om doen.
Zet ik 2 aan.
Dan kan ik met diezelfde 2 pinnen 3 en 4 bedienen.
Zet ik 3 aan.
Dan ik met die 2 pinnen 5 en 6 bedienen.

Bij de kolommen heb ik 6 pinnen die elke 6x een mos+led van 5v op de source geven.
En met zes pinnen bedien ik kolom 1 t/m 6
Of 7 t/m12
Dat is zoals het eerste schema dat ik plaatste.

[ Voor 66% gewijzigd door jeroen vrij op 24-04-2019 12:30 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
jeroen vrij schreef op woensdag 24 april 2019 @ 12:19:
Ok ok ik heb hier nu een opstelling ik stuur 216 leds aan.
Een 6x6x6. Cube met 17 pinnen
5 voor de layers en 12 voor de kolommen.

Bij de layers zijn er 3 pinnen die elk via een transistor een gnd geven op emitter van 2 lagen.
Zet ik 1 aan.
Dan kan ik met 2 pinnen die elk naar drie x base van de lagen gaat 1 en 2 om en om doen.
Zet ik 2 aan.
Dan kan ik met diezelfde 2 pinnen 3 en 4 bedienen.
Zet ik 3 aan.
Dan ik met die 2 pinnen 5 en 6 bedienen.

Bij de kolommen heb ik 6 pinnen die elke 6x een mos+led van 5v op de source geven.
En met zes pinnen bedien ik kolom 1 t/m 6
Of 7 t/m12
Dat is zoals het eerste schema dat ik plaatste.
Een 6x6x6. Cube met 17 pinnen
Dat is zoals het eerste schema dat ik plaatste.


Jouw eerste schema :
https://tweakers.net/ext/f/LJZ3OuNRt05J4j6mvvIrqFfC/full.jpg

Verdieping 1 t/m 6 : Pin 13 t/m 8 voor de rijen (groene lijnen naar led mosfets)
Aan/uit zetten elke verdieping apart : Pin 7 t/m 2 (paarse lijnen naar blok mosfets)
Afvoer kanalen, oftewel kolommen : Pin A0 t/m A5 (blauwe lijnen naar afvoer transistors)
Dat zijn er totaal 18.
Nu heb je ineens één pin geschrapt ?

Ik begrijp jouw woordelijke omschrijving niet zo goed, ik snap dat het vervelend is om een nieuw schema op te gaan stellen maar ik heb ook zitten tekenen met verkeerd opgegeven symbolen en zonder opgegeven weerstands waarden e.d.
Ben mss nog van plan mijn schema, gebaseerd op jouw schakeling, helemaal uit te tekenen, hoewel dat in principe volgens mij niet eens meer nodig is. Maar je weet niet altijd wat er onverwachts bij kan komen.
.

Acties:
  • 0 Henk 'm!

  • jeroen vrij
  • Registratie: Februari 2016
  • Laatst online: 09-05-2022

jeroen vrij

Just a arduino noob

Topicstarter
Ja heb de lagen nu met 1 pin minder.
Ik kan geen nieuwe schets maken omdat mijn computer het nog niet doet.
Pagina: 1