Devices & Components
Arduino Nano
SG90 mini servo
USB cable
HW-504 joystick
M3 washers
Dupont-style jumper wires, male-male, female-male
5V powers supply unit or a 5V 450mA phone charger
M3 12mm bolt
10kOhm potentiometer
Resistor 220 ohm
3D printed plastic elements
10-20 kOhm photoresistors
6800 Ohm - 10 kOhm resistors
empty cardboard box - optional
5V LED
M3 14mm bolt
8mm bolts + 4mm bolts (sold with servos)
400 points solderless breadboard
small screwdriver
Hardware & Tools
3D Printer (generic)
Software & Tools
Arduino IDE
Project description
Code
Extra Fade code
arduino
Extra Fade code
1void setup() { 2 3 pinMode(13, OUTPUT); 4} 5 6 7void loop() { 8 digitalWrite(13, HIGH); 9 delay(map(analogRead(A0),0,1023,0,15)); 10 digitalWrite(13, LOW); 11 delay(map(analogRead(A0)+31,0,1023,15,0)); 12 13} 14
Robo Arm code
arduino
1#include <Servo.h> 2Servo myservo1; 3Servo myservo2; 4Servo myservo3; 5int x=180; 6int y=120; 7int z=180; 8 9void setup() { 10 11 Serial.begin(9600); 12 pinMode(2,INPUT_PULLUP); 13myservo1.attach(9); 14myservo2.attach(10); 15myservo3.attach(11); 16} 17 18void loop() { 19 20int dx=map((analogRead(A6)-512), -512, 512, -3, 4); 21int dy=map((analogRead(A5)-512), -512, 512, -3, 4); 22 23x=x+dx; 24y=y+dy; 25 26 27if(x<2){ 28 x=2; 29} 30if(x>178){ 31 x=178; 32} 33if(y<65){ 34 y=65; 35} 36if(y>150){ 37 y=150; 38} 39 40if (digitalRead(2)==LOW) { 41 if(z==180){ 42 z=120; 43 } 44 else{ 45 z=180; 46 } 47 delay(150); 48} 49 50 51myservo1.write(x); 52myservo2.write(y); 53myservo3.write(z); 54delay(50); 55Serial.println(); 56Serial.println(x); 57Serial.println(dx); 58Serial.println(y); 59Serial.println(dy); 60Serial.println(z); 61Serial.println(digitalRead(2)); 62 63} 64
BlinkSBG.ino
arduino
Blink code
1void setup() { 2 3 pinMode(13, OUTPUT); 4} 5 6 7void loop() { 8 digitalWrite(13, HIGH); 9 delay(500); 10 digitalWrite(13, LOW); 11 delay(500); 12} 13
FlowerSBG.ino
arduino
Power Flower code
1#include <Servo.h> 2Servo myservox; 3Servo myservoy; 4int x=180; 5int y=180; 6void setup() { 7 8 9 Serial.begin(9600); 10myservox.attach(9); 11myservoy.attach(10); 12} 13 14void loop() { 15 16 17if(analogRead(A1)>analogRead(A2)&&abs(analogRead(A1)-analogRead(A2))>20){ 18 19 x=x+1; 20} 21else if(analogRead(A1)<analogRead(A2)&&abs(analogRead(A1)-analogRead(A2))>20){ 22 x=x-1; 23} 24else{ 25 x=x; 26 delay(100); 27} 28 29if(analogRead(A3)>analogRead(A4)&&abs(analogRead(A3)-analogRead(A4))>20){ 30 y=y+1; 31} 32else if(analogRead(A3)<analogRead(A4)&&abs(analogRead(A3)-analogRead(A4))>20){ 33 y=y-1; 34} 35else{ 36 y=y; 37 delay(100); 38} 39 40 41if(x<0){ 42 x=0; 43} 44if(x>180){ 45 x=180; 46} 47if(y<0){ 48 y=0; 49} 50if(y>180){ 51 y=180; 52} 53Serial.println(180-x); 54Serial.println(y); 55Serial.println(); 56Serial.println(analogRead(A1)); 57Serial.println(analogRead(A2)); 58Serial.println(analogRead(A3)); 59Serial.println(analogRead(A4)); 60Serial.println(); 61myservox.write(180-x); 62myservoy.write(y); 63delay(25); 64} 65
Extra Fade code
arduino
Extra Fade code
1void setup() { 2 3 pinMode(13, OUTPUT); 4} 5 6 7void loop() { 8 digitalWrite(13, HIGH); 9 delay(map(analogRead(A0),0,1023,0,15)); 10 digitalWrite(13, LOW); 11 delay(map(analogRead(A0)+31,0,1023,15,0)); 12 13} 14
DragonSBG.ino
arduino
Wild Dragon code
1#include <Servo.h> 2Servo myservo1; 3Servo myservo2; 4Servo myservo3; 5int x=0; 6int y=0; 7int z=180; 8int posx=0; 9int posy=0; 10int posz=0; 11int z2=180; 12int u=0; 13int v=0; 14 15void setup() { 16 17 Serial.begin(9600); 18 pinMode(A5,INPUT_PULLUP); 19myservo1.attach(9); 20myservo2.attach(10); 21myservo3.attach(11); 22} 23 24void loop() { 25 26u=map(analogRead(A0),0,1023,0,6); 27 28if(z2<posz-3){ 29 z2=z2+u+1; 30} 31else if (z2>posz+3){ 32 z2=z2-u-1; 33} 34else{ 35 int ran=random(0,2); 36 z=(map(ran,0,1,150,180)); 37 digitalWrite(13,!ran); 38 posz=random(130,180); 39} 40 41 42if(x<posx-3){ 43 x=x+u; 44} 45else if (x>posx+3){ 46 x=x-u; 47} 48else{ 49 x=posx; 50 posx=random(0,180); 51} 52myservo1.write(x); 53myservo2.write(y); 54myservo3.write(z); 55 56 57delay(60); 58Serial.println(); 59Serial.println(posx); 60Serial.println(x); 61Serial.println(posz); 62Serial.println(z); 63 64} 65
DragonSBG.ino
arduino
Wild Dragon code
1#include <Servo.h> 2Servo myservo1; 3Servo myservo2; 4Servo myservo3; 5int 6 x=0; 7int y=0; 8int z=180; 9int posx=0; 10int posy=0; 11int posz=0; 12int 13 z2=180; 14int u=0; 15int v=0; 16 17void setup() { 18 19 Serial.begin(9600); 20 21 pinMode(A5,INPUT_PULLUP); 22myservo1.attach(9); 23myservo2.attach(10); 24myservo3.attach(11); 25} 26 27void 28 loop() { 29 30u=map(analogRead(A0),0,1023,0,6); 31 32if(z2<posz-3){ 33 z2=z2+u+1; 34} 35else 36 if (z2>posz+3){ 37 z2=z2-u-1; 38} 39else{ 40 int ran=random(0,2); 41 z=(map(ran,0,1,150,180)); 42 43 digitalWrite(13,!ran); 44 posz=random(130,180); 45} 46 47 48if(x<posx-3){ 49 50 x=x+u; 51} 52else if (x>posx+3){ 53 x=x-u; 54} 55else{ 56 x=posx; 57 58 posx=random(0,180); 59} 60myservo1.write(x); 61myservo2.write(y); 62myservo3.write(z); 63 64 65delay(60); 66Serial.println(); 67Serial.println(posx); 68Serial.println(x); 69Serial.println(posz); 70Serial.println(z); 71 72} 73
Robo Arm code
arduino
1#include <Servo.h> 2Servo myservo1; 3Servo myservo2; 4Servo myservo3; 5int 6 x=180; 7int y=120; 8int z=180; 9 10void setup() { 11 12 Serial.begin(9600); 13 14 pinMode(2,INPUT_PULLUP); 15myservo1.attach(9); 16myservo2.attach(10); 17myservo3.attach(11); 18} 19 20void 21 loop() { 22 23int dx=map((analogRead(A6)-512), -512, 512, -3, 4); 24int dy=map((analogRead(A5)-512), 25 -512, 512, -3, 4); 26 27x=x+dx; 28y=y+dy; 29 30 31if(x<2){ 32 x=2; 33} 34if(x>178){ 35 36 x=178; 37} 38if(y<65){ 39 y=65; 40} 41if(y>150){ 42 y=150; 43} 44 45if 46 (digitalRead(2)==LOW) { 47 if(z==180){ 48 z=120; 49 } 50 else{ 51 z=180; 52 53 } 54 delay(150); 55} 56 57 58myservo1.write(x); 59myservo2.write(y); 60myservo3.write(z); 61delay(50); 62Serial.println(); 63Serial.println(x); 64Serial.println(dx); 65Serial.println(y); 66Serial.println(dy); 67Serial.println(z); 68Serial.println(digitalRead(2)); 69 70} 71
BlinkSBG.ino
arduino
Blink code
1void setup() { 2 3 pinMode(13, OUTPUT); 4} 5 6 7void loop() 8 { 9 digitalWrite(13, HIGH); 10 delay(500); 11 digitalWrite(13, 12 LOW); 13 delay(500); 14} 15
FlowerSBG.ino
arduino
Power Flower code
1#include <Servo.h> 2Servo myservox; 3Servo myservoy; 4int x=180; 5int 6 y=180; 7void setup() { 8 9 10 Serial.begin(9600); 11myservox.attach(9); 12myservoy.attach(10); 13} 14 15void 16 loop() { 17 18 19if(analogRead(A1)>analogRead(A2)&&abs(analogRead(A1)-analogRead(A2))>20){ 20 21 22 x=x+1; 23} 24else if(analogRead(A1)<analogRead(A2)&&abs(analogRead(A1)-analogRead(A2))>20){ 25 26 x=x-1; 27} 28else{ 29 x=x; 30 delay(100); 31} 32 33if(analogRead(A3)>analogRead(A4)&&abs(analogRead(A3)-analogRead(A4))>20){ 34 35 y=y+1; 36} 37else if(analogRead(A3)<analogRead(A4)&&abs(analogRead(A3)-analogRead(A4))>20){ 38 39 y=y-1; 40} 41else{ 42 y=y; 43 delay(100); 44} 45 46 47if(x<0){ 48 x=0; 49} 50if(x>180){ 51 52 x=180; 53} 54if(y<0){ 55 y=0; 56} 57if(y>180){ 58 y=180; 59} 60Serial.println(180-x); 61Serial.println(y); 62Serial.println(); 63Serial.println(analogRead(A1)); 64Serial.println(analogRead(A2)); 65Serial.println(analogRead(A3)); 66Serial.println(analogRead(A4)); 67Serial.println(); 68myservox.write(180-x); 69myservoy.write(y); 70delay(25); 71} 72
Downloadable files
Fade Diagram
Fade Diagram
Fade Diagram

Robo Arm Diagram
Robo Arm Diagram
Robo Arm Diagram

Blink diagram
Blink diagram
Blink diagram

Power Flower Diagram
Power Flower Diagram
Power Flower Diagram

Wild Dragon Diagram
Wild Dragon Diagram
Wild Dragon Diagram

Wild Dragon Diagram
Wild Dragon Diagram
Wild Dragon Diagram

Fade Diagram
Fade Diagram
Fade Diagram

Power Flower Diagram
Power Flower Diagram
Power Flower Diagram

Robo Arm Diagram
Robo Arm Diagram
Robo Arm Diagram

Blink diagram
Blink diagram
Blink diagram

Documentation
Instructions Polish
Assembly Instructions of the Super Bot Gears set in Polish. A5 format.
Instructions Polish
1x_gripper_adapter
1x_gripper_adapter
1x_gripper_adapter
1x_base_adapter
1x_base_adapter
1x_base_adapter
1x_flower
1x_flower
1x_flower
1x_knob
1x_knob
1x_knob
2x_hinge
2x_hinge
2x_hinge
Box Label Polish
The label for the box in Polish. A4 format.
Box Label Polish

1x_loops
1x_loops
1x_loops
1x_base
1x_base
1x_base
1x_double_beam
1x_double_beam
1x_double_beam
Box Label English
The label for the box in English. A4 format.
Box Label English

1x_gripper
1x_gripper
1x_gripper
Instructions English
Assembly instructions of the Super Bot Gears set in English. A5 format.
Instructions English
1x_claw
1x_claw
1x_claw
1x_joystick
1x_joystick
1x_joystick
1x_eyes
1x_eyes
1x_eyes
1x_beam_free
1x_beam_free
1x_beam_free
1x_beam_constrained
1x_beam_constrained
1x_beam_constrained
Box Label English
The label for the box in English. A4 format.
Box Label English

1x_double_beam
1x_double_beam
1x_double_beam
Instructions Polish
Assembly Instructions of the Super Bot Gears set in Polish. A5 format.
Instructions Polish
1x_base
1x_base
1x_base
1x_loops
1x_loops
1x_loops
1x_eyes
1x_eyes
1x_eyes
1x_flower
1x_flower
1x_flower
1x_beam_free
1x_beam_free
1x_beam_free
1x_claw
1x_claw
1x_claw
1x_joystick
1x_joystick
1x_joystick
6x_washer_(optional)
6x_washer_(optional)
6x_washer_(optional)
2x_hinge
2x_hinge
2x_hinge
1x_gripper_adapter
1x_gripper_adapter
1x_gripper_adapter
1x_knob
1x_knob
1x_knob
Box Label Polish
The label for the box in Polish. A4 format.
Box Label Polish

1x_beam_constrained
1x_beam_constrained
1x_beam_constrained
1x_gripper
1x_gripper
1x_gripper
1x_base_adapter
1x_base_adapter
1x_base_adapter
Instructions English
Assembly instructions of the Super Bot Gears set in English. A5 format.
Instructions English
Comments
Only logged in users can leave comments