{"id":3549,"date":"2015-09-28T12:15:36","date_gmt":"2015-09-28T10:15:36","guid":{"rendered":"http:\/\/www.diarioelectronicohoy.com\/blog\/?p=3549"},"modified":"2019-06-13T18:54:02","modified_gmt":"2019-06-13T16:54:02","slug":"sensor-de-corriente-acs712","status":"publish","type":"post","link":"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712","title":{"rendered":"Sensor de Corriente ACS712."},"content":{"rendered":"<h4 style=\"text-align: center;\">LECTOR DE CORRIENTE ACS712.<\/h4>\n<h5 style=\"text-align: right;\">CREADO POR V. GARC\u00cdA. EL 06.09.2015<\/h5>\n<h3>INTRODUCCI\u00d3N.<\/h3>\n<p style=\"text-align: justify;\">En este art\u00edculo describir\u00e9 c\u00f3mo conectar un sensor de corriente <b>ACS715<\/b> a la placa Arduino, y as\u00ed leer la corriente que fluye a trav\u00e9s del mismo. Una vez m\u00e1s, recomiendo que lea las hojas de caracter\u00edsticas del fabricante. El <i>Allegro\u00ae ACS712<\/i> proporciona soluciones econ\u00f3micas y precisas para detecci\u00f3n de CC o CA en el sector industrial, comercial y sistemas de comunicaciones. El paquete del dispositivo permite una f\u00e1cil aplicaci\u00f3n por parte del cliente. Las aplicaciones t\u00edpicas incluyen control del motor, detecci\u00f3n de carga y gesti\u00f3n, fuentes de alimentaci\u00f3n conmutadas, y la protecci\u00f3n de fallo por sobre intensidad.<\/p>\n<h3>EL ACS712.<\/h3>\n<p style=\"text-align: justify;\">El dispositivo consta de un circuito preciso, bajo offset, sensor Hall lineal con una pista de cobre conductor ubicado cerca de la superficie de la matriz. La corriente aplicada que fluye a trav\u00e9s de esta pista de conducci\u00f3n de cobre genera un campo magn\u00e9tico que es detectado por el IC integrado Hall y convertida en una tensi\u00f3n proporcional. La exactitud de los dispositivos se optimiza a trav\u00e9s de la proximidad de la se\u00f1al magn\u00e9tica al transductor Hall. Una tensi\u00f3n precisa, proporcional es proporcionada por el bajo offset, chopper-estabilizado IC BiCMOS Hall, que est\u00e1 programado para la exactitud despu\u00e9s del encapsulado.<\/p>\n<p style=\"text-align: justify;\">Este sensor es un peque\u00f1a placa, que soporta un sensor de corriente de <i>Allegro<\/i>, el <b>ACS715<\/b> 30A est\u00e1 basado en el efecto Hall lineal, que ofrece una baja resistencia (~ 1,2 m\u03a9) al paso de la corriente con un aislamiento el\u00e9ctrico de hasta 2,1 kV RMS, seg\u00fan indica el fabricante. Esta versi\u00f3n acepta una entrada de corriente continua de hasta 30 A y una salida de tensi\u00f3n anal\u00f3gica proporcional (66 mV\/A) que mide 500 mV. Cuando la corriente de entrada es cero. El error de salida t\u00edpico es de \u00b1 1,5%. Opera desde 4,5 V a 5,5 V y est\u00e1 pensado para su uso en sistemas de 5 V.<\/p>\n<p style=\"text-align: justify;\">Este dispositivo es muy sencillo, como se aprecia en la imagen de abajo, dispone de tres pines, Vcc, GND y Salida en un extremo y en el otro, dispone de un conector con dos contactos para leer la corriente que pretendemos medir.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/acs712-1\" rel=\"attachment wp-att-3551\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3551\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/acs712-1.gif\" alt=\"acs712-1\" width=\"241\" height=\"91\" \/><\/a> Fig.1<\/p>\n<p style=\"text-align: justify;\">El espesor de la pista de cobre permite la supervivencia del dispositivo en hasta 5 \u00d7 condiciones de sobre corriente. Los terminales de la pista conductora est\u00e1n el\u00e9ctricamente aislados de los cables de los sensores (pines 5 a 8 en fig. 2). Esto permite que el sensor de corriente ACS712 para ser utilizado en aplicaciones que requieren aislamiento el\u00e9ctrico sin el uso de aisladores \u00f3pticos u otras t\u00e9cnicas de aislamiento costosas.<\/p>\n<p style=\"text-align: justify;\">Mi idea inicial era realizar un volt\u00edmetro para que lo utilice quien quiera y pueda aplicarla a su fuente de alimentaci\u00f3n. Pens\u00e9 que con este elemento se completar\u00eda un dispositivo importante en una fuente de laboratorio, y por ese motivo realic\u00e9 un <a href=\"http:\/\/hispavila.com\/voltimetro-con-arduino\" target=\"_blank\" rel=\"noopener noreferrer\">art\u00edculo que describe<\/a> como aplicar un volt\u00edmetro a cualquier fuente de alimentaci\u00f3n.<\/p>\n<p style=\"text-align: justify;\">Una vez empec\u00e9 el art\u00edculo y a medida que avanzaba me di cuenta que si adem\u00e1s de volt\u00edmetro midiera la corriente de consumo, estar\u00eda m\u00e1s completo y de esta forma tuve que adquirir uno de estos dispositivos, y esa es la raz\u00f3n de este art\u00edculo.\u00a0El esquema pr\u00e1ctico de conexionado es sencillo y f\u00e1cil de entender. Se trata de conectar el sensor en serie con la carga que queremos conocer la corriente de consumo.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/bloques_acs712\" rel=\"attachment wp-att-3553\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3553\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/bloques_acs712-300x152.gif\" alt=\"bloques_acs712\" width=\"300\" height=\"152\" \/><\/a>\u00a0Fig. 2<\/p>\n<p style=\"text-align: justify;\"><b>Tensi\u00f3n de salida en reposo (Viout (Q))<\/b>. La salida del sensor cuando la corriente primaria es cero. Para una tensi\u00f3n de alimentaci\u00f3n unipolar, sigue siendo nominalmente VCC \/ 2. Por lo tanto, cuando\u00a0no hay corriente\u00a0la tensi\u00f3n de salida es VCC \/ 2 = 5 V \/ 2 = 2.5V. La variaci\u00f3n en Viout (Q) se pueden atribuir a la resoluci\u00f3n de la compensaci\u00f3n de tensi\u00f3n de reposo IC Allegro lineal y la deriva t\u00e9rmica. Parece muy\u00a0complicado, lo intentar\u00e9 m\u00e1s sencillo.<\/p>\n<p style=\"text-align: justify;\">Cuando no haya corriente de paso por el sensor, leer\u00e1 CERO, pero esto no va a dar cero en las lecturas. Me voy a explicar, los puertos anal\u00f3gicos en Arduino utilizan un conversor A\/D que va de 0 a 1023, donde el 0 == 0 V y el 1023 == 5 V, como el sensor es bidireccional, cuando el sensor no detecta corriente el voltaje ser\u00e1 de 2,5 V = (VCC \/ 2) y la lectura de Arduino ser\u00e1 algo cercano a 512. Por lo tanto, si la corriente es positiva va a aumentar la lectura y una lectura negativa la\u00a0disminuir\u00e1.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/guia\" rel=\"attachment wp-att-3555\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3555\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/gu\u00eda-300x67.gif\" alt=\"gu\u00eda\" width=\"300\" height=\"67\" \/><\/a>\u00a0Fig. 3<\/p>\n<p style=\"text-align: justify;\">Para comprender mejor esto, supongamos que este sensor mide intensidades entre -5A y +5A (vea su modelo que alcance tiene). Ya que la salida del sensor seg\u00fan la hoja de datos siempre entrega entre 0 y 5 voltios, cuyo valor de 0A se corresponde con los 2.5V en la salida, y por cada amperio la tensi\u00f3n var\u00eda 185 mA. Este sensor puede medir tanto CC como CA, si vemos una sinusoide, el punto m\u00e1s bajo se corresponde con los -5A, de modo que los 2.5V de salida corresponden justo a 0A y los +5A con los 5V, v\u00e9ase la imagen que sigue.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/senovolt\" rel=\"attachment wp-att-3556\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3556\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/senovolt.gif\" alt=\"senovolt\" width=\"284\" height=\"150\" \/><\/a>\u00a0Fig. 4<\/p>\n<p style=\"text-align: justify;\">Espero que haya quedado claro. El modo de conexionado se muestra simb\u00f3licamente en la figura siguiente.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/simbolo_acs712carga-1\" rel=\"attachment wp-att-3557\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3557\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/simbolo_acs712carga-1-300x179.gif\" alt=\"simbolo_acs712+carga-1\" width=\"300\" height=\"179\" \/><\/a>\u00a0Fig. 5<\/p>\n<h3>DESCRIPCI\u00d3N.<\/h3>\n<p style=\"text-align: justify;\">En este sensor podemos ver los siguientes puntos:<\/p>\n<p>1. Sensor de corriente: ACS712 -30A.<br \/>\n2. Tensi\u00f3n de alimentaci\u00f3n, de la placa al pin 5V del Arduino.<br \/>\n3. Este m\u00f3dulo es bidireccional, puede medir desde -30 a + 30A<br \/>\n(equivalente a 66mV \/ A)<br \/>\n4. Tiene una corriente de 0A cuando entrega una tensi\u00f3n de<br \/>\nsalida de VCC \/ 2, es decir, 2,5V<\/p>\n<p style=\"text-align: justify;\"><span class=\"bold\"><strong><span style=\"color: #ff0000;\">\u00a1Advertencia!<\/span><\/strong>:<\/span>Este producto est\u00e1 dise\u00f1ado para su uso por debajo de 30V. Trabajar con voltajes m\u00e1s altos puede ser extremadamente peligroso y s\u00f3lo debe ser manipulado por personas cualificadas con el equipo adecuado y ropa protectora.<\/p>\n<p style=\"text-align: justify;\"><strong>Nota:<\/strong>\u00a0El ACS712 Hall, utiliza el principio de detecci\u00f3n cuando se utiliza para evitar el impacto de campo magn\u00e9tico.<\/p>\n<p style=\"text-align: justify;\">El dispositivo tal cual se adquiere, tiene unas prestaciones ventajosas, ya que est\u00e1 totalmente aislado de la fuente bajo pruebas sin necesidad de separadores especiales, si usted lo aplica directamente. Este es el aspecto de una aplicaci\u00f3n funcionando.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/ampe_acs712p\" rel=\"attachment wp-att-3559\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3559\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/ampe_acs712p.gif\" alt=\"ampe_acs712p\" width=\"266\" height=\"244\" \/><\/a>\u00a0Fig. 6<\/p>\n<p>De hecho, la aplicaci\u00f3n en modo amper\u00edmetro se puede entender como tal ya que se conecta en serie con la carga. Por el momento s\u00f3lo lo he probado en corriente continua y con corrientes de unos pocos amperios.<\/p>\n<h3>SENSOR DE CORRIENTE ACS712.<\/h3>\n<p>C\u00f3digo de ejemplo para visualizar valores del sensor de corriente, en los terminales de salida.<\/p>\n<pre style=\"text-align: justify;\" class=\"\">\u00a0\/\/ sensoracs712.pde\r\n\r\nvoid setup () {\r\n\/\/ Inicializa la comunicaci\u00f3n serial a 9600 bits\r\nSerial.begin (9600);\r\n}\r\n\r\nvoid loop () {\r\n\/\/ Lee el pin de entrada anal\u00f3gica 0 muestra 0-1023:\r\nint SensorValue = analogRead (A0);\r\n\r\n\/\/ Puede hacer cambios para mostrar en Amperaje \r\n\/\/ El siguiente c\u00f3digo le dice al Arduino que el valor le\u00eddo por el sensor \r\n\/\/ debe estar activado de 0-1.023 entre -30 a +30.\r\n\r\nint OutputValue = map (SensorValue, 0, 1023, -30, 30);\r\n\/\/ Mostrar valor le\u00eddo por el sensor:\r\n\r\nSerial.print (\"Sensor: \");\r\nSerial.print (SensorValue);\r\n\r\n\/\/ Espect\u00e1culo valor transformado en amperios:\r\nSerial.print (\" Valor en Amperios: \");\r\nSerial.println (OutputValue);\r\nretardo (100); \/\/ Tiempo entre lecturas\r\n}<\/pre>\n<p style=\"text-align: justify;\">\u00a0Con este boceto, el monitor Serial nos mostrar\u00e1 los valores del sensor y la corriente que circula por el circuito. Podemos observar que las lecturas del A\/D est\u00e1n con valores sobre 512, como se aprecia en la imagen que sigue:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/sensor712\" rel=\"attachment wp-att-3561\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3561\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/sensor712-300x236.gif\" alt=\"sensor712\" width=\"300\" height=\"236\" \/><\/a>\u00a0Fig.\u00a07<\/p>\n<p style=\"text-align: justify;\">El pr\u00f3ximo paso es adecuar en lo posible el c\u00f3digo y mostrar los resultados en una pantalla LCD num\u00e9rica, la misma que nos mostrar\u00e1 la tensi\u00f3n de salida en cada momento. Veamos algunos aspectos que tenemos que adjuntar al c\u00f3digo, como es la librer\u00eda \u2018<em>LiquidCrystal.h<\/em>\u2018 que debemos descargar la \u00faltima versi\u00f3n para evitar sorpresas. Copie y pegue el siguiente c\u00f3digo en su Arduino, dele el nombre <em>amp_acs712.ino<\/em>, c\u00e1rgelo y abra el monitor Serial, compruebe que el resultado es m\u00e1s preciso.<\/p>\n<p style=\"text-align: justify;\">El esquema que vamos a utilizar es el siguiente.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/monitor_amp712\" rel=\"attachment wp-att-3562\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3562\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/monitor_amp712-300x272.gif\" alt=\"monitor_amp712\" width=\"300\" height=\"272\" \/><\/a>\u00a0Fig. 8<\/p>\n<h3>AMPER\u00cdMETRO CON EL ACS712.<\/h3>\n<div class=\"content\" style=\"text-align: justify;\">C\u00f3digo de ejemplo para visualizar valores del sensor de corriente, en los terminales de salida.<\/div>\n<pre class=\"content\" style=\"text-align: justify;\">\/*\r\n\u00a0 amp_acs712.pde\r\nhttp:\/\/www.leandroruiz.com\/blog\/amperimetro-con-arduino\/ \r\nHe modificado la formula de modo que ahora\r\n Funciona muy bien.\r\n*\/\r\n\r\n#include &lt;LiquidCrystal.h&gt; \/\/ lib. LiquidCrystal.h\r\n\/\/ inicializamos la librer\u00eda con los de pines de la interface \r\n\/\/LCD: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (RS,E,D4,D5,D6,D7)\r\nLiquidCrystal lcd(7, 6, 5, 4, 3, 2); \/\/ mi config. \r\nint Zero = 509;\r\nlong Sensor = 0;\r\nint Entradainte = A1; \/\/ intensidad\r\n\r\nvoid setup() {\r\nSerial.begin(9600); \r\n\/\/ Define el n\u00famero de columnas y filas del display\r\nlcd.begin(20, 4);\r\nlcd.setCursor(0,0);\r\nlcd.print(\"Sensor ACS712\"); \r\npinMode(Entradainte, INPUT); \r\ndigitalWrite(Entradainte, LOW); \r\nSerial.println(\"------------------\");\r\nSerial.println(\" AMPERIMETRO DC\");\r\nSerial.println(\"Max. Corriente: \");\r\nSerial.println(\"amperimetro.pde\");\r\ndelay(2000);\r\nlcd.clear(); \r\n}\r\n\r\nvoid loop() {\r\n\/\/ Preparamos el display\r\nlcd.setCursor(0,0);\r\nlcd.print(\"Current meter\");\r\n\r\n\/\/ Realizamos la medida\r\n\/\/ long Sensor = 0;\r\nfor(int i = 0; i &lt; 1000; i++){ \r\n Sensor += analogRead(Entradainte);\r\n}\r\nSensor \/= 1000; \/\/ promedio\r\nfloat Intensidad = (5.0*(float)(Sensor-Zero)\/1024.0)*1000\/66; \/\/ la condici\u00f3n es\r\n\/\/ que el valor de Zero sea el que lee el sensor.\r\nSerial.print(\"Intensidad: \"); \r\nSerial.print(Intensidad); \r\nSerial.println(\" A\");\r\n\/\/ Escribimos el valor\r\nlcd.setCursor(0,1);\r\nlcd.print(\"I = \");\r\nlcd.setCursor(4,1);\r\nlcd.print(Intensidad, 3);\r\nlcd.setCursor(10,1);\r\nlcd.print(\"A\");\r\n\r\n\/\/ Esperamos un poco\r\ndelay(200);\r\n}<\/pre>\n<div class=\"content\" style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">Si usted ha copiado y ejecutado el anterior c\u00f3digo, sin duda que estar\u00e1 notando unos valores que a menudo cambian, unas cuentas arriba-abajo.\u00a0\u00a0Tal vez piense que hay alg\u00fan error y efectivamente, el tipo de error que es muy habitual cuando no se tiene experiencia, es debido a las matem\u00e1ticas. Se produce un desbordamiento en la variable <em>Sensor,<\/em>\u00a0la suma de 1000 lecturas anal\u00f3gicas produce el error, la forma sencilla de solucionar este error, es una cuesti\u00f3n de acoplar el n\u00famero de cuentas para evitar el desborde, es decir, el bucle <em>for<\/em> lo reducimos a 500 pasos y en este caso, resuelto el error. Pruebelo ahora las lecturas son homog\u00e9neas.<\/p>\n<p style=\"text-align: justify;\">En la imagen de abajo se puede apreciar la respuesta en el monitor Serial de Arduino.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/placa-712\" rel=\"attachment wp-att-3563\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3563\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/placa-712-300x163.jpg\" alt=\"placa-712\" width=\"300\" height=\"163\" srcset=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/placa-712-300x163.jpg 300w, https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/placa-712.jpg 654w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\u00a0Fig. 9<\/p>\n<p style=\"text-align: justify;\">Estos son los datos que he extra\u00eddo del c\u00f3digo anterior. Con este c\u00f3digo se puede implementar el volt\u00edmetro junto con el LCD y podemos utilizarlo de forma habitual, sin embargo, intentaremos realizar un c\u00f3digo m\u00e1s completo en el siguiente intento.<\/p>\n<\/div>\n<p><!-- <code>https:\/\/youtu.be\/91AUX2R0Xso --><\/p>\n<div align=\"center\"><iframe loading=\"lazy\" width=\"420\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/91AUX2R0Xso\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><br \/>\nFig. 10 V\u00eddeo del amper\u00edmetro.<\/div>\n<div class=\"content\" style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">Como ya he dicho, este amper\u00edmetro est\u00e1 bastante logrado, en \u00e9l podemos distinguir dos partes, en una se encuentra la electr\u00f3nica para el sensor totalmente aislada de las tensiones y corriente externas que vayamos a mesurar. Por la otra parte, se encuentran las dos tomas o bornas donde conectaremos la carga exterior, que se consideran el amper\u00edmetro propiamente dicho. El esquema a aplicar puede ser el mostrado en la figura 6.<\/p>\n<h3>OTRO PASO M\u00c1S.<\/h3>\n<p style=\"text-align: justify;\">Creo que estamos en el buen camino. Hemos logrado realizar un volt\u00edmetro <a href=\"http:\/\/hispavila.com\/voltimetro-con-arduino\">en este sitio<\/a>, aqu\u00ed, hemos conseguido el amper\u00edmetro y ahora es cuesti\u00f3n de unificar ambos c\u00f3digos y habremos logrado realizar el dispositivo que propici\u00f3 el proyecto. As\u00ed que, manos a la obra, el siguiente es el circuito que nos permitir\u00e1 leer la tensi\u00f3n y la corriente de salida sobre una carga.<\/p>\n<\/div>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/montage_voltamper_1p\" rel=\"attachment wp-att-3564\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3564\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/montage_voltamper_1p-300x281.gif\" alt=\"montage_voltamper_1p\" width=\"300\" height=\"281\" \/><\/a>\u00a0Fgi. 11<\/p>\n<p style=\"text-align: justify;\">En la imagen se muestra un indicador que dice BATER\u00cdA, se refiere a la tensi\u00f3n continua externa (puede se de 5V o m\u00e1s) que se aplicar\u00e1 a la CARGA, mostrada en el otro lateral como ya he dicho, la tensi\u00f3n en ambas tomas o bornas, es distinta de la tensi\u00f3n digital de Arduino o en micro-controlador en uso. Se puede ver el sensor ACS712 y el divisor de tensi\u00f3n implicado en la lectura de la tensi\u00f3n de salida, se evidencian las salidas referidas al pin A0 para la tensi\u00f3n y el pin A1 para la corriente. El condensador de 100nf es para tirar a masa las tensiones esp\u00fareas.<\/p>\n<p style=\"text-align: justify;\">Por lo tanto, s\u00f3lo nos queda a\u00f1adir nuestro t\u00edpico LCD de 2 o 4 l\u00edneas, en mi caso dispongo del 2004A de 4 l\u00edneas que es el que voy a utilizar. He mejorado el circuito y la disposici\u00f3n en la PCB como se puede apreciar, especial atenci\u00f3n a las masas resaltadas en la imagen. En este momento, el montaje se har\u00e1 con el Arduino, posteriormente deber\u00eda utilizarse un Attiny85.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/voltimetro-2\" rel=\"attachment wp-att-3567\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3567\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/voltimetro-300x261.gif\" alt=\"voltimetro\" width=\"300\" height=\"261\" \/><\/a>\u00a0Fig. 12<\/p>\n<p style=\"text-align: justify;\"><strong>Un poco de teor\u00eda.<\/strong> Debido a que el Arduino (UNO, R3, Duemilanove, Diecimila, etc) tiene un ADC de 10 bits, nos entrega una salida entre 0-1023 (1024 pasos) para una entrada 0-5v. Eso es 0.00488V \/ paso. Visita <a href=\"http:\/\/www.hispavila.com\/tutores\/divisor_tension.html\">nuestro divisor de tensi\u00f3n<\/a>. Para un divisor de tensi\u00f3n con R1 = 100k\u03a9 y R2 = 20k\u03a9, con\u00a0una tensi\u00f3n m\u00e1xima de 30V de entrada, se calcular\u00e1 de la siguiente manera:<\/p>\n<pre style=\"text-align: justify;\" class=\"\"> R1 = 100k\u03a9\r\n R2 = 20k\u03a9\r\n Vin = 30V (CC).\r\n\r\n Vout = (R1 \/ (R1 + R2)) * Vin ; Vout = (100000 \/ (100000 + 20000)) * 30v ; \r\n Vout = (100000 \/ 120000) * 30v\r\n \r\n Vout = 0.83 * 30V = 24,9V ; no se admite, por exceso, el max. es 5V\r\n \r\n Si Vout(max) = 5V ; \r\n\r\n Ratio = Vin \/ Vout ; Ratio= 30 \/ 5 = 6 ; luego...\r\n\r\n Ratio = 6<\/pre>\n<p style=\"text-align: justify;\">Luego un divisor de tensi\u00f3n con R1 = 100k Ohm y R2 = 20k Ohm, una entrada de 30V, se calcular\u00e1 de la siguiente manera:<\/p>\n<pre style=\"text-align: justify;\" class=\"\">30v \/ Ratio = 4.98V en pin A0 ; es decir, 30V = 4,98 * 6 (Ratio) = 29,88V; esto ser\u00eda aceptable.<\/pre>\n<p style=\"text-align: justify;\">Con 4,98V se ha dado un margen de seguridad.<\/p>\n<p style=\"text-align: justify;\">Ahora, veamos que ve nuestro pin anal\u00f3gico A0, s\u00ed la lectura ADC es 615, la tensi\u00f3n en pin A0 = 0.004887 * lectura ADC (615 en este caso), o sea 3,0V. Del mismo modo:<\/p>\n<p style=\"text-align: justify;\">Para 1V \/ 0.00488 = 205 (ADC lectura \u2013 redondeando hacia arriba) \u2026 y<br \/>\nPara 4V \/ 0.00488 = 820 (ADC lectura \u2013 redondeando hacia arriba)<\/p>\n<p style=\"text-align: justify;\">Entonces, voltaje de lectura o entrada del divisor = tensi\u00f3n pin A0 * Ratio (o sea 4,98 * 6 = 29,88V)<\/p>\n<p style=\"text-align: justify;\">El c\u00f3digo para leer ese valor es el siguiente:<\/p>\n<pre style=\"text-align: justify;\" class=\"\"> ADCVal = analogRead (voltInPin); \/\/ Lee el voltaje en la salida del divisor, el pin A0\r\n pinVoltage = ADCVal * 0,00488; \/\/ Calcula el voltaje en el pin A \/ D\r\n \/\/ Una lectura de 1 para el A \/ D = 0.00488mV. Si multiplicamos la lectura A \/ D por \r\n \/\/ 0,00488 a continuaci\u00f3n obtenemos el voltaje en el pin.<\/pre>\n<p style=\"text-align: justify;\">Por cierto, debido a los valores de R1 y R2, la impedancia de entrada de nuestro dispositivo ser\u00eda: 100.000 + 20.000 = 120.000 Ohms, esto es muy importante en un pol\u00edmetro, sin embargo, puede que sea el causante de interferencias en las mesuras tomadas, recordemos lo siguiente:<\/p>\n<p style=\"text-align: justify;\">[El ADC en un AVR no puede medir de forma muy precisa las se\u00f1ales con una alta impedancia de salida, y un divisor de tensi\u00f3n sin duda cuenta con una alta impedancia. A partir de la hoja de datos ATmega328P:<\/p>\n<p style=\"text-align: justify;\"><em>El ADC est\u00e1 optimizado para se\u00f1ales anal\u00f3gicas con una impedancia de salida de aproximadamente 10 k\u03a9 o menos. Si se utiliza una fuente de este tipo, el tiempo de muestreo ser\u00e1 insignificante. Si se utiliza una fuente de mayor impedancia, el tiempo de muestreo depender\u00e1 de cu\u00e1n largo tiempo la fuente necesita para cargar el condensador S\/H, que puede variar ampliamente. Se recomienda que el usuario utilice s\u00f3lo las fuentes de baja impedancia con las se\u00f1ales que var\u00edan lentamente, ya que esto minimiza la transferencia de carga requerida al condensador H\/S.<\/em>]<\/p>\n<p style=\"text-align: justify;\">Por lo tanto, una opci\u00f3n es bajar en cierta medida dicha impedancia a valores menos amplios, es decir, R1 = 47K y R2 = 9K1+330 Ohms, esto conlleva una impedancia de alrededor de 56K\u03a9 que podemos considerar aceptable.<\/p>\n<p style=\"text-align: justify;\">Aclarado el tema de la impedancia, parece que todo est\u00e1 saliendo como se esperaba.<\/p>\n<h3 style=\"text-align: justify;\">C\u00d3DIGO DE PRUEBA.<\/h3>\n<p style=\"text-align: justify;\">Esta es la parte m\u00e1s importante del proyecto como es el c\u00f3digo\u00a0que\u00a0mide voltios, amperios.<\/p>\n<pre style=\"text-align: justify;\" class=\"\">\/*\r\n* volt_amp_watt.pde\r\n*\r\n* http:\/\/arduinotronics.blogspot.com.es\/2014\/01\/volt-amp-watt-hour-meter-shield.html \r\n* \r\n* Hace un tiempo que he dise\u00f1ado un medidor de vatios hora para el seguimiento de la \r\n* energ\u00eda producida por energ\u00eda solar o e\u00f3lica, consumida por las cargas, y la potencia \r\n* contenida en un banco de bater\u00edas. He producido una nueva versi\u00f3n basada en la Sparkfun \r\n* Protoshield. \u00c9ste utiliza un sensor de corriente ACS712 (5 amperios), y est\u00e1 dise\u00f1ado \r\n* para controlar hasta 10 VDC. Diferentes sensores y resistencias actuales se pueden \r\n* instalar para otros rangos de corriente y tensi\u00f3n. La pr\u00f3xima actualizaci\u00f3n ser\u00e1 una \r\n* cabecera de 16 pines para una pantalla LCD. As\u00ed que estad atentos. C\u00f3digo y esquemas de \r\n* cableado pr\u00f3ximamente.\r\n*\/\r\n\r\n#include &lt;LiquidCrystal.h&gt; \/\/ lib. LiquidCrystal.h\r\n\r\n\/\/LiquidCrystal lcd(12, 11, 10, 9, 8, 7);\r\n\/\/LCD: (RS, E,D4,D5,D6,D7) \r\n LiquidCrystal lcd(8, 7, 6, 5, 4, 3); \/\/ mi config.\r\n\r\nconst float referenceVolts = 5; \/\/ the default reference on a 5-volt board\r\n\/\/const float referenceVolts = 3.3; \/\/ use this for a 3.3-volt board\r\n\r\nconst float R1 = 47000; \/\/ value for a maximum voltage of 30 volts\r\nconst float R2 = 9430;\r\n\/\/ determine by voltage divider resistors, see text\r\nconst float resistorFactor = 1023.0 \/ (R2\/(R1 + R2)); \/\/ ratio\r\nconst int batteryPin = A0; \/\/ +V from battery is connected to analog pin A0\r\n\r\nint sensorPin3 = A1; \/\/ select the input pin for the potentiometerpin input Volt \r\n\r\nint sensorValue0 = 0; \/\/ variable to store the value coming from the sensor\r\nint sensorValue3 = 0; \/\/ variable to store the value coming from the sensor\r\n\r\nvoid setup() {\r\n\/\/ initialize Serial communication at 9600 bits per second:\r\nSerial.begin(9600);\r\nlcd.begin(20,4); \/\/ columns, rows. use 16,2 for a 16x2 LCD, etc.\r\nlcd.setCursor(0,0); \/\/ set cursor to column 0, row 0 (the first row)\r\nlcd.print(\"Volt Amp Watt\");\r\nlcd.setCursor(0,1);\r\nlcd.print(\"Volt_amp \");\r\nlcd.clear(); \/\/ start with a blank screen \r\n Serial.print(\"Volt Amp \" );\r\n Serial.println(\"volt_amp_watt.ino\" );\r\ndelay(500); \r\n}\r\n\r\nvoid loop() {\r\n\r\n\/\/int val = analogRead(batteryPin); \/\/ read the value from the sensor \r\nint val = analogRead(sensorPin3);\r\nfloat volts = (val \/ resistorFactor) * referenceVolts ; \/\/ calculate the ratio\r\nSerial.print(\"Volts : \"); \r\n\/\/Serial.println(volts); \/\/ print the value in volts\r\nSerial.print(volts); \/\/ print the value in volts\r\n\r\nfloat average = 0;\r\nfor(int i = 0; i &lt; 1000; i++) {\r\naverage = average + (.0264 * analogRead(A2) -13.51) \/ 1000;\r\ndelay(1); \r\n}\r\nSerial.print(\" Amps : \"); \r\nSerial.println(average); \r\n\r\nlcd.setCursor(0,0); \/\/ set cursor to column 0, row 0 (the first row)\r\nlcd.print(\"Volts: \"); \/\/ change this text to whatever you like. keep it clean.\r\n\/\/lcd.setCursor(0,1); \/\/ set cursor to column 0, row 1\r\nlcd.print(volts);\r\n\r\n\/\/ if you have a 4 row LCD, uncomment these lines to write to the bottom rows\r\n\/\/ and change the lcd.begin() statement above.\r\nlcd.setCursor(0,2); \/\/ set cursor to column 0, row 2\r\nlcd.print(\"Amps: \");\r\n\/\/lcd.setCursor(0,3); \/\/ set cursor to column 0, row 3\r\nlcd.print(average);\r\n\r\ndelay(500); \r\n}<\/pre>\n<p style=\"text-align: justify;\">Para que nos calcule los vatios, el\u00a0nuevo reto, es que\u00a0necesitamos contemplar una nueva variable como es el tiempo. Se han de realizar unos c\u00e1lculos que considero claves a la hora de comprender el c\u00f3digo.<\/p>\n<p style=\"text-align: justify;\">Para calcular vatios (voltios * amperios), amperios hora (amperios * horas) y vatios hora (watts * horas) requiere el seguimiento del componente de tiempo, y la realizaci\u00f3n de un par de c\u00e1lculos m\u00e1s como los siguientes:<\/p>\n<pre style=\"text-align: justify;\" class=\"\">float watts = amps * batteryVoltage;\r\n\r\nsample = sample + 1;\r\nmsec = millis();\r\ntime = (float) msec \/ 1000.0;\r\n\r\ntotalCharge = totalCharge + amps;\r\n\r\naverageAmps = totalCharge \/ sample;\r\nampSeconds = averageAmps*time;\r\nampHours = ampSeconds\/3600;\r\n\r\nwattHours = batteryVoltage * ampHours;<\/pre>\n<h3>MEDIR VOLTIOS EN ALTERNA.<\/h3>\n<p style=\"text-align: justify;\">Antes de presentar el c\u00f3digo previsto, he pensado en realizar un peque\u00f1o a\u00f1adido como es, hacer que nuestro volt\u00edmetro pueda leer tensiones alternas hasta 30V. Esto se puede realizar al menos en teor\u00eda, mediante la aplicaci\u00f3n de un puente rectificador para que su salida lea la tensi\u00f3n una vez rectificada naturalmente, debemos hacer un filtrado para que nuestra lectura no se desv\u00ede de la realidad y un divisor de tensi\u00f3n para que devuelva el valor real en alterna.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/volt_ac\" rel=\"attachment wp-att-3568\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3568\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/volt_ac-300x74.gif\" alt=\"volt_ac\" width=\"300\" height=\"74\" \/><\/a>\u00a0Fig. 13<\/p>\n<p style=\"text-align: justify;\">El esquema anterior nos sirve para medir una tensi\u00f3n alterna de rango hasta 30V, la tensi\u00f3n a mesurar atraviesa el puente rectificador y es filtrada por el electrol\u00edtico de 220uf\/63V, luego llega al divisor de tensi\u00f3n como se muestra y \u00e9ste nos presenta la tensi\u00f3n a mesurar. Las resistencias R1 y R2 se han calculado para que entreguen la tensi\u00f3n m\u00e1s cercana a la real (la Vin al rectificarse y filtrarse se multiplica por\u00a0\u221a2 = 1.4142, luego la tensi\u00f3n de salida del divisor debe descontar este 1.4142 para que la lectura sea cercana a la real, despu\u00e9s, como seguridad se ha puesto diodo zener de 5V.1 evitando as\u00ed que se deteriore el micro.<\/p>\n<p style=\"text-align: justify;\">Para hacernos una idea, la siguiente imagen, es un esbozo del proyecto volt-amper\u00edmetro para CC+AC con LCD.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/voltamp-con-arduinolcd\" rel=\"attachment wp-att-3569\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3569\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/voltamp-con-arduinolcd--300x269.gif\" alt=\"voltamp-con-arduino+lcd-\" width=\"300\" height=\"269\" \/><\/a>\u00a0fig. 14<\/p>\n<h3>UN MOMENTO.<\/h3>\n<p style=\"text-align: justify;\">Veamos que es lo que tenemos claro hasta el momento, hemos resuelto el volt\u00edmetro, el amper\u00edmetro y ahora hemos\u00a0a\u00f1adido el volt\u00edmetro en alterna. El esquema final\u00a0ser\u00eda el siguiente:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/sensor-de-corriente-acs712\/esq_voltampwat\" rel=\"attachment wp-att-3570\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3570\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/08\/esq_voltampwat--300x234.gif\" alt=\"esq_voltampwat\" width=\"300\" height=\"234\" \/><\/a>\u00a0Fig. 15<\/p>\n<p style=\"text-align: justify;\">S\u00f3lo nos queda realizar el boceto que a\u00fana los tres dispositivos en uno. Veamos:<\/p>\n<h3 style=\"text-align: justify;\">EL C\u00d3DIGO.<\/h3>\n<p style=\"text-align: justify;\">En esta ocasi\u00f3n se interviene el tiempo para extraer los vatios\/hora.<\/p>\n<pre style=\"text-align: justify;\" class=\"\">\/*\r\n watt_meter_lcd.ino \r\n Este boceto se describe c\u00f3mo conectar un Sensor de Corriente ACS715 \r\n(http:\/\/www.pololu.com\/catalog\/product\/1186) a un Arduino,\r\n y leer la corriente que fluye a trav\u00e9s del sensor.\r\n \r\n*\/\r\n#include &lt;LiquidCrystal.h&gt; \/\/ lib. LiquidCrystal.h\r\n\r\n\/\/LCD: (RS, E,D4,D5,D6,D7)\r\nLiquidCrystal lcd(8, 7, 6, 5, 4, 3); \/\/ mi config.\r\n\/*\r\n\r\nVcc a tarjeta sensora para Arduino + 5v\r\nGND a tarjeta sensora para Arduino GND\r\nOUT a tarjeta sensora para Arduino A0\r\n\r\nInserte las patillas de potencia en el circuito conductor positivo de carga,\r\nla flecha en puntos del soporte board para cargar, otro enganche se conecta\r\nal positivo de fuente alimentaci\u00f3n.\r\n\r\nDivisor de Voltage:\r\n\r\nR1 = 47k a A2\r\nR2 = 9400 a GND\r\n\r\nVin = 29,89V\r\nVout = 5V\r\nRatio 5,978\r\n\r\n*\/\r\nint batMonPin = A2; \/\/A2 pin entrada del divisor voltage\r\nint batVal = 0; \/\/ variable para el valor A\/D\r\nfloat pinVoltage = 0; \/\/ variable que contiene la tensi\u00f3n calculada\r\nfloat batteryVoltage = 0;\r\n\r\nint analogInPin = A1; \/\/A0 pin de entrada mV est\u00e1 conectado a Salida sensor ASC712\r\nint sensorValue = 0; \/\/ valor le\u00eddo de la tarjeta soporte ASC712\r\nint outputValue = 0; \/\/ salida en milliamps\r\nunsigned long msec = 0;\r\nfloat time = 0.0;\r\nint sample = 0;\r\nfloat totalCharge = 0.0;\r\nfloat averageAmps = 0.0;\r\nfloat ampSeconds = 0.0;\r\nfloat ampHours = 0.0;\r\nfloat wattHours = 0.0;\r\nfloat amps = 0.0;\r\n\r\n\/\/ Estos valores para max. Vin = 30V\r\n\/\/ R1=4700\u03a9; R2=943\u03a9. para mayor impedancia\r\nint R1 = 47000; \/\/ Resistencia of R1 in ohms\r\nint R2 = 9400; \/\/ Resistencia of R2 in ohms\r\n\r\nfloat ratio = 0; \/\/ Calculated from R1 \/ R2 = 4,984\r\n\r\nvoid setup() {\r\n\/\/ inicializa comunicaciones Serial a 9600 bps:\r\nSerial.begin(9600);\r\nlcd.begin(20, 4);\r\n}\r\n\r\nvoid loop() {\r\n\r\nint sampleBVal = 0; \/\/ muestra V\r\nint avgBVal = 0; \/\/ porcentage\r\nint sampleAmpVal = 0; \/\/ muestra A\r\nint avgSAV = 0; \/\/ porcentage\r\n\r\nfor (int x = 0; x &lt; 10; x++){ \/\/ ejecutar a trav\u00e9s del bucle de 10x\r\n\r\n\/\/ leer el valor anal\u00f3gico en:\r\nsensorValue = analogRead(analogInPin); \/\/\r\nsampleAmpVal = sampleAmpVal + sensorValue; \/\/ a\u00f1adir muestras juntas\r\n\r\nbatVal = analogRead(batMonPin); \/\/ leer el voltaje en el divisor\r\nsampleBVal = sampleBVal + batVal; \/\/ a\u00f1adir muestras juntas\r\n\r\ndelay (10); \/\/ dejar resolver ADC antes de siguiente muestra\r\n}\r\n\r\navgSAV = sampleAmpVal \/ 10; \/\/ saca el %\r\n\r\n\/\/ convert to milli amps\r\noutputValue = (((long)avgSAV * 5000 \/ 1024) - 500 ) * 1000 \/ 66; \/\/ seg\u00fan sensor 66 o 133 mA\r\n\r\n\/* sensor da salida sobre 100 en reposo.\r\nAnalog read produces a value of 0-1023, equiparando de 0v a 5v.\r\n\"((long)sensorValue * 5000 \/ 1024)\"es la tensi\u00f3n en la salida del sensor en milivoltios.\r\nHay un desplazamiento a restar 500 mv.\r\nLa unidad produce 66 mV \/ 133 mV por amperio de corriente, por lo\r\nque se divide por 0.066 \/ 0.133 para convertir mV a mA\r\n*\/\r\n\r\navgBVal = sampleBVal \/ 10; \/\/divide by 10 (number of samples) to get a steady reading\r\n\r\npinVoltage = avgBVal * 0.0048; \/\/ 0,00610 Calculate the voltage on the A\/D pin\r\n\/* Una lectura de 1 para el A \/ D = 0.0048mV\r\nSi multiplicamos la lectura A \/ D por 0,00488\r\nentonces obtenemos el voltaje en el pin.\r\n\r\n\u00a1NOTA! 0,00488 es ideal. Tuve que ajustar a 0,00610\r\ncontador para que coincida.\r\n\r\nTambi\u00e9n, dependiendo de la tensi\u00f3n, del cableado y\r\ndonde se est\u00e1 leyendo, bajo voltaje fuertes cargas\r\nque se muestra puede ser bien bajo voltaje en el\r\nsuministro. Supervisar la carga o la alimentaci\u00f3n y decidir.\r\n*\/\r\n\r\nratio = (float)R1 \/ (float)R2;\r\nbatteryVoltage = pinVoltage * ratio; \/\/ Utilice la relaci\u00f3n calculada del divisor\r\n\/\/ de tensi\u00f3n para calcular la tensi\u00f3n de la bater\u00eda\r\namps = (float) outputValue \/ 1000;\r\nfloat watts = amps * batteryVoltage;\r\n\r\nSerial.print(\"Volts = \" );\r\nSerial.print(batteryVoltage);\r\n\/\/ Serial.print(\"\\t Current (amps) = \");\r\nSerial.print(\" Current (amps) = \");\r\nSerial.print(amps);\r\n\/\/ Serial.print(\"\\t Power (Watts) = \");\r\nSerial.print(\" Power (Watts) = \");\r\nSerial.print(watts);\r\n\r\nsample = sample + 1;\r\nmsec = millis();\r\n\r\ntime = (float) msec \/ 1000.0;\r\ntotalCharge = totalCharge + amps;\r\naverageAmps = totalCharge \/ sample;\r\nampSeconds = averageAmps*time;\r\nampHours = ampSeconds\/3600;\r\nwattHours = batteryVoltage * ampHours;\r\n\r\n\/\/ Serial.print(\"\\t Time (hours) = \");\r\nSerial.print(\" Time (hours) = \");\r\nSerial.println(time\/3600);\r\n\r\n\/\/ Serial.print(\"\\t Amp Hours (ah) = \");\r\n\/\/ Serial.print(ampHours);\r\n\/\/ Serial.print(\"\\t Watt Hours (wh) = \");\r\n\/\/ Serial.println(wattHours);\r\n\r\nlcd.setCursor(0,0);\r\nlcd.print(batteryVoltage);\r\nlcd.print(\" V \");\r\nlcd.print(amps);\r\nlcd.print(\" A \");\r\n\r\nlcd.setCursor(0,1);\r\nlcd.print(watts);\r\nlcd.print(\" W \");\r\nlcd.print(time\/3600);\r\nlcd.print(\" H \");\r\n\r\nlcd.setCursor(0,2);\r\nlcd.print(ampHours);\r\nlcd.print(\" Ah \");\r\nlcd.print(wattHours);\r\nlcd.print(\" Wh \");\r\n\r\nlcd.setCursor(0,3);\r\nlcd.print(ratio, 5);\r\nlcd.print(\" \");\r\nlcd.print(avgBVal);\r\n\r\n\/\/ wait 10 milliseconds before the next loop\r\n\/\/ for the analog-to-digital converter to settle\r\n\/\/ after the last reading:\r\ndelay(10);\r\n}<\/pre>\n<p style=\"text-align: justify;\">Esto es todo por este tutorial, espero que les interese a los lectores y estoy esperando sus consultas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>LECTOR DE CORRIENTE ACS712. CREADO POR V. GARC\u00cdA. EL 06.09.2015 INTRODUCCI\u00d3N. En este art\u00edculo describir\u00e9 c\u00f3mo conectar un sensor de corriente ACS715 a la placa Arduino, y as\u00ed leer la corriente que fluye a trav\u00e9s del mismo. Una vez m\u00e1s, recomiendo que lea las hojas de caracter\u00edsticas del fabricante. El Allegro\u00ae ACS712 proporciona soluciones econ\u00f3micas [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":3551,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[22,15,285],"tags":[350,287],"class_list":["post-3549","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-microcontroladores","category-sensor-de-corriente-acs712","tag-acs712","tag-sensor"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts\/3549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/comments?post=3549"}],"version-history":[{"count":11,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts\/3549\/revisions"}],"predecessor-version":[{"id":4811,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts\/3549\/revisions\/4811"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/media\/3551"}],"wp:attachment":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/media?parent=3549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/categories?post=3549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/tags?post=3549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}