Guest User

Untitled

a guest
Jan 3rd, 2016
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.45 KB | None | 0 0
  1. byte BlokPins[] = {11, 10, 9, 8};
  2.  
  3. #define RECHT     0
  4. #define AFBUIGEN  1
  5. #define VRIJ      0
  6. #define BEZET     1
  7.  
  8. void setup() {
  9.  
  10.   for(byte i = 0; i < sizeof(BlokPins); i++){
  11.     pinMode(BlokPins[i], OUTPUT);
  12.   }
  13.  
  14.   Serial.begin(115200); //tijd voor 115200?
  15. }
  16.  
  17. void loop() {
  18.   checkIngekomenSerial();
  19.  
  20. }
  21.  
  22. void checkIngekomenSerial(){
  23.   // Ga dan uit dat de serial commando's eruit zien als
  24.   // [commando letter] [adres]
  25.   // Waarbij ieder [] één byte is. Dus geen adressen in ASCII zenden ;)
  26.   if (Serial.available() >= 2) {  
  27.     switch(Serial.read()){
  28.       case 'W':
  29.         //Schakel een wissel recht
  30.         //Ga even uit dat de functie schakeWissel(wisselnummer, richting) bestaat
  31.         schakelWissel(Serial.read(), RECHT);
  32.         break;
  33.       //schakel een wissel afbuigend
  34.       case 'w':
  35.         schakelWissel(Serial.read(), AFBUIGEN);
  36.         break;
  37.       //Maak blok vrij
  38.       case 'b':
  39.         setBlok(Serial.read(), VRIJ);
  40.         break;
  41.       case 'B':
  42.         setBlok(Serial.read(), BEZET);
  43.         break;
  44.     }
  45.   }
  46. }
  47.  
  48.  
  49. void schakelWissel(byte address, bool state){
  50.   Serial.print("Wissel ");
  51.   Serial.print(address);
  52.   if(state){
  53.     Serial.println(" afbuigen");
  54.   }
  55.   else{
  56.     Serial.println(" recht");
  57.   }
  58. }
  59.  
  60. void setBlok(byte address, bool state){
  61.   Serial.print("Blok ");
  62.   Serial.print(address);
  63.   if(state){
  64.     Serial.println(" bezet");
  65.   }
  66.   else{
  67.     Serial.println(" vrij");
  68.   }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment