AllSense: Una multi-herramienta electrónica (4 / 6 paso)

Paso 4: El código

Tenemos toda la electrónica lista para usar ahora, así que vamos a cargar el código. He puesto un enlace de más abajo que te llevará a un público esencial en GitHub donde puede ver todos mi código en un formato perfecto, porque el código mantenido cambiante y desordenado un poco cuando directamente pegarlo como código aquí, pero lo he hecho dos maneras. También debe haber un archivo ".ino" en este paso que se descargará como un archivo IDE para abrir con el programa de código de Arduino.

Enlace de GitHub.

Como habrás dado cuenta, al principio del código incluyo algunas bibliotecas, por lo que he subido todos los que he utilizado y que no vienen ya con el programa de Arduino para este paso. Si no sabes cómo instalar bibliotecas revisa este tutorial de Arduino que lo explica muy bien: bibliotecas LiquidCrystal la Instalación de bibliotecasy el alambre están ya vienen con el programa.

Si desea cambiar el tiempo de para que la pantalla permanece encendida luego cambiar el valor que tiene que llegar en el estado mientras que en la línea 60. O si desea cambiar el tiempo entre cada actualización de las lecturas de entonces cambiar el delay() en línea 127.

Y si la lectura de EMF siempre es alta o no alta, entonces puede jugar con if declaraciones a partir de la línea 99, cambiando los valores según el problema.

Por favor lea los comentarios para entender el código. La parte entera de la EMF se complica bastante, si desea una explicación más detallada sobre esta parte revisa este enlace: http://www.aaronalai.com/emf-detector

 #include <dht.h> //Here we include all the libraries that we downloaded...#include <BMP085.h>#include <Wire.h>#include <LiquidCrystal.h> #define dht_apin A2 //saying what pin the DHT module should read the info.#define NUMREADINGS 15 // here we are defining NUMREADINGS as 15 data values; raise this number to increase data smoothing. This is for the EMF. int senseLimit = 15;int probePin = A0; //setting probePin as analog 0.int val = 0; // reading from probePin dht DHT; BMP085 bmp; LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //starting the lcd with the pins we assigned. const int inUse = 8; //this will be the pin where the tilt switch is connected to.int i = 0;const int screen = 6; int readings[NUMREADINGS]; // the readings from the analog inputint index = 0; // the index of the current readingint total = 0; // the running totalint average = 0; void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); Serial.begin(9600); bmp.begin(); // Print a message to the LCD. pinMode(inUse, INPUT); pinMode(screen, OUTPUT); for (int i = 0; i < NUMREADINGS; i++) readings[i] = 0;} void loop() { i = 0; if (digitalRead(inUse) == HIGH) { lcd.clear(); digitalWrite(screen, LOW); } else { while (i < 30) { digitalWrite(screen, HIGH); DHT.read11(dht_apin); // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): //Print a message to second line of LCD lcd.clear(); lcd.setCursor(8, 0); lcd.print((bmp.readPressure() + 2000) / 100); Serial.println(bmp.readPressure()); lcd.print("hPa"); lcd.setCursor(1, 1); lcd.print(DHT.humidity); Serial.println(DHT.humidity); lcd.print("%"); lcd.print(" "); lcd.print(DHT.temperature); lcd.print("C"); val = analogRead(probePin); // take a reading from the probe lcd.setCursor(0, 0); lcd.print("IE"); if (val >= 1) { // if the reading isn't zero, proceed val = constrain(val, 1, senseLimit); // turn any reading higher than the senseLimit value into the senseLimit value val = map(val, 1, senseLimit, 1, 1023); // remap the constrained value within a 1 to 1023 range total -= readings[index]; // subtract the last reading readings[index] = val; // read from the sensor total += readings[index]; // add the reading to the total index = (index + 1); // advance to the next index if (index >= NUMREADINGS) { // if we're at the end of the array... index = 0; // ...wrap around to the beginning } average = total / NUMREADINGS; Serial.println(average); if (average > 150) { //checking the value of the average and printing a ">" if it's significant. lcd.print(">"); } if (average > 350) { //checking again, but this time for a higher value. lcd.print(">"); } if (average > 550) { // and so on... lcd.print(">"); } if (average > 750) { lcd.print(">"); } if (average > 950) { lcd.print(">"); } } i += 1; delay(1000); } }} 

Artículos Relacionados

CÓMO HACER UNA BATERÍA ELECTRÓNICA. (no un dechado de MIDI) aka KIDU

CÓMO HACER UNA BATERÍA ELECTRÓNICA. (no un dechado de MIDI) aka KIDU

Este instructable va a sersobre la construcción de una batería electrónica (no un MIDI sampler.), utilizando un Arduino UNO R3.,similares a una V-DRUM. Es código denominado KIDU.(Kompact inteligente unidad tamborileo). Algunos de los artículos usados
Palanca la herramienta electrónica

Palanca la herramienta electrónica

Antes de que pueda diagnóstico de cualquier tipo de problemas electrónicos en un dispositivo primero tienes que abrir la caja de lo que está tratando de solucionar.En el día cualquier carcasa electrónica fue tornillo juntos pero ahora en día todo se
Crack y reiniciar una caja fuerte electrónica

Crack y reiniciar una caja fuerte electrónica

cuento largo, si he quitado el contenido de la caja fuerte de un amigo, pude conservar la caja fuerte... por qué no darle un tiro.Paso 1: decidir cómo iniciar había sé había un rojo restablece botón dentro de la caja de seguridad y cómo se utiliza, p
Resultar un desgastado calcetín en una manga de electrónica

Resultar un desgastado calcetín en una manga de electrónica

¿usted deshacerse de los calcetines cuando son usados a través de? Bien este instructable le mostrará cómo ahorrar la buena parte y reutilizarla para sostener sus varios electrónicos portátiles. Perfecto para la protección de iPods, cámaras digitales
Una multi herramienta alternativa más barata – pequeña bolsa de trashed tubo interno

Una multi herramienta alternativa más barata – pequeña bolsa de trashed tubo interno

Cuando vayas a dar un paseo, especialmente para uno largo, es super importante tener con usted una herramienta en caso de que necesite ajustar los frenos, reparación de pisos etc.. Todo el mundo lo sabe.En mi experiencia las situaciones que requiere
Componente de plomo doblez herramienta electrónica

Componente de plomo doblez herramienta electrónica

durante el montaje de un circuito es muy común conectar una resistencia u otro componente para abarcar una distancia en la tabla. Esto es cierto con estructuras del PCB, pero sobre todo con perfboards. Para obtener un producto final de mirada limpio
Usos de una multi-herramienta

Usos de una multi-herramienta

Paso 1: sacacorchos Se utiliza para desenroscar tapones. Meter el sacacorchos en el corcho y girar izquierda o derecha. Tapones de corcho se encuentran generalmente en botellas de vino u otros tipos de botellas de vidrio.¿Paso 2:? No tienen idea lo q
Crear una simple cerradura electrónica con RFID utilizando una RC522

Crear una simple cerradura electrónica con RFID utilizando una RC522

Se trata de un simple tutorial de como hacer un bloqueo controlado con etiquetas RFID. Os muestro unos mecanismos de bloqueo simple y también cómo descargar y configurar el módulo lector de RFID de RC522. Toda la información está en el video.El códig
Kit de herramienta tres de electrónica.

Kit de herramienta tres de electrónica.

Este kit es tres simples herramientas electrónicas. Un probador de continuidad, polaridad y lógica. Algo que piensas que nunca utilizará hasta que usted los necesita. Herethee son en caja de tamaño de un bolsillo.Un soldador puede ser mejor amigo de
Una 200 vatios Carga electrónica DC

Una 200 vatios Carga electrónica DC

Aquí uno puede encontrar a una guía en la construcción de una buena carga electrónica DC
LEGO electrónica DL-44 Blaster (luz y sonido)

LEGO electrónica DL-44 Blaster (luz y sonido)

Actualización: este proyecto ya está disponible en Ideas LEGO --tan seguro apoyo si desea verlo a la venta en tiendas algún día!Construido originalmente para el año 2014 de día de Star Wars, les presento a un proyecto que he estado constantemente rev
Electrónica de papel: Conductoras pinturas, tintas y más

Electrónica de papel: Conductoras pinturas, tintas y más

Este Instructable es todo acerca de la increíble tecnología de electrónica de papel y materiales conductores. En lugar de utilizar alambres difíciles y sus habilidades de soldaduras oxidadas cuidadosamente conectar componentes, ¿por qué no usar pintu
Kit de electrónica para principiantes

Kit de electrónica para principiantes

En este Instructable le mostrará cómo montar un inventario que debe contener todo que lo necesario para proyectos de electrónica básica de componentes, herramientas y frases técnicas. También se sugieren proyectos que sentía me ayudaron aún más mis c
Batería electrónica Lingo

Batería electrónica Lingo

En este tutorial explico algunos de los términos utilizan por DIY'ers cuando se habla de tambores electrónicos y accesorios relacionados.Intento agregar imágenes cuando estén disponibles para apoyar mejor a las definiciones dadas.Paso 1: La diferenci