Control System
General Description
The Barbot control system will be based on an Arduino Mega 2560 and a Raspberry Pi. Power will be from a PC ATX PSU.
Control box layout
External connections
Platform (9 way 'D' skt)
Pin no |
Signal
|
1 |
+5V supply to platform
|
2 |
Stepper coil A
|
3 |
Stepper coil A
|
4 |
Stepper coil B
|
5 |
Stepper coil B
|
6 |
Serial TX to platform
|
7 |
N/C
|
8 |
"Glass present" signal
|
9 |
Ground
|
Cherry conveyor (9 way 'D' skt)
Pin no |
Signal
|
1 |
N/C
|
2 |
Stepper coil A
|
3 |
Stepper coil A
|
4 |
Stepper coil B
|
5 |
Stepper coil B
|
6 |
N/C
|
7 |
IR sensor
|
8 |
IR LED
|
9 |
Ground
|
Lemon vendor (9 way 'D' skt)
Pin no |
Signal
|
1 |
N/C
|
2 |
Motor
|
3 |
Motor
|
4 |
N/C
|
5 |
N/C
|
6 |
N/C
|
7 |
N/C
|
8 |
CAM switch
|
9 |
Ground
|
Stirrer (9 way 'D' skt)
Pin no |
Signal
|
1 |
N/C
|
2 |
Motor (up/down)
|
3 |
Motor (up/down)
|
4 |
Motor (swizzler)
|
5 |
Motor (Swizzler)
|
6 |
N/C
|
7 |
N/C
|
8 |
N/C
|
9 |
N/C
|
Umbrella dropper (9 way 'D' skt)
Pin no |
Signal
|
1 |
N/C
|
2 |
Solenoid
|
3 |
Solenoid
|
4 |
N/C
|
5 |
N/C
|
6 |
N/C
|
7 |
N/C
|
8 |
N/C
|
9 |
N/C
|
Big Syringe (9 way 'D' skt)
Pin no |
Signal
|
1 |
N/C
|
2 |
Motor
|
3 |
Motor
|
4 |
N/C
|
5 |
N/C
|
6 |
N/C
|
7 |
N/C
|
8 |
N/C
|
9 |
N/C
|
Optic servos (25 way 'D' skt)
Pin no |
Signal
|
1 |
+5V supply
|
2 |
Servo 0
|
3 |
Ground
|
4 |
+5V supply
|
5 |
Servo 1
|
6 |
Ground
|
7 |
+5V supply
|
8 |
Servo 2
|
9 |
Ground
|
10 |
+5V supply
|
11 |
Servo 3
|
12 |
Ground
|
13 |
+5V supply
|
14 |
Servo 4
|
15 |
Ground
|
16 |
+5V supply
|
17 |
Servo 5
|
18 |
Ground
|
19 - 25 |
N/C
|
Carbonate drinks servos (25 way 'D' skt)
Pin no |
Signal
|
1 |
+5V supply
|
2 |
Servo 0
|
3 |
Ground
|
4 |
+5V supply
|
5 |
Servo 1
|
6 |
Ground
|
7 |
+5V supply
|
8 |
Servo 2
|
9 |
Ground
|
10 |
+5V supply
|
11 |
Servo 3
|
12 |
Ground
|
13 |
+5V supply
|
14 |
Servo 4
|
15 |
Ground
|
16 |
+5V supply
|
17 |
Servo 5
|
18 |
Ground
|
19 - 25 |
N/C
|
Dashers (15 way 'D' skt)
LEDs / bling (15 way 'D' skt)
Arduino Mega 2560 Connections
Signal |
Arduino pin |
pinMode |
Signal type
|
Optic 0 |
TBC |
OUTPUT |
servo
|
Optic 1 |
TBC |
OUTPUT |
servo
|
Optic 2 |
TBC |
OUTPUT |
servo
|
Optic 3 |
TBC |
OUTPUT |
servo
|
Optic 4 |
TBC |
OUTPUT |
servo
|
Optic 5 |
TBC |
OUTPUT |
servo
|
Mixer 0 |
TBC |
OUTPUT |
servo
|
Mixer 1 |
TBC |
OUTPUT |
servo
|
Mixer 2 |
TBC |
OUTPUT |
servo
|
Mixer 3 |
TBC |
OUTPUT |
servo
|
Mixer 4 |
TBC |
OUTPUT |
servo
|
Mixer 5 |
TBC |
OUTPUT |
servo
|
Dasher 0 |
TBC |
OUTPUT |
pulse low
|
Dasher 1 |
TBC |
OUTPUT |
pulse low
|
Dasher 2 |
TBC |
OUTPUT |
pulse low
|
Neopixel on Dashers |
TBC |
OUTPUT |
Neopixel serial
|
Cherry/olive conveyor |
TBC |
OUTPUT |
pulse low
|
Lemon vendor |
TBC |
OUTPUT |
pulse low
|
Stirrer |
TBC |
OUTPUT |
pulse low
|
Umbrella dropper |
TBC |
OUTPUT |
pulse low
|
Big Syringe |
TBC |
2 x OUTPUTs |
both need to support PWM
|
Platform "glass present" |
TBC |
INPUT_PULLUP |
0 = no glass, 1 = glass present
|
Platform illumination control |
TBC |
OUTPUT |
serial (TX to platform only)
|
Pololu stepper controller |
TBC |
3 x OUTPUTs |
Step, Direction, Enable
|
Limit / zero switch |
TBC |
INPUT_PULLUP |
0 = platform at zero, 1 = platform not at home position
|
Emergency stop |
TBC |
INPUT_PULLUP |
0 = switch pressed, 1 = switch not pressed
|
Lighting / bling ? |
? |
? |
Neopixel serial?
|
Serial comms to/from Rassberry Pi |
|
1 x INPUT, 1 x OUTPUT |
serial (TX / RX) |
|
Total I/O |
|
27 x OUTPUT, 3 x INPUT_PULLUP, 1 x INPUT |
|
|