MODEL RAILROADING WITH ARDUINO
Dave Falkenburg & John Plocher
Silicon Valley Lines Model Railroad Club
Sunday, September 12, 2010
WHAT IS AN ARDUINO?
Sunday, September 12, 2010
WHAT IS AN ARDUINO?
Arduino
is an open-source electronics prototyping platform based on exible, easy-to-use hardware and software. intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. little programmable computer platform designed help people make things go.
It's
http://www.arduino.cc/
Sunday, September 12, 2010
Sunday, September 12, 2010
HARDWARE
Based
upon widely available 8-bit Micro-controllers Computers as powerful as the early PCs
Single-chip
...but cost much less
Open
Hardware and board designs freely available
Schematics Kits
and Built-up Boards from $15 to $80
Sunday, September 12, 2010
HARDWARE
Sunday, September 12, 2010
HARDWARE
19
pins, each can be either Input or Output can be PWMed (digital dimmer) pins
6 Analog 13
Digital pins external Power Supply or from USB
6V-12V Easily
Expandable & Customizable to add features on a chip with extras
Think C/MRI
Sunday, September 12, 2010
SOFTWARE
Works Open
with Windows, Mac OS X, and Linux
Source to Download & Use and fast to use via USB
Free Easy
Program
Sunday, September 12, 2010
SOFTWARE
C-like
Language are called Sketches
Programs Rapid Can Easy
Prototyping of small projects
do useful things in 1 or 2 pages of code
to use Libraries developed by others control, LED dimming etc.
DCC, Communications, motor
Sunday, September 12, 2010
SOFTWARE
All
the grunt work is done for you by Arduino, which hides most of the complexity (remember, it was designed for artists!) two functions to worry about : initialize inputs & outputs
Only
setup loop
: run over and over again until power is removed
Sunday, September 12, 2010
/*
Blink: Turns on an LED on for one second, then off for one second, repeatedly.
* LED connected from digital pin 13 to ground. * Note: On most Arduino boards, there is already an LED on the board connected to pin 13, so you don't need any extra components for this example. Created 1 June 2005 By David Cuartielles http://arduino.cc/en/Tutorial/Blink based on an orginal by H. Barragan for the Wiring i/o board */ int ledPin = 13; // LED connected to digital pin 13
// The setup() method runs once, when the sketch starts void setup() { pinMode(ledPin, OUTPUT); }
// initialize the digital pin as an output:
// the loop() method runs over and over again, as long as the Arduino has power void loop() { digitalWrite(ledPin, HIGH); delay(100); digitalWrite(ledPin, LOW); delay(100); }
// turn the LED on // turn the LED off
Sunday, September 12, 2010
WHAT CAN YOU DO?
Sunday, September 12, 2010
SPECIAL EFFECTS
Sunday, September 12, 2010
SPECIAL EFFECTS
Sunday, September 12, 2010
EFFECTS YOU CANNOT BUY
Sperry Rail Service Inspection Vehicle
Sunday, September 12, 2010
SIGNALS
Sunday, September 12, 2010
CONNECTING LEDS
Anode (+, long leg) of LED to +5V (or 3.3V) Cathode (-, short leg, at side) of LED to DIGITAL I/O Pin through a 470 resistor (330 for 3.3V)
5V 470
I/O
470
I/O
Anode (+, long leg) to DIGITAL I/O Pin through a 470 resistor (330 for 3.3V) Cathode (-, short leg, at side) to Ground
Sunday, September 12, 2010
MAKING FIRE
int ledPin = 13; // LED connected to digital pin 13 void setup() { pinMode(ledPin, OUTPUT); } void loop() { int dark; for (dark=0;dark<1000;dark++) { if (dark<500) { digitalWrite(ledPin, HIGH); // set the LED on delay(random(10-10*(dark/500))); } digitalWrite(ledPin, LOW); // set the LED off delay(random(10+dark,50+dark)); } }
Sunday, September 12, 2010
AN ARC WELDER
int ledPin = 13; // LED connected to digital pin 13 void setup() { pinMode(ledPin, OUTPUT); } void loop() { int i,count; count=random(10,60); for (i=0;i<count;i++) { digitalWrite(ledPin, HIGH); delay(random(60)); digitalWrite(ledPin, LOW); delay(random(200)); } delay(random(800,2000)); }
// set the LED on // set the LED off
Sunday, September 12, 2010
WHAT ELSE?
Push
Buttons
RFID
Readers
Photocells Current Servo
Other Arduinos Other WiFi Ethernet
Detectors
Computers
Motors Motors
Stepper MP3
Playback Chips
etc., etc., etc.
Sunday, September 12, 2010
MOTOR SHIELD
http://www.adafruit.com/
Sunday, September 12, 2010
ETHERNET SHIELD
http://www.arduino.cc/
Sunday, September 12, 2010
PATCH SHIELD
http://info.yawp.com/kits/patch-shield-v04/index.html
Sunday, September 12, 2010
MIX AND MATCH
An Arduino Chubb
can connect to existing Model Railroad Electronics
SMC12 for using digital output to control Tortoise
DCCOD,
TeamDigital DBD22, and NCE BD20 Detectors
Sunday, September 12, 2010
DEMOS TO GET YOUR IDEAS FLOWING
Hardware & Software by John Plocher
Sunday, September 12, 2010
BLINKING LEDS WERE EASY...
What How Can
about something more challenging?
about doing something with the users INPUT?
we make noise? even Annoy The Neighbors?
Maybe
Sunday, September 12, 2010
DANGERSHIELD
An Arduino add-on. buzzer temperature & light sensors It's got a variety of electronic components that you can use to do fun and useful things: linear sliders LEDs (of course!) A excuse to learn by playing!
Sunday, September 12, 2010
pushbuttons
Two servos an LCD display a xylophone a few spare parts and a couple of hours of tinkering
Sunday, September 12, 2010
XYLO -TIGER
NEED SOMETHING MORE RAILROAD RELATED?
All
these were simply fun ways to learn while playing
The
real fun begins when you apply these lessons to your layout!
Sunday, September 12, 2010
CP MICHAEL
Take
the best of Loconet, C/MRI and Arduino and try to build a control point for the layout, similar to those used by the big boys, without having to have a computer running things.
Sunday, September 12, 2010
GOALS
Talk Code Control
Line to other nodes packets from dispatchers cTc machine packets from the Control Point eld units
Indication Use
Loconet to talk to the devices in the interlocking use NMRAnet as the Code Line...
(Future)
Sunday, September 12, 2010
CP MICHAEL
(it is a work in progress ;-)
16 Track Circuits 4 Switches 6 Signals
and a little imagination
Sunday, September 12, 2010
DEMO
The
Panel simulates the Dispatchers view circuits simulated by toggle switches Board displays occupancy pretends to be a (crude!) cTc machine
Track
Model
One Arduino The
other Arduino simulates a eld unit and controls switches cost $6-$20 each to design and build myself
Boards
Sunday, September 12, 2010
LOTS MORE INFO HERE
http://www.arduino.cc/playground/ Main/InterfacingWithHardware
Sunday, September 12, 2010
USEFUL LINKS
http://www.arduino.cc/ http://www.sparkfun.com/ http://www.adafruit.com/ http://moderndevice.com/ http://spikenzielabs.com/ http://www.techshop.ws/
or just Google/Bing Arduino in your favorite web browser!
Sunday, September 12, 2010
SOME OTHER COOL LINKS
DCC Throttle
built with an Arduino
http://www.oscale.net/en/arduino
DC
Control with Arduino:
http://modelrail.otenko.com/electronics/controlling-your-trains-with-an-arduino http://dawson-station.blogspot.com/2010/01/wii-nunchuk-train-control.html
Sunday, September 12, 2010
Q&A
Sunday, September 12, 2010
EXTRA 2011 WEST
The Unconventional Convention www.x2011west.org
2011 NMRA National Convention
July 3 to 9, 2011 - Sacramento, California
DOING THINGS A LITTLE DIFFERENTLY
An Advanced Section of layout tours and OP sessions in the San Francisco Bay Area on the weekend at the start of the Convention
The world-famous California State Railroad Museum and the movie-star Sierra Railroad at Jamestown in the Mother Lode country and a full-blown Railroad Prototype Meet as part of the Convention, OPSIG and LDSIG events, numerous clinic tracks including clinics to teach you entirely new skills, the S scale NASG national convention, Bay Area Garden Railroad clinicswell, this list just goes on and on
Sunday, September 12, 2010