TourRobot: Difference between revisions

From Nottinghack Wiki
Jump to navigation Jump to search
No edit summary
purge
 
(9 intermediate revisions by 3 users not shown)
Line 3: Line 3:
Giving tours around the hackspace takes time and effort.
Giving tours around the hackspace takes time and effort.
So the obvious solution is to build a robot to do it.
So the obvious solution is to build a robot to do it.
=Build Log=
 
Here are the details and build log.
Here are the details and build log.


==Base Unit==
==Base Unit==
Basic base is the blue robot from [http://en.wikipedia.org/wiki/Real_Robots Real Robots Magazine]. I got this from a car boot sale and, at the first Arduino 101 day I fixed my arduino base to the robot.  
Basic base is the blue robot from [http://en.wikipedia.org/wiki/Real_Robots Real Robots Magazine]. I got this from a car boot sale and, at the first Arduino 101 day I fixed my arduino base to the robot.  
There is loads of detail on the [http://lpilsley.co.uk/cybot/ Lpilsley Cybot here].
There is loads of detail on the [http://lpilsley.co.uk/cybot/ Lpilsley Cybot here].
Line 12: Line 13:


==Motor Control==
==Motor Control==
The motor control unit has been left in to power the motors. Details on the circuit diagram are [http://lpilsley.co.uk/cybot/driver.htm here].
The motor control unit has been left in to power the motors. Details on the circuit diagram are [http://lpilsley.co.uk/cybot/driver.htm here].


Line 17: Line 19:
An audio module [http://www.embeddedadventures.com/datasheets/MOD-1007_hw_v4.pdf MOD-1007 from Embedded Adventures] has been added for the tour audio. This uses 3v3, which is taken from the Arduino, although for high volumes this does not have enough current. A seperate regulator might be required.
An audio module [http://www.embeddedadventures.com/datasheets/MOD-1007_hw_v4.pdf MOD-1007 from Embedded Adventures] has been added for the tour audio. This uses 3v3, which is taken from the Arduino, although for high volumes this does not have enough current. A seperate regulator might be required.
Follow the data sheet to see how to play different files using the serial data lines.
Follow the data sheet to see how to play different files using the serial data lines.


==Line Following==
==Line Following==
There is also a line follower with a [http://lpilsley.co.uk/cybot/follower.htm circuit diagram here].
There is also a line follower with a [http://lpilsley.co.uk/cybot/follower.htm circuit diagram here].


==Brains==
==Brains==
Line 28: Line 28:
===Arduino I/O Pins===
===Arduino I/O Pins===


===Digital==
====Digital====
*0 -> Rx
*0 -> Rx
*1 -> Tx
*1 -> Tx
Line 35: Line 35:
*4 -> Motor 2 Forward
*4 -> Motor 2 Forward
*5 -> Motor 2 Backward
*5 -> Motor 2 Backward
*6
*6 ->
*7
*7 ->
8
*8 ->
9
*9 ->
10
*10 -> Top switch Microswitch
11 -> RESET Sound Module  
*11 -> RESET Sound Module  
12 -> CLOCK Sound Module
*12 -> CLOCK Sound Module
13 -> SDATA Sound Module
*13 -> SDATA Sound Module
===Analog===
 
A0 -> LDR 1
 
A1 -> LDR 2


A2
====Analog====
*A0 -> LDR 1
*A1 -> LDR 2
*A2
*A3 ->BUSY Sound Module
*A4
*A5


A3
==Modes==
I'd like it to work in different modes. These include:
*Light finding
This finds the brightest point in a room
*Random movement


A4
*No movement


A5
*Volume controlled/Silent mode


=Collision Avoidance=
=Collision Avoidance=
Line 67: Line 72:


On the Sonar Board:  
On the Sonar Board:  
*Pins 5/6 are for the piezo outputs.
*Pins 5/6 are for the piezo outputs.
*Pins 2/3/4 requie 10k pull-ups.  
*Pins 2/3/4 requie 10k pull-ups.  
*Pins 2/3 are left/right input gating.  
*Pins 2/3 are left/right input gating.  
*Pin 4 is the output
*Pin 4 is the output
The concept is:
The concept is:
*Send a short blast of 40kHz output.
*Send a short blast of 40kHz output.
*Wait a short while (so we dont pick up the signal due to the Tx/Rx being very close to each other).
*Wait a short while (so we dont pick up the signal due to the Tx/Rx being very close to each other).
*Listen for the echo reply. The time it takes is a direct indication of how far away the object is. Sound travels at 343.2m/s at sea-level and at 20C.
*Listen for the echo reply. The time it takes is a direct indication of how far away the object is. Sound travels at 343.2m/s at sea-level and at 20C.


This was all looking a bit too complex. I decided to look around for easier to use boards.
This was all looking a bit too complex. I decided to look around for easier to use boards.
I was told about the [http://users.ece.utexas.edu/~valvano/Datasheets/HCSR04b.pdf HC-SR04] and bought 2 on eBay for £6 delivered.
I was told about the [http://users.ece.utexas.edu/~valvano/Datasheets/HCSR04b.pdf HC-SR04] and [https://docs.google.com/document/d/1Y-yZnNhMYy7rwhAgyL_pfa39RsB-x2qR4vP8saG73rE/edit more details here]. and bought 2 on eBay for £6 delivered.
 


[[Category:Projects]]
[[Category:Projects]]
[[Category:Projects (in progress)]]
[[Category:Projects (in progress)]]

Latest revision as of 15:10, 7 February 2019

TourRobot
[[{{{image}}}|border|frameless|220px|center]]
Primary Contact Matt Little
Created {{{created}}}
Completed {{{completeddate}}}
Dormant {{{dormantdate}}}
Version {{{version}}}
Members {{{members}}}
Manufacturer {{{manufacturer}}}
Model {{{model}}}
Location [[{{{location}}}]]
GitHub / Repo {{{repo}}}
Status {{{status}}}
Type Undefined
Live Status {{{livestatus}}}
QR code

Overview

Giving tours around the hackspace takes time and effort. So the obvious solution is to build a robot to do it.

Here are the details and build log.

Base Unit

Basic base is the blue robot from Real Robots Magazine. I got this from a car boot sale and, at the first Arduino 101 day I fixed my arduino base to the robot. There is loads of detail on the Lpilsley Cybot here.


Motor Control

The motor control unit has been left in to power the motors. Details on the circuit diagram are here.

Audio Output

An audio module MOD-1007 from Embedded Adventures has been added for the tour audio. This uses 3v3, which is taken from the Arduino, although for high volumes this does not have enough current. A seperate regulator might be required. Follow the data sheet to see how to play different files using the serial data lines.

Line Following

There is also a line follower with a circuit diagram here.

Brains

The Arduino is a Duemilanova with an ATMega328. I might upgrade to an Uno if needed.

Arduino I/O Pins

Digital

  • 0 -> Rx
  • 1 -> Tx
  • 2 -> Motor 1 Forward
  • 3 -> Motor 1 Backward
  • 4 -> Motor 2 Forward
  • 5 -> Motor 2 Backward
  • 6 ->
  • 7 ->
  • 8 ->
  • 9 ->
  • 10 -> Top switch Microswitch
  • 11 -> RESET Sound Module
  • 12 -> CLOCK Sound Module
  • 13 -> SDATA Sound Module

Analog

  • A0 -> LDR 1
  • A1 -> LDR 2
  • A2
  • A3 ->BUSY Sound Module
  • A4
  • A5

Modes

I'd like it to work in different modes. These include:

  • Light finding

This finds the brightest point in a room

  • Random movement
  • No movement
  • Volume controlled/Silent mode

Collision Avoidance

Ultrasonic Distance Detection

To start with I thought about using the Cybot Sonar Board. Distance is found using ultrasonic sensors re-purposed from the original Real Robot. These have circuit diagrams here.There is a load more information on how the Ultrasonic sensors (called the "sonar board") works here.

The microcontroller needs to output 8 pulses, each of 12.5uS length. Period is 25mS, which is an output frequency of 40kHz. Output is generated every 25mS.

On the Sonar Board:

  • Pins 5/6 are for the piezo outputs.
  • Pins 2/3/4 requie 10k pull-ups.
  • Pins 2/3 are left/right input gating.
  • Pin 4 is the output

The concept is:

  • Send a short blast of 40kHz output.
  • Wait a short while (so we dont pick up the signal due to the Tx/Rx being very close to each other).
  • Listen for the echo reply. The time it takes is a direct indication of how far away the object is. Sound travels at 343.2m/s at sea-level and at 20C.

This was all looking a bit too complex. I decided to look around for easier to use boards. I was told about the HC-SR04 and more details here. and bought 2 on eBay for £6 delivered.