Tabla de contenido:
- Paso 1: reúna las piezas
- Paso 2: descargue e instale algún software
- Paso 3: cree un circuito de descarga
- Paso 4: Programe las fichas
- Paso 5: Construya el circuito Tx
- Paso 6: Construya el circuito Rx
- Paso 7: escriba algún código VB.Net
- Paso 8: agregue algún código
- Paso 9: Ejecute el programa en ambas PC
- Paso 10: capturas de pantalla del código
- Paso 11: Captura de pantalla 2
- Paso 12: captura de pantalla 3
- Paso 13: captura de pantalla 4
- Paso 14: captura de pantalla 5
- Paso 15: captura de pantalla 6
Video: Enlace mundial de microcontroladores por menos de $ 20: 15 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
Controla el termostato de tu casa desde el trabajo. Encienda un rociador desde cualquier parte del mundo presionando un interruptor. Este Instructable muestra cómo vincular dos o más microcontroladores de $ 4 usando la red troncal de Internet y un código VB. Net simple. Esto se basa en un Instructable anterior que muestra cómo vincular un microcontrolador a una PC y usar una olla para controlar un servo https://www.instructables.com/id/Control-real-world-devices-with-your-PC/ Esta vez tenemos un microcontrolador hablando con un programa VB. Net y luego con un sitio web ftp, de regreso a otro VB. Net programa y de ahí un segundo microcontrolador en cualquier parte del mundo, con o sin intervención humana. ¿De qué otra manera se supone que las máquinas en The Matrix tomarán el control si no pueden hablar entre sí?
Paso 1: reúna las piezas
Muchas de las partes son las mismas que en el Instructable de control de PC https://www.instructables.com/id/Control-real-world-devices-with-your-PC/ y se sugiere que esto se complete primero antes de intentar para vincular dos microcontroladores. Si bien es bastante posible usar un potenciómetro para controlar un servo, esta vez vamos a optar por algo más simple: un interruptor que enciende un LED. El interruptor podría ser fácilmente un sensor de nivel de tanque y el LED podría ser una bomba cerca de un río, pero primero hagamos que algo simple funcione. ed.co.uk/picaxe/ (Reino Unido), PH Anderson https://www.phanderson.com/ (EE. UU.) y Microzed https://www.microzed.com.au/ (Australia). Estas fichas cuestan menos de $ 4US. Dos de: Protoboard, batería de 9V y clips de batería, resistencia de 10k, resistencia de 22k, condensador de 33uF 16V, condensador de 0.1uF, regulador de 5V de baja potencia 7805L, cables (cable de datos / teléfono de núcleo sólido, por ejemplo, Cat5 / 6), LED, resistencia de 1k. 1 de: enchufe hembra D9 y tapa y 2 metros de cable de datos de 3 (o 4) núcleos (para descargar) y un interruptor de palanca. 2 computadoras con puertos serie de 9 pines (aunque se pueden depurar en una computadora) y una conexión a Internet. Para computadoras sin puerto serie, un dispositivo USB a serie https://www.rev-ed.co.uk/docs/axe027.pdf y una pequeña toma estéreo.
Paso 2: descargue e instale algún software
Necesitaremos el VB. Net gratuito y el software del controlador picaxe y si ha hecho el controlador de PC Instructable, ya los tendrá. VB. Net (Visual Basic Express) está disponible en https://msdn2.microsoft.com/en -us / express / aa718406.aspx El software picaxe está disponible en https://www.rev-ed.co.uk/picaxe/ Deberá registrarse con microsoft para obtener la descarga; si esto es un problema, use un correo electrónico falso o algo. De hecho, me resultó útil dar mi correo electrónico real, ya que envían actualizaciones ocasionales. También voy a mencionar el foro picaxe https://www.picaxeforum.co.uk/ ya que este es el tipo de foro con personal de profesores y donde los estudiantes generalmente pueden obtener respuestas a sus preguntas en unas pocas horas. El foro es muy comprensivo incluso con las preguntas más simples, ya que algunos de los estudiantes todavía están en el nivel de la escuela primaria. ¡No tengas miedo de pedir ayuda!
Paso 3: cree un circuito de descarga
Este circuito de descarga usa un chip picaxe, un par de resistencias, un regulador y una batería de 9V. Hay más información disponible en la documentación / ayuda de picaxe que aparece en el menú de ayuda del programa. El circuito solo debería tomar unos minutos para construirse una vez que todas las piezas estén a mano. Una vez que se programa un chip, conserva su programa en EEPROM incluso cuando se apaga la energía. Dado que estamos programando dos chips, podría valer la pena etiquetar los chips para saber cuál es cuál. Siempre puede volver atrás y reprogramar un chip quitando un enlace y moviendo una resistencia.
También podría agregar que los picaxes funcionan felizmente con 3 baterías AA. Un suministro regulado de 5 V es útil para ejecutar entradas analógicas ya que los voltajes de referencia no cambian, pero para circuitos simples de encendido / apagado no se necesita un suministro regulado. El registro de 5 V se puede omitir en estas situaciones.
Paso 4: Programe las fichas
Llamaremos a un programa Tx y un Rx. Tx es el chip controlador y tiene un interruptor y un led. Rx también tiene un led. Cuando el interruptor cambia la señal pasa de Tx a Rx, cambia el led y también cambia una segunda variable que luego vuelve a Tx. Entonces, mueva el interruptor y en menos de un minuto el LED cambia en ambos circuitos, lo que indica que el mensaje llegó allí y el Rx está actuando en la nueva posición del interruptor. En el nivel más simple, el picaxe tiene 14 registros de un solo byte. Cuando se crea una red virtual, vinculamos todos esos registros, de modo que si un byte cambia en un picaxe, cambia en todos los picaxes. Claramente, si dos picaxes intentan cambiar el mismo byte, se volverá muy confuso, pero si cada picaxe solo cambia un byte, entonces todos los demás picaxes pueden ver ese cambio y actuar en consecuencia. Los mensajes simples se pueden pasar hacia atrás y hacia adelante si un determinado byte solo se cambia con un picaxe. Una olla puede cambiar el valor en un registro y uno o más picaxes pueden sentir ese cambio y mover un servo o lo que sea y encender un calentador. Un segundo registro podría devolver la temperatura en la habitación. Copie y pegue los programas a su vez en el programador picaxe y descárguelos en cada uno de los chips respectivos usando la flecha azul de descarga desde dentro del programador picaxe. Tx: main: serin 3, N2400, ("Data"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 'obtener el paquete de la computadora si pin2 = 0 luego 'pruebe el interruptor y configure el registro b0 dependiendo del estado b0 = 0 en caso contrario b0 = 1 endif si b1 = 0 entonces' otros juegos picaxe b1 dependiendo de b0 bajo 1 'led apagado en caso contrario alto 1' led encendido endif serout 0, N2400, ("Datos", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) 'enviar de vuelta a la computadora goto mainand Rx: main: serin 3, N2400, ("Datos"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 'obtener el paquete de la computadora b1 = b0' cambiar el registro b1 a registro igual b0 si b1 = 0 luego bajo 1 'led apagado si no alto 1' led encendido endif serout 0, N2400, ("Datos", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) 'enviar de vuelta a la computadora goto main
Paso 5: Construya el circuito Tx
Si está yendo y viniendo entre un circuito de trabajo y un circuito de programación, asegúrese de cambiar la conexión al tramo 2 y la ubicación de la resistencia de 22k desde el tramo 2 al tramo 4. O puede construir un circuito de descarga dedicado y mover los chips a través de. Solo tenga en cuenta si un circuito se está ejecutando o descargándose, ya que puede resultar bastante confuso. En particular, tenga en cuenta que un circuito en funcionamiento no funcionará si la pata 2 se deja flotando; debe conectarse a tierra. La pata 2 es el pin de descarga y si se deja flotando, capta RF perdida de las luces de flouro y el chip cree que se está descargando otro programa.
También vale la pena mencionar la nomenclatura picaxe que llama a un pin físico una pierna y a un pin virtual un pin. Por lo tanto, una salida en el pin 2 en el código es en realidad una salida en el tramo físico 5. Esto puede parecer extraño, pero significa que el código se puede portar a picaxes más grandes como las versiones de 28 y 40 pines y aún funciona.
Paso 6: Construya el circuito Rx
Este circuito es casi el mismo que el transmisor, simplemente no tiene interruptor.
Paso 7: escriba algún código VB. Net
Podría haber compilado el código y hacer que este programa estuviera disponible como.exe compilado, pero aprender algo de VB. Net es tan increíblemente útil que vale la pena revisarlo paso a paso. Si está ejecutando esto en dos computadoras diferentes, puede construir el programa en un.exe que crea un pequeño programa de instalación que se puede instalar en la segunda computadora. O puede poner VB. Net en ambas computadoras y ejecutar los programas desde VB. Net Supongamos que sabe cómo abrir un nuevo proyecto de VB.net desde el paso 7 y 8 de https://www.instructables.com/id/S1MMU2XF82EU2GT / En el formulario en blanco, agreguemos los siguientes componentes de la barra de herramientas y colóquelos en el formulario en las ubicaciones como se muestra. Para las etiquetas y los cuadros de texto, cambie la propiedad del texto (en la parte inferior derecha) a lo que se necesita. No se preocupe por la configuración del temporizador: los cambiaremos en el código, pero asegúrese de poner un temporizador. Puede mover las cosas y no hay reglas reales sobre la ubicación. El cuadro de texto grande es un RichTextBox y los tres más pequeños son cuadros de texto ordinarios. En términos de orden, comenzamos en la parte superior del formulario y avanzamos hacia abajo. Si deja algo, habrá un error en el código que debería dar algún tipo de pista. Elija un nombre de archivo aleatorio para Textbox3: este es el nombre de su grupo único de picaxes en el servidor ftp y, obviamente, si todos usamos el mismo nombre, entonces los datos se van a confundir! Lo siento por los guiones en esta tabla - al poner espacios se pierde el formato en la tabla. Objeto de caja de herramientas ------- Texto ----------- ------------------------------ NotesLabel1 ------------------ Picaxe CommunicationsLabel2 ------------------ FTP StatusLabel3 ------------------ StatusLabel4 ---------- -------- Picaxe RegistersLabel5 ------------------ Registro 0-13Label6 ------------------ Valor 0-255Label7 ------------------ Nombre de archivo del enlace FTPTextbox1 ---------------- 0 -------- -------------------------------------- 0 es un cero, no un OTextbox2 ----- ----------- 0Textbox3 ---------------- Mi nombre de archivo --------------------- ---------- ¡Cambie para que no haya conflictos! Button1 ------------------ ModifyRichtextbox1 Picturebox1 Picturebox2 Timer1
Paso 8: agregue algún código
Consulte el paso 12 del otro instructable para conocer la ubicación del botón que cambia entre la vista de formulario y la vista de código. Cambie a la vista de código y pegue el siguiente código. Todos los colores deberían volver a aparecer como en la captura de pantalla. Si una línea no se ha copiado correctamente debido a un problema de ajuste de palabras, elimine los espacios hasta que desaparezca el mensaje de error. Intenté comentar la mayoría de las líneas para que el código al menos tenga algún sentido. Elimine el bit de clase pública para que el texto esté en blanco antes de pegarlo; este código ya tiene una clase pública. Si un objeto como un cuadro de texto no se ha colocado en el formulario o tiene un nombre incorrecto, aparecerá en el código de texto con una línea azul ondulada debajo. cosas como left (y right (para stringsPublic Class Form1 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer) 'para declaraciones de suspensión Dim WithEvents serialPort As New IO. Ports. SerialPort' puerto serial declare Dim PicaxeRegisters (0 a 13) As Byte 'registra b0 a b13 Dim ModifyFlag As Boolean Private Sub Form1_Load (ByVal sender As Object, ByVal e As System. EventArgs) Handles Me. Load' necesita toda esta basura -.net lo coloca automáticamente cuando pasa a los eventos de formulario1 arriba / carga Timer1. si modifica un valor manualmente, entonces s kip descargar RichTextBox1. Multiline = True 'por lo que puede mostrar más de una línea Call DisplayPicaxeRegisters ()' mostrar los 14 registros Call ReadFTPFilename () 'leer el nombre del archivo del disco (resguardado cada 20 segundos) End Sub Sub SerialTxRx () Dim DataPacket (0 a 17) As Byte 'paquete de datos completo "Datos" +14 bytes Dim i As Integer' i siempre es útil para bucles, etc. Para i = 0 a 3 DataPacket (i) = Asc (Mid ("Data", i + 1, 1)) 'agregue la palabra "Data" al paquete Next For i = 0 To 13 DataPacket (i + 4) = PicaxeRegisters (i)' agregue todos los bytes al paquete Next If serialPort. IsOpen Then serialPort. Close () 'por si acaso ya está abierto End If Try With serialPort. PortName = "COM1"' La mayoría de las computadoras nuevas tienen el valor predeterminado com1, pero cualquier computadora anterior a 1999 con un mouse en serie probablemente usará com2. BaudRate = 2400 '2400 es la velocidad máxima para pequeños picaxes. Parity = IO. Ports. Parity. None 'sin paridad. DataBits = 8' 8 bits. StopBits = IO. Ports. StopBits. One 'un bit de parada. ReadTimeout = 1000' milisegundos ds por lo que se agota en 1 segundo si no hay respuesta. Open () 'abre el puerto serie. DiscardInBuffer ()' borra el búfer de entrada. Write (DataPacket, 0, 18) 'envía la matriz de paquetes de datos Call Sleep (300)' 100 milisegundos mínimo para esperar a que los datos regresen y más si el flujo de datos es más largo. Leer (DataPacket, 0, 18) 'leer de nuevo en la matriz de paquetes de datos. Cerrar ()' cerrar el puerto serie End With For i = 4 To 17 PicaxeRegisters (i - 4) = DataPacket (i) 'mover el nuevo paquete de datos a la matriz de registro Siguiente PictureBox1. BackColor = Color. GreenYellow' funcionando Catch ex As Exception PictureBox1. BackColor = Color. Red 'no funciona End Try End Sub Sub FTPUpload (ByVal Filename As String) Dim localFile As String 'lugar para almacenar datos Dim remoteFile As String' nombre de archivo distingue entre mayúsculas y minúsculas esto es realmente importante Const host As String = "ftp://ftp.0catch.com" 'tenga en cuenta que el 0 es un cero no es un carácter O Const username As String = "picaxe.0catch.com" Const Password As String = "picaxetester" Dim URI As String localFile = Nombre de archivo 'quizás no sea necesario, pero si define una ubicación, por ejemplo, c: / mydirectory se puede agregar fácilmente de esta manera.. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = New System. Net. NetworkCredential (nombre de usuario, contraseña) 'iniciar sesión ftp. KeepAlive = False' será desconectando una vez hecho ftp. UseBinary = True 'use comunicaciones binarias ftp. Timeout = 9000' timeout después de 9 segundos - muy útil ya que ftp a veces muere el tiempo de espera (y la frecuencia de reloj de 20 segundos) puede necesitar ser más lento para conexiones de acceso telefónico ftp. Method = System. Net. WebRequestMethods. Ftp. UploadFile 'comienza a enviar el archivo Dim fs As New FileStream (localFile, FileMode. Open)' abre el archivo local Dim filecontents (fs. Length) As Byte 'lee en la memoria fs. Read (filecontents, 0, fs. Length) fs. Close () 'cerrar el archivo Dim requestStream As Stream = ftp. GetRequestStream ()' iniciar ftp link requestSt ream. Write (filecontents, 0, filecontents. Length) 'enviar requestStream. Close ()' cerrar el enlace PictureBox2. BackColor = Color. GreenYellow 'cambiar el cuadro a verde para decir que funcionó bien Label2. Text = "FTP Connected"' texto que dice que está conectado Catch 'no se puede conectar PictureBox2. BackColor = Color. Red' cuadro en rojo porque no hay conexión Label2. Text = "FTP Upload Fail" 'texto que dice que la conexión falló Finalizar Intento Finalizar Sub Sub FTPDownload (ByVal Filename As String) 'descarga el archivo remoto al archivo local Dim localFile As String' lugar para almacenar datos Dim remoteFile As String 'el nombre del archivo distingue entre mayúsculas y minúsculas, esto es realmente importante Const host As String = "ftp://ftp.0catch.com" Const username As String = "picaxe.0catch.com "Const password As String =" picaxetester "Dim URI As String 'localFile =" C: / "+ Filename' almacena en el directorio raíz pero puede cambiar este localFile = Filename 'así que puede agregar c: / si es necesario definir ubicación actual remoteFile = "/" + Filename 'agregado a la ubicación de ftp remota URI = host + remoteFile' make up dirección completa Probar Dim ftp As System. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = New System. Net. NetworkCredential (nombre de usuario, contraseña) 'iniciar sesión en ftp. KeepAlive = False 'se desconectará después de terminar ftp. UseBinary = True' modo binario ftp. Timeout = 9000 'timeout después de 9 segundos ftp. Method = System. Net. WebRequestMethods. Ftp. DownloadFile' descargar un archivo 'leído en partes como no sé qué tan grande es el archivo Usando response As System. Net. FtpWebResponse = CType (ftp. GetResponse, System. Net. FtpWebResponse) Usando responseStream como IO. Stream = response. GetResponseStream Usando fs como nuevo IO. FileStream (localFile, IO. FileMode. Create) Dim buffer (2047) As Byte Dim read As Integer = 0 Do read = responseStream. Read (buffer, 0, buffer. Length) 'pieza de ftp fs. Write (buffer, 0, read)' y escribir en el archivo Bucle hasta leer = 0 'hasta que no haya más piezas responseStream. Close ()' cerrar el archivo ftp fs. Flush () 'flush clear fs. Close ()' y cerrar th e file End Using responseStream. Close () 'ciérrelo incluso si no hay nada allí End Using response. Close () PictureBox2. BackColor = Color. GreenYellow' cuadro verde como funcionaba Label2. Text = "FTP Connected" 'y texto que lo dice trabajó End Using Catch 'coloque los códigos de error aquí PictureBox2. BackColor = Color. Red' cuadro rojo ya que no funcionó Label2. Text = "FTP Download Fail" 'y mensaje para decir esto End Try End Sub Private Sub Timer1_Tick (ByVal sender As System. Object, ByVal e As System. EventArgs) Maneja Timer1. Tick If ModifyFlag = False Then 'si el usuario cambió un byte, entonces no descargue Label3. Text = "Downloading" System. Windows. Forms. Application. DoEvents () 'para que se muestre el texto de la nueva etiqueta Llamar a FTPDownload (TextBox3. Text)' descargar el archivo remoto Label3. Text = "Downloaded" System. Windows. Forms. Application. DoEvents () Call ReadRemoteFileToRegisters () 'guardar números de archivo en la matriz de registro Label3. Text = "Hablando con picaxe" System. Windows. Forms. Application. DoEvents () Else ModifyFlag = False 'restablecer la bandera End If Call SerialTxRx () 'enviar al picaxe y volver a leerlo Label3. Text = "Enviado y recibido desde picaxe" System. Windows. Forms. Application. DoEvents () Call DisplayPicaxeRegisters () Call SaveRegistersToLocalFile ()' guardar números en un archivo Label3. Text = "Subiendo" System. Windows. Forms. Application. DoEvents () Llamar a FTPUpload (TextBox3. Text) 'enviar de nuevo al sitio ftp llamado como mi nombre Label3. Text = "Descansar" Llamar a SaveFTPFilename ()' así se lee en cuando se reinicia End Sub Sub DisplayPicaxeRegisters () Dim i As Integer Dim registernumber As String RichTextBox1. Multiline = True 'por lo que puede mostrar más de una línea en el cuadro de texto RichTextBox1. Clear ()' borre el cuadro de texto Para i = 0 a 13 registernumber = Trim (Str (i)) 'recorta los espacios iniciales If i <10 Then registernumber = "0" + registernumber' agrega 0 a los números por debajo de 10 End If RichTextBox1. AppendText (registernumber + "=" + Str (PicaxeRegisters (i)) + Chr (13)) Siguiente 'chr (13) es el retorno de carro, por lo que la nueva línea End Sub Private Sub Button1_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Maneja Button1. Click Dim i As Integer 'check out of range first i = Val (TextBox1. Text) If i <0 Or i> 13 Then TextBox1. Text = 0 End If i = Val (TextBox2. Text) If i <0 O i> 255 Then TextBox2. Text = 0 End If PicaxeRegisters (Val (TextBox1. Text)) = Val (TextBox2. Text) 'cambie el valor Call DisplayPicaxeRegisters ()' y actualice la pantalla ModifyFlag = True 'y el siguiente enlace ftp omita la descarga End Sub Sub SaveRegistersToLocalFile ()' guarde la matriz de registros en un archivo de texto local Dim i As Integer FileOpen (1, TextBox3. Text, OpenMode. Output) 'abra el archivo de texto llamado en el cuadro de texto For i = 0 To 13 PrintLine (1, Str (PicaxeRegisters (i))) 'guardar 14 valores Next FileClose (1)' cerrar el archivo End Sub Sub ReadRemoteFileToRegisters () 'leer el archivo de texto local en la matriz de registros Dim i As Integer Dim LineOfText As String Try FileOpen (1, TextBox3. Text, OpenMode. Input) 'leer el nombre del archivo remoto For i = 0 To 13 LineOfText = LineInput (1)' leer en el 14 lin es PicaxeRegisters (i) = Val (LineOfText) 'convertir texto a valores Siguiente FileClose (1) Catch ex As Exception FileClose (1)' el archivo no existe, así que no hacer nada End Try End Sub ReadFTPFilename () 'por lo que el nombre de el archivo ftp remoto es el mismo la próxima vez que se ejecute este programa. name FileClose (1) Catch ex As Exception FileClose (1) End Try End Sub Sub SaveFTPFilename () FileOpen (1, "FTPFilename.txt", OpenMode. Output) 'guarda el nombre de archivo ftp remoto PrintLine (1, TextBox3. Text) FileClose (1) End SubEnd Class
Paso 9: Ejecute el programa en ambas PC
Comience a ejecutar el programa haciendo clic en el triángulo verde en la parte superior central de la pantalla: el botón 'Iniciar depuración'. No sucederá nada durante 20 segundos y luego el programa intentará conectarse al servidor ftp e intentará conectarse al picaxe. Los cuadros de imágenes se volverán rojos o verdes. La ubicación de ftp es un sitio web gratuito y cualquiera puede usar esto, pero necesita usar un nombre de archivo de trabajo de ftp diferente (el mío es DoctorAcula1), de lo contrario, ¡todos podríamos terminar con los datos de los demás si usamos el mismo nombre de archivo! Si lo desea, eventualmente puede obtener su propio sitio ftp; simplemente cambie la ubicación del ftp, el nombre de usuario y la contraseña en dos lugares del código de mi sitio web 0Catch. La mayoría de los sitios web permiten ftp. Varias computadoras pueden acceder al mismo archivo ftp; el servidor de archivos ftp clasifica en qué orden ocurren. Ocasionalmente, hay conflictos o bloqueos de datos y estos parecen ocurrir cada 20 lecturas de archivos. Hay un tiempo de espera en el código si esto sucede, por lo que no devuelve datos en lugar de datos corruptos. El uso de una conexión de banda ancha con una velocidad de carga de 128 kbs significa que la carga de un archivo demora aproximadamente 3 segundos, pero a veces hasta 8 segundos, la mayoría de los cuales se toman en apretón de manos en lugar de transferencia de datos. Esto establece el tiempo del timer1 en un mínimo de unos 20 segundos teniendo en cuenta la descarga, la carga y el chat con el picaxe. Con banda ancha muy rápida, es posible que pueda acortar el tiempo del ciclo. Puede cambiar un registro manualmente dentro del programa VB. Si lo hace, el siguiente ciclo del temporizador omite la descarga del sitio ftp y envía los nuevos datos al picaxe y luego los vuelve a leer y los carga. De este modo, los nuevos datos llegan a todos los picaxes vinculados a este grupo. Esto es útil para depurar y / o vincular el software de la PC al circuito de hardware del microcontrolador. Los sitios web también pueden acceder al bucle de hardware utilizando un script PERL o similar para escribir un nuevo archivo en el sitio ftp. Esta captura de pantalla se tomó ejecutando el chip Tx, el interruptor estaba encendido y el registro b0 = to 1 se había enviado al chip Rx que luego había cambiado el registro b1 a 1 también. El led se encendió así en ambos tableros. Esta es una aplicación trivial pero es fácil encender una bomba de 3.6Kw en lugar de un LED. Algunas ideas más se encuentran en https://drvernacula.topcities.com/, incluida la vinculación de picaxes a través de enlaces de radio alimentados por energía solar. Con enlaces de radio e Internet es posible que 'The Machines' llegue a muchos rincones del mundo. Hay algunas ideas en el foro picaxe sobre cómo llevar esta idea más allá y reemplazar la PC y el sitio ftp con chips de servidor web dedicados que se conectan directamente a un enrutador. Claramente, esto reduciría el consumo de energía de un enlace. Si está interesado en más discusiones, publique en los comentarios de Intstructable y / o en el foro de picaxe. Dr. James Moxham Adelaide, Australia del Sur
Paso 10: capturas de pantalla del código
A pedido, aquí hay una serie de capturas de pantalla del código vb.net con todo el formato en su lugar. Este código fue realmente copiado de este instructable y el formato reapareció automáticamente. Sería mejor copiar y pegar el texto que intentar leer estas imágenes, pero serán útiles si se encuentra en un cibercafé y no puede instalar vb.net.
Paso 11: Captura de pantalla 2
Captura de pantalla 2
Paso 12: captura de pantalla 3
Captura de pantalla 3
Paso 13: captura de pantalla 4
Captura de pantalla 4
Paso 14: captura de pantalla 5
Captura de pantalla 5
Paso 15: captura de pantalla 6
Captura de pantalla 6
Recomendado:
Sensor meteorológico compacto con enlace de datos GPRS (tarjeta SIM): 4 pasos
Sensor meteorológico compacto con enlace de datos GPRS (tarjeta SIM): resumen del proyecto Se trata de un sensor meteorológico a batería basado en un sensor de temperatura / presión / humedad BME280 y un MCU ATMega328P. Funciona con dos pilas AA de litio tionilo de 3,6 V. Tiene un consumo de sueño ultrabajo de 6 µA. Envía eso
Cultivar más lechuga en menos espacio o Cultivar lechuga en el espacio, (más o menos): 10 pasos
Cultivando más lechuga en menos espacio o … Cultivando lechuga en el espacio, (más o menos) .: Esta es una presentación profesional para el Concurso Creador Growing Beyond Earth, presentado a través de Instructables. No podría estar más emocionado de estar diseñando para la producción de cultivos espaciales y publicar mi primer Instructable. Para comenzar, el concurso nos pidió que
Uso de sonar, Lidar y visión por computadora en microcontroladores para ayudar a las personas con discapacidad visual: 16 pasos
Uso de sonar, Lidar y visión por computadora en microcontroladores para ayudar a las personas con discapacidad visual: quiero crear un "bastón" inteligente que pueda ayudar a las personas con discapacidad visual mucho más que las soluciones existentes. El bastón podrá avisar al usuario de objetos en el frente o en los laterales haciendo un ruido en los auriculares tipo sonido envolvente
Construya un enlace de datos de radio de 500 metros por menos de $ 40 .: 7 pasos
Construya un enlace de datos de radio de 500 metros por menos de $ 40 .: ¿Tiene un tanque de agua que desea medir o una presa o una puerta? ¿Quiere detectar un coche que viene por el camino pero no quiere pasar cables por el jardín? Este instructivo muestra cómo enviar datos a 500 metros con 100% de confiabilidad usando microcontr
Bolígrafo IR minimalista: sin soldar, menos de un minuto, menos de un dólar: 3 pasos
Bolígrafo IR minimalista: sin soldar, menos de un minuto, menos de un dólar: mi primer instructable, espero que sea útil: si quieres probar el JC Lee (el JC significa Johnny Chung, pero él también hace milagros. ..) o el programa Smoothboard en www.smoothboard.net (años luz por delante, porque Boon Jin comenzó