Superámbito: Simulación de circuito a través de la interfaz de procesamiento de Arduino (4 / 5 paso)

Paso 4: UF... sólo 94 líneas esta vez

El código de Arduino:
///////////////////////////////

#include < math.h >

byte chargePin = 9;
byte triggerPin = 8;
byte noninvertingPin = A0;
byte invertingPin = A1;
Float constRes = 100;
timeStart largo sin firmar;
timeEnd largo sin firmar;
timeDelta largo sin firmar;
capacitancia largo sin firmar;
inductancia largo sin firmar;
resistencia largo sin firmar;
frecuencia de largo sin firmar;
String str;
char c;
void setup() {}
Serial.Begin(9600);
pinMode (chargePin, salida);
pinMode (triggerPin, entrada);
pinMode (noninvertingPin, entrada);
pinMode (invertingPin, entrada);
Str = "";
c = '\n';
}

void loop() {}

while((serial.Available() > 0)) {}

c = Serial.read();
Si (! () c=='\n')) {
Str += c;
}
Else {}
Si (str == "requestFarads") {}
testCapacitance();
Serial.println(Capacitance);
}
else if (str == "requestHenrys") {}
testInductance();
Serial.println(Inductance);
}
else if (str == "requestOhms") {}
testResistance();
Serial.println(Resistance);
}
else if (str == "requestHertz") {}
testFrequency();
Serial.println(Frequency);
}
Str = "";
while(serial.Available() > 0) Serial.read();
}
}

digitalWrite (chargePin, bajo);
}

void testCapacitance () {}
digitalWrite (chargePin, bajo);
while(analogRead(noninvertingPin) > 1) {}
timeStart = micros();
digitalWrite (chargePin, HIGH);
while(!digitalRead(triggerPin)) {if((micros()-timeStart)>5000000) break;}
timeEnd = micros();
timeDelta = timeEnd-timeStart;
capacitancia en nanoFarads
capacitancia = (-1*((timeDelta*1000)/((log((1000000-(1000000*analogRead(invertingPin)/1024)))-log(1000000))*constRes)));
}

void testInductance () {}
digitalWrite (chargePin, bajo);
while(analogRead(noninvertingPin) > 1) {}
timeStart = micros();
digitalWrite (chargePin, HIGH);
while(digitalRead(triggerPin)) {if((micros()-timeStart)>5000000) break;}
timeEnd = micros();
timeDelta = timeEnd-timeStart;
inductancia en nanoHenrys
la inductancia = (-1*((1000*timeDelta*constRes)/(log(1000000*analogRead(invertingPin)/1024)-log(1000000)));
}

void testResistance () {}
digitalWrite (chargePin, HIGH);
Delay(100);
resistencia = (float(analogRead(noninvertingPin))*100)/(1024-float(analogRead(noninvertingPin)));
}

void testFrequency () {}
frecuencia = pulseIn (triggerPin, HIGH);
frecuencia += pulseIn (triggerPin, bajo);
frecuencia = 1/frecuencia;
}

Artículos Relacionados

Construir un tablero de circuitos de transistor para control mando de aire acondicionado con Arduino

Construir un tablero de circuitos de transistor para control mando de aire acondicionado con Arduino

yo estuve apoyando un grupo de estudiantes en su proyecto de graduación. Una de las dificultades fue el control de una unidad de aire acondicionado con microcontrolador Arduino.El primer experimento que tratamos de resolverla era por registro la seña
Cualquier circuito con un control remoto de la TV (y un Arduino) de control

Cualquier circuito con un control remoto de la TV (y un Arduino) de control

La mayoría de los botones de un mando nunca se utiliza. Así que por qué no usarlos para controlar electrodomésticos y otros aparatos electrónicos en su casa. En este proyecto, voy a mostrarle cómo utilizar un Arduino para decodificar la señal del con
Medición de corriente directa a través de una interfaz de computadora.

Medición de corriente directa a través de una interfaz de computadora.

Siempre quise medir remotamente la corriente de mi controlador de carga solar mppt y a mis inversores, pero la idea de utilizar derivaciones de corriente no era factible ya que yo no puedo amplificar las señales de milivoltios a través de ellas.Viene
Pantalla super tamaño de fuente en las pantallas de 20 X 4 caracteres HD44780 con Arduino

Pantalla super tamaño de fuente en las pantallas de 20 X 4 caracteres HD44780 con Arduino

he creado una biblioteca de arduino para mostrar caracteres de gran tamaños en las pantallas de 20 X 4 caracteres HD44780.En la imagen adjunta puede ver cómo los personajes se comparan con los caracteres estándar.La pantalla puede mostrar cuatro cara
Otro preludio de automatización - clonación de un mando a distancia

Otro preludio de automatización - clonación de un mando a distancia

Hace unos días publiqué un IBLE de cómo hackear un mando a distancia.Al tiempo, mi mente estaba obsesionada en conseguir una casa proyecto de automatización se inició tan pronto como sea posible, y decidí tomar la ruta como se muestra en el mencionad
Niños de pantalla temporizador con Arduino

Niños de pantalla temporizador con Arduino

Este dispositivo da un padre realmente robusto medio de controlar la cantidad de tiempo en pantalla (TV / DVD / consola) los niños tienen cada día. Trabaja por tener un interruptor de tiempo inteligente que controla la señal HDMI pasando entre un dis
Tutorial 7-llave rueda deslizante con sintetizador

Tutorial 7-llave rueda deslizante con sintetizador

Este es un tutorial para usar el 7-tecla Slider/rueda Breakout de electrónica de Rachel.Te voy a mostrar cómo la soldadura de los pines de la rúbrica de máxima usabilidad. Rachel tiene la QT1106 hoja de datos en su sitio y una gran biblioteca de ardu
Cómo subir apuntes a Pro Micro/Leonardo vía bluetooth serial

Cómo subir apuntes a Pro Micro/Leonardo vía bluetooth serial

Usando el bootloader Optiboot con ATmega32U4 basado en Arduino para subir bocetos vía hardware UART y el módulo Bluetooth en vez de USBAmpliando las instrucciones de hacer aquí:http://Makezine.com/projects/DIY-Arduino-Bluetooth-Programming-Shield/Vam
Simulación de inversor puente H con NI Multisim y la simulación utilizando NI LabVIEW

Simulación de inversor puente H con NI Multisim y la simulación utilizando NI LabVIEW

Hola,La mayoría de nosotros está familiarizada con la realización de simulación de circuitos de electrónica de potencia utilizando Matlab, PSpice, PSim etc., en este artículo veremos cómo realizar la misma simulación de electrónica de potencia con NI
Tiempo de alta calidad bajo costo Arduino / smartphone detonador (o el interruptor de tiempo controlada): el 2016 super noob friendly manera!

Tiempo de alta calidad bajo costo Arduino / smartphone detonador (o el interruptor de tiempo controlada): el 2016 super noob friendly manera!

Este instructable es significado para cualquier persona que quiera aprender a hacer un tiempo apropiado o detonador de smartphone controlado. Personalmente esto utilizado para disparar mi pyro en año nuevo a la medianoche exactamente. Voy a ir a trav
Reginald: UDP vigilancia bot; control a través de Internet

Reginald: UDP vigilancia bot; control a través de Internet

Reginald iniciado desde la simple, pero audaz idea para controlar un robot desde cualquier lugar del mundo con un video en vivo. Lo que no estaba esperando era Reginald a convertirse en un proyecto rico involucrados, de característica. Con mi trabajo
Charlieplexed Arduino 8 x 8 LED red de protectores de pantalla hechos y simular circuitos 123D

Charlieplexed Arduino 8 x 8 LED red de protectores de pantalla hechos y simular circuitos 123D

edita: Wow, esto ganó un premio impresionante! Muchas gracias chicos!Charlieplexing (http://wealoneonearth.blogspot.nl/2013/03/design-note-charlieplexing-led-matrices.html) es un método poderoso para conducir a un gran número de LEDs de una cantidad
Circuito tarjeta escriba - dibujar tus propias tarjetas electrónicas.

Circuito tarjeta escriba - dibujar tus propias tarjetas electrónicas.

En estas instrucciones te mostramos cómo crear una tarjeta del light-up con circuito Escribano, 2 LEDs y una hoja de papel de impresión estándar.Aquí es lo que necesitarás:Pluma de tinta conductora de Scribe de circuitoUn lápiz y una goma de borrar8.
La linterna Super Capacitor con el encargo y voltaje Booster

La linterna Super Capacitor con el encargo y voltaje Booster

Hola todo el mundo!VEA NUESTRA CAMPAÑA DE KICKSTARTER LINTERNA SUPER CAPACITOR:http://www.Kickstarter.com/projects/172204344/The-Forever-Rechargeable-Talking-super-capacitor-f?Ref=LiveEstoy un poco de un fanático de condensador estupendo, y he hecho