Type something to search...
Brazo Robótico 2° A

Brazo Robótico 2° A

Índice

Explicación del Proyecto

Materiales necesarios

#ComponenteImagenLink
1Arduino NANOlink
1Shield Compatible con Arduino UNOlink
4Servomotor MG90S Servomotor 180° con Engranes Metálicoslink
3Servomotor MG996R DIGI HI-TORQUE Engranes de Metal 180°link
1Fuente conmutada 5V 3Alink
6Potenciómetro 3 Pines con valor de 10kOhmlink
2Push Button KY-004link

Herramientas

  • 1 Destornillador
  • 1 Pinza
  • 1 Tijera
  • 1 Cautín
  • 1 Soldadura
  • 1 Cableado

Desarrollo

Sigue cuidadosamente las instrucciones para armar el brazo robótico

Electrónica

Realiza el siguiente diagrama de conexión para los servomotores Diagrama de conexión

Conecta tambien los potenciometros a los pines A0 al A5 del arduino Diagrama de conexión C

Puedes encontrar el enlace de la simulación en Tinkercad

Programación

Código para movimiento de servo usando potenciometro


#include <Hummingbird.h>

Hummingbird hummingbird;

void setup() {
  hummingbird.init();
}

void loop() {
  // Leer el valor del sensor en el puerto 1 (0-1023)
  int knob_sensor = hummingbird.readSensorValue(1);

  // Mapear el valor del sensor al rango del servomotor (0-180)
  int servo_position = map(knob_sensor, 0, 1023, 0, 180);

  // Mover el servomotor a la posición calculada
  hummingbird.setServo(1, servo_position);

  // Pequeño retraso para suavizar el movimiento
  delay(15);
}

Explicación del código

  • hummingbird.init() inicializa el módulo Hummingbird.
  • hummingbird.readSensorValue(1); → Lee el valor del sensor o potenciómetro en el puerto 1.
  • map(knob_sensor, 0, 1023, 0, 180); → Convierte el valor del sensor de su rango (0-1023) al rango del servo (0-180).
  • hummingbird.setServo(1, servo_position); → Mueve el servomotor a la posición calculada.
  • delay(15); → Da tiempo al servomotor para moverse suavemente. Ahora el servomotor se moverá en función del sensor o potenciómetro en tiempo real. 🚀

Desafíos

Recursos

Videos

Video de ensamble de brazo robotico

Código

Codigo en Arduino para el control de los servomotores usando potenciometros y un boton para el gripper

#include <Servo.h>

Servo servos[7]; // Array para los 7 servomotores
const int potPins[6] = {A0, A1, A2, A3, A4, A5}; // Pines de los potenciómetros
const int buttonPin = 9; // Pin del botón para el gripper
int buttonState = 0; // Estado del botón
bool gripperClosed = false; // Estado del gripper (abierto o cerrado)

// Pines de los servos
const int servoPins[7] = {2, 3, 4, 5, 6, 7, 10};

void setup() {
  for (int i = 0; i < 7; i++) {
    servos[i].attach(servoPins[i],500,2500); // Conectar cada servo a su pin
    servos[i].write(45); // Inicializar todos los servos en posición media
  }

  pinMode(buttonPin, INPUT_PULLUP); // Configurar el botón como entrada con resistencia pull-up
	Serial.begin(9600);
}

void loop() {
  // Control de los primeros 6 servos con potenciómetros
  for (int i = 0; i < 6; i++) {
    int potValue = analogRead(potPins[i]); // Leer el valor del potenciómetro
    int angle = map(potValue, 0, 1023, 0, 180); // Convertir el valor a un ángulo
    Serial.println(potValue);
    servos[i].write(angle); // Mover el servo correspondiente
  }

  // Control del séptimo servo (gripper) con botón
  buttonState = digitalRead(buttonPin); // Leer el estado del botón
  if (buttonState == LOW) { // Si el botón está presionado
    delay(50); // Pequeño retraso para evitar rebotes
    if (digitalRead(buttonPin) == LOW) { // Confirmar que sigue presionado
      gripperClosed = !gripperClosed; // Cambiar el estado del gripper
      if (gripperClosed) {
        servos[6].write(100); // Cerrar el gripper
      } else {
        servos[6].write(10); // Abrir el gripper
      }
      while (digitalRead(buttonPin) == LOW); // Esperar a que se suelte el botón
    }
  }
}

Enlaces

Enlaces a web Chareditor.

Enlaces a blog Instalacion de arduino.

Publicaciones relacionadas

ATR 1° - 2° [Primaria]

ATR 1° - 2° [Primaria]

ÍndiceExplicación del Proyecto Materiales necesarios Herramientas [1](#inicialización-de

read more
Carreras de carritos 1° A

Carreras de carritos 1° A

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; ÍndiceÍndice Explicación del Proyecto [Materiales necesarios](#materiales-n

read more
Robot Programable 2° B

Robot Programable 2° B

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; Explicación del Proyecto Este proyecto se centra en el desarrollo de un robot programable utilizando Arduino, cuyo objetivo

read more
Elevador 5° [Primaria]

Elevador 5° [Primaria]

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; ÍndiceExplicación del Proyecto Materiales necesarios

read more
Figuras con luz 1° - 2° [Primaria]

Figuras con luz 1° - 2° [Primaria]

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; ÍndiceExplicación del Proyecto Materiales necesarios

read more
Control de motor eléctrico para automoviles

Control de motor eléctrico para automoviles

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; ÍndiceExplicación del Proyecto Materiales necesarios [H

read more
Programacion en Scratch 1° - 2° [Primaria]

Programacion en Scratch 1° - 2° [Primaria]

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; ÍndiceExplicación del Proyecto Materiales necesarios

read more
Semáforo con pluma de crucero 4° [Primaria]

Semáforo con pluma de crucero 4° [Primaria]

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; ÍndiceExplicación del Proyecto Materiales necesarios

read more
Visión artificial 3° A

Visión artificial 3° A

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; Link de la sesion de meet:Link para la reunion de domingo 16 febrero 2025 actualizada https://meet.google.com/aox-anan-t

read more