Sunday, 29 July 2018

Lego + Code blog 3: The Raspberry Express


Lego + Code blog 3: The Raspberry Express

Here is a demo of 'turtle mode': Link
I have tried to recreate the Micro:bit express but simply swap in Raspberry Pi 3b+ currently. This is not a comprehensive blog just a few notes on how to get yourself started.

Raspberry Pi connected to the Lego Power functions motor:

Closer look at the train:

A few notes:
  • I used a cheap £1 rechargable battery to run the Pi.
  • I used a 4.5 volt battery and motor controller found in the Raspberry Robot kit which you can get here called EduKit 3. Link   
  • Again I have used Python 3 to code the train.
  • To create the remote I have used a GUI library for called GuiZero written by Laura Sachs and contributed by Martin O'Hanlon. Link
  • To connect to the Pi attached to the train and use the remote I have used a free app called RealVNC. Link
  • I think thats the nuts and bolts of it.
  • Here is a screen grab of the really simple remote controller.  
  •  I have managed to code it to use scalable speed both forward and back using GPIO zero. Link which is managed by Ben Nuttall.
  • The turtle option allows you to code a 'coded path' if you look my code below it should be fairly clear.
  • Finally here is the code in its current version: Link
Enjoy :)

If you like this blog check out all the others here

Lego Hacking: Lego + Code



Lego Hacking : Lego + Code

Blog 1: Lights on: Link


Blog 2: The Micro:bit Express V1 : Link

Blog 2a: Edublocks Micro:bit Express V1 version(simple motor control)  link

Blog 2b: Edublocks Micro:bit Express V1.5 Remote controlled link

Blog 3: Micro:bit Express 2.0 'adjustable speed' : Link 

Blog 4: The Raspberry Express : Link  

Blog 5 : Micro:bit controlled Lego Ferris Wheel : Link


Blog 6: Raspberry Pi powered Lego Ferris wheel : Link 

Blog 7: 3D printed Lego Christmas Tree / coded light : Link

Blog 8:Lego RC "car" with Raspberry Pi : Link

Blog 9: Blocks controlling blocks: 'Using Minecraft to control Lego motors' : Link


Blog 10: Raspberry Zero Express Link

Blog 11: Stop frame animation with Lego : Link

Blog 12:  Micro:bit controlled Rollercoaster Link

Blog 13: Micro:bit Express EduBlocks simple Link

Blog 14: Micro:bit Express EduBlocks remote controlled Link

If you like this blog check out all the others here

Sunday, 24 June 2018

Micro:bit Express


Lego + Code blog 2: The Micro:bit Express 


I set myself the challenge of getting an old Lego train set and controlling it with code. Here are a few notes to get you started. 

I bought my son a 1980's train set.


Version 1: getting it to work

Then bought a Micro:bit compatible motor controller from Pimoroni: (Motor controller ) link
buy link
I already had two Micro:bits.
Then I downloaded and modified this code link 
This ended up being my final version of the code:
(code you will need)link 

Load this code onto one of the two Micro:bits using this site: link 
This well then create a hex file which will need to be loaded onto the Micro:bit by dragging and dropping.

I recycled the battery pack from the Cam Jam Edukit 3 buy here link any generic 4.5 battery pack will suffice. 

To connect the motor to the motor driver board you will need to unscrew the Lego metal pins to expose the two wires then connect them to the motor one sockets on the motor controller.

Insert picture


Now to create to create the remote control use this site:


Then create the code below and load it on to your Micro:bit. It should now work. 




Update 1 02/07/2018 Version 2: Remote controlled







Remote code

Edublocks screenshot to come...

Motor controller code


Edublocks screenshot to come...

Remote V1....

Remote V2... plugged into a Pi..



This now reliably works and doesn't require a laptop to power the remote. I have tried the battery pack provided with the Micro:bit and I havent found that it works. I have a suspicion I just may have a dodgey one.


Version 3: Code controlled movement and using power functions motors.

In t

Video of the power functions motor running

Power functions motor with Lego adapter removed and cables soldered

Picture of train with motor controller attached



Video of train running with power functions motor:
link 
Code for remote 3.0

Code for Motor controller 3.0



Over :)












Wednesday, 16 May 2018

Lego + Micro:bit + edublocks 1: ''Lights on"



Lego + Code blog 1 : 'Lights on'



You will need:

  • A Micro:bit
  • USB power cable for Micro:bit
  • 3 x crocodile clips
  • 1 neo-pixel 
  • A Lego building of your choice(I borrowed my sons Police building)
  • https://microbit.edublocks.org/
Step 1 Connect the crocodile clips to the Micro:bit.





Step 2 Connect your crocodile clips to the input on the neo pixel.



Step 3 Attach neopixel on your building.


Step 4 Head over to https://microbit.edublocks.org/



Step 5 Create the following code:

Step 6: Download hex and copy and paste it to your Micro:bit

Step 7: After it flashes press the 'a' button to turn on the lights and 'b' to turn off.

Enjoy.



If you like this blog check out all the others here

Thursday, 10 May 2018

Scratchy:bit IO getting started





Full credit is given in the read me of the zip file. Suffice to say I have used BitIO built by David Whale and a Python to Scratch script created by Laurence Molloy.

It essentially allows you to use the Micro:bit to interact and control Scratch. I have created a simple demo to get you started.


Step 1. You will need to download the tar / zip file from here link

Step 2: Unzip the folder by extracting it.

Step 3: Follow the following file path Scratchy:bit IO-master/src

Step 4: Open Scratch 1.4  from the programming menu and open the 'Scratchy:bit IO led example1.sb' project 

Step 5:  Click on the green flag to run the project.

Step 6: Open Python 3 from the programming menu.

Step 7: From the Scratchy:bit IO-master/src file path open the test_example_MB1.py script.

Step 8:  Press f5 to run the script. 


Step 9: On first run you will have to run through the following steps to set up your Micro:bit


First of all it will display this message:

No micro:bit has previously been detected
Scanning for serial ports
remove device, then press ENTER

Step 1. So unplug the Micro:bit and press enter.

Step 2  Next the following text will display:

scanning...
found xx device(s)
plug in device, then press ENTER 

 Step 3  Now press enter and the following text will display:

scanning...
found 68 device(s)
found 1 new device
selected:/dev/ttyACM0
Do you want this device to be remembered? (Y/N)

Step 4 Press 'y' and enter to confirm and the following text will display:

Your micro:bit has been detected.
Now running your program


Step 10 Finally if you click on the 'a' button you see some events take place. You can also press 'b' and use pins 0,1,2.

See below for button 'a' being pressed



Cya

If you like this blog check out all the others here

EduBlocks: BitIO blog 1 "Hello Micro:bit, Hello Minecraft"




This is a very simple introduction to using BitIO with Edublocks on the Raspberry Pi. Firsly lets set out how you need to get set up:






1. Open Minecraft and create a new world, then minimise this for later. Tip, use the tab key to allow your mouse to minimise the Minecraft window.

2. Open Edublocks from the programming menu, this should open in the chromium browser.

3. Plug in your Micro:bit to one of the available USB ports.

4. You will need to download this file and drag a copy of it onto the Micro:bit. This file allows the Micro:bit communicate with your program. Link https://github.com/whaleygeek/bitio/blob/master/bitio.hex

5. Now snap into place the code that you see below. It will trigger a message on the Micro:bit when the 'a' button is pressed and a message in Minecraft when the 'b' is pressed.

Code








6. When you run the program Edu Blocks will show a black screen which will show you the shell output. This tells you what is going on with your program. First of all it will display this message:

No micro:bit has previously been detected
Scanning for serial ports
remove device, then press ENTER

7. So unplug the Micro:bit and press enter.

8. Next the following text will display:

scanning...
found xx device(s)
plug in device, then press ENTER 

9. Now press enter and the following text will display:

scanning...
found 68 device(s)
found 1 new device
selected:/dev/ttyACM0
Do you want this device to be remembered? (Y/N)

10. Press 'y' and enter to confirm and the following text will display:

Your micro:bit has been detected.
Now running your program
11. Now try and pressing the 'a' button and 'b' button. When you press 'b' you should see this...


 Cya




If you like this blog check out all the others here







Sunday, 15 April 2018

Coventry and Warks Jam '19


Jam '19 was at Coventry Central Library with one session using an improved version of 'Big Red Button' Scratch resource(link) and session two was the first outing for the 'Micro:bit Minecraft PixelCakes'  resource(link). I'll upload the master folder with the other files needed.


Secondly many thanks to Anthony Orme and Kari Lawler for their much help.

Below you can see a few photo's I managed to take in between running around.

Next Jams are......

The next two Jams will be Nuneaton(tba) and Leamington(tba) at some point over the next 3 months.


The next Minecraft coding session available is 'Experiments with Minecraft' in collaboration with Coventry FabLab (link). The first session has filled up quickly so we will be offering a second session to try and give people chance to get a ticket. 


 












Cya.

If you like this blog check out all the others here