Grúa elevadora

Grúa móvil para elevar pequeñas cargas

AdvancedProtip71
Grúa elevadora

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
Buzzer, Piezo
Buzzer, Piezo
×1
SG90 Micro-servo motor
SG90 Micro-servo motor
×1
Servomotor de rotación continua
×1
5 mm LED: Red
5 mm LED: Red
×1
Switch Actuator, Head for spring return push-button
Switch Actuator, Head for spring return push-button
×2
Pulsador N/A
×2
Resistor 330 ohm
Resistor 330 ohm
×3
Capacitor 100 µF
Capacitor 100 µF
×2
Rotary potentiometer (generic)
Rotary potentiometer (generic)
×1
Alcayata circular
×3
Rollo cuerda
×1
Placa de prototipos pretaladrada
×1
Cuadradillo de madera 20 mm
×1
Listón de madera 10x5 mm
×1
Escuadra de aluminio 90º
×2
Tira de pines M/M
×1
Cable cobre
×1
Base madera aglomerado chapado 10 mm
×1
Paquete bridas pequeñas negro
×1

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Scissor, Electrician
Scissor, Electrician
Mastech MS8217 Autorange Digital Multimeter
Digilent Mastech MS8217 Autorange Digital Multimeter

Story

Read more

Schematics

Esquema grúa elevadora

Esquema grúa elevadora

Code

Código fuente grúa elevadora

Arduino
Código en lenguaje Arduino de la grúa elevadora
#include <Servo.h>
Servo servoRotCont; //Servo elevador
Servo miServo; // Servo rotación grua
int abajo=1; //ESTA ABAJO
int zumbador=0;

int ts=3000; //Tiempo de subida
int tb=5000; //Tiempo de bajada

int t_led_blink=500; //Tiempo LED parpadeo

int t_led_inicio=0; //Cronometro tiempos LED
int t_led_actual=0;

int t_inicio=0; // Para cronometrar tiempos sin delays
int t_actual=0;

int valor_pot=0;
int angulo=0;

void setup() {
  pinMode(3,OUTPUT); // Led rojo
  pinMode(4,INPUT);  // Botón subir
  pinMode(5,INPUT);  // Botón bajar
  pinMode(10,OUTPUT);// Altavoz

  servoRotCont.attach(8);
  servoRotCont.write(90);

  miServo.attach(7);

  Serial.begin(9600);
}

void loop() {
  if(digitalRead(4)==HIGH and abajo==1){  //SUBIR
    servoRotCont.write(80);
  
    t_inicio=millis();
    t_led_inicio=millis();
    
    while(abajo==1){
      t_actual=millis();
      if(t_actual-t_inicio>=ts){
        abajo=0;
        digitalWrite(3,LOW);
      }
      
      t_led_actual=millis();
      if(t_led_actual-t_led_inicio>=t_led_blink){
        digitalWrite(3,!digitalRead(3));
        if (digitalRead(3)==0){
          tone(10,330);
        }
        else{
          noTone(10);
        }
        t_led_inicio=millis();
      }
      
    }
    servoRotCont.write(90);
  }
    
  if(digitalRead(5)==HIGH and abajo==0){ //BAJAR
    servoRotCont.write(100);
    t_inicio=millis();
    
    while(abajo==0){
      t_actual=millis();
      if(t_actual-t_inicio>=tb){
        abajo=1;
        digitalWrite(3,LOW);
      }

      t_led_actual=millis();
      if(t_led_actual-t_led_inicio>=t_led_blink){
        digitalWrite(3,!digitalRead(3));
        if(digitalRead(3)==0){
          tone(10,330);
        }
        else{
          noTone(10);
        }
        t_led_inicio=millis();
      }
      
    }
    servoRotCont.write(90);    
  }

  valor_pot=analogRead(A0);
  Serial.println(valor_pot);

  angulo=map(valor_pot,0,1024,0,179);
  miServo.write(angulo);
}

Credits

ivanfh
1 project • 0 followers
spaik2311
2 projects • 0 followers
danielfcamino
2 projects • 0 followers
rafaalvarezjuan
2 projects • 0 followers
mariopriandi
2 projects • 0 followers
davidic15092003
2 projects • 0 followers
hugocortepani
2 projects • 0 followers
fernandezvillapablo
2 projects • 0 followers
naataliaa3
2 projects • 0 followers
kxnekxchan
2 projects • 0 followers
alepalas17
2 projects • 0 followers
davidviobes
2 projects • 0 followers
Alessandro550
2 projects • 0 followers
LuzNava
2 projects • 0 followers
iCT-aleex
2 projects • 0 followers
zoni
2 projects • 0 followers
daviotaku
2 projects • 0 followers
angelteran
2 projects • 0 followers
diaztoyos
2 projects • 0 followers
antoniomartinez16
2 projects • 0 followers
nahuel210403
0 projects • 0 followers
Alexnava2002
0 projects • 0 followers

Comments