Buenas a todos me uní a la comunidad para poder ver si conseguía una mano en esto de programación que es nuevo para mi, estoy haciendo un brazo industrial para terminar mi tecnicatura de robótica y muy poco la parte de programación.
Las condiciones para que funcione mi brazo son las siguientes:
1- En un recipiente se pondrá una pieza el Sensor Ultrasónico Hc-sr04 detectará la pieza y rápidamente el sensor de temperatura detectará la temperatura de la pieza.
2- Si la temperatura es superior a los 26 grados la cinta transportadora se activará y llegará hasta la posición donde el brazo dejará la pieza. El brazo se moverá hasta la pieza que está en el recipiente lo tomará con la pinza y lo llevará y soltará hasta la cinta transportadora.
3- Si la temperatura es inferior a los 25 grados el brazo tomará la pieza y la colocará en un recipiente no irá a la cinta transportadora.
4- El brazo manipulador no puede cargar más de 5 piezas calientes seguidas ya que puede sobre calentar los mecanismos que integran y por seguridad debe reposar 1 min hasta volver a leer las piezas en el recipiente.
Aclaración, los motores que utiizo son dc de 24v con un buen torque y se mueven lento, me dan muy buena movilidad al brazo, por eso no uso motores paso a paso.
Lo principal es comenzar :
#include <Ultrasonic.h>
Ultrasonic ultrasonido(9,8); //pin trig, pin echo
int led=5; //pin del arduino que se conecta al led
int motor1derecha=2;
int motor1izquierda=3;
int motor2arriba=4;
int motor2abajo=5;
int motor3arriba=6;
int motor3abajo=7;
int distancia; // variable de distancia del ultrasonido
void setup(){
pinMode(motor1derecha,OUTPUT);
pinMode(motor1izquierda,OUTPUT);
pinMode(motor2arriba,OUTPUT);
pinMode(motor2abajo,OUTPUT);
pinMode(motor3arriba,OUTPUT);
pinMode(moto3abajo,OUTPUT);
}
void loop(){
distancia = ultrasonido.Ranging(CM);
if( distancia < 45){
pausa = ultrasonido.Ranging(CM) * 10;
digitalWrite(led, HIGH);
delay(pausa);
}
digitalWrite(led, LOW);
delay(pausa);
}