en Hardware, Tutoriales

La maquina inútil con Arduino (Useless Machine)

Hacia tiempo que tenia ganas de hacer una de estas maquinas inútiles (useless machine) que te llevan la contraria cada vez que quieres activar un interruptor, y hoy por fin me he decido a hacerla.

Materiales

  • 1 o 2 servos de 9 gramos (u otros, cualquiera sirve)
  • 1 o 2 «brazos» que servirán para empujar el interruptor (yo los he impreso en 3D,actuador.stl)
  • 1 interuptor de 2 o 3 posiciones.
  • 1 Arduino
  • Una fuente de alimentación de 6-7V (una batería por ejemplo o un portapilas de 4 puede valer)
  • Cables
  • 1 caja de cartón o madera

Contrucción

En mi caso he decidido hacer una maquina inútil doble, es decir, con una apertura por cada lado por lo que necesito un interruptor de 3 posiciones: izquierda, derecha y centro.

Lo primera que vamos a hacer es recortar la caja, haciendo dos aperturas en la parte superior, una en cada lateral, y en el centro hacemos un pequeño agujero para fijar el interruptor.

useless machine 1

Una vez hecho esto vamos con la electrónica. Es muy simple.

  • Conectamos la señal de los servos (cable naranja o blanco) a los pines 10 y 11 respectivamente.
  • Conectamos el positivo (rojo) de ambos servos, directamente a nuestra fuente de alimentación (7v en mi caso).
  • Conectamos el negativo (negro) de ambos servos directamente al negativo de nuestra fuente.
  • Ahora conectamos el positivo de nuestra fuente al pin Vin del Arduino.
  • Por último conectamos el negativo de la fuente a un pin GND del Arduinio.

Ahora solos nos falta conectar el interuptor, en mi caso tiene esta forma:

interruptor_1

El pin central es el común y los otros 2 indican izquierda y derecha respectivamente, entonces conectamos:

  • El pin central a un pin gnd del arduino.
  • Los pines laterales a los pines 6 y 7 del arduino respectivamente.

Ahora vamos a preparar los servos, para ello pegamos el actuador al eje del servo tal como aparece en la imagen y fijamos los servos a la caja, en la parte central justo debajo de donde está situado el interruptor.

Puedes descargar el modelo para imprimir en 3D aqui: actuador.stl

Detalle colocacion servo

 

Programación

Ahora vamos a cargar el código en el arduino, el funcionamiento es muy simple, si pulsamos a un lado se activa el servo de ese lado. Es posible que tal como lo has cableado haya quedado al revés, pero lo unico que tendrás que hacer será intercambiar los pines (en el código o en el Arduino)

#include <Servo.h> 
 
Servo servo1; 
Servo servo2; 
const int boton1 = 6;
const int boton2 = 7;
 
void setup() 
{ 
  Serial.begin(9600);
  servo1.attach(10); 
  servo2.attach(11);
  pinMode(boton1, INPUT_PULLUP);
  pinMode(boton2, INPUT_PULLUP);
} 
 
void loop() 
{ 
  if (digitalRead(boton1) == LOW){
    Serial.println("boton1");
    delay(100);
    servo1.write(125);
    delay(800);
    servo1.write(0);
  }
  
  if (digitalRead(boton2) == LOW){
    Serial.println("boton2");
    delay(100);
    servo2.write(125);
    delay(800);
    servo2.write(0);
  }
  delay(10);
} 


Tienes todo el código y los archivos en mi github: https://github.com/4m1g0/useless-box

 

Creative Commons License
Todohacker by 4m1g0 is licensed under a Creative Commons.

Escribe un comentario

Comentario