Table of contents
Arduino code for controlling a robotic arm

//YouTube channel -> Robot UNO
//Project -> Robotic arm version 1
#include <Servo.h>
#include <Stepper.h>
Servo gripperServo; //Gripper servo
Servo middleServo; //Middle servo
Servo lowerServo; //Lower servo
Stepper motor(2048, 4, 6, 5, 7);
void setup() {
gripperServo.attach(11);
middleServo.attach(10);
lowerServo.attach(9);
motor.setSpeed(5);
}
void loop() {
//Reset
lowerServo.write(0);
middleServo.write(0);
gripperServo.write(0);
//motor.step(512);
delay(3000);
//PICK UP THE OBJECT
for(int i=0; i<=45; i++){
gripperServo.write(i);
delay(25);
}
delay(1000);
for(int i=0; i<=90; i++){
middleServo.write(i);
delay(25);
}
delay(1000);
for (int i=0; i<=90; i++){
lowerServo.write(i);
delay(25);
}
delay(1000);
for(int i=45; i>=0; i--){
gripperServo.write(i);
delay(25);
}
delay(1000);
for (int i = 90; i>=0; i--){
lowerServo.write(i);
delay(25);
}
delay(1000);
for (int i = 90; i>=0; i--){
middleServo.write(i);
delay(25);
}
delay(1000);
//ROTATE WITH THE OBJECT
motor.step(512);
delay(1000);
//DROP THE OBJECT
for(int i=0; i<=90; i++){
middleServo.write(i);
delay(25);
}
delay(1000);
for (int i=0; i<=90; i++){
lowerServo.write(i);
delay(25);
}
delay(1000);
for(int i=0; i<=45; i++){
gripperServo.write(i);
delay(25);
}
delay(1000);
//RETURN TO THE INITIAL POSITION
lowerServo.write(0);
middleServo.write(0);
motor.step(-512);
delay(3000);
}Arduino code for a crane

//YouTube channel -> RobotUNO
//Project: Crane with servomotors
#include <Servo.h>
//Servo definitions
Servo servo1;
Servo servo2;
int axis1=90;
int axis2=90;
void setup(){
servo1.attach(7);
servo2.attach(6);
servo1.write(90);
servo2.write(90);
}
void loop(){
//SERVO 1
if (analogRead(0)<200 && axis1<180){
axis1++;
servo1.write(axis1);
}
if (analogRead(0)>700 && axis1>0){
axis1--;
servo1.write(axis1);
}
//SERVO 2
if (analogRead(1)<200 && axis2<180){
axis2++;
servo2.write(axis2);
}
if (analogRead(1)>700 && axis2>0){
axis2--;
servo2.write(axis2);
}
delay(15);
}Arduino code for Snake on an LCD screen

//Channel -> RobotUNO
//Mini-game on an LCD screen
#include <LiquidCrystal.h>//screen library
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Set the LCD output pins
byte char1[8] = { B01110, B00100, B11111, B01110, B01010, B01010, B11111, B01010 };
byte char2[8] = { B01110, B00100, B11111, B01110, B11011, B00000, B11111, B11111 };
byte char6[8] = { B01110, B10101, B11111, B01110, B01010, B01010, B11111, B01010 };
byte char0[8] = { B00000, B00000, B00000, B00000, B00000, B00000, B00000, B00000 };
byte char3[8] = { B00000, B00000, B00000, B11111, B11111, B11111, B11111, B11111 };
byte char4[8] = { B00000, B11111, B11111, B11111, B11111, B11111, B11111, B11111 };
byte char5[8] = { B01110, B11111, B11111, B11111, B11111, B11111, B11111, B11111 };
int x=15;
int y=1;
int obstacles=0;
int speed=300;
int score=0;
int GameOver=3;
void setup(){
lcd.begin(16, 2);
lcd.createChar(1, char1);
lcd.createChar(2, char2);
lcd.createChar(3, char3);
lcd.createChar(4, char4);
lcd.createChar(5, char5);
lcd.createChar(0, char0);
lcd.createChar(6, char6);
}
void loop(){
lcd.setCursor(7, 0); //Channel name position
lcd.print("RobotUNO");
lcd.setCursor(0, 0); //Print the number 0
lcd.print(obstacles);
lcd.setCursor(x,y);
lcd.write(byte(3));
delay(speed);
lcd.setCursor(x,y);
lcd.write(byte(4));
delay(speed);
lcd.setCursor(x,y);
lcd.write(byte(5));
delay(speed);
lcd.clear();
lcd.setCursor(GameOver, 1);
lcd.setCursor(3, 1);
lcd.write(byte(1));
if (digitalRead(7) == HIGH){
lcd.setCursor(3, 1);
lcd.write(byte(0));
lcd.setCursor(3, 0);
lcd.write(byte(2));
}
else if(3 == x){
lcd.clear();
lcd.setCursor(3, 0);
lcd.print("Game Over");
lcd.setCursor(7, 1);
lcd.write(byte(6));
delay(3000);
score=obstacles;
lcd.setCursor(3, 1);
lcd.print("Score:");
lcd.setCursor(12, 1);
lcd.print(score);
delay(6000);
obstacles=0;
}
x=x-1;
if (x<=0) {
x=15;
}
speed = random(1,200);
if(GameOver == x){
lcd.clear();
obstacles++;
}
}Arduino code for a temperature sensor

//YouTube channel -> RobotUNO
//Project 4
#include <LiquidCrystal.h>
int tempPin = 0;
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup(){
lcd.begin(16, 2);
}
void loop(){
int tempReading = analogRead(tempPin);
double tempK = log(10000.0 * ((1024.0 / tempReading - 1)));
tempK = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * tempK * tempK )) * tempK );
float tempC = tempK - 273.15;
lcd.setCursor(0, 0);
lcd.print("Temp C ");
lcd.setCursor(6, 0);
lcd.print(tempC);
delay(500);
}