Medidor de calidad de vida (4 / 10 paso)

Paso 4: Firmware

El código se ejecuta en tres pasos generales: 1) leer en y dividir la posición de bote, 2) decidir qué Mostrar, 3) salida el comando apropiado a la 595.

Paso 1 se encuentra en su propia función definida por el usuario. Lee en el pin analógico conectado el potenciómetro. Esto resultará en una lectura entre 0-682 (Recuerde que estamos a 3, 3V, no 5). A continuación queremos devolver un valor de 0-11, que representan a los 11 segmentos en nuestro termómetro, al programa principal. Para ello se realiza un número entero en la entrada con el tamaño de un segmento, 62 (682/11 = 62). El uso de división de entero, que utiliza sólo números enteros, no es un error, que permite la función devolver un número entero sin dar el paso extra de redondear el resultado con otra línea de código.

Una vez salida del segmento que la olla está indicando que el código necesita correlacionar ese número a la secuencia binaria que se encenderá el LED correspondiente. Los valores decimales que convierten a las secuencias binarias adecuadas para controlar el 595 se almacenan en una matriz donde su posición en el array convenientemente es la misma que la salida de la olla.

El paso final es hacer los comandos de 595. La orden de operaciones es desactivar la clavija de enganche, prevenir los LED cambien mientras se escriben los nuevos comandos, utilice el cambio de comando para enviar las cadenas binarias mediante el pin de datos, que utiliza el pin de reloj para distinguir pedacitos, y finalmente reactivar la clavija de enganche para los nuevos datos de salida a través de todos los pernos al mismo tiempo.

2 prueba de LED con 74HC595 //by Bwrussell 2013 / / / * * este programa es software libre; Usted puede redistribuirlo y/o modificar * bajo los términos de la GNU General Public License publicada por * la Free Software Foundation; sea versión 2 de la licencia, o * (a su opción) cualquier versión posterior. ** Este programa es distribuido con la esperanza de que sea útil, * pero sin ninguna garantía; ni siquiera la garantía implícita de * comerciabilidad o aptitud para un propósito PARTICULAR. Ver la * GNU General Public License para más detalles. * / //74HC595-Arduino definiciones de pines de interfaz //Pin conectado al ST_CP de 74HC595 int latchPin = 8; PIN conectado a SH_CP de 74HC595 int clockPin = 12; PIN conectado a DS de 74HC595 int dataPin = 11; PIN conectado al pin de barrido de la olla #define potPin A5 //arrays que mantienen los Estados LED para cada posición de la olla, uno para cada 595 int ledStatesA [] = {1,2,6,14,30,62,126,254,254,254,254,254}; int ledStatesB [] = {0,0,0,0,0,0,0,0,1,3,7,15}; Variable Defs int knobPosition; void setup() {//Start serie para debuging propósitos Serial.begin(9600); //set pins a la salida porque se abordan en el bucle principal pinMode (latchPin, salida); pinMode (clockPin, salida); pinMode (dataPin, salida);} void loop() {knobPosition = potRead(); digitalWrite (latchPin, 0); //send datos para el segundo 595 shiftOut (8-11) (dataPin, clockPin, ledStatesB[knobPosition]); //cosend datos a la primera 595 (0-7) shiftOut (dataPin, clockPin, ledStatesA[knobPosition]); //return la clavija de enganche de alta señal de chip eso él //no más tiempo necesita para escuchar la información digitalWrite (latchPin , 1); } anular shiftOut (int myDataPin, int myClockPin, byte myDataOut) {/ / Esto desplaza 8 bits a MSB primero, //on el flanco ascendente del reloj, //clock huelga //internal baja función configuración int i = 0; int pinState; pinMode (myClockPin, salida); pinMode (myDataPin, salida); //clear todo por si acaso a cambio de //prepare inscribirse en poco cambio digitalWrite (myDataPin, 0); digitalWrite (myClockPin, 0); para (me = 7; i > = 0; i--) {digitalWrite (myClockPin , 0); Si (myDataOut & (1 << i)) {pinState = 1;} else {pinState = 0;} //Sets el perno a alta o baja dependiendo de pinState digitalWrite (myDataPin, pinState); registro de cambios de brocas en carrera ascendente del reloj pin digitalWrite (myClockPin, 1); cero el pin de datos después de turno para evitar sangrado por digitalWrite (myDataPin, 0); } //stop cambio digitalWrite (myClockPin, 0); } / / Función para la lectura y segmanting la olla entrada int potRead () {int potRaw = 0; //read en la posición de la olla crudos, con un promedio de más de 5 muestras para (int i = 0; me < 5; i ++) {potRaw = potRaw + analogRead(potPin);} potRaw = potRaw/5; //segment los datos en bruto en 12 segmants igual, devuelve un valor 0-11 int potPosition = potRaw / 60; //Use 60 para 3.3V, 93 de 5V a través de la //send pot el segmento actual al bucle principal retorno potPosition;}

El código fuente está disponible en el archivo .zip (no subir el .ino) y un archivo de texto plano.

Sólo un conector rápido: en algunas de las pruebas iniciales utiliza la aplicación de ArduinoDroid bastante nueva para Android. Es bastante impresionante por lo que es. Permite escribir código de Arduino, con códigos de color y compilar, como en cualquier lugar, en la hora del almuerzo en el trabajo. Con un cable USB adecuado también puede poder y subir a una placa Arduino. Hay algunas otras características que no he utilizado todavía como control de Bluetooth y tal pero para una máquina en movimiento o trabajo de campo esta aplicación es fenomenal. Yo muy recomendable especialmente ya que es totalmente libre (ad apoyado) y sin restricciones. Si lo desea puede pagar un honorario nominal para quitar los anuncios y apoyar el desarrollo. No sé quién es el desarrollador pero rock.

Artículos Relacionados

Calidad de vida medidor Mk.2 - inteligente y conectado

Calidad de vida medidor Mk.2 - inteligente y conectado

Hace un tiempo creé un medidor de calidad de vida, basado en una broma corriente en la que trabajo. Esencialmente era una versión de la versión de pizarra con que empezamos LED. Cuando se trabaja en esa primera iteración que sabía que había muchas ma
Cortesía: El vida Ultimate Hack

Cortesía: El vida Ultimate Hack

Cortesía un poco va un largo camino... tal un largo camino, de hecho, que finalmente encuentra es camino de regreso a usted de la manera que son tratados por los demás.Si bien es cierto que "todo lo que hace que su rutina diaria más fácil se puede co
Mi cuarto vacío de la vida

Mi cuarto vacío de la vida

mi nuevo marido y yo somos pobres estudiantes.  Está trabajando en un doctorado en física, y estoy trabajando en Starbucks hasta que mejore el mercado de trabajo.  Tuvimos que mover a Los Alamos, NM, donde hay laboratorios que hacen su investigación
Terrario roca impermeable vivero trabajo para ranas y anfibios

Terrario roca impermeable vivero trabajo para ranas y anfibios

este instructivo le guiará por los pasos necesarios para construir un hábitat animal modificado para requisitos particulares, que proporcionará sus exóticas mascotas un ambiente sano y estimulante.Recinto animal final consiste en un acuario de vidrio
Inteligentes de medición y sistema de control

Inteligentes de medición y sistema de control

El proyecto desarrollará un sistema de monitorización y control inteligente para una casa residencial. La sociedad moderna hoy en día trae una porción de las necesidades de una persona viva mientras que el tiempo para buscar, reparar y comprobar que
Aumento de polillas de seda gigante

Aumento de polillas de seda gigante

Cuando yo era un niño, he encontrado una enorme oruga verde en el patio trasero que parecía tenía mariquitas creciendo fuera de su espalda. Usé mi libro insectos para identificarlo y encontró que se trataba de las larvas de la polilla de Cecropia gig
Carbón energía Generador - generador de gas

Carbón energía Generador - generador de gas

Pregunte a cualquier agricultor, experto en supervivencia, Boy Scout, hippie o prepper y te dicen los usos increíbles de carbón. De mejorar su jardín para filtrado de agua y campo de la medicina. Pero ¿sabía que con unas pocas piezas de chatarra pued
Introducción a la acuaponia

Introducción a la acuaponia

Cuando me enteré acerca de acuaponia, bastante me avivó. Era un concepto extranjero al tiempo, pudiendo crecer peces y plantas en armonía. Ha tomado un par de años, pero finalmente construí un sistema que satisfaga mis necesidades. Fue también un mon
DIY un humidificador automático Simple

DIY un humidificador automático Simple

Vamos a ver el video primero.En la sociedad actual, cada vez más atención a la calidad de vida, buscar el ambiente vivo sano y cómodo. Por lo que hemos hecho este dispositivo para controlar la temperatura y la humedad, cuando la humedad cae por debaj
Robot controlado por cerebro de silla de ruedas

Robot controlado por cerebro de silla de ruedas

presentación de nuestro proyecto de independencia es ampliar nuestras sillas de ruedas Brain-Controlled anterior (1er Premio del desafío de Salud Humana en coordinación con charque) del proyecto en un nuevo diseño que utiliza una combinación revoluci
Cómo fabricar, configurar e instalar una cámara de sistema de copia de seguridad en una silla de ruedas

Cómo fabricar, configurar e instalar una cámara de sistema de copia de seguridad en una silla de ruedas

sistemas de cámara de vista posterior usados en automóviles pueden fabricados, configurados e instalados en sillas de ruedas de manera que los usuarios pueden aumentar su campo de visión. Nuestro objetivo es diseñar a una guía paso a paso que permite
SLO MakerSpace Basic seguridad

SLO MakerSpace Basic seguridad

Cada nuevo miembro de SLO MakerSpace, debe tomar la clase gratis de seguridad y pasar la prueba. Nuestro gurú de la seguridad, Kory, ha preparado este esquema para usted escuchar y revisar.Construir, aprender, hack y cuídate!Descargo de responsabilid
Viviendo en su carro

Viviendo en su carro

vivir en su vehículo es muy fácil y una experiencia de humildad para arrancar!Aquí hay algunas cosas a tener en cuenta cuando vive en su carro...Paso 1: Jerarquía de Maslow de necesidades Tener en cuenta que para sobrevivir y tener una buena calidad
Cómo hacer crecer rápidamente un cabello fuerte y sano

Cómo hacer crecer rápidamente un cabello fuerte y sano

fotógrafo: Stefanie Hodnikhttp://www.photoheart.nl/Hola. hace pocos meses que no pensé mucho sobre el hecho de que cabello necesita para mantenerse sano, también, y usted no puede tratar sin embargo quiero. Aunque el pelo es fuerte, también es muy fr