Aus Raspberry Pi Geek 10/2018

Fischertechnik-Förderbänder per Controllino ansteuern (Seite 3)

Listing 1

 

#include <Controllino.h>
#define B0 CONTROLLINO_A0
#define B1 CONTROLLINO_A1
#define B2 CONTROLLINO_A2
#define B3 CONTROLLINO_A3
#define B4 CONTROLLINO_A4
#define B5 CONTROLLINO_A5
#define B6 CONTROLLINO_A6
#define M1 CONTROLLINO_R1
#define M2 CONTROLLINO_R2
#define M3 CONTROLLINO_R3
#define ROBOTER1 CONTROLLINO_R4
#define ROBOTER2 CONTROLLINO_R5
bool b0,b1,b2,b3,b4,b5,b6;
bool b0_previous,b2_previous,b5_previous,b6_previous;
bool metal,roboter;
long b0_timer,b2_timer,b4_timer,b6_timer;
void setup() {
  pinMode(B0,INPUT);
  pinMode(B1,INPUT);
  pinMode(B2,INPUT);
  pinMode(B3,INPUT);
  pinMode(B4,INPUT);
  pinMode(B5,INPUT);
  pinMode(B6,INPUT);
  pinMode(M1,OUTPUT);
  pinMode(M2,OUTPUT);
  pinMode(M3,OUTPUT);
  pinMode(ROBOTER1,OUTPUT);
  pinMode(ROBOTER2,OUTPUT);
}
void loop() {
  b0 = analogRead(B0)<150?HIGH:LOW;
  b1 = analogRead(B1)<150?HIGH:LOW;
  b2 = analogRead(B2)<150?HIGH:LOW;
  b3 = analogRead(B3)<150?HIGH:LOW;
  b4 = analogRead(B4)<150?HIGH:LOW;
  b5 = analogRead(B5)>300?HIGH:LOW;
  b6 = analogRead(B6)<150?HIGH:LOW;
  if (b5&&!b5_previous){
    metal=HIGH;
  }
  if (b0&&!b0_previous){
    b0_timer=millis();
  }
  if ((b0_timer+5000 < millis())&&b0){
    digitalWrite(M1,HIGH);
  }
  if (b1){
    digitalWrite(M1,LOW);
  }
  if (b2&&!b2_previous){
    b2_timer=millis();
  }
  if ((b2_timer+5000 < millis())&&b2){
    digitalWrite(M2,HIGH);
  }
  if (b3){
    digitalWrite(M2,LOW);
  }
  if (b6&&!b6_previous){
    b6_timer=millis();
  }
  if ((b6_timer+5000 < millis())&&b6){
    digitalWrite(M3,HIGH);
  }
  if (b4){
    digitalWrite(M3,LOW);
    if (metal){
      digitalWrite(ROBOTER1,HIGH);
    } else{
      digitalWrite(ROBOTER2,HIGH);
    }
    b4_timer=millis();roboter=HIGH;
  }
  if ((b4_timer+5000<millis())&&roboter){
    digitalWrite(ROBOTER1,LOW);digitalWrite(ROBOTER2,LOW);metal=LOW;roboter=LOW;
  }
  b0_previous=b0;
  b2_previous=b2;
  b5_previous=b5;
  b6_previous=b6;
}

Fazit

Dieses Projekt bringt das Controllino-Modul noch lange nicht an seine Grenzen – es lässt weitaus komplexere Aufgaben zu. Das Beispielprogramm beleuchtet aber gut einige interessante Aspekte der hardwarenahen Programmierung. Wieder zeigt sich, wie leicht es ist, mit Fischertechnik gut funktionierende Industriemodelle aufzubauen. Sollten Sie sich an das Projekt heranwagen, würden wir uns über einen Leserbrief mit einem kurzen Feedback an mailto:[email protected] freuen. 

Der Autor

Martin Mohr entwickelte schon früh eine Vorliebe für alles, was blinkt. Nach einer Ausbildung zum Elektroniker und einem Informatikstudium programmierte er überwiegend Java-Applikationen. Mit dem RasPi erwachte die alte Liebe zur Elektronik wieder.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben