Project idea: fotball goal sensor

I’ve been playing with the idea of making a fotball goal sensor. Well not quite, but to detect when (and where) a ball hits a wall. The plan is to use 3 microphones and either the analog or digital input of a microcontroller to measure the difference in timing of the loud bang of the ball hitting the surface. Feasible?

The position could be transfered via BLE to a smart phone or a display. Could probably make a game out of it.

Some code snippets below for testing:

Continue reading Project idea: fotball goal sensor

Sending RF from Chronos watch to MSP430 Launchpad

I tried implementing SimplicTI on Launchpad, and while several people have done it, I ran into various issues. So instead I decided to implement proprietary RF on Chronos and send messages to my Launchpad RF Boosterpack using my LarsRF library.

The code is for controlling as small 4-servo robot. See the code in my Github repository.

While in the acceleration menu on the top line of the Chronos, it sends X,Y and Z coordinates as a packet (with some useless overhead that should be removed). These values are received by the Launchpad using the RF Boosterpack. I’ve based the Servo code on RobG’s code. CorB pointed me in the right direction on the Chronos code. Thanks to both.

Most of my time was used trying to figure out that I was using the wrong frequency settings. Since the crystal on the RF Boosterpack is 27MHz, you can’t just copy the RF settings from the Chronos to the RF Boosterpack. That was quite embarrassing not to realize at once.

Will add pictures later.

Controlling motors with an MSP430 (or Arduino)

John asked a question about how to control motors from an MSP430, so I thought I’d make a post about it.

Quick overview

First choose motor type. If you use modified servos, you can just connect them to your microcontroller (MCU) and upload the right code. If you use plain DC motors you need a motor driver chip or board, such as the L298. You probably want geared DC motors, since they aren’t as fast as non-geared ones. Connect the driver to your MCU and upload the right code. The speed of the motors is controlled using pulse-width-modulation.

Software-wise you can either choose Arduino (or the MSP430-equivalent called Energia) or go for the C-approach. C is more difficult, but maybe more powerful. Arduino/Energia works great for many robots and I used this for several years before I moved to C as a programming platform.

Read on if you’re interested. More details and instructions below.

Continue reading Controlling motors with an MSP430 (or Arduino)

Garage door opener using MSP430 and CC2500

I’m trying to make a garage door opener using some cheap CC2500 boards bought through a group-buy at 43oh.com and a great breakout board designed by RobG. I’ve made a prototype first, and it seems to work, but is not very pretty. I need to maybe make it more compact and make a case for it. Here’s a picture:

The code is definitely not finished, but you can download it here if you want to look at it.

A simple programmable robot-rover using the LCD board

Here is a laser cut rover I’ve made, using the LCD-button-board as the controller. The motors are cheap, modified Hobbyking servos. It’s a very simple build, and it is programmable using the keys on the LCD-board. The LCD-board has connectors for two servos and one sensor, giving access to two IO (one of which is P1.6, an analog input, required for the IR sensor).

The software is programmed using Energia, which is an Arduino-clone for MSP430.

It uses a home-made IR proximity sensor.

The firmware used on the video is here and you also need the LCD library for the board, which is here. If you think this is interesting you may also want to look at one of my other, even simpler builds, which requires less components.

If you’d like to make one yourself, you can do it without the laser-cut kit also. You can just get a 3-cell battery box as on the picture and use double-sided tape to glue the servos on top of it, and the board on top of the servos. Use something round (CDs?) as the wheels. Will work fine. But make sure you use 3 NiMH batteries (1.2 V each, 3.6 V in total), since this will give a good voltage you can feed directly to the servos and to the MSP430/LCD without breaking anything. If you use 3 Alkaline batteries, you need a regulator for the MSP430/LCD.

If you want a laser-cut kit, I can make one for you. Send me a message and I’ll add it to the store.

Here’s the Youtube video:

Continue reading A simple programmable robot-rover using the LCD board

DIY Infrared Proximity Sensor

I’m trying to make a low-cost robot kit, and part of this should really be a low cost Infrared Proximity sensor. Here’s the schematics. Ignore the photo-sensors on the right. They are for if you don’t want an IR sensor and you just want to sense the difference between light/dark on two sides of the bot.

It works, but not for very long distances. I’m using it for sensing for example 10 cm, which is fine for a robot.

The part list:

I’ve made a board for it, which is documented here. It’s a sub-board that’s part of the motor driver card.

For the MSP430, connect pin 1 to ground, pin 2 to vcc (3.5V), pin 3 to P2.5 and pin 4 to P1.6

Here’s some test code using Energia (if you haven’t tested Energia, you should. It’s an Arduino-port for MSP430 and is very simple to use). I’ll add a picture later.

Continue reading DIY Infrared Proximity Sensor

Case for MSP430, combining 3D-print and laser cutting

Here’s another attempt of making a case for the MSP43o Launchpad, with room for the LCD board I’ve made and touch sensors. The black side is 3d-printed, while the top and bottom is laser-cut. In this model I’ve used screws to fasten the top and bottom plate, but it may have been prettier to glue the top plate on. I could have chosen a less transparent plexiglass/acrylic, but I did it this way in the prototype to show the inside. It would probably be nicer with a less transparent one, but I would have had to cut a hole for the LCD display. I wonder if I could maybe cut a square hole for the lcd display and cut a similar square in transparent plexi, and glue it inside the whole. I might try that out.

There is a room in the side for the USB contact.

There is space between the capacitive sensors on the board and the top plate, and it turns out that air is a bad material to ‘conduct capacitive touch’, while silicone apparently is pretty good. So I filled the room with transparent flexible silicone glue from a tube. The type you use on the bathroom to waterproof stuff. I had to turn up the sensitivity in the firmware, from 1000 with nothing there to 50 (so the effect on capacitance is still pretty big). The acrylic is about 1.5 mm thick, so the total is about 3-4 mm of silicone plus 1.5 mm of acrylic.

A youtube video:

MSP430 Launchpad Laser cut enclosure

So every cool platform needs a laser cut acrylic box (apparently). I’ve now designed one for Launchpad, and here’s a picture.

The design is still a bit work-in-progress, but here are the files anyway. Expect some changes. The screws don’t quite fit for example, but I might change it so that the top is glued on, making the top slighly nicer looking with no screws.

Creative Commons License
Launchpad Lasercut Box by Lars Roland is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Here’s a video of the laser-cutter cutting: