A couple of parcels of parts arrived last week and I have started assembling my next robot project (possibly for code club). It’s a 4WD drive robot with an nRF24L01+ based remote control.
ElecFreaks 4WD Robot and Remote
Had a slight problem with pin usage, the Embedded Coolness nRF24L01 shield and Pololu Dual MC33926 Motor Shield both use pin D2(irq) & D7(csn). The polulu shield supports some customising of pins so I disconnected D2(Status flag indicator), cut the D7 link (Motor 1 direction input) and wired it to pin D5.
Pololu Dual MC33926 Modifications
I’m using the nRF24l01 driver from codeplex as basis for both ends of my remote control, code to follow…
Bill of materials (Prices USD as at Feb 2014)
Spent several hours last night ordering all the bits for the next month’s code club sessions. Can take a couple of weeks for parts to arrive from China and the USA so I have to plan well in advance.
We now have 16 Netduino’s plus enough kit for
The groups of students will get to build each project over a couple of nights.
We are trying a new approach this term and are running the Code Club at Orion Health in Hazeldean Road.
I have managed to borrow 8 or 9 Netduinos so with 3 people per device we can run a class for up to 27 people. If there is enough interest we may look at splitting the class and running some more at local high schools or hosted by IT companies.
This term we’ll be learning C#, building robots, heartbeat monitors, connecting devices to the internet and eating pizza.
Big thanks to Orion Health for hosting us.
We might be a bit short of computers to run the development tools. If you can bring one with the setup detailed here that would help a lot. The Visual Studio 2010 and associated Netduino SDKs would be easiest.
A couple of weeks ago I ordered a Joystick Shield V2.4 from elecfreaks and it arrived yesterday. This shield with baked in nRF24L01 support looked quite promising as the basis for a handheld remote control for a robot or quadcopter. The shield also has a Nokia 5100 display connector but I’m not planning on using that.
The other end of the remote control link will be based on an embedded coolness nRF24L01 shield which I have looked at in a previous post. The robot radio link would use a pair of short range nRF24L01 modules and the quadcopter would use long range nRF24L01 modules.
When I checked the wiring diagram for the shield, the interrupt pin of the nRF24L01 socket was not connected to anything. The Nordic nRF24L01 .Net Micro Framework Driver on Codeplex (used for the both ends of the link) is interrupt driven so a small modification to the shield was required. I connected the interrupt pin (pin 8) of the nRF24L01 socket to DIO Pin1
The sample application from the previous post requires a small change to the initialisation code to work with the Joystick shield.
public void Run()
_module.OnDataReceived += OnReceive;
_module.OnTransmitFailed += OnSendFailure;
_module.OnTransmitSuccess += OnSendSuccess;
_module.Initialize(SPI.SPI_module.SPI1, Pins.GPIO_PIN_D10, Pins.GPIO_PIN_D9, Pins.GPIO_PIN_D1);
All of the buttons (A to F & Joystick push) are connected to digital inputs and the input voltage (3.3V or 5V) for the joystick x & y is selected using a switch which is perfect for my Netduino based project
Bill of materials (prices as at Jan 2014)