//// Create 2 FSM controling two track sections//#define SENSOR1_PIN A0 // Analoge pin A0#define SENSOR2_PIN A1 // Analoge pin A1SpoorControl spoor1(new Sensor(SENSOR1_PIN, laag), new Sensor(SENSOR2_PIN, laag)); // Sensor works reflective#define SWITCH_PIN A2AanUitSchakelaar aanUit(SWITCH_PIN);#define LED1_PIN A5 // Analoge pin A5SingleLed roodlicht(LED1_PIN, false);#define LED2_PIN A6#define LED3_PIN A7SingleLed dwergRood(LED2_PIN, false);SingleLed dwergGroen(LED3_PIN, false);#define SERVO1_PIN 11 // PWM pin 11#define SERVO1_WACHTTIJD 40 // Wachttijd (in MS) tussen 2 servo stapjes, Hogere waarden = langzamer#define SERVO1_LAAGPOSITIE 45 // Positie arm in laag stand#define SERVO1_HOOGPOSITIE 100 // Positie arm in hoog stand#define SERVO2_PIN 12 // PWM pin 12#define SERVO2_WACHTTIJD 40 // Wachttijd (in MS) tussen 2 servo stapjes, Hogere waarden = langzamer#define SERVO2_LAAGPOSITIE 45 // Positie arm in laag stand#define SERVO2_HOOGPOSITIE 100 // Positie arm in hoog standArmServo arm_een(SERVO1_PIN, SERVO1_WACHTTIJD, SERVO1_LAAGPOSITIE, SERVO1_HOOGPOSITIE);ArmServo arm_twee(SERVO2_PIN, SERVO2_WACHTTIJD, SERVO2_LAAGPOSITIE, SERVO2_HOOGPOSITIE);//// Create an instance of the AHOB//AHOB ahob(&roodlicht, &arm_een, &arm_twee);void setup(){#if (DEBUG) //Serial.begin(9600); Serial.begin(115200); while (!Serial); Serial.println("Starting"); Serial.flush();#endif //DEBUG}void loop(){ spoor1.heartBeat(); // These object must monitor their sensors aanUit.heartBeat(); // so they can update their states if ((spoor1.getState() == leeg) && (aanUit.getState() != true)) { ahob.set(uit); // Stop sound and flashing red lights } else { ahob.set(aan); // Start flashing red lights and sound } ahob.heartBeat(); // Let the AKI update it's connected bells and leds // // There are some signals that block the track when the gates are open. // These signals follow the state of the redLicht of the AHOB. If that is off, the signal // may show save (green light) // if (ahob.isLaag()) // Are both arms in their lowest position? { dwergGroen.setState(true); // Turn on the green light dwergRood.setState(false); // Turn off the red light } else { dwergGroen.setState(false); // Turn off the green light dwergRood.setState(true); // Turn on the red ligh } // // Keep the aspidistra flying // dwergGroen.heartBeat(); dwergRood.heartBeat();}
Weerstand 1000 ohm: 14d en plus
Ik heb liever niet dat je met die 9V klip werkt