Platform 1 Model Railway Community Home 


Welcome to Platform1mrc.com
Thank you for taking the time to browse the forum, if you would like to participate in any of the discussions.
Registration is only a click away Register Here.

 Moderated by: paul_l Page:    1  2  3  Next Page Last Page  
New Topic Reply Printer Friendly
Arduino 101 - Lesson 3
AuthorPost
 Posted: 17 Nov 2017 13:41
  PM Quote Reply
1st Post
paul_l
Moderator


Joined: 5 Dec 2015
Location: Dundee, United Kingdom
Posts: 4251
Status: 
Offline
Firstly an apology for the delay in this next lesson, but due to work and his Lordships traversers this got put on the back burner, but were back :thumbs:.

and next a big thanks to Colin, at the Elgin show he gave me some goodies to play with, including infra red detectors and a DF Player mini (a sound chip) :tophat: these will make for some interesting future projects.

Back to the stepper motors

Why use a stepper motor ?

A standard DC motor has magnetic field on the outside (can or frame) and the coils on the armature. Power to the coils is via the brushes to the comutator supplying the coils. There is always an uneven number of coils, for model railways normally 3 or 5, as the coil is energised, it rotates to align with the magnetic field, however just as it aligns the power is no longer fed to that coil, it has now beig applied to the next coil causing the motor to spin - and spins quite fast, great for moving things, but is not good for exact positioning.

A stepper motor is built the other way round, the permanent magnetic field is on the armature, and the coils arranged around the case. So when a coil is energized the armature aligns with the coil and stops, the coil is then de-energized and the next coil energized moving the armature to the next position - effectively stepping from one position to the next. Most stepper motors take 200 steps per revolution, or 1.8 degrees per full step, however there are other values available - 0.9 degree or 400 steps per rev are also common - check the motor data sheet and it will tell you the step angle.

Now some may have spotted the "full step" comment, if you energize two coils at once the armature will align with the mid point, giving a "half step" the equivalent of 400 steps per rev. With fancy electronics in the stepper driver controller a 1/16th step can be achieved giving 3200 steps per rev. Another advantage of Half stepping is torque - by having two coils energized the torque doubles - so does the power consumption.


For what we will be working with there are essentially two types Uni-Polar & Bi-Polar

To save me waffling - and probably getting it wrong here is a link to explain the difference.

The difference between Uni Polar & Bi Polar stepper motors

The kit supplies a Uni-Polar 28BYJ-48 motor and driver card - just search ebay, amazon etc for a 28BYJ-48 stepper and you'll find lots of results from approx £1.25 upwards.  Why so cheap, these motors are used for Air-con vanes and many small positional devices.

28BJY-48 specifications

These motors have a 64:1 gearbox attached so the step (or stride)  angle is divided by 64.

From the spec sheet we can see  - Stride Angle = 5.625° /64 = 4096 steps per rev


The top controller is the one supplied in the kit, the lower is a common one supplied with the motor online. A few differences but we cover both, but the differences are hardware based rather than software, so the sketches should be the same (I hope).

So what are we going to make - well lets go for the jugular and try a turntable :scratchchin:  :facepalm:

Hardware

Arduino
28BJY-48 stepper motor
Stepper Controller
Limit switch
Several push buttons - you will see why in a min.
External power supply 5 to 12V DC (the kit has a 9V adapter)
Actuator to drive the turntable and to strike the limit switch to set the zero position.

Up until now the Arduino has been able to power the LED's from the usb port, adding motors and other higher current devices goes beyond what the usb port can provide, so we need an external power supply.  The Arduinos power regulator can cope with input voltages upto 12V DC. Anything higer than 12V runs the risk of damaging the Arduino - the 12V aux out from many Model Railway transformers unloaded is closer to 16V, better to use a switch mode power supply - a 5/9/12V 2A wall wart supply would be fine.

The actuator can be just a couple of cable ties - one to show the position the other to actuate the limit switch. I my case I've printed a 3d one.



Which just slips over the motor shaft.

OK - just need to print it off and set up the circuit

Back later

Paul

Back To Top PM Quote Reply  

 Posted: 17 Nov 2017 18:21
  PM Quote Reply
2nd Post
Keith M
Moderator


Joined: 16 Dec 2015
Location: Morton, Near Alfreton, North Derbyshire., United Kingdom
Posts: 1694
Status: 
Offline
I can see this one generating quite a bit of interest......waiting with bated breath!:giggle:

Keith.



____________________
I thought I saw a light at the end of the tunnel.........but it was only some swine with a torch, bringing me more work!!!
Back To Top PM Quote Reply

 Posted: 17 Nov 2017 18:32
  PM Quote Reply
3rd Post
paul_l
Moderator


Joined: 5 Dec 2015
Location: Dundee, United Kingdom
Posts: 4251
Status: 
Offline
We'll start simple, and connect up the Stepper to the controller - just plug it in, it only goes in one way unless you're using Toto's hammer.

Connect the arduino to the controller 
Arduino Pin D8 to INA (or IN1)
Arduino Pin D9 to INB (or IN2)      if using the 28BYJ-48 stepper change the connection to
Arduino Pin D10 to INC (or IN3)    * D9 to INC & D10 to INB
Arduino Pin D11 to IND (or IN4)

Arduino Gnd to controller Ground or 0V
Arduino 5V to controller 5V

Finally connect the power - but not just yet, disconnect the stepper motor, and connect the arduino to your PC, open the Arduino software and enter the following code (cut and paste)



================================================================


/*
 Stepper Motor Control - one step at a time

 This program drives a unipolar or bipolar stepper motor.
 The motor is attached to digital pins 8 - 11 of the Arduino.

 The motor will step one step at a time, very slowly.  You can use this to
 test that you've got the four wires of your stepper wired to the correct
 pins. If wired correctly, all steps should be in the same direction.

 Use this also to count the number of steps per revolution of your motor,
 if you don't know it.  Then plug that number into the oneRevolution
 example to see if you got it right.

 Created 30 Nov. 2009
 by Tom Igoe

 */

#include <Stepper.h>

const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution
// for your motor

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

int stepCount = 0;         // number of steps the motor has taken

void setup() {
  // initialize the serial port:
  Serial.begin(9600);
}

void loop() {
  // step one step:
  myStepper.step(1);
  Serial.print("steps:");
  Serial.println(stepCount);
  stepCount++;
  delay(500);
}


====================================================================

Compile the sketch, then if no errors upload to the arduino, if all is ok, power off

Reconnect the stepper motor

Reconnect the power - the stepper should slowly start to rotate, if everything is ok it should rotate in the same direction

Pictures to follow after tea

Paul

Back To Top PM Quote Reply  

 Posted: 17 Nov 2017 20:53
  PM Quote Reply
4th Post
paul_l
Moderator


Joined: 5 Dec 2015
Location: Dundee, United Kingdom
Posts: 4251
Status: 
Offline
As promised

Connect Pins 8 to 11



To INA to IND .....



And the 5V and GND connections

Appologies for the camera work - I can't find my quick release plate for the tripod, so had to hand hold.

https://youtu.be/E-fSGEBE5OQ



I have set the delay to 5 from 500 in the sketch otherwise you wouldn't see the motor turning.

Paul

Back To Top PM Quote Reply

 Posted: 17 Nov 2017 21:38
  PM Quote Reply
5th Post
paul_l
Moderator


Joined: 5 Dec 2015
Location: Dundee, United Kingdom
Posts: 4251
Status: 
Offline
The code is quite straight forward, but does have a few things we haven't covered before.

=====================================================================

 */

#include <Stepper.h>

=====================================================================


the #include  command tells the software to load the <Stepper.h> library. The library extends the capabilities of the Arduino to be adle to control the stepper motor.

The Stepper library is very basic, later we will use the AccelStepper library instead, this library will calculate acceleration and deceleration with you only needing to provide the start and stop positions, acceleration rate and top speed.

====================================================================

const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution
// for your motor

====================================================================

Defines a constant whole number (integer) stepsPerRevolution, this is one of the values required to define the setup of the stepper motor. 200 is incorrect - your mission should you accept it is to determine the value, and change the sketch to the correct value fore your stepper motor, and post it up in the tread - how to do it will be become obvious a little later - patience grasshopper.

====================================================================

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);


====================================================================

Tells the arduino which pins you are using to control the stepper motor controller and defines the Stepper motor as myStepper

====================================================================

int stepCount = 0;         // number of steps the motor has taken

====================================================================

Sets a counter to 0

====================================================================

void setup() {
  // initialize the serial port:
  Serial.begin(9600);
}

====================================================================

Something else we haven't seen is the monitor window

With the usb cable connected between the PC and arduino

In the Arduino software go to the tools menu and select the Serial Monitor option.

This will cause the current sketch to reset

A window will pop up

The above lines sets up the serial connection between the Arduino and the PC

=====================================================================

void loop() {
  // step one step:
  myStepper.step(1);
  Serial.print("steps:");
  Serial.println(stepCount);
  stepCount++;
  delay(500);
}


=====================================================================

The main loop where all the work is done.

Each time the loop is run the following happens

myStepper.step(1)    the arduino tells the controller to step 1 full step

Serial.print("steps:");  the arduino prints "steps:" to the serial monitor (if its connected)

Serial.println(stepCount);  the arduino prints the value of the counter stepCount to the serial monitor followed by a line feed

stepCount++;  the arduino adds 1 to the value of the counter stepCount

delay(500);  the arduino waits for 500 milli seconds (0.5 sec), before starting the loop again.


For those accepting the challenge, attach something to the shaft, and place a mark for the start point. Start up the sketch, and using the serial monitor record the steps value when you complete 360 degrees.

Good luck  :thumbup:

Paul




Back To Top PM Quote Reply  

 Posted: 18 Nov 2017 00:45
  PM Quote Reply
6th Post
paul_l
Moderator


Joined: 5 Dec 2015
Location: Dundee, United Kingdom
Posts: 4251
Status: 
Offline
OK - next step pardon the pun, lets go the other way

Here's the code - open a new sketch and cut and paste.

======================================================================

/*
 Stepper Motor Control - one revolution

 This program drives a unipolar or bipolar stepper motor.
 The motor is attached to digital pins 8 - 11 of the Arduino.

 The motor should revolve one revolution in one direction, then
 one revolution in the other direction.


 Created 11 Mar. 2007
 Modified 30 Nov. 2009
 by Tom Igoe

 */

#include <Stepper.h>

const int stepsPerRevolution = 2048;  // change this to fit the number of steps per revolution
// for your motor

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
  // set the speed at 4 rpm:
  myStepper.setSpeed(4);
  // initialize the serial port:
  Serial.begin(9600);
}

void loop() {
  // step one revolution  in one direction:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);

  // step one revolution in the other direction:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}


====================================================================

I have changed values provided by Tom Igoe who wrote the original Sketches (those who bought the kits and downloaded / installed the software will have these sketches in the Examples menu.

Two problems exist with the settings

1. It looks like the sketch was written for a different stepper motor, with a stepsPerRevolution = 200, not the 2048 I have with the 28BYJ-48 stepper we are using -nuts just given the answer away for the previous post :facepalm:

This gives an issue with this part of the code

// set the speed at 60 rpm:
  myStepper.setSpeed(4);

The setting in the example is 60, I have had to reduce it to 4 - with the number of steps per revolution being 2048 the motor / controller / arduino cannot complete the number of steps per min.

200 (steps per rev) x 60 (rev per min) = 12,000 steps per min  This seems to work ok

2048 (steps per rev) x 60 (rev per min) = 122880 steps per min - the motor doesn't move it just buzzes.

So working the other way 12000 steps per min / 2048 steps per rev = 5.8 rev per min

I have set the speed to 4 just to be on the safe side.

2. The motor only moves in a clockwise direction - another known issue - so I've found out on the internet.

This is a quick fix, the coils have been wired up in the factory in the wrong order, seeminly a common fault.

The fix  swap the connection for pin 9 & 10, so you should now have

Arduino Pin 8 to INA
Arduino Pin 10 to INB
Arduino Pin 9 to INC
Arduino Pin 11 to IND

And all works correctly, the stepper should rotate clockwise 360 degrees, stop for 0.5 sec, then rotate anti-clockwise 360 degrees stop for 0.5 sec and start again.

I will post a video up tomorrow

Paul

Back To Top PM Quote Reply

 Posted: 18 Nov 2017 01:01
  PM Quote Reply
7th Post
paul_l
Moderator


Joined: 5 Dec 2015
Location: Dundee, United Kingdom
Posts: 4251
Status: 
Offline
I've done a bit of playing - as you do :thumbs:

I increased the revs per min from 4 as per the sketch, in increments of 2

Worked upto 18, failed to move at 20, tried 19 and it worked, so the max speed looks like 19 rev per min, way too fast for a turntable, so reset it back to 4 rpm for the moment.

Paul

Back To Top PM Quote Reply  

 Posted: 18 Nov 2017 10:31
  PM Quote Reply
8th Post
paul_l
Moderator


Joined: 5 Dec 2015
Location: Dundee, United Kingdom
Posts: 4251
Status: 
Offline
Again sorry for the video quality, still hand hels on a high zoom.

https://youtu.be/ldn1lQYcZSY




So lets take a quick look at the code

======================================================================

/*
 Stepper Motor Control - one revolution

 This program drives a unipolar or bipolar stepper motor.
 The motor is attached to digital pins 8 - 11 of the Arduino.

 The motor should revolve one revolution in one direction, then
 one revolution in the other direction.


 Created 11 Mar. 2007
 Modified 30 Nov. 2009
 by Tom Igoe

 */

======================================================================

/* ...............   */  any thing between the /* & */  ios comments and should be used to explain the sketch's function and any setup requirements

======================================================================


#include <Stepper.h>

const int stepsPerRevolution = 2048;  // change this to fit the number of steps per revolution
// for your motor

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

======================================================================

Adds the stepper library

Define any variables required for the sketch to run, in this case stepsPerRevolution

Finally configure the  Stepper driver

======================================================================

void setup() {
  // set the speed at 4 rpm:
  myStepper.setSpeed(4);
  // initialize the serial port:
  Serial.begin(9600);
}

======================================================================

Setup

Define the stepper motor speed, in the last example we just sent a step command, had a delay then sent the next step command, this time we are defining a rotation speed in revs per min, using the .setSpeed(rpm) command

Next we open the serial port to send messages to the serial monitor

======================================================================

void loop() {
  // step one revolution  in one direction:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);

  // step one revolution in the other direction:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}


====================================================================

And the working end of the sketch

First we send a message to the serial monitor "clockwise"

Then send the command to move 1 revolution clockwise  ....  myStepper.step(stepsPerRevolution);

and once complete delay for 0.5 seconds

Next we send a message to the serial monitor "counterclockwise"

Then send the command to move 1 revolution clockwise  ....  myStepper.step(-stepsPerRevolution);

and once complete delay for 0.5 seconds

then repeat until you switch off the arduino.

Note the only difference between the clockwise and counterclockwise moves is the - sign before the stepsPerRevolution.

Those wanting to play can change the stepps per rev value (e.g. setting to 512 for me gave 90 degree movement) or change the revs per minute value for me 19 was the max value before the motor / controller refused to move.

Enjoy

Paul

Back To Top PM Quote Reply

 Posted: 18 Nov 2017 10:58
  PM Quote Reply
9th Post
Keith M
Moderator


Joined: 16 Dec 2015
Location: Morton, Near Alfreton, North Derbyshire., United Kingdom
Posts: 1694
Status: 
Offline
My brain's beginning to hurt with all this coding!:mutley2::mutley2::mutley2:

Keith.



____________________
I thought I saw a light at the end of the tunnel.........but it was only some swine with a torch, bringing me more work!!!
Back To Top PM Quote Reply  

 Posted: 18 Nov 2017 11:21
  PM Quote Reply
10th Post
paul_l
Moderator


Joined: 5 Dec 2015
Location: Dundee, United Kingdom
Posts: 4251
Status: 
Offline
Keith M wrote: My brain's beginning to hurt with all this coding!:mutley2::mutley2::mutley2:

Keith.

But the cut and paste should save the fingers from RSI :mutley2:

I believe Ianvolvo has a solution for the head nipping - plenty of vino tinto - gives a permanent headache, so the extra pain from the code is less severe - seemingly :mutley2:

Paul

Back To Top PM Quote Reply

 Posted: 18 Nov 2017 11:26
  PM Quote Reply
11th Post
gormo
Moderator


Joined: 5 Dec 2015
Location: Sydney, Australia
Posts: 2313
Status: 
Offline
This is the other end of the spectrum,

I`ve just been looking at Ian`s Chrissy Comp. entry taster picture and now I`m reading this.......Oh boy....my head is spinning.....:?

http://www.click:tophat:Gormo



____________________
Videos
https://www.youtube.com/c/greatchesterfordjunctionmodelrailway
Blog
http://greatchesterfordjunction.blogspot.com.au/2016/05/in-beginning.html
Back To Top PM Quote Reply  

 Posted: 18 Nov 2017 11:59
  PM Quote Reply
12th Post
Keith M
Moderator


Joined: 16 Dec 2015
Location: Morton, Near Alfreton, North Derbyshire., United Kingdom
Posts: 1694
Status: 
Offline
paul_l wrote:
Keith M wrote: My brain's beginning to hurt with all this coding!:mutley2::mutley2::mutley2:


I believe Ianvolvo has a solution for the head nipping - plenty of vino tinto

Paul


That wouldn't help me Paul, I'm one of that rare breed of blokes that have become teetotal! (Not religious or anything, just find that these days, any alcohol gives me a banging headache, and that I can do without).:giggle:

Keith.



____________________
I thought I saw a light at the end of the tunnel.........but it was only some swine with a torch, bringing me more work!!!
Back To Top PM Quote Reply

 Posted: 18 Nov 2017 13:01
  PM Quote Reply
13th Post
paul_l
Moderator


Joined: 5 Dec 2015
Location: Dundee, United Kingdom
Posts: 4251
Status: 
Offline
See I can give you an alcohol free headache - I aim to please :mutley2:

Back To Top PM Quote Reply  

 Posted: 19 Nov 2017 12:06
  PM Quote Reply
14th Post
paul_l
Moderator


Joined: 5 Dec 2015
Location: Dundee, United Kingdom
Posts: 4251
Status: 
Offline
So we have a motor that can spin in either direction - wow

Now lets take control of the situation

We are going to make the turntable rotate 180 degrees when you press a push button.

Hardware

Arduino
28BYJ-48 Stepper motor and controller
Pushbutton
Jumper wires

As before connect stepper motor to the controller

Connect the Arduino Pins D8 - INA, D9 - INC, D10 - INB, D11 - IND

Connect one side of the Pushbutton to Arduino Pin D6, and the other to GND

On my PC the usb port has enough power to run this example, so my work for you with out an external power supply.

The code

=====================================================================

/*
 Stepper Motor Control - Turntable 01 - turn 180 degrees

 This program drives a unipolar 28BYJ-48 stepper motor with built in 64:1 gearbox.
 The motor is attached to digital pins 8 - 11 of the Arduino.
 Push button attached to digital pin 6 of the Arduino

 The when the button is prerssed the motor should revolve 180 degrees.


 Created 19 Nov. 2017
 
 by Paul Lancaster

 */

#include <Stepper.h>

const int stepsPerRevolution = 1024;  // change this to fit the number of steps per revolution divide by 2
// for your motor
const int buttonPin = 6;              // the number of the pushbutton pin
int buttonState = 0;                  // variable for reading the pushbutton status
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
  // set the speed at 4 rpm:
  myStepper.setSpeed(4);
  // initialize the serial port:
  Serial.begin(9600);
  pinMode(buttonPin, INPUT_PULLUP);
}

void loop() {
  // Press button to rotate 180 degrees:
  buttonState = digitalRead(buttonPin);
  if (buttonState == LOW) {
    Serial.println("Moving");
    myStepper.step(stepsPerRevolution);
    delay(500);
    Serial.println("Stopped");
  }
}


=====================================================================

The code is very similar to the last example, so you can either make the changes to the last sketch or cut and paste this into a new one.

The video first then we'll go through the code.

https://youtu.be/1vJ_vNEGHrs



The code explained

Definitions & Libraries

=====================================================================

#include <Stepper.h>

const int stepsPerRevolution = 1024;  // change this to fit the number of steps per revolution divide by 2
// for your motor
const int buttonPin = 6;              // the number of the pushbutton pin
int buttonState = 0;                  // variable for reading the pushbutton status
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

=====================================================================

Load the Stepper.h library

Set the value of stepsPerRevolution - as we are only rotating by 180 degrees divide the value you determine in the first example - in my case the stepsPerRevolution = 2048 so the value in the sketch is 2048/2 = 1024

We are using Pin D6 for the pushbutton input, so to make easier reading we define a constant integer called buttonPin = 6
We also define a variable called buttonState, this is used to hold the value of the pushbutton
Finally we initialise the stepper motor.

The setup routine

=====================================================================

void setup() {
  // set the speed at 4 rpm:
  myStepper.setSpeed(4);
  // initialize the serial port:
  Serial.begin(9600);
  pinMode(buttonPin, INPUT_PULLUP);
}


=====================================================================

First up set the stepper motor speed - 4 rpm = approx 15 sec to complete the rotation - shows up one of the quirks of the library, for those thinking 1 full revolution = 360 degrees, 4 rpm = 15 sec per rev, so 180 degrees will take 7.5 sec, correct. However the stepper motor deals in steps not degrees, and we told it that there are 1024 steps per rev, and not the 2048 actually required to complete the 360 rotation. It works so no need to worry.

Next we initialize the serial port

And finally setup Pin D6 as an input, the pullup option places an internal pullup resistor on the pin so it reads as a 1 or HIGH, when we ground the pin through the pushbutton it changes state.

Main Loop

=====================================================================


void loop() {
  // Press button to rotate 180 degrees:
  buttonState = digitalRead(buttonPin);
  if (buttonState == LOW) {
    Serial.println("Moving");
    myStepper.step(stepsPerRevolution);
    delay(500);
    Serial.println("Stopped");
  }
}

=====================================================================

First up we read the status of the pushbutton  buttonState = digitalRead(buttonPin);   and store it in the variable called ButtonState

Remember if the pushbutton is not pressed then the value of the pushbutton (Pin D6) is HIGH because of the PULLUP option.

We now check the value of buttonState if the value is LOW then we will carry out the following actions

print on the serial monitor "Moving"
Instruct the stepper to move the number of steps stored in the constant stepsPerRevolution
When the move has been completed delay for 0.5 sec
Then print to the serial monitor "Stopped"

We then repeat the loop.

However if the value of Button state is HIGH - i.e. the push button is not pressed, then we do nothing, and just repeat the loop, until the push button is pressed again.

Simples :avatar:

There is more .............  :facepalm:

Paul


Back To Top PM Quote Reply

 Posted: 19 Nov 2017 13:23
  PM Quote Reply
15th Post
paul_l
Moderator


Joined: 5 Dec 2015
Location: Dundee, United Kingdom
Posts: 4251
Status: 
Offline
OK and why would there be more .......

Well there are two potential issues I see with the Simple Turntable Sketch


1/. Because we keep rotating 180 degrees clockwise, if there is any discrepancy, then we can get cumulative errors, it would be far better to rotate clockwise 1024 steps, then rotate counterclockwise 1024 steps, we should then always return to the same spot. This is be difficult to implement as we can rotate in both directions.

2/. Everything will be OK providing we don't get a power cut mid rotation, as we will no longer line up with the entry / exit roads.

Point 2 will need some form of Homing routine, that when ever the turntable starts, it will rotate slowly to a home position, reset its position to zero, then rotate to the entry position for the turntable - sounds harder than it actually is. We will use a limit switch, unfortunately these are not part of the arduino kit.

Point 1 again fairly straight forward to fix, but we will make a few changes to allow us to add additional entry exit roads.

Now to try and code it :whatever:

Back later

Paul

Back To Top PM Quote Reply  

Current time is 16:07 Page:    1  2  3  Next Page Last Page    
This topic is:  Home Page > Platform 1 Model Railway Community > Model Railway Control Systems, Computer Control & Interfaces > Welcome to the DARK side > Arduino 101 - Lesson 3 Top





about cookie files used by this web site

UltraBB 1.172 Copyright © 2007-2016 Data 1 Systems