Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Revista PROGRAMAR
Introdução
Recentemente a tão conhecida marca Arduino , fundada por
Massimo Banzi, David Cuartielles, Tom Igoe e David Mellis e toda
uma comunidade, sofreu uma mudança de nome, para os produtos
destinados a outros mercados fora dos EUA, passando a usar o
nome Arduino apenas nos EUA e o nome Genuino, em todos os
restantes mercados. Falo em marca, pois não se refere apenas a
uma board, mas a toda uma “marca” de circuitos baseados em
microcontroladores e projectos com base numa mesma filosofia de
open-hardware. Não me alongando mais sobre o tema, esta
mudança teve origem numa questão legal, que é muito bem
apresentada por Maximo Banzi, no keynote que apresentou na
Maker Fair e pode ser visto no youtube. Assim sendo, de agora
avante, neste artigo, o circuito anteriormente conhecido por
Arduino, será designado por Genuino.
O problema
Neste caso concreto, pretendia obter a informação sobre a
humidade relativa do ar, a temperatura e a luminosidade num
determinado espaço e de seguida transmitir essa mesma
informação via rede.
O hardware
Neste projecto concreto, os sensores usados foram um sensor DHT-
11, conjuntamente com a respectiva resistência pull-up de 4.7k, na
linha de dados, ligado ao Genuino. Este sensor oferece a capacidade
de ler a temperatura do ar e a humidade relativa, é amplamente
suportado pela comunidade e existe uma excelente biblioteca de
suporte para o mesmo, a lib dht11.h disponível no github no
repositório da Adafruit.
https://www.revista-programar.info/artigos/aquisicao-de-dados-via-tcpip-com-genuino-arduino/ 2/6
21/11/2019 Aquisição de dados via TCP/IP com Genuino (Arduino) | Revista PROGRAMAR
Ligações
Escolhido o hardware, é necessário proceder às ligações antes de
passarmos à escrita do código destinado a ser executado pelo
microcontrolador ATMega328. Para este efeito e uma vez que não se
trata de um circuito definitivo, mas ape- nas um circuito de teste, as
protoboards, como se pode ver na imagem abaixo, são bastante
úteis e facilitam as ligações.
https://www.revista-programar.info/artigos/aquisicao-de-dados-via-tcpip-com-genuino-arduino/ 3/6
21/11/2019 Aquisição de dados via TCP/IP com Genuino (Arduino) | Revista PROGRAMAR
DHT11 Genuino
1 5vdc
2 Resistência 4.7k D2
4 Gnd
TSL2561 Genuino
1-SDA A4
2-SCL A5
3-GND GND
4-3v3 3v3
5-INIT
https://www.revista-programar.info/artigos/aquisicao-de-dados-via-tcpip-com-genuino-arduino/ 4/6
21/11/2019 Aquisição de dados via TCP/IP com Genuino (Arduino) | Revista PROGRAMAR
Programação do Genuino
Chegados a esta parte, está na hora de programar o Genuino de
forma a comunicar por rede ethernet, usando o conjunto de
protocolos TCP/IP. Felizmente uma parte substancial do trabalho, já
vem “pré feito” pela biblioteca ethernet.h , que nos disponibiliza
uma maior abstracção do hardware propriamente dito, deixando-
nos livres para a programação da aplicação que será executada. No
entanto continua a ser necessário executar algumas tarefas como a
definição de um MAC address, a colocação em modo cliente DHCP,
caso tenhamos um servidor DHCP na rede, ou a definição de um
endereço IP v4, bem como a respectiva máscara de sub-rede e
gateway. Desta biblioteca iremos usar maioritariamente o método
write , da classe server , para enviarmos dados para o nosso cliente
TCP, bem como o método read , para lermos instruções transmitidas
pelo servidor.
Conclusão
Uma vez feito o upload do código, para o Genuino, basta ligar um
cabo de rede e um cliente simples ou usar a nossa própria aplicação
para comunicar por sockets com o Genuino, enviando a instrução
que pretendemos e recebendo o resultado da mesma. Neste
https://www.revista-programar.info/artigos/aquisicao-de-dados-via-tcpip-com-genuino-arduino/ 5/6
21/11/2019 Aquisição de dados via TCP/IP com Genuino (Arduino) | Revista PROGRAMAR
ARDUINO
https://www.revista-programar.info/artigos/aquisicao-de-dados-via-tcpip-com-genuino-arduino/ 6/6