Tabla de contenidos
Código Arduino para manejo de brazo robótico

//Canal de YouTube -> Robot UNO //Proyecto -> Brazo robotico version1 #include <Servo.h> #include <Stepper.h> Servo servomotor3; //Servomotor pinza Servo servomotor2; //Servomotor enmedio Servo servomotor1; //Servomotor abajo Stepper motor(2048, 4, 6, 5, 7); void setup() { servomotor3.attach(11); servomotor2.attach(10); servomotor1.attach(9); motor.setSpeed(5); } void loop() { //Reinicio servomotor1.write(0); servomotor2.write(0); servomotor3.write(0); //motor.step(512); delay(3000); //COJE EL OBJETO for(int i=0; i<=45; i++){ servomotor3.write(i); delay(25); } delay(1000); for(int i=0; i<=90; i++){ servomotor2.write(i); delay(25); } delay(1000); for (int i=0; i<=90; i++){ servomotor1.write(i); delay(25); } delay(1000); for(int i=45; i>=0; i--){ servomotor3.write(i); delay(25); } delay(1000); for (int i = 90; i>=0; i--){ servomotor1.write(i); delay(25); } delay(1000); for (int i = 90; i>=0; i--){ servomotor2.write(i); delay(25); } delay(1000); //GIRA CON EL OBJETO motor.step(512); delay(1000); //DEJA EL OBJETO for(int i=0; i<=90; i++){ servomotor2.write(i); delay(25); } delay(1000); for (int i=0; i<=90; i++){ servomotor1.write(i); delay(25); } delay(1000); for(int i=0; i<=45; i++){ servomotor3.write(i); delay(25); } delay(1000); //VUELVE A LA POSICION INICIAL servomotor1.write(0); servomotor2.write(0); motor.step(-512); delay(3000); }
Código Arduino para Grúa

//Canal de YouTube -> RobotUNO //Proyecto: Grua con servomotores #include <Servo.h> //Definicion de los servos Servo servo1; Servo servo2; int eje1=90; int eje2=90; void setup(){ servo1.attach(7); servo2.attach(6); servo1.write(90); servo2.write(90); } void loop(){ //SERVO 1 if (analogRead(0)<200 && eje1<180){ eje1++; servo1.write(eje1); } if (analogRead(0)>700 && eje1>0){ eje1--; servo1.write(eje1); } //SERVO 2 if (analogRead(1)<200 && eje2<180){ eje2++; servo2.write(eje2); } if (analogRead(1)>700 && eje2>0){ eje2--; servo2.write(eje2); } delay(15); }
Código Arduino Juego de Snake en pantalla LCD

//Canal -> RobotUNO //Minijuego con pantalla LCD #include <LiquidCrystal.h>//libreria de la pantalla LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Configura los pines de salida para la lcd byte letra1[8] = { B01110, B00100, B11111, B01110, B01010, B01010, B11111, B01010 }; byte letra2[8] = { B01110, B00100, B11111, B01110, B11011, B00000, B11111, B11111 }; byte letra6[8] = { B01110, B10101, B11111, B01110, B01010, B01010, B11111, B01010 }; byte letra0[8] = { B00000, B00000, B00000, B00000, B00000, B00000, B00000, B00000 }; byte letra3[8] = { B00000, B00000, B00000, B11111, B11111, B11111, B11111, B11111 }; byte letra4[8] = { B00000, B11111, B11111, B11111, B11111, B11111, B11111, B11111 }; byte letra5[8] = { B01110, B11111, B11111, B11111, B11111, B11111, B11111, B11111 }; int x=15; int y=1; int obstaculos=0; int vel=300; int puntaje=0; int GameOver=3; void setup(){ lcd.begin(16, 2); lcd.createChar(1, letra1); lcd.createChar(2, letra2); lcd.createChar(3, letra3); lcd.createChar(4, letra4); lcd.createChar(5, letra5); lcd.createChar(0, letra0); lcd.createChar(6, letra6); } void loop(){ lcd.setCursor(7, 0); //Posición del nombre del canal lcd.print("RobotUNO"); lcd.setCursor(0, 0); //Coloca el numero 0 lcd.print(obstaculos); lcd.setCursor(x,y); lcd.write(byte(3)); delay(vel); lcd.setCursor(x,y); lcd.write(byte(4)); delay(vel); lcd.setCursor(x,y); lcd.write(byte(5)); delay(vel); 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); puntaje=obstaculos; lcd.setCursor(3, 1); lcd.print("Puntaje:"); lcd.setCursor(12, 1); lcd.print(puntaje); delay(6000); obstaculos=0; } x=x-1; if (x<=0) { x=15; } vel = random(1,200); if(GameOver == x){ lcd.clear(); obstaculos++; } }
Código Arduino Sensor de Temperatura

//Canal de YouTube -> RobotUNO //Proyecto 3 #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); }