toewijzing reeks opdrachten aan een letter

Arduino specifieke Software
Berichten: 2
Geregistreerd: 13 Feb 2016, 20:11

toewijzing reeks opdrachten aan een letter

Berichtdoor Harm » 13 Feb 2016, 20:30

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.

Advertisement

Berichten: 2
Geregistreerd: 13 Feb 2016, 20:11

Re: toewijzing reeks opdrachten aan een letter

Berichtdoor Harm » 13 Feb 2016, 21:04

Ik heb het probleem opgelost met behulp van een een subroutine:
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;
}

:D

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: toewijzing reeks opdrachten aan een letter

Berichtdoor nicoverduin » 13 Feb 2016, 23:22

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.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: toewijzing reeks opdrachten aan een letter

Berichtdoor shooter » 14 Feb 2016, 10:38

cpp code
#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

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Google [Bot] en 98 gasten