Tabla de contenido:

Solucionador de ecuaciones cuadráticas de 2 botones: 5 pasos
Solucionador de ecuaciones cuadráticas de 2 botones: 5 pasos

Video: Solucionador de ecuaciones cuadráticas de 2 botones: 5 pasos

Video: Solucionador de ecuaciones cuadráticas de 2 botones: 5 pasos
Video: ECUACIONES DE SEGUNDO GRADO POR FORMULA GENERAL Super facil -Para principiantes 2024, Noviembre
Anonim
Image
Image

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

Software
Software

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
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
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

Alambrado
Alambrado

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: