Tabla de contenido:
- Paso 1: Conecte el teclado
- Paso 2: agregue el Micro Servo
- Paso 3: Modifique el código para usar el teclado en el servo
Video: Posicionamiento de servo con un teclado: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
En este instructable crearemos un proyecto que controlará un Micro-Servo con un teclado ejecutándolo con un Arduino Uno.
Materiales usados:
Arduino Uno
Tablero de circuitos
Teclado 4x4
Micro-Servo
Paso 1: Conecte el teclado
Lo primero que debe hacer es conectar el riel de alimentación y el riel de conexión a tierra en su placa de pruebas desde su Arduino
- Conecte el pin de 5V al riel de alimentación (rojo)
- Conecte un pin de tierra (GND) al riel de tierra (azul)
Ahora que la placa de pruebas tiene energía y está conectada a tierra, podemos comenzar a cablear nuestros componentes.
El cableado del teclado es fácil, pero debe tomar nota de los pines del teclado y del arduino. Será útil cuando prestemos atención a nuestro código.
¡Recuerde comenzar por la izquierda cuando use sus cables!
- El primer pin va al 13
- El segundo pin va a 12
- El tercer pin va al 11
- El cuarto pin va al 10
- Quinto pin al 9
- Sexto pin a 8
- Séptimo Pin al 7
- Octavo Pin a 6
Al cablear el teclado, recuerde mantener abierto un pin pwm digital. Lo necesitaremos para el micro-servo.
Antes de llegar al código, asegúrese de haber instalado la biblioteca de teclados. Se puede encontrar en su boceto, luego en la pestaña de boceto, incluir biblioteca. No podrá utilizar el teclado sin él.
Ahora pasemos al código y asegurémonos de que el teclado funciona y da los valores atendidos
Notas rápidas: asegúrese de tener la instrucción if para verificar el teclado, de lo contrario no funcionará. También tenga cuidado con los retrasos, ya que pueden interferir con los botones que se registran desde el teclado.
#incluir
filas de bytes constantes = 4; // cuatro filas ya que el teclado está lleno
columnas de bytes constantes = 4; // cuatro columnas, igual que arriba
botones de caracteres [filas] [columnas] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
byte rowP [filas] = {13, 12, 11, 10}; // fila de pines del teclado
columnas de bytes P [columnas] = {9, 8, 7, 6}; // pines de columna del teclado
Teclado pad = Teclado (makeKeymap (botones), filaP, columnasP, filas, columnas); // crear teclado
configuración vacía () {
Serial.begin (9600); }
bucle vacío () {
char buttonPressed = pad.getKey (); // obtener el carácter del teclado if (buttonPressed) // mostrar qué botón se presionó en el teclado {Serial.println (buttonPressed); }}
Paso 2: agregue el Micro Servo
Ahora agreguemos el servomotor. Este es realmente fácil de agregar a nuestro proyecto actual ya que el micro servidor solo tiene tres cables.
- El cable marrón va al riel de conexión a tierra en la placa de pruebas
- El rojo va al carril de alimentación
- Orange va al Pin 3 en el Arduino. Recuerde que el micro servidor debe tener un pin PWM en el Arduino. Esto se debe a que el servo usa TIMER2
Ahora asegurémonos de que conectamos el micro servo correctamente y de que se mueve
#include #include "Servo.h"
filas de bytes constantes = 4; // cuatro filas ya que el teclado está lleno
columnas de bytes constantes = 4; // cuatro columnas, igual que arriba
botones de caracteres [filas] [columnas] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
byte rowP [filas] = {13, 12, 11, 10}; // fila de pines del teclado
bytes columnas P [columnas] = {9, 8, 7, 6}; // pines de columna del teclado
Teclado pad = Teclado (makeKeymap (botones), filaP, columnasP, filas, columnas); // crear teclado
Servo currentServo; // crea un objeto servo para controlar un servo
// Se pueden crear doce objetos servo en la mayoría de las placas
int pos = 0; // variable para almacenar la posición del servo
configuración vacía () {
Serial.begin (9600); currentServo.attach (3); // conecta el servo en el pin 9 al objeto servo
}
bucle vacío () {
char buttonPressed = pad.getKey (); // obtener el carácter del teclado if (buttonPressed) // mostrar qué botón se presionó en el teclado {Serial.println (buttonPressed); }
currentServo.write (95);
}
Paso 3: Modifique el código para usar el teclado en el servo
Sepa que vamos a modificar nuestro código para que cuando presionemos un botón en particular en el teclado, el servo se mueva a una posición en particular. Primero, algo importante. La posición del servo para 0 era extraña. Como tenía un servo de rotación continua, cada vez que se acercaba a 0, el servo comenzaba a girar. El número que puse en el código fue lo más bajo que pude sin que eso sucediera. De todos modos, aquí está mi código final:
#incluir #incluir
filas de bytes constantes = 4; // cuatro filas ya que el teclado está lleno
columnas de bytes constantes = 4; // cuatro columnas, igual que arriba
botones de caracteres [filas] [columnas] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
byte rowP [filas] = {13, 12, 11, 10}; // fila de pines del teclado
bytes columnas P [columnas] = {9, 8, 7, 6}; // pines de columna del teclado
Teclado pad = Teclado (makeKeymap (botones), filaP, columnasP, filas, columnas); // crear teclado
Servo myServo; //
configuración vacía () {
Serial.begin (9600); myServo.attach (5); // conecta el servo en el pin 9 al objeto servo}
bucle vacío () {
char key = pad.getKey (); // obtener el carácter del teclado if (key == '0') {myServo.write (11); Serial.println ("0"); retraso (15); } if (clave == '1') {myServo.write (12); Serial.println ("1"); retraso (15); } if (clave == '2') {myServo.write (24); Serial.println ("2"); retraso (15); } if (clave == '3') {myServo.write (36); Serial.println ("3"); retraso (15); }
si (clave == '4')
{myServo.write (48); Serial.println ("4"); retraso (15); }
si (clave == '5')
{myServo.write (60); Serial.println ("5"); retraso (15); }
si (clave == '6')
{myServo.write (72); Serial.println ("6"); retraso (15); }
si (clave == '7')
{myServo.write (84); Serial.println ("7"); retraso (15); }
si (clave == '8')
{myServo.write (96); Serial.println ("8"); retraso (15); }
si (clave == '9')
{myServo.write (108); Serial.println ("9"); retraso (15); }
si (clave == '*')
{myServo.write (120); Serial.println ("*"); retraso (15); }
si (clave == '#')
{myServo.write (132); Serial.println ("#"); retraso (15); }
si (clave == 'A')
{myServo.write (146); Serial.println ("A"); retraso (15); }
si (clave == 'B')
{myServo.write (158); Serial.println ("B"); retraso (15); }
si (clave == 'C')
{myServo.write (170); Serial.println ("C"); retraso (15); }
si (clave == 'D')
{myServo.write (180); Serial.println ("D"); retraso (15); }}
Recomendado:
Convertir Un Teclado Muerto a Un Teclado MIDI: 8 Pasos
Convertir Un Teclado Muerto a Un Teclado MIDI: Hace un tiempo cuando era pequeño tenia un teclado funcional que me encantaba tocarlo, aunque solo sabia poquitas notas me encantaba tocarlo, un dia le conecte el eliminador equivocado pero no me habia dado cuenta cuando lo conecte todo estaba funci
Sistema de posicionamiento basado en ultrasonidos: 4 pasos (con imágenes)
Sistema de posicionamiento basado en ultrasonidos: todas las versiones de radares ultrasónicos que he encontrado para dispositivos arduino (Arduino - Radar / Ultrasonic Detector, Arduino Ultrasonic Radar Project) son radares muy agradables, pero todos son " ciegos ". Quiero decir, el radar detecta algo, pero lo que yo
Interfaz de teclado con 8051 y visualización de números de teclado en 7 segmentos: 4 pasos (con imágenes)
Interfaz de teclado con 8051 y visualización de números de teclado en 7 segmentos: En este tutorial, le contaré cómo podemos interconectar el teclado con 8051 y mostrar los números de teclado en la pantalla de 7 segmentos
Teclado Das rápido y sucio (teclado en blanco): 3 pasos
Teclado Das rápido y sucio (teclado en blanco): Un teclado Das es el nombre del teclado más popular sin inscripciones en las teclas (teclado en blanco). El teclado Das se vende por $ 89.95. Este instructivo lo guiará a la hora de hacer uno usted mismo con cualquier teclado antiguo que tenga por ahí
Limpieza del teclado de aluminio de Apple o cualquier otro teclado de tacto suave: 5 pasos
Limpieza del teclado de aluminio de Apple … o cualquier otro teclado de tacto suave: por muy limpios que usted o yo intentemos mantener nuestros teclados de aluminio de Apple, se ensucian después de un año más o menos. Este instructivo es para ayudarlo a limpiarlo. Tenga cuidado, porque no soy responsable si su teclado se rompe mientras hace esto …. CHUPA F