toewijzing reeks opdrachten aan een letter
4 berichten
• Pagina 1 van 1
toewijzing reeks opdrachten aan een letter
Ik ben momenteel aan het kijken hoe ik een stuk code overzichtelijker kan maken.
Momenteel is de code zo.
int snelheid = 5
for(i=0; i<=10 ; i++);{
digitalWrite(7, LOW); digitalWrite(9, HIGH); delay(snelheid);
digitalWrite(6, LOW); digitalWrite(8, HIGH); delay(snelheid);
digitalWrite(9, LOW); digitalWrite(7, HIGH); delay(snelheid);
digitalWrite(8, LOW); digitalWrite(6, HIGH); delay(snelheid);
}
graag wil ik dat het zoiets als dit wordt
int snelheid = 5
for(i=0; i<=10 ; i++);{
A
}
Nou is mijn vraag hoe kun je zonder gebruik te maken van een library dit realiseren?
Ik heb een extra INT aangemaakt:
int A =
digitalWrite(7, LOW); digitalWrite(9, HIGH); delay(snelheid);
digitalWrite(6, LOW); digitalWrite(8, HIGH); delay(snelheid);
digitalWrite(9, LOW); digitalWrite(7, HIGH); delay(snelheid);
digitalWrite(8, LOW); digitalWrite(6, HIGH); delay(snelheid);
Maar dat wil natuurlijk niet.
Hoe kan je nou de letter A koppelen aan deze reeks opdrachten.
Momenteel is de code zo.
int snelheid = 5
for(i=0; i<=10 ; i++);{
digitalWrite(7, LOW); digitalWrite(9, HIGH); delay(snelheid);
digitalWrite(6, LOW); digitalWrite(8, HIGH); delay(snelheid);
digitalWrite(9, LOW); digitalWrite(7, HIGH); delay(snelheid);
digitalWrite(8, LOW); digitalWrite(6, HIGH); delay(snelheid);
}
graag wil ik dat het zoiets als dit wordt
int snelheid = 5
for(i=0; i<=10 ; i++);{
A
}
Nou is mijn vraag hoe kun je zonder gebruik te maken van een library dit realiseren?
Ik heb een extra INT aangemaakt:
int A =
digitalWrite(7, LOW); digitalWrite(9, HIGH); delay(snelheid);
digitalWrite(6, LOW); digitalWrite(8, HIGH); delay(snelheid);
digitalWrite(9, LOW); digitalWrite(7, HIGH); delay(snelheid);
digitalWrite(8, LOW); digitalWrite(6, HIGH); delay(snelheid);
Maar dat wil natuurlijk niet.
Hoe kan je nou de letter A koppelen aan deze reeks opdrachten.
Advertisement
Re: toewijzing reeks opdrachten aan een letter
Ik heb het probleem opgelost met behulp van een een subroutine:
cpp code
cpp code
void SETUP
int snelheid;
void A()
{
digitalWrite(7, LOW); digitalWrite(9, HIGH); delay(snelheid);
digitalWrite(6, LOW); digitalWrite(8, HIGH); delay(snelheid);
digitalWrite(9, LOW); digitalWrite(7, HIGH); delay(snelheid);
digitalWrite(8, LOW); digitalWrite(6, HIGH); delay(snelheid);
}
void LOOP
for (int i = 0; i <= 10; i++) {
A;
}
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: toewijzing reeks opdrachten aan een letter
Kijk echter niet vreemd op dat je in de toekomst nog wel eens tegen een compiler fout aanloopt.
Je roept de functie A aan zonder de haakjes. Moet dus A() zijn.
Verder zou ik een statement per regel maken.
Overigens begrijp dat je volop nog gebruik van libraries maakt. Zo ongeveer elke functie in de Arduino is een library.
En voor efficiency zou je kunnen overwegen om naar blink_without_delay te kijken om die delay functie de nek om te draaien. bij delay(snelheid) doet de processor helemaal niets.
Je roept de functie A aan zonder de haakjes. Moet dus A() zijn.
Verder zou ik een statement per regel maken.
Overigens begrijp dat je volop nog gebruik van libraries maakt. Zo ongeveer elke functie in de Arduino is een library.
En voor efficiency zou je kunnen overwegen om naar blink_without_delay te kijken om die delay functie de nek om te draaien. bij delay(snelheid) doet de processor helemaal niets.
Re: toewijzing reeks opdrachten aan een letter
cpp code
opdracht0:
commentaar bijzetten.
opdracht1:
verdeel je subroutine in 3 cases en doe in de loop opgeven welke state je wilt hebben dus darkrider(fase)
in de loop verander je de fase als de tijd om is met een timer (blink without delay)
opdracht2:
haal de delays eruit. want die gaan je storen als je wat meer wilt dan deze basis, en het is tenslotte les2 .
en doen je ledjes het leuk?
#define led1 7
// ..... de andere zelf doen.
void SETUP(){
pinMode(led1, OUTPUT);
// doe de andere lekker zelf.
}
int snelheid=1000;
void darkrider() // of eender welke naam dan ook je kunt zelfs de snelheid meegeven, die dan in je loop verandert
{
digitalWrite(led1, LOW);
digitalWrite(9, HIGH);
delay(snelheid);
digitalWrite(6, LOW);
digitalWrite(8, HIGH);
delay(snelheid);
digitalWrite(9, LOW);
digitalWrite(led1, HIGH);
delay(snelheid);
digitalWrite(8, LOW);
digitalWrite(6, HIGH);
delay(snelheid);
}
void LOOP(){
for (int i = 0; i <= 10; i++) {
darkrider();
}
opdracht0:
commentaar bijzetten.
opdracht1:
verdeel je subroutine in 3 cases en doe in de loop opgeven welke state je wilt hebben dus darkrider(fase)
in de loop verander je de fase als de tijd om is met een timer (blink without delay)
opdracht2:
haal de delays eruit. want die gaan je storen als je wat meer wilt dan deze basis, en het is tenslotte les2 .
en doen je ledjes het leuk?
paul deelen
shooter@home.nl
shooter@home.nl
4 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 6 gasten