2079
Como ya he hecho escalas Wi-Fi o cuando se cierra, y en general a mantener silencio sobre la vida
Desde el título, es fácil ver que en una aventura que spodviglo deseo banal splagiatit chicos cabecera Madrobots. Y esto es realmente fue una aventura: una historia con sólo el prolongado INA125U compra tan aburrido que puede ser una cualquiera enloquecedor que yo. Pero tal vez estoy algo sobre sí mismos todavía no saben.
Así las escalas. Yo, como siempre, hice todo mal. Es decir - ni siquiera miro a lo que pueden hacer en el momento en el desarrollo típico de la Internet de las cosas de los representantes de este grupo, por así decirlo, del escalar. Así que mis básculas son capaces de separar las tres especies diferentes de hombre (yo, mi esposa y el invitado esférica en el vacío), y - cinco gatos. Resultados sonaron cerca del smartphone y publicado en la tableta de Google.
Y ahora - en la forma de hacerlo, teniendo el equilibrio de IKEA, el amplificador operacional TI INA125, Arduino Pro Mini, Serial Converter -. Wi-Fi HiLink HLK-RM04, un poco fuera de rassypuhi y dolor fuerte en el culo
No es un contacto h4> En realidad, cuando compré el DX.com Serial Converter - Wi-Fi, no fue tanto fascinado por sus posibilidades (pensé en ellos, entonces tenía un concepto muy vago), pero el precio - en comparación con la misma red Wi-Fi-Shield para Arduino. Por supuesto, pronto se hizo evidente que la diferencia de precio por una razón: porque la caja del inversor que tiene poco parecido Shield. Y, sí, lo sé - es obvio para usted, pero para mí fue una revelación, que cualquier GET / POST simplemente no lo hará
.
Sin embargo, casi inmediatamente después de comprar intenté HLK-RM04 en. En primer lugar - y todo sin un microcontrolador. Sólo tienes que conectar la fuente de alimentación (5V) y vaya en dirección de incumplimiento crediticio que se especifica en el manual. Allí, después de algunas dudas (algo podría arruinar) condujo su configuración Wi-Fi y dio convertidor de IP estática, por lo que no lo busca por toda la red.
Estos son los ajustes torneadas. Mirando hacia el futuro - un conjunto completo de opciones para las escalas (IP y SSID para sustituir su cuenta, pero la velocidad del puerto es muy importante - a este ritmo HLK-RM04 se comunicará con el controlador):
En la segunda etapa conectado al controlador y ver lo que se puede hacer sin una biblioteca y sin esfuerzo. Resulta que si se cambia el modo a un servidor conectado al puerto serie de Arduino, y escribir código que algo publica periódicamente este mismo puerto, el navegador se puede ver impreso. Además, en principio, no está mal, pero no es muy inspirador. Sin embargo, lo recuerdo como un último recurso.
En general, me he enrollado HLK-RM04 en una caja polvorienta, si no Madrobots. Consideré todas las opciones están y hacen que el inversor ejecute el cliente web, y si no, entonces por lo menos llevo lejos de él los datos del smartphone por Tasker, Tasker mismo puesto donde quiero. Afortunadamente para la primera versión que se encuentra Trate biblioteca WiFiRM04 , que se comporta en última instancia, casi como una biblioteca de conexión Wi-Fi para Arduino.
Hay, por supuesto, y la especificidad. Esta biblioteca se recoge en base a la Arduino Mega, y cuyo recuerdo mucho y puertos serie - por encima del techo. Por lo tanto, el autor de la biblioteca por defecto gesto usando dos puertos Arduino Mega para comunicarse con HLK-RM04, y el resto tenía una conexión con el escritorio a través de USB para la depuración simultánea.
Y, por cierto, también teniendo en cuenta el módulo de depuración por defecto se incluye, incluso un pequeño programa con la biblioteca WiFiRM04 kompilliruetsya en poco menos de 30 KB, por lo que la perspectiva de la migración en el Arduino Pro Mini parecía un poco cuestionable. Sin embargo, hay buenas noticias: el autor ha proporcionado y sigue trabajando con el de un solo puerto y apagar el módulo de depuración
.
En el primer escrito en GitHub, y el segundo que aprendí de la форума Arduino.cc.
Y, sin embargo, para ser honesto, yo estaba depurando en Mega, porque parecía mucho una tarea permanente desactivar plug-HLK-RM04 - de hecho en Pro Mini se necesita sólo un puerto, por lo que incluso descarga banal una nueva versión del convertidor debe apagarse. Pero hay un truco: si después de descargar el programa para conectar con el Pro Mini y HLK-RM04, mientras que una computadora de escritorio con un puerto de monitor, se puede ver que es el controlador envía el convertidor. Y nos permite comprender en lo que él es capaz de hacer.
El fondo para la adaptación WiFiRM04 para Arduino Pro Mini requiere:
1) at_drv.cpp hacerlo:
& lt; code class = & quot; cpp & quot; & gt; #define DEFAULT_BAUD1 9600 #define DEFAULT_BAUD2 9600 & lt; / código de & gt; pre>
2) En el mismo lugar - de esa manera:
& lt; code class = & quot; cpp & quot; & gt; // utilizar Serial1 como puerto serie por defecto para comunicarse con el módulo WiFi #define AT_DRV_SERIAL serie // utilizar Serial2 comunicar la UART2 de nuestro módulo WiFi #define AT_DRV_SERIAL1 Serial & lt; / código de & gt; pre>
3) En el mismo lugar - comente la
_DEBUG_ #define
& lt; code class = & quot; cpp & quot; & gt; // #define _DEBUG_ & lt; / código de & gt; pre>
4) También hay - no se olvide de poner el pin digital favorito en #define ESCAPE_PIN
& lt; code class = & quot; cpp & quot; & gt; #define ESCAPE_PIN 4 & lt; / código de & gt; pre>
3) El cambio wl_definitions.h MAX_SOCK_NUM 1
En ambos casos, que Mega, Pro Mini que el desempeño de esta serpiente híbrido con un erizo comprobado en la práctica - envía una solicitud al servidor, lo que podría capturar su preparación
.
Su carga está tirando, entonces tira h4> El siguiente paso, empecé a estudiar la cuestión de la obtención de datos de la balanza. La teoría es que, dependiendo del tipo de escalas están equipados con uno, dos o cuatro medidores de deformación. Apertura de las escalas ikeevskie habituales me di cuenta de que aquí, en general, el esquema clásico: cada talón - Sensor, para un total de cuatro sensores. Confundido sólo el número de cables.
. la cuota inicial escalas
Alrededor de la izquierda, que cada sensor está equipado con tres de estas cosas útiles. Sin embargo, la misma teoría es que generalmente en (constante) Las resistencias dos conclusiones.
. cepa de calibre
Aliexpress estudio reflexivo reveló lo siguiente: los sensores producen chinos astutos en forma de media bastante popular измерительного Bridge (puente de Wheatstone).
El puente en sí se parece a esto (imagen de Wikipedia, una referencia a la siguiente):
Y, en principio, todo estaba claro. Pero yo no podía entender como de cuatro medio-puente conectado a un puente y por qué se necesita. La respuesta a la primera parte del problema ha dado baremos de honorarios nativos. Esas personas chinas para no perder el cobre, conectadas puntos comunes listas en las que es necesario: a la fuente de alimentación y de la capacidad del receptor. Y todo el resto juntos a fin de obtener un puente. Como resultado, cada fábrica poluplecho el cuarto hombro:
Bueno, está bien.
El principio de medición de peso es bastante simple: la carga cambia los medidores de deformación de resistencia, lo que resulta naturalmente en un cambio en la forma en que la tensión de salida del puente. Por otra parte, el voltaje varía linealmente en función del peso. En general, todo está bien, si no fuera por una cosa: la tensión de salida del puente es demasiado pequeño para medirlo directamente ADC Arduino. Internet Todopoderoso nos dice que el éxito requiere un amplificador adecuado - con suficientemente alta ganancia, con lo suficientemente pequeño ruido.
La misma herramienta en línea sugiere el uso de una producción INA125 amplificador operacional de los famosos de Texas Instruments. Muchas soluciones de circuitos pertinentes repiten entre sí como modelo y prácticamente no se apartan del circuito clásico en la hoja de datos. Aún así, me decidí a ser original y decidí repetir sólo un tal esquema:
Aquí R1: 39 ohmios, R2: 1 k, C1: 100 nF, C2: 100 uF. Para los sitios 1, 2, 3 y 4 conectados puente de medición, y si tengo algo de entender, cuando se conecta al puente elegir específicamente el punto no es necesario, siempre y cuando V +, V-, Vref y GND pasó por uno, es decir. e, por ejemplo:. Vref, V +, GND, V-. Por otro lado, yo entonces no tomar riesgos, pero simplemente miré anotación en pesos placa casa, había: E +, E-, S + y S-, y bien conectados todo esto a un amplificador (E + = Vref, E = GND, S + = V +, S- = V-).
Parece que todo está claro: comprar partes - y sentarse amplificador payay. Sin embargo, incluso en el DS que demostró una vez infernalmente difícil comprar un (1) amplificador TI INA125, y especialmente - en el DIP. Los precios son desde 100 a 800 rublos, la entrega - a partir de mañana hasta que un mes más tarde, la ubicación de las oficinas y tiendas es tal que comienza incluso en depresión
.
Yo iba con las fuerzas alrededor de un mes. Luego escupió en todo y ordenó la boutique Chip-y-Dip, sino a través de su página web. Por lo tanto el ahorro en las semillas, si no me equivoco, el lote mínimo de 20 resistencias cuestan casi tanto como el desafortunado una resistencia en la tienda en línea. Al mismo tiempo, me encontré con que SOL16 - es mucho, mucho menos hay de lo que pensaba. Y al igual que en el dosel no desoldar.
Estoy bastante molesto, pero aún así decidí a buscar una solución. Fue encontrado en la misma tienda. Este adaptadores listos pañuelos donde SOL16 cucaracha repente rastopyrivat en el lugar con una completamente cuerdo 2,5 mm de paso. Para celebrarlo, me he comprado tres piezas. Lo que me dijeron - No me puedo imaginar todo el sapo
.
. cucaracha a bordo
Otros detalles, sin embargo, son vnaves cableadas. Y tontamente por cable tapones, como Arduino. Pensé que iba a ser conectados a través de una toma de corriente, por simplicidad. Sin embargo, la realidad resultó ser más grave, y al final tuvimos que enrollar el tenedor, y toda la junta en toda la cinta. Hay otra escuela de arquitectura:. Cinta adhesiva - blanco
. a HLK-RM04 conectado a través de tenedor (2 mm de paso). Resultó - correctamente, de lo contrario torturado soldadura otpaivat: después de un tiempo que necesita para desconectar del módulo de depuración para liberar el
puerto de controlador
Sorprendentemente (Me sorprende siempre cuando algo fuera de la obra de mis manos), pero dispuesto a pagar, y conectado a la balanza, y Arduino, empecé a dar resultados adecuados. Así que ahora mis manos estaban todos los componentes de las escalas: escalas con convertidor de voltaje y la unidad de comunicación del controlador. Así que me lancé el patetismo y llamé a la primera versión alfa del programa. Al final resultó que - por una buena razón
.
. casi beta: alfa, LED de la placa del controlador
En principio, el alfa funcionaba bien hasta que el controlador se ha conectado a la computadora (en el momento he usado o Mega, o Pro Mini, pero - sin HLK-RM04, en la mencionada más alto debido a la falta de puertos serie). Sin embargo, durante la transición a la auto-alimentado la sensación de que toda la construcción se ha vuelto loco. Una pequeña investigación reveló que estaba de nuevo frente a un problema familiar de la autómata luz y música Asim-AU-2-6 . A saber -. Las constantes fluctuaciones en los valores de control analógico pin de lectura, que yo asocio con la naturaleza pulsátil de la fuente de alimentación
Se puede admirar la mayoría de las fluctuaciones en estado latente
& lt; code class = & quot; cpp & quot; & gt; 05/17/2014 23:55:51 usuario 28 05/17/2014 23:56:03 usuario 21 17/05/2014 23:56:28 usuario 11 17/05/2014 23:56:41 05/17/2014 23:56:53 usuario usuario 58 10 22 05/17/2014 23:57:05 17/05/2014 23:57:18 usuario usuario 30 05/17/2014 23:57:30 usuario 26 05/17/2014 23:57:42 usuario 9 17/05/2014 23:57:55 05/17/2014 23:58:07 usuario usuario 22 28 22 05/17/2014 23:58:20 usuario 05/17/2014 23:58:32 05/17/2014 23:58:45 usuario usuario 29 13 26 05/17/2014 23:58:57 17/05/2014 23:59:10 usuario usuario 22 17/05/2014 23:59:22 usuario 44 17/05/2014 23:59:34 05/17/2014 23:59:47 usuario usuario 22 58 13 17/05/2014 23:59:59 05/18/2014 0:00:11 usuario usuario 29 18/05/2014 0:00:24 usuario 14 05/18/2014 0:00:36 usuario 51 05/18/2014 0:00:49 usuario 5/18/2014 0:01:01 usuario 22 11 30 18.05.2014 0:01:14 usuario 5/18/2014 0:01:26 usuario 27 05/18/2014 0:01:38 usuario 5/18/2014 0:01:51 usuario 9 29 28 18.05.2014 0:02:03 usuario 5/18/2014 0:02:16 usuario 9 05/18/2014 0:02:41 usuario 22 05/18/2014 0:02:53 usuario 8 5/18/2014 0:03:06 usuario 5/18/2014 0:03:18 usuario 28 27 22 18.05.2014 0:03:30 usuario 5/18/2014 0:03:43 usuario 27 05/18/2014 0:03:55 usuario 5/18/2014 0:04:07 usuario 31 22 28 18.05.2014 0:04:20 usuario 5/18/2014 0:04:32 usuario 22 05/18/2014 0:04:45 usuario 10 05/18/2014 0:04:57 usuario 24 05/18/2014 0:05:09 usuario 5/18/2014 0:05:22 usuario 27 22 27 18.05.2014 0:05:34 usuario 5/18/2014 0:05:47 usuario 23 05/18/2014 0:05:59 usuario 5/18/2014 0:06:12 usuario 22 14 28 18.05.2014 0:06:24 usuario 5/18/2014 0:06:36 usuario 59 05/18/2014 0:06:49 usuario 55 05/18/2014 0:07:01 usuario 5/18/2014 0:07:14 usuario 27 58 27 18.05.2014 0:07:26 usuario 5/18/2014 0:07:38 usuario 22 05/18/2014 0:07:51 usuario 24 05/18/2014 0:08:03 usuario 5/18/2014 0:08:16 usuario 28 57 28 18.05.2014 0:08:28 usuario 5/18/2014 0:08:53 usuario 28 05/18/2014 0:09:05 usuario 28 05/18/2014 0:09:18 usuario 24 05/18/2014 0:09:30 usuario 5/18/2014 0:09:43 usuario 23 8 28 18.05.2014 0:09:55 usuario 5/18/2014 0:10:07 usuario 13 05/18/2014 0:10:20 usuario 5/18/2014 0:10:32 usuario 22 36 30 18.05.2014 0:10:45 usuario 5/18/2014 0:10:57 usuario 26 05/18/2014 0:11:10 usuario 59 18/05/2014 0:11:22 usuario 5/18/2014 0:11:34 usuario 57 29 27 18.05.2014 0:11:47 usuario 5/18/2014 0:11:59 usuario 27 05/18/2014 0:12:11 usuario 28 05/18/2014 0:12:24 usuario 5/18/2014 0:12:36 usuario 27 17 11 18.05.2014 0:12:49 usuario 5/18/2014 0:13:01 usuario 21 05/18/2014 0:13:14 usuario 53 05/18/2014 0:13:26 usuario 54 05/18/2014 0:13:38 usuario 56 & lt; / código de & gt; pre>
Estudiar Arduino.cc línea mostró que yo no era uno de esos felices. Uno de los métodos recomendados para combatir este efecto - para tirar el pin analógico al suelo, utilice una longitud mínima de alambre. Pero yo tenía un cable de no más de 10 centímetros, y el pin analógico se ve fácilmente desde el esquema, había tirado al suelo. Así que tuvimos que recurrir a una metodología probada: primero, sumado al programa de un cierto umbral de peso, sin duda más grande que las fluctuaciones observadas. Y, en segundo lugar, debido a que las fluctuaciones son demasiado notable, contados a partir del peso medio suficientemente grande, aunque no infinitamente gran número de mediciones. Más específicamente, los miles promediados de mediciones que son más o menos resultados en las fluctuaciones (y valores en general) en unos límites más o menos razonables.
Pero ese no fue el único problema. Estoy tan acostumbrado a confiar en el esquema de otra persona, que al principio no entendía por qué las escalas en algún momento comienzan a mostrar el mismo valor. Y entonces se hizo evidente que este mediciones de techo. Yo no soy un genio, así que pasamos un montón de tiempo y averiguar nemudrenyh este hecho, y para resolver el problema.
La esencia del problema es que la resistencia R1 INA125 ganancia viene dada por la fórmula:
Por lo tanto, de acuerdo con el circuito autores de amplificación se fija en 1500 (1542, 5, para ser precisos). Al parecer, fue elegido para una instancia específica de la balanza de lo que realmente pensaba. Para mis pesos, a juzgar por los resultados, era demasiado. Así que he añadido otro 39 ohmios y conseguí un resultado ligeramente diferente: la ganancia en la región de 773.
Se debe recordar que sobre la base de la misma INA125 hoja de datos, la tensión de salida del amplificador no es más de 3,8 V. De ahí se obtiene el valor máximo de los pines analógicos leer Arduino: (3, 8 * 1024) / 5 = 778. En este punto, también logró insertarse en el equilibrio, por lo que se encontró que la relación entre el peso y el valor de la analógica Pina es aproximadamente 7, 25. < br />
Resumen: con el fortalecimiento actual del límite teórico de la escala es de aproximadamente 107 kg, lo que es más que me satisfizo. Pero si hay algo que moleste, entonces, tal vez, para cambiar la resistencia y recoger hasta el límite operativo de 150 kg. Y el post-hoja de vida para los curiosos. Libra I calibrado pesos en el otro piso. Es claro que no hay una precisión de más o menos las zapatillas de deporte, así, el original y es el mismo.
No se utiliza ningún pesos de referencia. A sólo tres mediciones en uno, tres mediciones en el otro. Y la media aritmética de cada instancia de dividir entre sí. Por lo tanto, la relación entre lo que consigue Arduino y el peso real.
Uno para Todos h4> escalas y piezas de hierro Así, he sido calibrados que pueden transmitir lecturas ... en alguna parte, en general, son capaces de hacer. Hay muy pocos: escribir un programa de trabajo con un multi-modo de múltiples especies y, si es posible manera, más o menos cómoda de cambiar los tipos y usuarios
.
La explicación es simple. Me gustaría obtener resultados de pesaje identificables para él, su esposa y dar a los huéspedes para jugar sin mezclarlos con sus resultados. Y a veces me gustaría que sopesar nuestros gatos, y con un mínimo de esfuerzo. ¿Sabes cómo se pesan los gatos, ¿eh? Usted toma el gato en sus manos, se levanta en la balanza, el peso de almacenamiento, permitiendo que el gato de nuevo, se levanta en las escalas. A continuación, lea de más de menos.
En general, palabra por palabra, y definido dos tipos (humanos y gatos) y ocho usuarios. Así que recuerde, es el control más o menos conveniente era muy conveniente.
A partir de la idea de utilizar la pantalla LCD nativa me negué casi inmediatamente como leer sobre ingeniería inversa del protocolo para comunicarse con él. Y con motivo de la pantalla OLED comprado 0,96 pulgadas que podía matar a algún lugar en el curso de los experimentos (quizás él estaba todavía en 3.3V y 5V no, como se había prometido a los chinos). Sí, y el honor, estoy terriblemente jodido: en la pantalla la foto parecía bastante grande, pero en realidad resultó ser pequeño - con una altura de crecimiento todavía nada sería visto. Además, en la etapa de pruebas encontré que con una biblioteca y una pantalla de biblioteca WiFiRM04 no se llevan bien. Obviamente, Memory Pro Mini para los dos demasiado poco.
Por lo tanto, la retirada de fondos se mantuvo tweeters y LEDs. Digresión: Ahora me monta pantalla LED segmento, que es, probablemente, atornillado a la balanza, pero tal vez no - demasiado Me gusta que pasó. LED planeé para mostrar la voluntad de trabajar escalas y chillona - expresé estado actual, los errores de envío y lectura de éxito.
Con respecto a los medios de entrada, lo que quería hacer el mínimo absoluto. Imagínese: usted se coloca en las escalas y algunos otros botones, interruptores - ¿qué es? Al mismo tiempo, y no quería que estar encadenado a su teléfono, si se supone que el ajuste deseado se activa a un smartphone. Es decir, a ser posible, la gestión de mi idea debe ser tal que la mitad de la noche, y con los ojos cerrados no podía sopesar los problemas.
Y entonces pensé: "Oye, amigo, usted tiene el mismo sensor de peso maravillosa bajo los pies de cuatro (bueno, ok, uno sintético). ¿Por qué no utilizarlos como botón todopoderoso? ". Sinceramente: la mitad de los individuos (actividad) se mostró encantado con una solución tan elegante al problema; segundo medio (perezoso) - en profunda angustia. Pero la idea estaba fascinado, y después de algún tiempo de prueba y error salió a la luz tras el concepto de control:. Conmutación y usuario hace clic en la tabla de pesos y mostrar el estado actual - pitidos
Es decir,
PD
¿Por qué Surface Pro 3 digitalizador tiene 256 niveles de presión?
Niño adornado con dibujos ... pasaporte de papá!