Hackers – Great Progress on Project SABRE!

Our Hackers Group at CoderDojo Athenry made great progress last week on Project SABRE (Small Autonomous Battling Robotic Entities), in which two teams (Team DJARS and Team MEASAM) are building battlebots to compete with each other.

Here is a first test of the driving and steering of one of the bots, operated via a 2.4 GHz remote control with DSM2 protocol and an LemonRX receiver interfaced with an Arduino:

(The two teams worked together on the driving/steering code, which they will share.)

Team MEASAM’s bot has a flipper weapon, and they managed to get the actuator operating via the remote control last weekend also:

Meanwhile, Team DJARS have been working on their vertical spinner/grinder, which they are now controlling via a relay switch using the remote control also:

This project is proving to be a great and engaging learning experience!

Deadline for Registering for Coolest Projects 2018 is 25 March

Coolest-Projects-large.png

25 March 2018 is the deadline if you would like to enter Coolest Projects, which will take place in Dublin on 26 May. You can find out information and register here: http://coolestprojects.org/

We have had lots of great participation from CoderDojo Athenry at Coolest Projects in the past few years, from our youngest members to our oldest, in all of our groups. People who enter find it a fun and rewarding day.

Here is a presentation from 2 years ago about entering:

https://coderdojoathenry.org/2016/03/03/information-about-coolest-projects-2016/

Hackers – Remote Controls for Our Bots!

Remotecontrols

In the Hackers group this week, we took a large step forward in our Project SABRE (Small Autonomous Battling Robotic Entities), when we started working with remote controllers for our robots.

Components

From what the group has read, it looks like the most widely-used controllers are Spektrum-compatible DSMX or DSM2 ones. Therefore, we bought 3x Lemon RX DSMX/DSM2 receivers and one MLP4DSM Blade transmitter (as shown in the photo).

Connecting to the Arduino

Pins on the receiver are simply connected to digital pins on the Arduino.

To program the Arduino to read the receiver, this code has been cross-referenced from other forums: https://www.sparkfun.com/tutorials/348

According to the comments, while this works, you should use interrupt-driven code.

This StackExchange post has a good list of possible references:

https://robotics.stackexchange.com/questions/1207/read-multiple-channels-of-rx-tx-with-arduino

There was a lot of excitement when people were able move the joystick on the transmitter and have it change the value being printed out in the Arduino console!

Hackers – Building Battling Bots for Project SABRE!

projectplan

In recent weeks in the Hackers group, we have been refining our plans for Project SABRE (Small Autonomous Battling Robotic Entities).

Our mission for Project SABRE is to build “battlebots” that include some autonomous features. While there are many kits available for purchase, our two teams of hackers are designing and building their bots from scratch, identifying and sourcing all components ourselves, 3D printing bodies of their own designs, and programming everything themselves. Even the mentors are hands-off, helping mainly with project planning and purchasing, but not designing or making.

The main components required are:

  • 2 or 4 motors with wheels or tracks
  • Battery packs and chargers (salvaged from old toys)
  • An Arduino
  • A motor driver board or chip — these work just like the transistor circuit that we experimented with previously, but can control up to 4 motors and drive each one forwards or backwards: https://coderdojoathenry.org/2017/11/22/hackers-a-joule-thief-and-controlling-motors/
  • A servo motor if needed for a flipper arm
  • A 2.4 GHz radio transmitter and receiver

Stay tuned as the work continues in the coming weeks!

 

Hackers – a Joule Thief and Controlling Motors

DSC_2299

In the Hackers group, people worked on two different projects, making a Joule Thief and controlling motors.

Joule Thief

A Joule Thief is a small circuit that can boost the voltage from a small power source. Typically, it is used to power a 3-volt LED from a 1.5 volt battery. Because of how it works, it can continue to light the LED even when the battery would usually be considered to be “out of power”, when its voltage drops below 1v.

Here is a Wikipedia article. https://en.wikipedia.org/wiki/Joule_thief

people in the group found various tutorials online, such as this one from Make Magazine: https://makezine.com/projects/joule-thief-battery-charger/

Motor Control with an Arduino

Continuing our work on Project SABRE, we were figuring out how to control motors.

A simple way to control the speed of a motor is to regulate its input voltage. In Arduino code, you set the output voltage of pins. However, you CANNOT just hook them up to the motor, as it will draw too much current and damage the Arduino.

The solution is to use a transistor: power from a 9V battery or the 5V USB power supply from an Arduino powers the motor with current flowing through the transistor, and we regulate the current flow by applying an appropriate voltage to the middle leg of the transistor.

Two more components are needed: a resistor for the middle leg of the transistor, and a diode to get rid of any voltage spikes that come from the motor acting as a generator if it us spun by hand, or when it is spinning down after current to it is cut.

More details here: https://learn.adafruit.com/adafruit-arduino-lesson-13-dc-motors/arduino-code

We also looked into stepper motors, and controlling speed by reading a value from a potentiometer, instead of just typing in a speed: https://www.arduino.cc/en/Tutorial/StepperSpeedControl

 

Hackers – Project SABRE

ProjectSABRE

In the Hackers group, we started working on design of semi-autonomous or fully-autonomous battle-bots.

We are using the name “Project SABRE” as described in the graphic above.

Members of the group took first steps in learning how to control a robot by setting up a controllable circuit for LEDs.

This should be an interesting project to return to after the break!

DSC_2258

 

Hackers – More 3D Modelling

Slide1

This week in the Hackers group, rather than demonstrating how to use SketchUo, we showed some models that Kevin/Michael had built (see above), and the challenge was to recreate them. Some people got so far as to be able to print their models.

We also started some planning on an overall theme – more on that next time.

Hackers – 3D Modelling with SketchUp

roompic

At this week’s session, Kevin introduced everybody to SketchUp, a free 3D modelling program. Models built with SketchUp can be exported to a format suitable for input into Repetier Host, to prepare them for 3D printing.

Incidentally, other options for 3D modelling include Blender (which some may have used previously for modelling) and TinkerCAD (which is web-based so does not require installation).

Here are some notes on getting started with SketchUp – they are taken from an NUI Galway summer camp I was involved in organising a couple of years ago: sketchupnotes

By the way, the picture above is a SketchUp model I built previously of a room.

Important: to export SketchUp models to Repetier, you first need to install the SketchUp STL Extension. Instructions:

  • n the SketchUp main menu, select Window – Extension Warehouse.
  • Search for SketchUp STL (see below), then go through the steps of downloading and installing.
  • Note that you may need to create a Trimble account (Trimble is the company that develops SketchUp).
  • You may see a warning that it is not marked as compatible with your version of SketchUp, but just press OK.
  • After installing the SketchUp STL extension, you will have a new menu item: File – Export STL.

sketchupstlextension

Hackers – Getting started with 3D printers

hackers-with-printers

At the Hackers group, we started learning how to use 3D printers this week. 3D printers are a fantastic technology for turning 3D computer models into physical objects. They are also impressively inexpensive. For example, one of the printers we are using, the Arduino-based Materia 101 printer, costs about €600.

Thanks to Kevin’s employer, Boston Scientific, who have loaned two 3D printers to us and are also covering the cost of the plastic “ink” used in them.

Here are Kevin’s notes on how to set up a 3D printer: 3d-printer-setup (PDF)

Here are the configuration files needed for the Materia 101: https://www.dropbox.com/s/6otj5ok7i00ikds/Slic3r-Materia101-Settings.zip?dl=0

We have another model of 3D printer, the Prusa i3 MK2 in the group as well. We will post notes about using it at a later date.

And here also is a diagram Kevin prepared, showing the 3D printing workflow:

3d-printing-workflow

At our next session, we will look at how to do some 3D modelling to create objects we can print. Should be fun!