segunda-feira, 20 de dezembro de 2010

Arduino + LM35 - como montar um termometro

O Laboratório de Garagem publicou um ótimo tutorial, demonstrando como utilizar o Arduino para medir a temperatura, através do sensor LM35.

O tutorial pode ser lido aqui.

sábado, 11 de dezembro de 2010

Conectando um LED externo ao Arduino

Em um post anterior, mostrei minha experiência inicial com o desenvolvimento para o Arduino. Basicamente, fizemos uma aplicação que fazia piscar um led embutido no próprio hardware. Agora, vamos melhorar esse projeto, adicionando um LED externo à placa.

Mais atenção: "ainda" não sou um especialista em eletrônica. Esses posts que estou publicando são um registro do que vou lendo e aprendendo. Apesar de nada de ruim ter acontecido nos meus experimentos, não posso garantir de que vai funcionar com você e muito menos que não vai explodir na sua cara!!! É por sua conta e risco !!! :-P

I. LEDs

LEDs não podem simplesmente ter voltagem aplicado a eles. Dessa forma, é necessário utilizar um resistor para diminuir a corrente aplicado ao LED. Estes componentes são fáceis de achar em qualquer loja de componentes eletrônicos e vem junto com o kit apresentado no artigo anterior.

Os conectores da placa do Arduino são projetados de forma que possam ser conectados placas especiais, denominadas shields. Entretanto, pode-se conectar fios diretamente a eles, a fim de experimentação.

A figura abaixo mostra o esquema para conectar um LED externo.



Diagramas utilizados em eletrônica usam símbolos especiais para representar os componentes eletrônicos. O LED aparece como uma flecha, indicando que os LED (um tipo de diodo), em comum a todos os diodos, permitem o fluxo da corrente em apenas uma direção. As pequenas flechas próximas ao simbolo do led indicam que ele emite luz.

O resistor está ilustrado como um retângulo. Entretanto, pode aparecer também como uma linha em zig-zag. O resto das linhas do diagrama representam conexões elétricas entre os componentes.

Podemos conectar componentes diretamente aos sockets pin 12 e GND (Ground ou terra), mas primeiro, precisamos conectar um terminal do LED a um terminal do resistor.

II. Conectando o LED ao Arduino

Não importa qual terminal do resistor é conectado ao LED. Entretanto, o LED deve ser conectado da forma correta. O LED sempre tem um terminal menor que o outro e é o maior que deve ser conectado ao pin 12. O menor deve ser conectado ao resistor. LEDs e alguns outros componentes tem a convenção de fazer o terminal positivo maior que o terminal negativo.

Para conectar o resistor ao terminal menor, deve-se, cuidadosamente, enrolar um terminal do resistor em volta do terminal menor do LED, conforme a figura abaixo:



Depois, empurre o terminal maior do LED para dentro do pin digital 12 e o terminal livre do resistor em um dos dois sockets GND. A figura abaixo ilustra como deve ficar:



Agora, podemos modificar o sketch, do post anterior, para usar o LED externo que acabamos de conectar. Tudo que precisamos fazer é alterar o código onde especificamos o pin 13. Assim, precisamos mudar a linha:

int ledPin = 13;

para

int ledPin = 12;


Agora, faça o upload, clicando no botão Upload.


III. Usando a protoboard


Ficar amarando fios uns nos outros serviu para o nosso “hello world”, mas não é muito prático para projetos maiores. Uma protoboard (ou breadboard, ou matriz de contato) permite a construção de circuitos complicados, sem a necessidade de fazer solda. Assim, a construção de protótipos para o seu projeto fica mais fácil.

Na superfície de uma protoboard há uma base de plástico em que existem centenas de orifícios onde são encaixados os componentes. Em sua parte inferior são instalados contatos metálicos que interligam eletricamente os componentes inseridos na placa. Geralmente suportam correntes entre 1 A e 3 A.

Na figura abaixo, ilustramos uma protoboard básica. Na figura, existem duas fileiras horizontais: uma na parte superior e uma na parte inferior. Todos os furos das fileiras horizontais superiores estão interligados entre si. O mesmo ocorre com as fileiras horizontais inferiores, de forma independente. Geralmente, as filas horizontais superiores e inferiores são reservadas para ligar a alimentação.

A região central da protoboard é divida em filas verticais que contem cinco furos que são ligados eletricamente entre si. Dessa forma, todos os furos de uma mesma fila estão interligados entre si.

Os terminais dos componentes são encaixados nos furos da placa, a qual incumbe-se das conexões básicas. Não só os terminais dos componentes, como também interligações mediante fios (jumpers) podem ser conectados para obter o contato elétrico.

Uma protoboard e vários jumpers são itens que geralmente fazem parte de qualquer kit para iniciante.

Utilizaremos a protoboard para montar o nosso circuito elétrico, responsável por acender um led.

A figura abaixo mostra como ficou o nosso projeto.



A próxima imagem ilustra, de forma mais fácil, como os componentes estão conectados.



Perceba que reproduzimos a primeira experiência, sem, entretanto, precisar ficar enrolando fios. Utilizando um jumper (de cor vermelha), conectamos o pin 12 a um orifício da mesma fileira vertical onde está conectado o maior terminal do led. Na imagem, este terminal está representado pelo terminal com uma pequena dobra. Lembrem-se que todos os furos de uma mesma fileira são ligados eletricamente entre si. Isso significa que o led está sendo alimentado pelo terminal positivo. Na fileira onde está o terminal negativo, conectamos um dos terminais do resistor. O outro terminal, deste mesmo resistor, está conectado em uma fileira horizontal. Nesta mesma fileira, existe um outro jumper (de cor preta) conectado ao pin GND do Arduino, completando, assim, nosso circuito.

sexta-feira, 10 de dezembro de 2010

Trailer do Documentário “Arduino”

Trailer de um documentário sobre Arduino:




"O Laboral Centro de Arte da Espanha encomendou o documentário sobre o Arduino, previsto para ser lançado neste verão. Os cineastas anunciaram que o filme está quase pronto e lançaram um trailer há alguns dias, que chegou ao BoingBoing e em outros agregadores..."

Fonte: http://www.arduinors.net

Documentando os protótipos dos seus projetos

Frizing é uma ótima ferramenta, não só para quem deseja aprender a desenvolver para o Arduino, como também para documentar os protótipos dos projetos. Além disso, a partir do website, é possível compartilhar e discutir projetos, funcionando, mais ou menos, como uma comunidade de desenvolvedores.

Abaixo, um vídeo ilustrando as principais características da ferramenta.





Frizing é open-source e pode ser baixado no seguinte endereço: http://fritzing.org/download

quarta-feira, 8 de dezembro de 2010

Introdução ao Desenvolvimento na plataforma Arduino

Arduino é uma pequena placa com um microcontrolador e uma entrada USB para conectar a um computador, além de possui vários sockets de forma que a placa pode ser conectada a um grande número de dispositivos externos, como, por exemplo, motores, sensores de luz, temperatura, microfones, etc. Eles podem ser alimentados através de uma conexão USB com o computador ou por meio de uma bateria de 9V. Podem ser controlados a partir do computador ou programados através do computador e, em seguida, desconectados deles, operando de forma independente.

Arduino é uma plataforma de hardware livre, significando que qualquer pessoa ou empresa pode projetar e criar seus próprios clones do Arduino e vendê-los.

O nome “Arduino” é reservado aos fabricantes originais. Contudo, desenvolvedores de clones do Arduino frequentemente deixam as letras “duino” ao fim do nome dos seus produtos, como, por exemplo, Freeduino e DFRduino.

Programar o Arduino é fácil e a IDE de desenvolvimento está disponível para as plataformas Windows, Mac e Linux, sem nenhum custo.

Para começar a desenvolver para o Arduino, é necessário, primeiro, ir ao site oficial (www.arduino.cc) e fazer o download da IDE de desenvolvimento. Além disso, é necessário adquirir um Arduino. Recomendo a leitura deste post e deste para saber como adquirir seus equipamentos.

Na verdade, há diferentes projetos de placas Arduino. Cada uma podendo ser usada em projetos diferentes. Contudo, todos podem ser programadas com o mesmo ambiente de desenvolvimento do Arduino e, em geral, programas que funcionam em uma placa irão funcionar nas outras.

Neste artigo, pretendo demonstrar minha experiência inicial com a placa Arduino Uno. Adquiri este kit para iniciante através da Multilógica. O kit custou R$ 218,00, fora o custo do sedex. Apesar do site oferecer um carrinho de compras, aparentemente não está funcionando. Assim, para comprar qualquer produtos deles, deve ser encaminhado um e-mail para info@multilogica-shop.com informando os itens de interesse mais o seu CEP. Eles calculam o frete e respondem com o preço final. A resposta da empresa foi muito rápida e, em três dias, recebi o meu kit.

O Kit é composto dos seguintes itens:

  • 1 Arduino Uno

  • 1 Cabo USB - Para conectar o Arduino ao seu computador

  • 1 Protoboard - Para testar seus primeiros circuítos conectando os outros componentes do kit sem soldas

  • 1 Sensor de temperatura (termistor ntc 1k)

  • 1 Sensor de luminosidade (LDR 5mm)

  • 1 potenciômetro 10kΩ

  • 1 chave momentânea (botão)

  • 5 LEDs amarelos

  • 5 LEDs verdes

  • 5 LEDs vermelhos

  • 15 resistores 330Ω

  • 2 sensores/atuadores piezoelétricos

  • 10 jumpers (para conexões) 15cm

  • 10 jumpers (para conexões) 10cm

  • 10 jumpers (para conexões) 5cm


A placa pode ser alimentada com qualquer voltagem entre 7 e 12 volts. Assim, uma pequena bateria de 9V será suficiente para pequenas aplicações. Entretanto, enquanto você estiver desenvolvendo a sua aplicação e testando na placa, é conveniente deixar a placa sendo alimentada através de uma conexão USB com o seu computador (Conforme ilustrado na figura abaixo).



Há duas filas de conectores nas extremidades da placa Arduino UNO. A fila no topo do diagrama é composta basicamente de pins digitais (on/off), embora qualquer pin marcado com “PWM” pode ser usada com saída analógica. A fila na parte de baixo é composta de conectores de energia na parte esquerda e entradas analógicas na parte da direita.

O mais interessante é que esses conectores são organizados de forma que placas “shields” possam ser plugadas à placa principal. Além disso, outros shields podem ser plugados no shield conectado à placa principal, estendendo, assim, a funcionalidade do seu Arduino.

É possível comprar shields para as mais variadas funções:

  • Conectar a redes ethernet

  • Telas LCD e touch screens

  • Xbee (comunicação sem fio utilizando o protocolo Zigbee)

  • Som

  • Controle de Motor


Instalando o software de Desenvolvimento

Conforme dito anteriormente, o software está disponível no site oficial (www.arduino.cc). Como nos meus testes estou utilizando Linux, baixei a versão específica no seguinte endereço: http://files.arduino.cc/downloads/arduino-0021.tgz (versão 32-bits).

Em seguida, basta extrair o conteúdo do arquivo em qualquer diretório do sistema. Será criado uma pasta chamada “arduino-0021”.



Entre nessa pasta e execute um arquivo chamado “arduino”.


O ambiente de trabalho está ilustrado na imagem abaixo:


Configurando o ambiente

Conecte o Arduino ao computador, através da porta USB e espere alguns segundos, para que o sistema reconheça o novo dispositivo. Para você ter certeza que a placa foi reconhecida, abra um terminal e, no prompt, execute o seguinte comando:

$ dmesg

Procure nas últimas linhas, uma linha mais ou menos parecida com essa:


[56999.967291] usb 5-2: FTDI USB Serial Device converter now attached to ttyUSB0


Essa mensagem indica que o kernel reconheceu um novo dispositivo conectado através da porta /dev/ttyUSB0. O sistema nem sempre reconhece como ttyUSB0, mas, em geral, é /dev/tty<alguma_coisa>

Em seguida, devemos configurar o ambiente de desenvolvimento para utilizar a porta serial que o sistema reconheceu. Esta configuração em feita em “Tools” → “Serial Port”.

Além disso, temos que configurar a placa que estamos utilizando. Clique em “Tools” → “Board” e escolha a opção “Arduino Uno”.


Hello World !!!!

Nosso primeiro projeto será o equivalente Hello World para dispositivos embarcado. Neste caso, como não temos um terminal para imprimir a famosa mensagem, vamos pedir para o nosso programa piscar (blink) um LED.

A placa do Arduino vem com um LED embutido, conectado ao pin digital 13. Esta conexão ao LED faz com que o pin seja sempre de saída (output), mas como o LED usa pouca quantidade de corrente, ainda é possível conectar outras coisas ao pin.

Com a IDE do Arduino aberta e com as configurações de Serial Port e Board acertadas, conforme explicado anteriormente, vamos escrever o nosso programa, ou, sketch, como os programas para a plataforma são chamados dentro da comunidade Arduino.

Escreva o código abaixo:


int ledPin = 13;

void setup() {

// initialize the digital pin as an output.

// Pin 13 has an LED connected on most Arduino boards:

pinMode(ledPin, OUTPUT);

}

void loop() {

digitalWrite(ledPin, HIGH); // set the LED on

delay(200); // wait for a second

digitalWrite(ledPin, LOW); // set the LED off

delay(200); // wait for a second

}


Ainda não tinha comentando, mas a programação é feita basicamente em C. Caso você não tenha familiaridade com essa linguagem de programação, recomendo procurar as várias apostilas e tutoriais disponíveis na internet.

Perceba que no nosso código temos duas funções, retornando void: setup() e loop(). A função setup() é executada apenas uma vez, durante a inicialização do sketch (termo muito utilizado, pela comunidade, em substituição ao nome 'programa'). É utilizada, como o próprio nome sugere, para realizar configurações. Nesse nosso caso, estamos definindo qual o modo de operação do pin que utilizaremos para conectar o LED. Como falei no começo dessa seção, utilizaremos o pin 13, que já possui um LED embutido, conectado a ele. Assim, definimos que o pin será de saída (output). Fizemos essa configuração através da chamada à função pinMode():


pinMode(ledPin, OUTPUT);


A função pinMode() recebe dois parâmetros. O primeiro corresponde ao pin que estamos trabalhando, no caso o 13. O segundo parâmetro corresponde à forma de trabalho do pin, neste caso, utilizamos a constante OUTPUT para especificar que o pin será de saída.

A função loop() é função principal do seu sketch. É nesta função que colocamos o código responsável por fazer o LED piscar.

O código é bastante simples. Inicialmente, fazemos o LED acender, chamando a função digitalWrite(ledPin, HIGH). Perceba que passamos como parâmetro o pin e a constante HIGH, indicando que queremos acender. Em seguida, utilizamos a função delay(200) para fazer com o processador pare por 200milisegundos. Depois, através da função digitalWrite(), apagamos o LED e, por último, fazemos com que o processador pare, novamente, por 200 milisegundos.

A função loop, como o próprio nome indica, é executada em loop infinito, enquanto a placa estiver sendo alimentada.

Depois te terminado o código, temos que fazer o upload para a placa. Com a placa conectada através da interface USB, clique no botão Upload da IDE, conforme indicado na figura abaixo.

Se tudo ocorrer bem, haverá uma pequena pausa e então, os dois LEDs vermelhos começarão a piscar, indicando que o sketch está sendo transferido para a placa. Esta operação deve demorar em torno de 5 a 10 segundos.

Quando a transferência estiver terminada, a placa será automaticamente reiniciada e, se tudo tiver ocorrido bem, o LED conectado no pin 13 irá piscar intermitentemente. A imagem abaixo ilustra a posição do LED.


sexta-feira, 19 de novembro de 2010

Podcast - Introdução ao Arduíno – Parte 2

Segunda parte do podcast sobre Arduino, publicado no GrokPodcast. Carlos Brando e Rafael Rosa entrevistam Álvaro Justen, engenheiro de telecom, formado pela Universidade Federal Fluminense, que faz diversas palestras sobre Arduino:

"Nesse episódio continuamos nossa conversa com Álvaro Justen, sobre o Arduino, a plataforma de hardware livre. Um papo descontraído e muito instrutivo sobre os famosos shields do Arduino, sobre os modelos de hardware disponíveis no mercado e a comunidade que está se formando em torno desse hobby."

O podcast pode ser baixado aqui.

Fonte: Grokpodcast

quarta-feira, 17 de novembro de 2010

Podcast - Introdução ao Arduíno – Parte 1

Carlos Brando e Rafael Rosa, do Grokpodcast, fizeram um ótimo podcast para quem deseja conhecer a plataforma Arduino:

"Nesse episódio conversamos com Álvaro Justen, também conhecido como Turicas, engenheiro de telecom formado pela Universidade Federal Fluminense que faz diversas palestras para falar e mostrar o Arduino, uma plataforma de hardware livre que vem facilitando muito o acesso de pessoas comuns ao mundo da eletrônica."

O download do podcast pode ser feito aqui.

Fonte: Grokpodcast

quinta-feira, 28 de outubro de 2010

Novo videogame open source usa Arduino para jogos

Notícia retirada do site: geek.com.br:

"Programadores profissionais ou amadores que também são apaixonados por games vão adorar o novo Hackvision, um sistema de videogame open-source baseado na plataforma Arduino.

O Hackvision tem o formato de um controle e vem com quatro botões direcionais e um funcional, além de 2 jacks RCA para um áudio mono e imagens em branco e preto.

A placa de circuitos se conecta diretamente a um televisor, fornecendo tudo o que é preciso para programar seus próprios jogos, usando a biblioteca TVout do Arduino para os vídeos, que é robusta e de fácil interação. Além disso, toda a criação (tanto hardware quanto software) é open source e todos os códigos-fonte, esquemas e desenhos de placa estão disponíveis no site do projeto, explica o blog da revista MAKE."

Para quem ficou interessado, segue um video mostrando uma versão do space invaders desenvolvido na plataforma:



Mais informações:

geek.com.br
hackvision

segunda-feira, 25 de outubro de 2010

Experiências em COMPRAS de Arduino em sites gringos

Pessoal livre,

Já efetuei várias compras em sites estrangeiros e já tenho como ensinar o caminho das pedras de vários deles...
Além das compras efetuadas no eBayMercado Livre já fiz várias compras  em sites Internacionais, irei falar da experiência em cada uma das lojas, lembrando que todas aceitam pagamento via PayPal com Cartão de Crédito Internacional e possuem muitos outros componentes e sensores disponíveis para venda:


 SeeedStudio: Chinesa, minha preferida!
    • Possuí frete grátis para compras acima de USD $50,00(cinquenta dólares americanos).
    • O tempo médio de entrega do pedido está variando entre 20 e 30 dias aqui para o PI.
    • Desenvolvem várias soluções baseadas em Arduino e Hardware Livre;
    • O risco de tributação do imposto de importação é baixo, pois sempre declaram valores menores.


Adafruit: Americana
    • O frete é calculado de acordo com o peso do produto.
    • O tempo médio de entrega do pedido está variando entre 40 e 50 dias aqui para o PI.
    • Também desenvolvem soluções baseadas em Hardware Livre.
    • Já fui tributado duas vezes em compras dessa loja, eles não declaram valores menores que o real no formulário de exportação.


DFRobot: Chinesa
    • O frete é calculado de acordo com o peso do produto, e somente enviam para o Brasil via frete expresso, o valor mínimo do frete é de USD $30 (trinta dólares americanos).
    • O tempo médio de entrega do pedido está variando entre 10 e 15 dias aqui para o PI, é a mais rápida dentre todas elas.
    • Também desenvolvem soluções baseadas em Hardware Livre e robótica.
    • Já efetuei três compras nessa loja e nunca fui tributado.


 SparkFun: Americana
 
    • O frete é calculado de acordo com o peso do produto.
    • O tempo médio de entrega do pedido é o mesmo da Adafruit.
    • Também desenvolvem soluções baseadas em Hardware Livre, robótica e diversas outras áreas, dentre todas as lojas citadas é a que possui mais opções de componentes.
    • O risco de tributação do imposto de importação é baixo, pois perguntam se querem que seja enviado com um valor menor.

Bom pessoal, essa é a minha experiência com as lojas citadas, basicamente para efetuar um compra internacional basta um cartão de crédito internacional e uma conta no PayPal, que funciona como um intermediador entre o seu cartão de crédito e a loja, ou seja, a loja nunca vai saber os dados do seu cartão de crédito. Caso ocorra algum problema com a compra, o PayPal irá poderá agir como um intermediador na resolução do caso junto à loja e quando o problema não é resolvido de forma amigável, o PayPal analisa o problema e devolve seu dinheiro caso você consiga provar que a loja não entregou o que vendeu.

Até mais galera!

sábado, 23 de outubro de 2010

Apresentação na I Jornada de Tecnológia

Pessoal,
Já está disponível para download o PDF da apresentação  sobre Hardware Livre!
Download aqui.

Em breve irei postar o código  fonte utilizado nos exemplos práticos, aguardem!!

Motivação

Um vídeo "motivacional" para quem está iniciando os estudos com a plataforma Arduino.

Refurbishing Robot from RobotGrrl on Vimeo.

Como começar com o Arduino

Neste post, pretendo mostrar o caminho das pedras para quem deseja iniciar na plataforma Arduino.

1. Primeiramente, recomendo a leitura desse artigo na Wikipédia.
Além disso, nada melhor que uma descrição tirada do site oficial:

"Arduino is a tool for making computers that can sense and control more of the physical world than your desktop computer. It's an open-source physical computing platform based on a simple microcontroller board, and a development environment for writing software for the board."

2. Para os navegantes de primeira viagem, é interessante a aquisição de um kit para iniciantes. O Starter Pack for Arduino da Adafruit é muito bom. Dentre outros, vem com os seguintes itens:
O kit custa $ 65,00 via Paypal. Caso você não possua um cartão internacional, pode comprar esse kit da Multilógica. O kit custa R$ 218,00.

3. Quando o kit chegar, recomendo a leitura dos seguintes tutoriais que mostram a execução de projetos simples:

http://www.ladyada.net/learn/arduino
http://www.multilogica-shop.com/Exemplos

4. Outros links interessantes:

Site oficial do Arduino
http://www.arduino.cc

Seeed Depot - Desenvolve e comercializa produtos baseados no Arduino
http://www.seeedstudio.com/depot

Arduino no Mercado Livre
http://lista.mercadolivre.com.br/arduino

30 Arduino Projects for the Evil Genius - Livro para iniciantes
http://www.amazon.com/gp/product/007174133X/ref=oss_product

Arduino Inventor's Guide - Livro gratuito, distribuido pela sparkfun.com
http://www.sparkfun.com/commerce/product_info.php?products_id=9829

sexta-feira, 22 de outubro de 2010

Introdução a Redes de Sensores Sem Fio

Este é um blog dedicado ao Arduino, mas o meu primeiro post será dedico ao meu tema de mestrado: Redes de Sensores sem Fio. Nos próximos posts, mostraremos como montar uma rede de sensores utilizando a plataforma livre Arduino.

Introdução

As Redes de Sensores sem Fio (RSSF), ao longo dos últimos anos, tem despertado crescente interesse por parte da comunidade científica devido à sua grande aplicabilidade nas mais diversas áreas, como, por exemplo, monitoramento ambiental, saúde, agricultura de precisão, etc. Dentro do contexto de ambientes inteligentes, as redes de sensores desempenham papel de destaque permitindo que diversos dispositivos possam coletar e processar informações de várias fontes e, ao mesmo tempo, possam controlar processos físicos e interagir com seres humanos de forma tranquila e transparente (Calm and Disappearing technologies) [1].

Tipicamente formada por centenas de pequenos dispositivos operados por baterias, essas redes utilizam comunicação sem fio de baixo alcance, além de possuírem severas restrições de vários outros recursos como, por exemplo, energia, largura de banda, capacidade de processamento e armazenamento. Muitas vezes esses mesmos nós são espalhados em uma região de difícil acesso, tornando complicado, ou mesmo impossível, a reposição de um nó danificado ou de uma bateria esgotada.


Componentes de uma RSSF

Dentre os principais componentes de um RSSF, podemos citar: o sensor, o observador e o fenômeno (Figura 1). A seguir, definimos cada um deles:

Sensor: dispositivo que realiza a monitoração física de uma determinada área gerando informações de medidas, produzindo uma resposta relevante em relação as mudanças da área monitorada. A Figura 2 ilustra dois modelos de nós sensores disponíveis.

Observador: usuário final interessado em obter as informações disseminadas pela rede de sensores em relação a um fenômeno. Ele pode indicar interesses (ou consultas) para a rede e receber respostas destas consultas. Além disso, podem existir, simultaneamente, múltiplos observadores numa rede de sensores.

Fenômeno: entidade de interesse do observador, que está sendo monitorada e cuja informação será analisada e filtrada pela rede de sensores. Além disso, múltiplos fenômenos podem ser observados concorrentemente numa rede.


Numa rede de sensores típica, os sensores individuais coletam e disseminam informação, quando necessário, para outros sensores e eventualmente para o observador. Esse tipo de rede não exige a definição de uma infraestrutura. Assim, o posicionamento dos nós na rede pode ser aleatório, pois os próprios nós são capazes de se auto organizar. Os sensores realizam o monitoramento de eventos, enviando os dados coletados, ou recebidos de outro nó, para um dos nós vizinhos. Esta comunicação entre os nós é realizada até que um nó especial, denominado (sink) ("sorvedouro" ou estação base) receba as informações. O sink serve de interface entre a rede e o observador. Este nó é capaz de se comunicar com observador através de um link de comunicação, como, por exemplo, a Internet ou de uma conexão por satélite. Esta arquitetura baseada em múltiplos saltos é chamada de multihop. O modelo de comunicação multihop é particularmente atrativo para as RSSF uma vez que os nós sensores podem atuar ao mesmo tempo como sensor e retransmissor, sem necessidade de uma infra-estrutura definida. Dependendo de uma aplicação particular, a probabilidade de haver um nó intermediário no lugar certo e na hora certa é alta [2].

Aplicações

A aplicação mais comum das redes sensores é na medição de condições ambientais, como temperatura, pressão, umidade e condições do clima ou do solo, mas elas também são bastante utilizados em outras áreas, tais como: aplicações domésticas, médicas, militares e redes veiculares.

Dentro do contexto dos Ambientes Inteligentes, as RSSF desempenham um papel importante. Em tais ambientes, diferentes dispositivos (sensores e atuadores) irão capturar e processar diversos tipos de informações do meio com o objetivo de controlar processos físicos ou mesmo interagir com seres humanos [2]. A incorporação desses dispositivos ao ambiente deve ocorrer de uma forma não intrusiva, ou seja, imperceptível aos olhos humanos, quase “invisível”, ou, conforme definido em [3], de maneira ubíqua. É nesse ponto onde entram as redes de sensores. Através de sua comunicação sem-fio, os nós sensores poderiam captar as informações de interesse do ambiente onde estão inseridos e transmitir essas informações para processadores embutidos em equipamentos domésticos (ar-condicionados, aparelhos de tv’s, smatphones, etc) de modo que uma aplicação possa executar operações baseadas nessas leituras. A seguir, ilustramos algumas aplicações típicas.


1. Controle Ambiental e Mapeamento da Biodiversidade

Através das redes de sensores é possível, por exemplo, monitorar o habitat natural de algum animal de uma maneira não intrusiva. Além disso, é possível o monitoramento de poluentes químicos em um ambiente, como depósitos de lixo.


2. Recuperação de Desastres

As redes de sensores podem desempenhar um papel importante nas aplicações de recuperação de desastres. Pode-se, por exemplo, utilizá-las na detecção de incêndios em florestas, através do constante monitoramento da temperatura do ambiente.


3. Agricultura de Precisão

Na agricultura, as RSSF podem ser utilizadas para aumentar a precisão da irrigação e fertilização, através de sensores de umidade e composição do solo depositados nos campos de plantio. Monitoramento de animais também é possível. Depositando sensores nos corpos de animais como vacas ou porcos, é possível verificar quando a quantidade de animais doentes atinge um determinado limite.


4. Saúde

Administração automática de medicamentos, monitoramento de pacientes pós-operatórios e idosos são apenas alguns exemplos onde as redes de sensores podem ser aplicadas na área de saúde.


5. Edifícios Inteligentes

É bastante comum, em edifícios, o desperdício de energia pelo uso indevido de ventilação, umidade, ar-condicionado. Assim, um controle preciso de vários parâmetros físicos através de uma rede de sensores pode aumentar, consideravelmente, a qualidade de vida dos ocupantes bem como reduzir o consumo de energia.

Além disso, os nós sensores podem ser utilizados para monitorar o nível de stress de edifícios ou construções em zonas com atividades sísmica.


6. Redes Veiculares

Condutores de veículos se beneficiarão bastante do uso de redes de sensores situadas nas laterais de estradas e integradas aos sistemas de transporte inteligentes. Os veículos “top de linha” já vêm sendo equipados com sensores, que auxiliam em tarefas como manobras de estacionamento e de manutenção do motor. Dirigir será cada vez mais seguro, menos cansativo e um pouco mais prazeroso. Em breve, haverá cooperação entre veículos, bem como de veículos com infraestruturas de estradas, possibilitando diversas aplicações, até mesmo de condução autonômica, eliminando a intervenção constante do motorista.


Referências

[1] Leal, L. B., da Silva Araújo, H., Almeida, L. H. P., de Sousa Lemos, M. V., and Filho, R. H. (2008). Uma abordagem cross-layer para controle e gerenciamento em rssf. In AISC ’08: Proceedings of the sixth Australasian conference on Information security, pages 93–105.

[2] Karl, H. and Willig, A. (2005). Protocols and Architectures for Wireless Sensor Networks. John Wiley & Sons.

[3] Weiser, M. The Computer for 21st Century. Scientific American, 43(3): 66-75,1991