Python/Arduino Serial controlador: Horno casero (5 / 8 paso)

Paso 5: La entretela y recopilación de datos

* tenga en cuenta que los archivos de software aquí se dividen en secciones individuales.

La interfaz es una capa de código python que actúa sobre el protocolo de control de serie. El serie control permitido por el software de protocolo Serial de capa primero y el firmware es mucho más flexible que uno requiere para este proyecto: empecé a escribir el python de código para permitir un programa a ejecutar en el PC, utilizando los recursos informáticos de una CPU, para interactuar con el mundo exterior. Con el código tal como se indica en el paso 1, el PC puede controlar todos los pines digitales, PWM a través del comando analogWrite() y tomar datos analógicos de A0 (o cualquier análogos pins con la modificación del firmware). Además, el firmware puede ser actualizado para ejecutar cualquier segmento de código C de Arduino por simple adición de un bloque adicional caso/rotura al bloque interruptor. En consecuencia, es posible cambiar la estructura de I/O sobre la marcha (a través de la adición de un bloque de caso/break que contiene una declaración pinMode()), o añadir cualquier número de características útiles. Decidí mantener el firmware relativamente simple para este proyecto, apoyando sólo los comandos básicos, porque sabía que no necesitaría acceder a las funciones superiores durante horno funciona.

Además, para hacer el mayor nivel de codificación más legible, he añadido un conjunto de funciones que encapsula todas las funciones de I/O específicas para este proyecto, tales como fanOn() y fanOff() para el ventilador controla, para permitir que el GUI de código sin tener directamente llamar a los programas de control serial. Esto permitió a pruebas independientes de los códigos de encapsulación (es decir, pude probar fanOff(), y una vez que trabajaba, no tenía que preocuparse por las cuestiones de coordinación cuando la llamé desde el software GUI).

La colección de los datos de termopar no es diferente de los mecanismos de control: usa una función de encapsulación para reunir datos analogRead() y guardar los datos (para posterior análisis y on-the-fly visualización gráfica). La función de captura de datos de termopar también encapsula las funciones de recogida de datos, para que los datos se graban y el expediente de ejecución se actualiza cada vez que se toma una medición.

Se habilita la funcionalidad del GUI por el paquete de gráficos de Zelle, un paquete de gráficos fáciles de usar, de bajo consumo para python. Elegí el paquete Zelle sobre python más sofisticadas opciones de gráficos para su facilidad de uso y requisitos de recursos de sistema relativamente bajo. El GUI está configurado como un bucle while() principal, en el que la ventana es encuestada periódicamente con checkMouse(), lo que permite el programa realizar acciones autónomas (por ejemplo, el termopar, la lectura cada cierto tiempo) mientras se espera la entrada del usuario. También aparece la ventana gráfico de como el tiempo de la tirada completa de datos del termopar, que se actualización cada vez que se toma una nueva lectura.

Al final de una carrera, el récord de la carrera se guarda en un archivo de texto mediante un procedimiento de file.write de python simple. A lo largo de la carrera, cada vez que se toma una medición, las estadísticas de ese momento: el momento en que la grabación, el termopar lectura, estado del ventilador, estado de la fuente de oxígeno y número de adiciones de combustible, se añaden a una lista. Cuando se llaman a los función de ahorro de datos, esta lista se escribe en un archivo de texto para que el funcionamiento puede ser más analizado más adelante.

Artículos Relacionados

Arduino garaje controlador

Arduino garaje controlador

este es mi primer Instructable, así que fácil me! :-)Aunque hay muchos proyectos de puerta de garaje en Instructables con Arduinos, necesario/quería algo diferente. El año pasado, tuvimos un verano caliente y cuando llego casa después del trabajo, de
Arduino serial UART desplazamiento pantalla terminal utilizando un TFT de 2.2"

Arduino serial UART desplazamiento pantalla terminal utilizando un TFT de 2.2"

Yo he estado haciendo proyectos en torno a una 2.2" pantalla TFT que usa el chip de controlador de ILI9341, esta pantalla puede conectarse y controlada por un Arduino UNO. Un poco de fondo como la lectura te puede encontrar mi instructable aquí útil.
3 canal arduino Powered controlador de luces de Navidad!

3 canal arduino Powered controlador de luces de Navidad!

Para Navidad este año, quise hacer un proyecto genial pero bastante no sabía qué hacer. Como me estaba poniendo la salida de luces de Navidad para decorar, había un viejo temporizador de luz de Navidad roto. Tomé distancia y miró a su alrededor en el
Función de Arduino Serial.read() y Serial.readString()

Función de Arduino Serial.read() y Serial.readString()

Serial monitor de Arduino es una característica muy útil. Serie se utiliza para ver recibir datos, enviar datos, imprimir datos y así sucesivamente. Serie monitor está conectado con el Arduino a través de comunicación serial. Esta comunicación serial
Frambuesa Pi - comunicación de Arduino Serial

Frambuesa Pi - comunicación de Arduino Serial

En este proyecto, vamos a hacer una comunicación entre Arduino y frambuesa Pi que transfieren información vital mediante el envío de bits de datos uno a la vez.Serie de comunicaciones es esenciales para cada Micro controladores para la comunicación e
Frambuesa Pi + Arduino Serial con pantalla LCD

Frambuesa Pi + Arduino Serial con pantalla LCD

IntroducciónEste es mi LCD de información frambuesa Pi, quería intentar y conseguir el Arduino y frambuesa Pi hablando entre sí a través de USB serial e hice este pequeño proyecto.El Raspberry Pi utiliza un script en python para obtener los datos y e
Intel Edison Arduino serial para comunicación serie de proceso de Host

Intel Edison Arduino serial para comunicación serie de proceso de Host

El breakout de Intel Edison Arduino es un mini ordenador basado en linux que puede ser programado usando el IDE de Arduino y el marco. También puede ser programado como cualquier otro sistema de Linux en C/C++, Python, node.js y muchos otros idiomas.
Maestro de acordeón - un sintetizador de música python/arduino

Maestro de acordeón - un sintetizador de música python/arduino

Este proyecto fue creado por un equipo de tres estudiantes de la Universidad de Pennsylvania en MHacks 2014 Detroit (un fin de semana Hackathon). El objetivo de este proyecto es crear un sintetizador de música que genera tonos basados en gestos del u
Arduino Aquaponics: Controlador de bomba de JSON

Arduino Aquaponics: Controlador de bomba de JSON

cuando empezamos a desarrollar el Controlador acuaponia nos dimos cuenta de que queríamos una sola unidad que puede manejar múltiples situaciones.  Algunos sistemas de acuaponia de inundación y desagüe cambiar la bomba enciende y apaga en intervalos
Fácil reconocimiento de voz - habla a tu Arduino Serial Cable

Fácil reconocimiento de voz - habla a tu Arduino Serial Cable

Por qué utilizar escudo de reconocimiento de voz mientras tenga esta característica desde tu smartphone (Android). En este tutorial sabes como fácil de usar reconocimiento de voz para comandos de voz enviar a tu Arduino usando la aplicación BlueAct.U
Enchufe y juego Arduino temperatura controlador

Enchufe y juego Arduino temperatura controlador

He visto algunos proyectos de los controlador de temperatura diferentes aquí. Yo quería crear uno, con las siguientes restricciones:Aparato "tonto" controlado puede conectarse directamente a la unidad. No quiero hackear en el dispositivo, pero l
Arduino escritorio controlador de ventilador

Arduino escritorio controlador de ventilador

Cuando cambié recientemente papeles dentro de la empresa, me trasladé a sitios, pasando de Bradford a nuestra sede en Wakefield. Le dije adiós a mi fiel escritorio antiguo con deben tener ventilador de escritorio para mantenerme fresco mientras todo
Cómo usar el MONITOR de ARDUINO SERIAL

Cómo usar el MONITOR de ARDUINO SERIAL

El IDE de Arduino tiene una característica que puede ser de gran ayuda en la depuración de bocetos o controlar Arduino desde el teclado del ordenador.El Monitor de la serie es una ventana emergente independiente que actúa como una terminal independie
Usando arduino Serial UART 16 x 2 LCD

Usando arduino Serial UART 16 x 2 LCD

El serial UART 16 × 2 LCD le permite controlar un LCD paralelo basadosobre una interfaz serial de un alambre. La LCD serial se encarga de todos los comandos de HD44780 lo que permite una perfecta integración con cualquier micro que puede comunicarse