// // RoboSlam Example: Colour sensor navigation // In this program the robot is guided by a colour sensor // connected to P1.1. When P1.1 is high, the robot turns // right on the spot. When P1.1 is low, the robot drives // forward. // // Code is for MSP430G2553 // Last updated 19-10-2015 // #include <msp430.h> // function prototypes void leds(int green, int red); void motors(int left, int right); // main function int main( void ) { // stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; // configure digital inputs and outputs P1DIR = 0b10000001; // Port 1 outputs: P1.0 green LED, P1.7 red LED P2DIR = 0b00001111; // Port 2 outputs: P2.0-1 left motor, P2.2-3 right motor while(1) { if ((P1IN & BIT1) == 0) { leds(1,0); motors(1,1); // both motors forward on black } else { leds(0,1); motors(1,-1); // turn right on white } } return 0; } // // This function sets the direction of both motors. // The first argument controls the left motor. // The second argument controls the right motor. // For each motor: positive number for forward, // negative number for reverse, zero for stop. // void motors(int left, int right) { // work out P2OUT value, then write to register int p2out_value = 0; if (left > 0) p2out_value += 0b00001000; if (left < 0) p2out_value += 0b00000100; if (right > 0) p2out_value += 0b00000010; if (right < 0) p2out_value += 0b00000001; P2OUT = p2out_value; } // // This function controls the green and red LEDs. // For each LED: 1 is for on, 0 is for off. // void leds(int green, int red) { // work out P1OUT value, then write to register int p1out_value = 0; if (green == 1) p1out_value += 0b00000001; if (red == 1) p1out_value += 0b10000000; P1OUT = p1out_value; }
What is RoboSlam?
RoboSlam is an ultra low-cost robot building workshop for beginners using real electronic components. Our aim is to create a recipe for a €10 robot that’s easy to build and easy to teach others to build.
RoboSlam by Ted Burke, Damon Berry, Shannon Chance, Frank Duignan is licensed under a Creative Commons Attribution 4.0 International License.Follow RoboSlam on Twitter
My TweetsBlog Stats
- 113,714 hits
-
Recent Comments
-
Recent Posts
- TY photos keep rolling in!
- The final moments of suspense at BioSlam
- More photos from “Engineering Your Future” 2022
- Building heart rate monitors for kicks at TU Dublin
- Engineering Your Future at TU Dublin, 2022
- Mighty Dublin Makers
- Bread Board Games!
- Do-it-yourself punch cards and other amazing feats: DIT’s Paper Programming booth at Dublin Maker 2018
- New “Bread Board Games” for Science Week in Bunclody
- Engineering Your Future–a week of adventures in engineering at DIT
- Template for laser cutting in Inkscape
- More from Engineers Week 2017
- Engineers Week 2017
- Adults love robots, too….
- Creative Techfest’s RoboSlam at Google
- CopyCat in Action
- Introducing ArcadeSlam and the CopyCat mini-arcade platform
- Spreading Joy with Robots and Pasta
- Roboslam at Dublin Maker 2016
- Photos of roboteers at Dublin Maker 2016
- RoboSlam Instructions Dublin Maker 2016
- RoboSlam robot for Dublin Maker 2016
- Living Knowledge
- RoboSlam at PAEE/ALE 2016, Guimarães Portugal
- Robotics for Transition Year
- RoboSlam at Enniscorthy
- The “twoeyes” program from Enniscorthy
- Engineer’s Week: RoboSlam with a Twist
- Alternative version of the zigzag example using motor control functions
- Luke’s Robot Show-and-Tell
- Getting ready for a busy week…
- Robot build instructions and code for Tech Week / Science Week Oct/Nov 2015
- Colour Sensor Example Code
- Workshop for Roboslam tutors at IT Blanchardstown
- A remote control bot
- Instructions, laser cutting patterns and C code for RoboSlam robots at Dublin Maker 2015
- RoboSlam @ Dublin Maker – only two days away!
- Engineer Your Future Roboslam Tournament Winners 2015
- Engineer Your Future with Electronics
- Daniel’s code
- RoboSlam Testing Code and hex file
- DIT Team Deliver RoboSlam Workshop for Tech Week
- Assembling the new laser-cut chassis
- RoboSlam Instructions for CAO Open Day 2015
- Building Robots for Engineers Week
- On the Road to Victory
- Instructions for assembling the colour sensor module
- Tip-Top Design Skills
- FOCAS on Robots
- Workshop at Kinsale Arts Festival