Ik vraag me alleen nu af wat je precies wilt gaan sturen...
De wissels worden voorlopig nog met de hand (elektrische) omgezet. (kan overigens prima met een Arduino gestuurd worden.)Later wil ik pwm, voor het rijden gaan gebruiken.
Of wil je zelf ook een programma maken?
soort cab controle ofzo?
#include <AFMotor.h> AF_DCMotor motor(2, MOTOR12_64KHZ); // create motor #2, 64KHz pwm void setup() { Serial.begin(9600); // set up Serial library at 9600 bps Serial.println("Motor test!"); motor.setSpeed(100); // set the speed to 100/255} void loop() { Serial.print("motor linksom"); motor.run(FORWARD); // turn it on going forward delay(5000); Serial.print("Stop motor"); motor.run(RELEASE); // stopped delay(4000); Serial.print("motor rechtsom"); motor.run(BACKWARD); // the other way delay(5000); Serial.print("Stop motor"); motor.run(RELEASE); // stopped delay(1000);}
Een Arduino kan alleen werken als er een programma in zit.
_ _ _ _ ________ _ __| |______| |______| |______| |______| |______| |______| |
1,5 uur
Mijn eerste idee was om een aantal relais te gebruiken om sporen spanningsloos te maken zodat de treinen zouden stoppen, hiervoor wilde ik de Arduino gebruiken, dit om eens te experimenteren met de Arduino (heb er vier )
Ik kwam later nog een motorshield tegen in mijn elektronica bak, zodoende ben ik daar eens mee gaan stoeien en kwam tot de conclusie dat een motorshield prima toe te passen is voor bloksturing.
Het is de bedoeling dat de diverse arduino's in een centrale kast zitten en met de baan verbonden worden met sub-d 9 polige of 24 polige connectoren.
Wat ik begrepen heb, is een zaagtand sturing beter voor de elektromotor dan pwm, minder slijtage.
De meeste van mijn locomotieven hebben geen vliegwiel.
Het is niet de bedoeling om op de pc een programma te hebben draaien om de Arduino's aan te sturen, alleen word er data zoals sein standen, wisselstanden, blok bezet meldingen enz en misschien wat comando's naar de pc gestuurd het denkwerk doet de Arduino mega in combinatie met de Arduino uno's.
const int Stijd = 10 * 1000; // Stoptijd stopblok const int Wtijd = 10 * 1000; // Wachttijd wachtblok //const int Noodstop = 1; // Noodstop actief hoog //const int Sda = 20; // I2C bus serial data // const int Scl = 21; // I2C bus serial clock // initialisatie noodstop const int LED = 52; // Stoppen Arduino Mega modelspoor sturing. const int LED1 = 53; // Vrijgave Arduino Mega modelspoor sturing. const int LEDN = 50; // Noodstop geactiveerd const int LEDV = 51; // Noodstop Opgeheven// initialisatie poorten blokken const int Blok1 = 22; // Inkomende spoor const int Blok2 = 23; // Uitgaande spoor const int Blok3 = 24; // Schaduwstation spoor 1 const int Blok4 = 44; // Schaduwstation spoor 2 const int Blok5 = 26; // Stationspoor spoor 1 const int Blok6 = 27; // Stationspoor spoor 2 const int Blok7 = 28; // Wachtspoor const int Blok8 = 29; // Goederenspoor const int Blok9 = 5; // Wisselblok 1 const int Blok10 = 6; // Wisselblok 2// initialisatie poorten voor wissel sturing const int Wis1 = 30; // wissel 1 const int Wis2 = 31; // wissel 2 const int Wis3 = 32; // wissel 3 const int Wis4 = 33; // wissel 4 const int Wis5 = 34; // wissel 5 const int Wis6 = 35; // wissel 6 const int Wis7 = 36; // wissel 7 const int Wis8 = 37; // wissel 8 const int Wis9 = 38; // wissel 9 const int Wis10 = 39; // wissel 10 const int Wis11 = 40; // wissel 11 const int Wis12 = 41; // wissel 12