13. progammeerBlokken


/*
Voorbeeldcode voor het programmeren in 'calls' (blokken).  JRL technasium 16-12-17 h.visser
Gebruik zo nodig LedPin, LedPin2, LedPin3, als controlelampjes. (  /* en */  verwijderen)
Gebruik de seriële monitor ook als controlemiddel om inzage te krijgen in de vraag: 
zit het programma in void blok1, void blok2 of void blok3?
*/


int sensorPin = A0; // analoog A0 als inputPin
int ledPin = 8; // pin 8 eerste aanstuur (LED) pin
int ledPin2 = 9; // pin 9 als tweede aanstuur- of LED pin
int ledPin3 = 10; // pin 10 als derde aanstuur- of LED pin
int sensorWaarde = 0; // variabele om de waarde van de sensorwaarde (potmeter) in op te slaan, beginwaarde = 0. 
int blokKeuze=0; // totaal sensorwaarde wordt opgeslagen in blokKeuze. De blokKeuze-waarde bepaalt de postie naar welk blok het programma 'springt'. 

///////////////////////////////////////////////////
void setup () {
pinMode (ledPin, OUTPUT);
Serial.begin (9600);
}

//////////////////////////////////////////////////
void blok1() {
Serial.println("blok 1");
/*digitalWrite (ledPin,HIGH);
delay(1000);
digitalWrite (ledPin,LOW);
*/
}

void blok2() {
Serial.println("blok 2");
/*digitalWrite (ledPin2,HIGH);
delay(1000);
digitalWrite (ledPin,LOW);
*/
}

void blok3(){
Serial.println("blok 3");
/*digitalWrite (ledPin3,HIGH);
delay(1000);
digitalWrite (ledPin3,LOW);
*/
}

/////////////////////////

void loop () {

blokKeuze=analogRead(sensorWaarde);
/////////////////// uitsplitsen van verschillende ingangswaarden op analoge ingang A0 //////////////
Serial.println(blokKeuze);

if (blokKeuze<330) {
blok1();
delay (500);
}

if (blokKeuze>330 && blokKeuze<700)
{
blok2();
delay (500);
}

if (blokKeuze>700)
{
blok3();
delay (500);
}
}


--------------------



/*
Met dank aan collega Frank Hagenaars,  https://funmetelectronica.nl/index.php?_route_=tutorials-cat/les-16-sos-switch-case

Een voorbeeld voor het maken van programmeerblokken in Arduino.
Als voorbeeld hiervoor wordt de seincode voor SOS gebruikt:    . . . - - -  . . . (3x lampje kort aan met korte onderbreking, 3x lampje langer aan met langere onderbreking, 3x lampje kort aan met korte onderbreking)   
*/


int Led = 13;
int interval = 500;
void setup (){
  pinMode (Led, OUTPUT);
}

// in de void loop () komen de blokverwijzingen te staan zoals bijvoorbeeld dot(); of dash(); 
// Let op: er staat een punt komma achter

void loop () {
  dot();
  dot();
  dot();
  letterSpatie();
  dash();
  dash();
  dash();
  letterSpatie();
  dot();
  dot();
  dot();
  woordSpatie();
}

// 1. eerste blok genaamd 'dot' (punt)
////////////////////////////////////////////////////////////

  
 void dot (){
  digitalWrite(Led, HIGH);
  delay (interval);
  digitalWrite(Led, LOW);
  delay(interval);
}
 
// 2. tweede blok genaamd 'dash' (streep)
//////////////////////////////////////////////////////////////

 void dash (){
  digitalWrite(Led, HIGH);
  delay (interval*3);
  digitalWrite(Led, LOW);
  delay(interval); 

// 3. derde blok genaamd 'letterSpatie'  (korte onderbreking)
////////////////////////////////////////////////////////////////////////////////////////////


void letterSpatie()
{
  delay (interval*2);
}

// 4. vierde blok genaamd 'woordSpatie'  (langere onderbreking)
//////////////////////////////////////////////////////////////////////////////////////////////////

void woordSpatie()

{
  delay (interval*6);
}