Code probleem
19 berichten
• Pagina 1 van 2 • 1, 2
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Code probleem
Kan iemand mij helpen.
Ik probeer na de loop pin 2 tot 10 op HIGH
Te zetten maar krijg hem niet door de compile.
Ik probeer na de loop pin 2 tot 10 op HIGH
Te zetten maar krijg hem niet door de compile.
- Code: Alles selecteren
int ledState=LOW;
int t100=100;
int t500=500;
void setup(){
for(int i=2; i<=10; i++){
pinMode(i, OUTPUT);
}
for(int i=A0; i<=A5; i++){
pinMode(i, HIGH);
}
}
void R(int r) {
ledState = digitalRead(r); if (ledState == HIGH) { digitalWrite(r, LOW); } else { digitalWrite(r, HIGH);
}
}
void L(int a) {
ledState = digitalRead(a); if (ledState == HIGH) { digitalWrite(a, LOW); } else { digitalWrite(a, HIGH); }
}
void loop(){
for(i = 2;i<10;i++){
digitalWrite(i, HIGH);
}
L(A1);
delay(t500);
L(A1);
L(A2);
delay(t500);
}
Laatst gewijzigd door Jeroentjevrij op 22 Mrt 2019, 20:24, in totaal 2 keer gewijzigd.
Advertisement
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Code probleem
Heb hem al denk ik hoop ik.
for(int i=2; i<=10;i++){
digitalWrite(i, HIGH);
}
for(int i=2; i<=10;i++){
digitalWrite(i, HIGH);
}
Re: Code probleem
Als je code van een webpagina haalt, dan krijg je soms HTML code er tussen, zoals i<10
Maar uhm, zou je willen proberen om code netjes te maken. Dat maakt het een stuk eenvoudiger voor jezelf.
cpp code
Door het netjes te maken, en met wat ervaring, dan valt meteen op waar de schoen wringt.
- In setup() heeft de pinMode een HIGH, dat kan niet.
- De R() en de L() zijn exact hetzelfde.
- De variabele "ledstate" wordt in twee verschillende functies gebruikt, maar alleen lokaal. Dus een lokale variabele zou beter zijn.
Als je meer weet van de c++ taal, dan kun je later dingen gaan inkorten.
Bijvoorbeeld het onderstaande is nog steeds leesbaar en doet hetzelfde
cpp code
Maar dat is voor later. Op dit moment is het belangrijk om er geen grote puinhoop van te maken
Maar uhm, zou je willen proberen om code netjes te maken. Dat maakt het een stuk eenvoudiger voor jezelf.
cpp code
int ledState = LOW;
int t100 = 100;
int t500 = 500;
void setup()
{
for (int i = 2; i <= 10; i++)
{
pinMode(i, OUTPUT);
}
for (int i = A0; i <= A5; i++)
{
pinMode(i, HIGH);
}
}
void R(int r)
{
ledState = digitalRead(r);
if (ledState == HIGH)
{
digitalWrite(r, LOW);
}
else
{
digitalWrite(r, HIGH);
}
}
void L(int a)
{
ledState = digitalRead(a);
if (ledState == HIGH)
{
digitalWrite(a, LOW);
}
else
{
digitalWrite(a, HIGH);
}
}
void loop()
{
for (int i=2; i<=10; i++)
{
digitalWrite(i, HIGH);
}
L(A1);
delay(t500);
L(A1);
L(A2);
delay(t500);
}
Door het netjes te maken, en met wat ervaring, dan valt meteen op waar de schoen wringt.
- In setup() heeft de pinMode een HIGH, dat kan niet.
- De R() en de L() zijn exact hetzelfde.
- De variabele "ledstate" wordt in twee verschillende functies gebruikt, maar alleen lokaal. Dus een lokale variabele zou beter zijn.
Als je meer weet van de c++ taal, dan kun je later dingen gaan inkorten.
Bijvoorbeeld het onderstaande is nog steeds leesbaar en doet hetzelfde
cpp code
inline void R( int pin)
{
digitalWrite( pin, digitalRead( pin) == HIGH ? LOW : HIGH);
}
Maar dat is voor later. Op dit moment is het belangrijk om er geen grote puinhoop van te maken
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Code probleem
Ja die high in de setup die klopt niet.
Die moet eruit gebruik mosfets om de kathodes te schakelen omdat me project is gegroeid.
Maar verklaar je nader met netjes ik vind hem heel netjes.
Alles recht onder elkaar.
Begrijp dat voor een ervaren iemand het pijn aan de ogen doet.
Maar goed ik doe dit pas sinds een maand.
Maar tips zijn altijd welkom om hem netjes te maken.
De R en L had ik gedaan om voor mezelf omdat de R de anodes aanstuurt en de L de kathodes.
Zo zie ik sneller of ik het wel juist zet.
En wat bedoel je precies met een lokale variabele?
Bedankt voor je feedback die is altijd welkom word hier graag beter in.
Die moet eruit gebruik mosfets om de kathodes te schakelen omdat me project is gegroeid.
Maar verklaar je nader met netjes ik vind hem heel netjes.
Alles recht onder elkaar.
Begrijp dat voor een ervaren iemand het pijn aan de ogen doet.
Maar goed ik doe dit pas sinds een maand.
Maar tips zijn altijd welkom om hem netjes te maken.
De R en L had ik gedaan om voor mezelf omdat de R de anodes aanstuurt en de L de kathodes.
Zo zie ik sneller of ik het wel juist zet.
En wat bedoel je precies met een lokale variabele?
Bedankt voor je feedback die is altijd welkom word hier graag beter in.
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: Code probleem
De code netjes maken.
In de IDE <ctrl>t drukken ,dan wordt alles netjes uitgelijnd (dat is wat Koepel bedoeld in eerste instantie)
In de IDE <ctrl>t drukken ,dan wordt alles netjes uitgelijnd (dat is wat Koepel bedoeld in eerste instantie)
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Code probleem
Als ik de inline void R gebruik van jouw komt hij niet door de compile
Re: Code probleem
Ha ha ha, dat was iets voor later
Wanneer ik jouw functie R() vervang door mijn functie R(), dan komt het bij mij wel door de compiler.
Wanneer iedere spatie, iedere komma, ieder inspringen, iedere nieuwe regel, ieder haakje, alles correct en op zijn plaats staat, dan is duidelijk te zien wat de code doet. Dat is echt geen grap. Het is overdreven, maar als je daarmee begint, dan kun je later iets slordiger zijn.
Het belangrijkste is natuurlijk het inspringen en de '{' en '}' haakjes. Daar is de Ctrl+t voor.
Jouw sketch had ik netjes gemaakt, maar kies je eigen stijl. Het gaat er om dat duidelijk is wat de code doet, in de eerste plaats voor jezelf.
Wanneer ik jouw functie R() vervang door mijn functie R(), dan komt het bij mij wel door de compiler.
Wanneer iedere spatie, iedere komma, ieder inspringen, iedere nieuwe regel, ieder haakje, alles correct en op zijn plaats staat, dan is duidelijk te zien wat de code doet. Dat is echt geen grap. Het is overdreven, maar als je daarmee begint, dan kun je later iets slordiger zijn.
Het belangrijkste is natuurlijk het inspringen en de '{' en '}' haakjes. Daar is de Ctrl+t voor.
Jouw sketch had ik netjes gemaakt, maar kies je eigen stijl. Het gaat er om dat duidelijk is wat de code doet, in de eerste plaats voor jezelf.
Re: Code probleem
A1 is geen integer je moet dan 14 gebruiken
en L en R zijn precies gelijk dus waarom?
en L en R zijn precies gelijk dus waarom?
paul deelen
shooter@home.nl
shooter@home.nl
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Code probleem
Had de R en L gekozen omdat R voor Row staat
En L voor layer.
Maar heb er nu R van gemaakt.
A1=14 en A0 dan¿
Ik ben helaas niet in het bezit van een computer ik gebruik de ide van Android heb dus geen snel functie om het netjes te maken.
En L voor layer.
Maar heb er nu R van gemaakt.
A1=14 en A0 dan¿
Ik ben helaas niet in het bezit van een computer ik gebruik de ide van Android heb dus geen snel functie om het netjes te maken.
- Jeroentjevrij
- Berichten: 82
- Geregistreerd: 27 Feb 2019, 11:19
Re: Code probleem
Word inderdaad een stuk netter zo.
Dank je.
Nou heb ik de setup die R() aangemaakt met een if statement.
Maar kan ik nou in de setup die ook combineren met een for loop.
Iets van.
Stukje netter zo
Dank je.
Nou heb ik de setup die R() aangemaakt met een if statement.
Maar kan ik nou in de setup die ook combineren met een for loop.
Iets van.
- Code: Alles selecteren
void Y1()
{
for (int i = 2; i <= 4; i++)
{
ledState = digitalRead(r);
if (ledState == HIGH)
{
digitalWrite(r, LOW);
}
else
{
digitalWrite(r, HIGH);
}
}
Stukje netter zo
- Code: Alles selecteren
int ledState = LOW;
int t100 = 100;
int t500 = 500;
void setup()
{
for (int i = 2; i <= 10; i++)
{
pinMode(i, OUTPUT);
}
}
void R(int r)
{
ledState = digitalRead(r);
if (ledState == HIGH)
{
digitalWrite(r, LOW);
}
else
{
digitalWrite(r, HIGH);
}
}
void loop()
{
for (int i=2; i<=10; i++)
{
digitalWrite(i, HIGH);
}
R(11);
delay(t500);
R(11);
R(12);
delay(t500);
R(12);
R(13);
delay(t500);
///////einde effect////////
for (int i=5; i<=10; i++)
{
digitalWrite(i, LOW);
}
delay(t500);
for (int i=2; i<=4; i++)
{
digitalWrite(i, LOW);
}
for (int i=5; i<=7; i++)
{
digitalWrite(i, HIGH);
}
delay(t500);
for (int i=5; i<=7; i++)
{
digitalWrite(i, LOW);
}
for (int i=8; i<=10; i++)
{
digitalWrite(i, HIGH);
}
delay(t500);
R(13);
R(12);
delay(t500);
for (int i=8; i<=10; i++)
{
digitalWrite(i, LOW);
}
for (int i=5; i<=7; i++)
{
digitalWrite(i, HIGH);
}
delay(t500);
for (int i=5; i<=7; i++)
{
digitalWrite(i, LOW);
}
for (int i=2; i<=4; i++)
{
digitalWrite(i, HIGH);
}
delay(t500);
R(12);
R(11);
delay(t500);
for (int i=2; i<=4; i++)
{
digitalWrite(i, LOW);
}
for (int i=5; i<=7; i++)
{
digitalWrite(i, HIGH);
}
delay(t500);
for (int i=5; i<=7; i++)
{
digitalWrite(i, LOW);
}
for (int i=8; i<=10; i++)
{
digitalWrite(i, HIGH);
}
delay(t500);
R(11);
///////einde effect////////
}
19 berichten
• Pagina 1 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 11 gasten