Formule in code
9 berichten
• Pagina 1 van 1
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Formule in code
Kan iemand mij helpen om onderstaand werkend te krijgen.
Heb in de setup cases aangemaakt voor Col 1-9
En Layer 1-3.
Elke Col die high word zet de andere op LOW.
Zo ook voor de Layers.
Wat de code moet doen bij bijvoorbeeld.
Led(2,3,3)=
Col 2+(3-1*3) dus Col 8 high maken en layer 3.
Heb ook int a =0; aangemaakt ook voor b en c.
Maar krijg de melding too few arguments for void Led.
Iemand een oplossing hiervoor
- Code: Alles selecteren
void Led(int a,int b,int c)
{
Col(a+(b-1*3));
Layer(c);
}
void loop()
{
Led(1,1,1);
delay(100);
Led(2,2,2);
delay(100);
Led(1,3,3);
}
Heb in de setup cases aangemaakt voor Col 1-9
En Layer 1-3.
Elke Col die high word zet de andere op LOW.
Zo ook voor de Layers.
Wat de code moet doen bij bijvoorbeeld.
Led(2,3,3)=
Col 2+(3-1*3) dus Col 8 high maken en layer 3.
Heb ook int a =0; aangemaakt ook voor b en c.
Maar krijg de melding too few arguments for void Led.
Iemand een oplossing hiervoor
Advertisement
Re: Formule in code
Niet goed opgelet bij wiskunde (https://nl.wikipedia.org/wiki/Bewerkingsvolgorde)
Niemand weet wat je bedoelt met "(3-1*3)" of "(b-1*3)", dus gelden de vaste regels die afgesproken zijn. Ook de compiler houdt zich daar aan. Alleen jij wilt iets anders dan de vaste regels.
Voorkom onduidelijkheid en gebruik meer haakjes.
Bijvoorbeeld dit is duidelijk: ((28 - 7) * (5 + 3)) / ((3 / (2+(1-0.5))) + (3 / 7))
Heb je dit wel eens geprobeerd: https://www.google.com/search?q=(3-1*3).
Google kent ook de vaste regels.
Niemand weet wat je bedoelt met "(3-1*3)" of "(b-1*3)", dus gelden de vaste regels die afgesproken zijn. Ook de compiler houdt zich daar aan. Alleen jij wilt iets anders dan de vaste regels.
Voorkom onduidelijkheid en gebruik meer haakjes.
Bijvoorbeeld dit is duidelijk: ((28 - 7) * (5 + 3)) / ((3 / (2+(1-0.5))) + (3 / 7))
Heb je dit wel eens geprobeerd: https://www.google.com/search?q=(3-1*3).
Google kent ook de vaste regels.
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Formule in code
Ja lol dat is nul haha.
Het moet dus zijn2+(3-1)x3
Het moet dus zijn2+(3-1)x3
Re: Formule in code
ik weet nog steeds niet wat je precies wil bereiken .
maar het antwoord van de compiler is duidelijk.
je moet dus eerst een berekening doen om het col nummer te weten dat is dus (a+(b-1)*3)dus dan loopt het van 1 tot en met 9 met de getallen 1,2,3 zet dat als tussenresultaat even neer, en doe dan een call met dat tussenresultaat.
ik zou er nog een argument aan toevoegen 0,1 om een led aan, of uit te zetten.
de volgende stap is dan elke led afzonderlijk aan of uit te zetten.
en dan snelheid erin dus delay uit.
maar het antwoord van de compiler is duidelijk.
je moet dus eerst een berekening doen om het col nummer te weten dat is dus (a+(b-1)*3)dus dan loopt het van 1 tot en met 9 met de getallen 1,2,3 zet dat als tussenresultaat even neer, en doe dan een call met dat tussenresultaat.
ik zou er nog een argument aan toevoegen 0,1 om een led aan, of uit te zetten.
de volgende stap is dan elke led afzonderlijk aan of uit te zetten.
en dan snelheid erin dus delay uit.
paul deelen
shooter@home.nl
shooter@home.nl
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Formule in code
Ik zoek een oplossing voor mijn issue.
Mijn code is heel lang geworden omdat ik veel digitalWrite gebruik.
Hier wil ik vanaf.
Zou het mogelijk zijn om dat op de volgende manier in te korten.
Ik heb acht kolommen en 8 rijen.
Ik wil per x 1 hele kolom bedienen.
en graag op een wijze die vaker voor bij zie komen (ongeveer) maar niet weet hoe ik de setup moet maken in de ide.
Ik zou het liefst bijvoorbeeld kolom1 met 8leds zo bedienen in functie.
Kolom1 A10101010 A staat voor kathode 1 (pin10) de andere voor de leds 1 t/m 8 (2/9)
Kolom2 word B...... Pin 11 en 2/9
Heb het nu wel zo gekregen A(1,1,0,0,0,0,1,0);
Maar had graag de komma's er tussen uit.
Heb voor B led 9/16 die zetten ook 1/8 hoog maar met pin 11 laag voor layer 2
Mijn code is heel lang geworden omdat ik veel digitalWrite gebruik.
Hier wil ik vanaf.
Zou het mogelijk zijn om dat op de volgende manier in te korten.
Ik heb acht kolommen en 8 rijen.
Ik wil per x 1 hele kolom bedienen.
en graag op een wijze die vaker voor bij zie komen (ongeveer) maar niet weet hoe ik de setup moet maken in de ide.
Ik zou het liefst bijvoorbeeld kolom1 met 8leds zo bedienen in functie.
Kolom1 A10101010 A staat voor kathode 1 (pin10) de andere voor de leds 1 t/m 8 (2/9)
Kolom2 word B...... Pin 11 en 2/9
Heb het nu wel zo gekregen A(1,1,0,0,0,0,1,0);
Maar had graag de komma's er tussen uit.
- Code: Alles selecteren
void A(int A,int B, int C, int D, int E, int F, int G, int H) {
Led(1,int A) ; // deze functieS zetten pin 2/9 hoog
Led(2,int B) ; en 10 laag//
Led(3,int C) ;
Led(4,int D) ;
Led(5,int E) ;
Led(6,int F) ;
Led(7,int G) ;
Led(8,int H) ;
}
Heb voor B led 9/16 die zetten ook 1/8 hoog maar met pin 11 laag voor layer 2
Re: Formule in code
de komma's worden gebruikt om de getallen te scheiden, het blijven dus altijd integers.
ze kunnen er wel tussenuit maar dat maakt je programma denk ik erg moeilijk, en langer.
hou het simpel en werkend, en ook leesbaar voor een ander.
en ik weet nog steeds niet wat je wilt bereiken.
ze kunnen er wel tussenuit maar dat maakt je programma denk ik erg moeilijk, en langer.
hou het simpel en werkend, en ook leesbaar voor een ander.
en ik weet nog steeds niet wat je wilt bereiken.
paul deelen
shooter@home.nl
shooter@home.nl
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Formule in code
Met A11111111 wil ik bereiken.
Laag1(high) ; =A
Led 1 t/m8 (high)
De letter voor de anode laag.
Eerste integer voor eerste led.
Tweede voor de tweede.enz enz
Laag1(high) ; =A
Led 1 t/m8 (high)
De letter voor de anode laag.
Eerste integer voor eerste led.
Tweede voor de tweede.enz enz
Re: Formule in code
ja dat kan want dan zul je eerst de integers moeten vertalen naar string, of je kunt in een string kijken wat een karakter is bijv 1,2,3 etc.
paul deelen
shooter@home.nl
shooter@home.nl
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Formule in code
Ok. Dank je ga proberen het uit te vogelen.
Weet iemand misschien een type nummer voor een mosfet die met 5v op de gate met gemak 20mA kan schakelen.
Er was mij de irl540n geadviseerd die had ik fus besteld maar dat blijken n-channel mosfets te zijn.
Die schakelen wel de anode van de leds maar het leek mij niet verstandig deze te gebruiken.
Zou zonde zijn dat ze stuk gaan op de print zonde van al het werk.
Weet iemand misschien een type nummer voor een mosfet die met 5v op de gate met gemak 20mA kan schakelen.
Er was mij de irl540n geadviseerd die had ik fus besteld maar dat blijken n-channel mosfets te zijn.
Die schakelen wel de anode van de leds maar het leek mij niet verstandig deze te gebruiken.
Zou zonde zijn dat ze stuk gaan op de print zonde van al het werk.
9 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 4 gasten