Índice:

Link mundial do microcontrolador por menos de $ 20: 15 etapas
Link mundial do microcontrolador por menos de $ 20: 15 etapas

Vídeo: Link mundial do microcontrolador por menos de $ 20: 15 etapas

Vídeo: Link mundial do microcontrolador por menos de $ 20: 15 etapas
Vídeo: Microcontroladores PIC – Aula 01 – Arquitetura básica 2024, Julho
Anonim
Link mundial do microcontrolador por menos de $ 20
Link mundial do microcontrolador por menos de $ 20

Controle o termostato de sua casa no trabalho. Ligue um sprinkler em qualquer lugar do mundo, pressionando um botão. Este Instructable mostra como vincular dois ou mais microcontroladores de $ 4 usando o backbone da internet e algum código VB. Net simples. Isso se baseia em um Instructable anterior que mostra como vincular um microcontrolador a um PC e usar um potenciômetro para controlar um servo https://www.instructables.com/id/Control-real-world-devices-with-your-PC/ Desta vez, temos um microcontoller conversando com um programa VB. Net e depois com um site ftp, de volta para outro VB. Net programar e daí um segundo microcontrolador em qualquer parte do mundo, com ou sem intervenção humana. De que outra forma as máquinas em Matrix poderiam assumir o controle se não podem falar umas com as outras?

Etapa 1: Reúna as peças

Reúna as peças
Reúna as peças

Muitas das partes são iguais às do PC Control Instructable https://www.instructables.com/id/Control-real-world-devices-with-your-PC/ e sugere-se que isso seja concluído antes de tentar para ligar dois microcontroladores. Embora seja possível usar um potenciômetro para controlar um servo, desta vez iremos para algo mais simples - um interruptor ligando um led. O interruptor poderia facilmente ser um sensor de nível do tanque e o led poderia ser uma bomba para baixo perto de um rio, mas vamos fazer algo simples funcionar primeiro. Peças - Dois chips Picaxe 08M - disponíveis em várias fontes, incluindo Rev Ed https://www.rev- ed.co.uk/picaxe/ (Reino Unido), PH Anderson https://www.phanderson.com/ (EUA) e Microzed https://www.microzed.com.au/ (Austrália). Esses chips custam menos de $ 4US. Dois de: Protoboard, bateria de 9 V e clipes de bateria, resistor de 10k, resistor de 22k, capacitor de 33uF 16V, capacitor de 0,1uF, regulador de 5V de baixa potência 7805L, fios (telefone de núcleo sólido / fio de dados, por exemplo, Cat5 / 6), LED, resistor de 1k. 1 de: Soquete fêmea D9 e tampa e 2 metros de 3 (ou 4) fios de dados de núcleo (para download) e uma chave seletora. 2 computadores com portas seriais de 9 pinos (embora possam ser depurados em um computador) e uma conexão à Internet. Para computadores sem porta serial, um dispositivo USB para serial https://www.rev-ed.co.uk/docs/axe027.pdf e um pequeno soquete estéreo.

Etapa 2: Baixe e instale alguns softwares

Baixe e instale algum software
Baixe e instale algum software

Precisaremos do VB. Net gratuito e do software controlador picaxe e, se você tiver feito o controlador de PC Instructable, já terá esses.. VB. Net (Visual Basic Express) está disponível em https://msdn2.microsoft.com/en -us / express / aa718406.aspxO software picaxe está disponível em https://www.rev-ed.co.uk/picaxe/Você precisará se registrar na Microsoft para obter o download - se for um problema, use um e-mail falso ou alguma coisa. Na verdade, achei útil enviar meu e-mail real enquanto eles enviam atualizações ocasionais. Também vou mencionar o fórum picaxe https://www.picaxeforum.co.uk/, pois esse é o tipo de fórum composto por professores e educadores e onde os alunos geralmente podem obter respostas às perguntas dentro de algumas horas. O fórum é muito compreensivo até mesmo com as questões mais simples, já que alguns dos alunos ainda estão no nível do ensino fundamental. Por favor, não tenha medo de pedir ajuda!

Etapa 3: construir um circuito de download

Construir um circuito de download
Construir um circuito de download

Este circuito de download usa um chip picaxe, alguns resistores, um regulador e uma bateria de 9V. Mais informações estão disponíveis na documentação / ajuda do picaxe que aparece no menu de ajuda do programa. O circuito deve levar apenas alguns minutos para ser construído quando todas as peças estiverem disponíveis. Uma vez que um chip é programado, ele retém seu programa na EEPROM mesmo quando a energia é desligada. Como estamos programando dois chips, pode valer a pena rotular os chips para que você saiba qual é qual. Você sempre pode voltar e reprogramar um chip removendo um link e movendo um resistor.

Eu também poderia acrescentar que os picaxes funcionam bem com 3 pilhas AA. Uma fonte regulada de 5 V é útil para operar entradas analógicas, pois as tensões de referência não mudam, mas para circuitos simples liga / desliga, uma fonte regulada não é necessária. O 5V reg pode ser omitido nessas situações.

Etapa 4: programe os chips

Programe os chips
Programe os chips

Chamaremos um programa Tx e um Rx. Tx é o chip controlador e tem um switch e um led. Rx também tem um led. Quando o switch muda o sinal vai de Tx para Rx, muda o led e também muda uma segunda variável que então volta para Tx. Então aperte a chave e em menos de um minuto o led muda em ambos os circuitos indicando que a mensagem chegou lá e o Rx está atuando na nova posição da chave. No nível mais simples, o picaxe tem 14 registros de byte único. Quando uma rede virtual é criada, vinculamos todos esses registros juntos, de forma que se um byte muda em um arquivo, ele muda em todos os arquivos. Claramente, se dois picaxes estão tentando alterar o mesmo byte, então vai ficar muito confuso, mas se cada picaxe alterar apenas um byte, todos os outros picaxes podem ver essa mudança e podem agir sobre ela. Mensagens simples podem ser transmitidas para frente e para trás se um determinado byte for alterado apenas por um arquivo de dados. Um pote pode mudar o valor em um registro e um ou mais outros picaxes podem sentir essa mudança e mover um servo ou qualquer coisa e ligar um aquecedor. Um segundo registro poderia devolver a temperatura da sala. Copie e cole os programas, por sua vez, no programador de arquivo e baixe-os para cada um dos respectivos chips usando a seta azul de download de dentro do programador de arquivo. Tx: main: serin 3, N2400, ("Dados"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b9, b10, b11, b12, b13 'obter o pacote do computador se pino2 = 0 então 'teste a chave e defina o registro b0 dependendo do status b0 = 0 else b0 = 1 endif se b1 = 0 então' outros conjuntos de picaxe b1 dependendo de b0 baixo 1 'conduzido desligado else alto 1' conduzido no finalif serout 0, N2400, ("Dados", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) 'enviar de volta para o computador goto mainand Rx: main: serin 3, N2400, ("Dados"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 'obter o pacote do computador b1 = b0' alterar o registro b1 para igualar o registro b0 se b1 = 0, então 1 'baixo led off else 1' led alto em endif serout 0, N2400, ("Dados", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) 'enviar de volta ao computador goto principal

Etapa 5: construir o circuito Tx

Construa o Circuito Tx
Construa o Circuito Tx

Se você estiver alternando entre um circuito funcional e um circuito de programação, certifique-se de mudar a conexão para a perna 2 e a localização do resistor de 22k da perna 2 para a perna 4. Ou você pode construir um circuito de download dedicado e mover os chips entre. Apenas observe se um circuito está funcionando ou baixando, pois pode ficar bastante confuso. Em particular, observe que um circuito em operação não funcionará se a perna 2 for deixada flutuando - ele precisa ser aterrado. A perna 2 é o pino de download e, se ficar flutuando, ele pega RF disperso das flouro lights e o chip pensa que outro programa está sendo baixado.

Também vale a pena mencionar a nomenclatura picaxe que chama um alfinete físico de uma perna e um alfinete virtual de um alfinete. Portanto, uma saída no pino 2 no código é na verdade uma saída na perna física 5. Isso pode parecer estranho, mas significa que o código pode ser transferido para picaxes maiores como as versões de 28 e 40 pinos e ainda funcionar.

Etapa 6: construir o circuito Rx

Construa o Circuito Rx
Construa o Circuito Rx

Este circuito é quase o mesmo que o transmissor - apenas não tem interruptor.

Etapa 7: escrever algum código VB. Net

Escreva algum código VB. Net
Escreva algum código VB. Net

Eu poderia ter compilado o código e disponibilizado este programa como um.exe compilado, mas aprender um pouco de VB. Net é tão incrivelmente útil que vale a pena examiná-lo passo a passo. Se você estiver executando isso em dois computadores diferentes, você pode construir o programa em um.exe que cria um pequeno programa de configuração que pode ser instalado no segundo computador. Ou você pode colocar o VB. Net em ambos os computadores e executar os programas de dentro do VB. Net. Vamos supor que você saiba como abrir um novo projeto VB.net da etapa 7 e 8 de https://www.instructables.com/id/S1MMU2XF82EU2GT / No formulário em branco, vamos adicionar os seguintes componentes da barra de ferramentas e colocá-los no formulário nas localizações mostradas. Para os rótulos e as caixas de texto, altere a propriedade text (no canto inferior direito) para o que é necessário. Não se preocupe com as configurações do cronômetro - vamos alterá-las no código, mas certifique-se de colocar um cronômetro. Você pode mover as coisas e não há regras reais sobre a localização. A caixa de texto grande é um RichTextBox e as três menores são caixas de texto comuns. Em termos de ordem, começamos no topo do formulário e descemos. Se você deixar algo de fora, haverá um erro no código que deve fornecer algum tipo de pista. Escolha um nome de arquivo aleatório para Textbox3 - este é o nome do seu grupo exclusivo de arquivos no servidor ftp e, obviamente, se todos nós usarmos o mesmo nome então os dados ficarão confusos! Desculpe pelos travessões nesta tabela - colocar espaços perde a formatação na tabela. Objeto Toolbox ------- Texto ----------- ------------------------------ NotesLabel1 ------------------ Picaxe CommunicationsLabel2 ------------------ FTP StatusLabel3 ------------------ StatusLabel4 ---------- -------- Picaxe RegistersLabel5 ------------------ Register 0-13Label6 ------------------ Valor 0-255Label7 ------------------ Nome do arquivo do link FTPTextbox1 ---------------- 0 -------- -------------------------------------- 0 é um zero, não um OTextbox2 ----- ----------- 0Textbox3 ---------------- Myfilename --------------------- ---------- Mude sem confrontos! Button1 ------------------ ModifyRichtextbox1 Picturebox1 Picturebox2 Timer1

Etapa 8: adicionar algum código

Adicionar algum código
Adicionar algum código

Consulte a etapa 12 das outras instruções para saber a localização do botão que alterna entre a visualização do formulário e a visualização do código. Mude para a visualização do código e cole o seguinte código. Todas as cores devem reaparecer como na captura de tela. Se uma linha não foi copiada corretamente devido a um problema de mudança de linha, exclua os espaços até que a mensagem de erro desapareça. Tentei comentar a maioria das linhas para que o código pelo menos faça algum sentido. Exclua o bit da classe pública para que o texto fique em branco antes de colar isso - este código já tem uma classe pública. Se um objeto como uma caixa de texto não foi colocado no formulário ou tem o nome errado, ele aparecerá no código de texto com uma linha azul ondulada abaixo dele. Imports System. IOImports Strings = Microsoft. VisualBasic 'então pode usar coisas como left (e right (para stringsPublic Class Form1 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer) 'para instruções de suspensão Dim WithEvents serialPort As New IO. Ports. SerialPort' porta serial declara 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' precisa de todo esse lixo -.net o coloca automaticamente quando vai form1events above / load Timer1. Enabled = True 'coloque isso no código como padrão para false quando criado Timer1. Interval = 20000' a cada 20 segundos PictureBox1. BackColor = Color. Gray 'comece com as caixas de comunicação cinza PictureBox2. BackColor = Color. Gray ModifyFlag = False' se modificar um valor manualmente, então s kip download RichTextBox1. Multiline = True 'então pode exibir mais de uma linha Call DisplayPicaxeRegisters ()' exibir os 14 registros Call ReadFTPFilename () 'ler o nome do arquivo do disco (salvo a cada 20 segundos) End Sub Sub SerialTxRx () Dim DataPacket (0 a 17) As Byte 'pacote de dados inteiro "Dados" +14 bytes Dim i As Integer' i é sempre útil para loops etc Para i = 0 a 3 DataPacket (i) = Asc (Mid ("Dados", i + 1, 1)) 'adicionar a palavra "Dados" ao pacote Próximo For i = 0 a 13 DataPacket (i + 4) = PicaxeRegisters (i)' adicionar todos os bytes ao pacote Próximo If serialPort. IsOpen Then serialPort. Close () 'apenas no caso de já aberto End If Try With serialPort. PortName = "COM1"' A maioria dos novos computadores padrão para com1, mas qualquer computador anterior a 1999 com um mouse serial provavelmente será padrão para com2. BaudRate = 2400 '2400 é a velocidade máxima para pequenos picaxes. Parity = IO. Ports. Parity. None 'sem paridade. DataBits = 8' 8 bits. StopBits = IO. Ports. StopBits. One 'um bit de parada. ReadTimeout = 1000' millisecon ds so expira em 1 segundo se não houver resposta. Open () 'abre a porta serial. DiscardInBuffer ()' limpa o buffer de entrada. Write (DataPacket, 0, 18) 'envia a matriz datapacket Call Sleep (300)' 100 milissegundos mínimo de esperar que os dados voltem e mais se o fluxo de dados for mais longo. Read (DataPacket, 0, 18) 'ler de volta na matriz de pacotes de dados. Close ()' fechar a porta serial End With For i = 4 To 17 PicaxeRegisters (i - 4) = DataPacket (i) 'move o novo pacote de dados para a matriz de registro Next PictureBox1. BackColor = Color. GreenYellow' trabalhando Catch ex As Exception PictureBox1. BackColor = Color. Red 'não funcionando End Try End Sub Sub FTPUpload (ByVal Filename As String) Dim localFile As String 'lugar para armazenar dados Dim remoteFile As String' o nome do arquivo diferencia maiúsculas de minúsculas, isso é realmente importante Const host As String = "ftp://ftp.0catch.com" 'note que 0 é um zero não é um caractere O nome de usuário Const As String = "picaxe.0catch.com" Senha Const As String = "picaxetester" Dim URI As String localFile = Filename 'talvez não seja necessário, mas se definir um local, por exemplo, c: / mydirectory pode adicionar facilmente desta forma remoteFile = "/" + Filename' arquivo no servidor ftp precisa "/" adicionado na frente URI = host + remoteFile Tente Dim ftp como sistema. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = Novo System. Net. NetworkCredential (nome de usuário, senha) 'log em ftp. KeepAlive = False' será desconectar uma vez feito ftp. UseBinary = True 'usar comms binários ftp. Timeout = 9000' timeout após 9 segundos - muito útil porque o ftp às vezes morre 'timeout (e a frequência do clock de 20 segundos) pode precisar ser mais lento para conexões dialup ftp. Method = System. Net. WebRequestMethods. Ftp. UploadFile 'começar a enviar arquivo Dim fs As New FileStream (localFile, FileMode. Open)' abrir arquivo local Dim filecontents (fs. Length) As Byte 'ler na memória fs. Read (filecontents, 0, fs. Length) fs. Close () 'fecha o arquivo Dim requestStream As Stream = ftp. GetRequestStream ()' start ftp link requestSt ream. Write (filecontents, 0, filecontents. Length) 'send it requestStream. Close ()' feche o link PictureBox2. BackColor = Color. GreenYellow 'mude a caixa para verde para dizer que funcionou bem Label2. Text = "FTP conectado"' texto dizendo que está conectado Catch 'não pode conectar PictureBox2. BackColor = caixa Color. Red' para vermelho como nenhuma conexão Label2. Text = "FTP Upload Fail" 'texto dizendo conexão falhou End Try End Sub Sub FTPDownload (ByVal Filename As String) 'baixa o arquivo remoto para o arquivo local Dim localFile As String' lugar para armazenar os dados Dim remoteFile As String 'o nome do arquivo diferencia maiúsculas de minúsculas, isso é 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' armazenar no diretório raiz, mas pode alterar este localFile = Filename 'então pode adicionar c: / se necessário definir localização real remoteFile = "/" + Filename 'adicionado ao local ftp remoto URI = host + remoteFile' make up endereço completo Try Dim ftp As System. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = Novo System. Net. NetworkCredential (nome de usuário, senha) 'log em ftp. KeepAlive = False 'será desconectado após terminar ftp. UseBinary = True' modo binário ftp. Timeout = 9000 'tempo limite após 9 segundos ftp. Method = System. Net. WebRequestMethods. Ftp. DownloadFile' baixar um arquivo 'lido em partes como não sei o tamanho do arquivo Usando response As System. Net. FtpWebResponse = CType (ftp. GetResponse, System. Net. FtpWebResponse) Usando responseStream As IO. Stream = response. GetResponseStream Usando fs As New IO. FileStream (localFile, IO. FileMode. Create) Dim buffer (2047) As Byte Dim read As Integer = 0 Do read = responseStream. Read (buffer, 0, buffer. Length) 'piece from ftp fs. Write (buffer, 0, read)' e escrever no arquivo Loop Até ler = 0 'até que não haja mais peças responseStream. Close ()' feche o arquivo ftp fs. Flush () 'flush clear fs. Close ()' e feche th e arquivo End Using responseStream. Close () 'feche-o mesmo se não houvesse nada End Using response. Close () PictureBox2. BackColor = Color. GreenYellow' caixa verde conforme funcionava Label2. Text = "FTP conectado" 'e texto informando isso funcionou End Using Catch 'coloque códigos de erro aqui PictureBox2. BackColor = Color. Red' caixa vermelha porque não funcionou Label2. Text = "FTP Download Fail" 'e mensagem para dizer isto End Try End Sub Private Sub Timer1_Tick (ByVal sender As System. Object, ByVal e As System. EventArgs) Manipula Timer1. Tick If ModifyFlag = False Then 'se o usuário alterou um byte, não baixe Label3. Text = "Downloading" System. Windows. Forms. Application. DoEvents () 'para que o texto do novo rótulo seja exibido Chame FTPDownload (TextBox3. Text)' baixe o arquivo remoto Label3. Text = "Baixado" System. Windows. Forms. Application. DoEvents () Chame ReadRemoteFileToRegisters () 'salve os números dos arquivos na matriz de registro Label3. Text = "Talking to picaxe" System. Windows. Forms. Application. DoEvents () Else ModifyFlag = False 'redefinir o sinalizador End If Call SerialTxRx () 'enviar para o picaxe e ler de volta Label3. Text = "Enviado e recebido do picaxe" System. Windows. Forms. Application. DoEvents () Call DisplayPicaxeRegisters () Call SaveRegistersToLocalFile ()' salvar números no arquivo Label3. Text = "Uploading" System. Windows. Forms. Application. DoEvents () Chamar FTPUpload (TextBox3. Text) 'enviar de volta para o site ftp chamado como meu nome Label3. Text = "Resting" Chamar SaveFTPFilename ()' para ler em ao reiniciar End Sub Sub DisplayPicaxeRegisters () Dim i As Integer Dim registernumber As String RichTextBox1. Multiline = True 'então pode exibir mais de uma linha na caixa de texto RichTextBox1. Clear ()' limpar a caixa de texto Para i = 0 a 13 registernumber = Trim (Str (i)) 'cortar espaços iniciais If i <10 Then registernumber = "0" + registernumber' adicionar 0 a números abaixo de 10 End If RichTextBox1. AppendText (registernumber + "=" + Str (PicaxeRegisters (i)) + Chr (13)) Próximo 'chr (13) é o retorno de carro, então a nova linha End Sub Private Sub Button1_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Manipula Button1. Click Dim i As Integer 'verifique fora do intervalo primeiro i = Val (TextBox1. Text) If i <0 Or i> 13 Then TextBox1. Text = 0 End If i = Val (TextBox2. Text) If i <0 Or i> 255 Then TextBox2. Text = 0 End If PicaxeRegisters (Val (TextBox1. Text)) = Val (TextBox2. Text) 'altere o valor Call DisplayPicaxeRegisters ()' e atualizar a exibição ModifyFlag = True 'e o próximo link ftp pular o download End Sub Sub SaveRegistersToLocalFile ()' salvar matriz de registro em um arquivo de texto local Dim i As Integer FileOpen (1, TextBox3. Text, OpenMode. Output) 'abrir o arquivo de texto chamado na caixa de texto Para i = 0 a 13 PrintLine (1, Str (PicaxeRegisters (i))) 'salvar 14 valores Next FileClose (1)' fechar o arquivo End Sub Sub ReadRemoteFileToRegisters () 'ler o arquivo de texto local na matriz de registro Dim i As Integer Dim LineOfText As String Try FileOpen (1, TextBox3. Text, OpenMode. Input) 'ler o nome do arquivo remoto For i = 0 To 13 LineOfText = LineInput (1)' ler no 14 lin es PicaxeRegisters (i) = Val (LineOfText) 'converter texto em valores Next FileClose (1) Catch ex As Exception FileClose (1)' arquivo não existe então não fazer nada End Try End Sub Sub ReadFTPFilename () 'então o nome de o arquivo ftp remoto é o mesmo da próxima vez que este programa for executado Dim LineOfText As String Try FileOpen (1, "FTPFilename.txt", OpenMode. Input) 'abra o arquivo LineOfText = LineInput (1) TextBox3. Text = LineOfText' leia o name FileClose (1) Catch ex As Exception FileClose (1) End Try End Sub SaveFTPFilename () FileOpen (1, "FTPFilename.txt", OpenMode. Output) 'salve o nome do arquivo ftp remoto PrintLine (1, TextBox3. Text) FileClose (1) End SubEnd Class

Etapa 9: execute o programa em ambos os PCs

Execute o programa em ambos os PCs
Execute o programa em ambos os PCs

Comece a executar o programa clicando no triângulo verde na parte superior central da tela - o botão 'Iniciar Depuração'. Nada acontecerá por 20 segundos e então o programa tentará se conectar ao servidor ftp e tentará se conectar ao picaxe. As caixas de fotos ficarão vermelhas ou verdes. O local do ftp é um site gratuito e qualquer pessoa pode usá-lo, mas você precisa usar um nome de arquivo de trabalho de ftp diferente (o meu é DoctorAcula1), caso contrário, todos podemos acabar com os dados uns dos outros se usarmos o mesmo nome de arquivo! Se quiser, você pode eventualmente obter seu próprio site de ftp - apenas altere a localização do ftp, nome de usuário e senha em dois lugares no código do meu site 0Catch. A maioria dos sites permite ftp. Vários computadores podem acessar o mesmo arquivo ftp - o servidor de arquivos ftp classifica em que ordem isso acontece. Ocasionalmente, há choques ou travamentos de dados e isso parece acontecer a cada 20 leituras de arquivos. Haverá um tempo limite no código se isso acontecer, então ele não retorna nenhum dado em vez de dados corrompidos. Usar uma conexão de banda larga com uma velocidade de upload de 128 kbs significa que o upload de um arquivo leva cerca de 3 segundos, mas às vezes até 8 segundos, a maioria dos quais é consumida em handshaking ao invés de transferência de dados. Isso define o tempo do timer1 em um mínimo de cerca de 20 segundos, levando em consideração o download, o upload e o bate-papo com o usuário do computador. Com a banda larga muito rápida, você pode reduzir o tempo de ciclo. Você pode alterar um registro manualmente dentro do programa VB. Se você fizer isso, o próximo ciclo do cronômetro pula o download do site de ftp e envia os novos dados para o paicaxe e, em seguida, lê-os de volta e carrega-os. Assim, os novos dados chegam a todos os arquivos vinculados a este grupo. Isso é útil para depurar e / ou vincular o software do PC ao loop de hardware do microcontrolador. Os sites também podem acessar o loop de hardware usando o script PERL ou similar para gravar um novo arquivo no site ftp. Esta captura de tela foi tirada executando o chip Tx, o switch estava ligado e o registro b0 = a 1 foi enviado para o chip Rx que tinha então alterado o registro b1 para 1 também. O led estava assim aceso em ambas as placas. Esta é uma aplicação trivial, mas é fácil ligar uma bomba de 3,6 Kw em vez de um led. Mais algumas ideias estão em https://drvernacula.topcities.com/, incluindo links de picaxes por meio de links de rádio alimentados por energia solar. Com links de rádio mais a Internet, é possível que 'The Machines' alcance muitos cantos do globo. Existem algumas idéias no fórum picaxe sobre levar essa idéia adiante e substituir o PC e o site de ftp por chips de servidor da Web dedicados que se conectam diretamente a um roteador. Obviamente, isso diminuiria o consumo de energia de um link. Se você estiver interessado em mais discussões, poste nos comentários Intstructable e / ou no fórum picaxe. Dr. James MoxhamAdelaide, South Australia

Etapa 10: capturas de tela do código

Capturas de tela do código
Capturas de tela do código

A pedido, aqui está uma série de capturas de tela do código vb.net com toda a formatação em vigor. Na verdade, esse código foi copiado de volta deste instrutível e a formatação reapareceu automaticamente. Seria melhor copiar e colar o texto do que tentar ler essas imagens, mas elas serão úteis se você estiver em um cybercafé e não puder instalar o vb.net.

Etapa 11: Captura de tela 2

Screenshot2
Screenshot2

Captura de tela 2

Etapa 12: Captura de tela 3

Captura de tela 3
Captura de tela 3

Captura de tela 3

Etapa 13: Captura de tela 4

Captura de tela 4
Captura de tela 4

Captura de tela 4

Etapa 14: Captura de tela 5

Captura de tela 5
Captura de tela 5

Captura de tela 5

Etapa 15: Captura de tela 6

Captura de tela 6
Captura de tela 6

Captura de tela 6

Recomendado: