Tabla de contenido:
- Paso 1: Trasfondo matemático
- Paso 2: software
- Paso 3: hardware
- Paso 4: cableado
- Paso 5: mejora futura
Video: Solucionador de ecuaciones cuadráticas de 2 botones: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Introducción
bienvenido a mi primer instructable!
Comencé este proyecto para ampliar mis conocimientos de programación. A menudo, simplemente fusiona diferentes códigos fuente para crear el programa que necesita. Mi objetivo era escribir mi propio código de programa para interactuar con una herramienta. Me gustó crear una herramienta sencilla para calcular. Hace un mes, apoyé a un amigo para resolver ecuaciones cuadráticas.
¡Bazinga! este es el caso de uso!
Reutilicé una vieja caja de metal. Preferí el aspecto minimalista y la interfaz de las herramientas. esa es la razón por la que solo quiero usar 2 botones para dar entrada. El concurso se mostrará mediante una sencilla pantalla LCD.
Suministros
lista de materiales:
caja
Estilo arcade de 2 botones
Arduino Nano o similar
Pantalla LCD 1602 con adaptador I2C
interruptor encendido / apagado
alambres
2x resistencia de 10k ohmios
bloque de batería 9v
conector para batería de 9v
tablero de circuitos
varios (trozo de madera, ángulo de metal, bridas, tornillos, arandelas)
instrumentos:
vio
soldador
taladro
computadora para programar
Paso 1: Trasfondo matemático
Trasfondo matemático
La ecuación cuadrática de 2 botones muestra los valores donde la función cuadrática cruza el eje X. Una función cuadrática puede cruzar el eje X nunca, una o dos veces.
Hay diferentes formas de calcular estos valores. Para mi herramienta, utilizo la fórmula PQ (no estoy seguro de si esta expresión se usará en todo el mundo).
Una ecuación cuadrática tiene la forma:
ax² + bx + c = 0
Para calcular los puntos de cruce, divida la forma por a x² + px + q = 0 con p = b / a; q = c / a
la fórmula PQ:
x1 = -p / 2 + sqrt ((p / 2) ²-q)
x2 = -p / 2 - raíz cuadrada ((p / 2) ²-q)
El resultado x puede obtener 0, 1 o 2 valores. Eso depende del valor debajo de la raíz cuadrada.
Si el valor es> 0, entonces la Fórmula PQ tiene dos soluciones.
Es el valor = 0, entonces la Fórmula PQ tiene una solución
es el valor <0, entonces la Fórmula PQ no tiene solución. La función no cruza el eje X.
Paso 2: software
Software
Para la programación utilicé el IDE oficial de Arduino. Mi objetivo era crear mi propio programa de software. Mi interfaz debería tener dos botones. Un botón para pasar entre diferentes niveles, el segundo botón para cambiar los valores en los diferentes niveles.
Para resolver la Fórmula PQ, creo la estructura de arriba:
Seguro que no reinvento la rueda. Para crear el código, utilicé el módulo:
- rebote
- monitor
Los siguientes puntos fueron los mayores desafíos:
- ¿Cómo puedo elegir el letrero? Resolví este desafío con la función módulo (enlace). El código divide la entrada por 2. Si la entrada es un número impar, el valor se vuelve negativo, de lo contrario, el número es positivo.
- Después de recorrer todos los niveles, tengo que declarar todos los valores a 0.
- El texto mostrado simplemente borra los caracteres enviados. Si los códigos envían una palabra con 4 caracteres, solo estos 4 caracteres se recargarán. Si la palabra anterior tenía más caracteres, los caracteres permanecerán. Para solucionarlo, el texto mostrado se rellenará con espacios en blanco. Se volverán a cargar los 16 caracteres seguidos.
Se adjunta el código final.
Paso 3: hardware
Hardware
Las piezas se enumeran arriba. Para este proyecto, el hardware es simple. Solo necesito un microprocesador Arduino, 2 botones y una pantalla. De acuerdo, si desea poner una caja, también necesita una caja y una fuente de alimentación.
Reutilizo una vieja caja de metal. Taladré un agujero en el botón para conectar el interruptor de la fuente de alimentación. La tapa de la caja tiene 3 agujeros. Perforé dos agujeros para los botones grandes y corté una ventana para la pantalla. Pego un pequeño trozo de madera detrás de la cubierta para tener más cosas para arreglar la pantalla y los botones. Para mejorar el aspecto, la caja tiene pegatinas.
Para el suministro de energía, recomiendo baterías de bloque recargables de 9V. Conecto la batería a través del interruptor de encendido al Arduino. La batería se fija a la caja con un pequeño ángulo de metal. El conector de la batería se fija simplemente con bridas.
El microprocesador es un clon de un nano Arduino. Para este caso de uso, el rendimiento es suficiente. Un Attiny 85, por ejemplo un microprocesador Digispark, fue rechazado. El Arduino está "con tablas de pan" al lado de la pantalla.
La pantalla es una pantalla LCD 1602. puede utilizar 16 caracteres en dos filas. Puede encontrar esta pantalla en muchas máquinas y herramientas diferentes. Hay dos formas diferentes de utilizar esta pantalla. Puede conectar la pantalla directamente al controlador o puede utilizar un complemento para comunicarse con la pantalla a través de I2C. I2C es un protocolo estándar. Lo usé porque es más fácil conectar la pantalla al controlador. Solo necesita 4 cables en lugar de 16, VCC a 5V, GND a GND, SDA a A4, SCL a A5. La pantalla se fija mediante tornillos a la tapa de la caja.
¡Los botones son enormes! tienen el típico estilo de juego de arcade. ¡Me gusta esto! Los botones están conectados a los pines digitales 4 y 7. ¡No olvide las resistencias de 10K!
Para abrir la tapa, por ejemplo para cambiar la batería, utilicé cables más largos enchufados a la placa de pruebas.
Paso 4: cableado
Paso 5: mejora futura
Mejora futura
Después de terminar un proyecto, siempre encuentra errores o características para mejorar. En este proyecto, estoy feliz de encontrar solo algunos puntos, mejoraría para el futuro.
Para la próxima vez, mejoraría la explotación en la caja. Arreglé la pantalla, el interruptor de encendido y los botones al comienzo de este proyecto. Al final, tuve un pequeño problema para encontrar suficiente espacio para la batería y el microprocesador en la caja. Cuando puse el botón y la pantalla más afuera, no tendría ningún problema con el espacio para las piezas dentro de la caja.
Por el momento no tengo un caso de uso para resolver ecuaciones cuadráticas. Para mejorar la herramienta, me gustaría ampliar la herramienta con más cosas matemáticas, por ejemplo, cálculo básico o fórmulas como la fórmula binominal o la oración de Pitágoras.
Recomendado:
Interruptor de relé de dos botones: 3 pasos
Interruptor de relé de dos botones: este artículo le muestra cómo encender y apagar el interruptor de botón. Este circuito se puede hacer con dos interruptores. Presiona un interruptor y la bombilla se enciende. Presiona otro interruptor y la bombilla se apaga. Sin embargo, este Ins
Solucionador con los ojos vendados del cubo de Rubik en tiempo real con Raspberry Pi y OpenCV: 4 pasos
Solucionador con los ojos vendados del cubo de Rubik en tiempo real con Raspberry Pi y OpenCV: esta es la segunda versión de la herramienta del cubo de Rubik hecha para resolver con los ojos vendados. La 1ª versión fue desarrollada por javascript, se puede ver el proyecto RubiksCubeBlindfolded1A diferencia de la anterior, esta versión utiliza la librería OpenCV para detectar los colores y e
Q-Bot: el solucionador de cubos de Rubik de código abierto: 7 pasos (con imágenes)
Q-Bot: el solucionador de cubos de Rubik de código abierto: imagina que tienes un cubo de Rubik revuelto, conoces ese rompecabezas de los 80 que todo el mundo tiene pero nadie sabe realmente cómo resolverlo y quieres devolverlo a su patrón original. Afortunadamente en estos días es muy fácil encontrar instrucciones de resolución
Arduino Mega Stepper Shield para un solucionador de cubos de Rubiks: 4 pasos
Arduino Mega Stepper Shield para un solucionador de cubos de Rubiks: Hace un tiempo estaba trabajando en una máquina que resuelve automáticamente cualquier cubo de Rubiks 3x3 codificado. Puedes ver mis instrucciones sobre eso aquí. En el proyecto, se utilizaron controladores paso a paso de polulu para impulsar seis motores. Para hacer dos, conectar estos d
Generación de tonos de diferentes tipos usando ecuaciones matemáticas (MathsMusic) Arduino: 5 pasos
Generación de tonos de diferentes tipos usando ecuaciones matemáticas (MathsMusic) Arduino: Descripción del proyecto: Ha comenzado un nuevo viaje donde las ideas se pueden implementar fácilmente utilizando la comunidad de código abierto (gracias a Arduino). Así que aquí hay una manera · Mire a su alrededor y observe su entorno · Descubra los problemas que deben ser