|
|
| (3 revisões intermediárias por 2 usuários não estão sendo mostradas) |
| Linha 1: |
Linha 1: |
| Esta pesquisa deve fornecer um conteúdo atualizado sobre o tema acima. Não esqueça de incluir as
| | = Conceito = |
| referëncias (fontes) no último item, reforçando que não deve ser um Copy/Paste e sim uma síntese
| |
| das pesquisas que fizer.
| |
| <br> | | <br> |
|
| |
|
| = Conceito =
| | * É uma plataforma física(hardware) de computação de código aberto baseado numa simples placa microcontroladora, e um ambiente de desenvolvimento para escrever o código para a placa. |
| <br> | | <br> |
| Arduino é uma plataforma de prototipagem open-source desenvolvida em 2005 ,visando facilitar o uso de eletrônicos no desenvolvimento de projetos. A placa apresenta compatibilidade com praticamente todos os tipos de dispositivos e sistemas ,um custo acessível (cerca de 30 dólares ou em torno de 100 reais) podendo também ser montada a mão e com uma ampla biblioteca facilitando ainda mais seu uso .O arduino também utiliza de "Shields", placas de expansão conectadas a placa principal que adicionam varias outras funções que a placa principal não possui como por exemplo Ethernet, controle de equipamentos acoplamentos de sensores, etc.
| |
|
| |
|
| [[Arquivo:arduino.jpg]] ''Exemplo de um arduino''
| | = Funcionamento = |
| | <br> |
|
| |
|
| = Funcionamento =
| | * O Arduino pode ser usado para desenvolver objetos interativos, admitindo entradas de uma séria de sensores ou chaves, e controlando uma variedade de luzes, motores ou outras saídas físicas , a partir da programaçao em linguagem C , C++ e Java. |
| <br> | | <br> |
| O arduino possui um micro controlador Atmel, pinos de entradas e saídas digitais para Input/Output (capazes de ler apenas dois estados ex: Ligado ou Desligado), pinos de entradas analógicas para valores entre 0 e 5V (que serão convertidos para valores entre 0 e 1023), uma entrada USB para alimentação de dados e um adaptador AC. A programação é feita via uma IDE utilizando linguagem C/C++ que será compilada pra uma linguagem que pode ser interpretada pelo micro controlador.
| |
|
| |
|
| |
| [[Arquivo:ardunino.jpg]] ''A imagem utiliza o modelo Ardunio Uno porém as especificações são as mesmas para todos os modelos exceto os modelos de arduinos específicos.
| |
| ''
| |
|
| |
|
| |
|
| |
|
| |
| Os passos para se desenvolver a programação de um arduino são:
| |
|
| |
| 1-Conectar uma porta USB do computador na placa ;
| |
| 2-Utilizar do ambiente de desenvolvimento integrado para criação dos sketches/algoritmos;
| |
| 3-Compliação e upload dos códigos do computador para a placa.
| |
|
| |
| Após o upload a placa iria executar os códigos assim que ligada não necessitando mais do uso do computador.
| |
|
| |
|
| = Interfaces = | | = Interfaces = |
| <br> | | <br> |
| '''Interface com um Software'''
| |
|
| |
| O Arduino é capaz de interagir com facilidade com qualquer software que transmita dados serialmente (um bit por vez) não importando a linguagem que esse programa esteja usando. Outros programas que não tenham essa capacidade podem se comunicar usando um intermediário entre eles, como um "tradutor" que permita a comunicação entre ambos.
| |
| Existem vários softwares que são usados para interagir com o Arduino, permitindo varias implementações:
| |
|
| |
| -''Ardulink'': Um solução em Java de código aberto com uma vasta biblioteca que permite varias aplicações como controle remoto, protocolos para rede de sensores, console para controlar a placa nem necessidade de habilidade de programação, etc.
| |
|
| |
|
| Site: http://www.ardulink.org/
| | * A interface pode ser apresentada atraves de um software que recebera a programaçao desejada e a partir da compilaçao e a conexão por usb ou por outros modos com o arduino(hardware) , haverá a execução dos comandos. |
| | <br> |
|
| |
|
| -''Blynk'': Aplicativo para iOS e Android que permite o controle wireless do Arduino usando Wi-Fi, Ethernet ou o novo chip ESP8266 (um micro controlador com comunicação Wi-Fi) .O usuário cria facilmente sua própria interface gráfica para seu programa simplesmente arrastando ícones e botões.
| | = Arduino e IoT = |
| | <br> |
|
| |
|
| Site:http://www.blynk.cc/
| | * Com a evolução da tecnologia e a busca de execução de atividades de forma mais simplificada procurando um menor custo e uma maior eficiência , foi desenvolvido um hardware chamado arduino , que atraves de simples comandos executa atividades que quando ligados a um software facilita processos do cotidiano , como a automação de casas um simples sinal de transito e outras atividades. |
|
| | <br> |
| -''Instrumentino": É uma interface gráfica do usuário (GUI), de código aberto que funciona em Windows Linux e Mac OS X ,ela permite a monitoração de sinais e a definição de parâmetros mostrados em um painel no computador , sua linguagem de programação é Python e seu objetivo principal seria minimizar o trabalho de criar um novo sistema.
| |
|
| |
|
| Site:https://pypi.python.org/pypi/instrumentino
| | = Exemplos de código = |
| | | <br> |
| '''Interface com um Hardware'''
| |
|
| |
| A comunicação do arduino com outros hardwares é limitada a corrente que passa entre seus pinos de I/O, não podendo passar de certo valor que varia modelos da placa mas giram em torno de uma media de 20 mA (miliamperes) por pino.
| |
| | |
| - '''Shields''': São uma das principais características do arduino que lhe permite ser compatível com praticamente qualquer hardware. Esses módulos são completamente dependentes do arduino para funcionar ,se encaixam sobre ele e expandem sua capacidade possibilitando uma vasta quantidade de aplicações que podem ser criadas, os shields também como o arduino podem ser desenvolvidos por qualquer pessoa, tornando-os ainda mais versáteis. Alguns dos exemplos mais comuns de shields são: ''Ethernet Shield''- permite a conexão do arduino a uma rede local; ''Motor Shield'' - permite o controle de motores e fornecimento de energia de um aparelho; ''Wave Shield'' - permite a reprodução de audio através de arquivos .wav; ''Proto Shield'' -permite a implantação de circuitos como se fossem um shield.
| |
|
| |
|
| [[Arquivo:shield.jpg]] ''Arduino conectado a um Ethernet Shield.''
| | * Abaixo, a demonstração de um código que simula um semáforo, (para por esse projeto em prática é necessário além do Arduino, 3 leds, 3 resistores de 220 ohms e uma protoboard). OBS: A explicação das funções será feita em forma de comentários (//) |
|
| |
|
| '''Interface Gráfica'''
| |
|
| |
|
| Há varias maneiras de desenvolver sua própria interface gráfica para manipular seu programa elas variam de acordo com cada projeto. Uma maneira simples é através do ''Processing'' um IDE e uma linguagem de programação de código aberto utilizada desenvolvimento de imagens, animações, etc, que permite realizar um trabalho gráfico tanto em 2D ou 3D ,essa interface irá trocar dados de formal serial com a placa e exibi-los na tela.
| | // DEFINE "SINÔNIMOS" PARA FACILITAR A PROGRAMAÇÃO OBS: OS NUMEROS CORRESPONDEM AS PORTAS DO ARDUINO |
| | | #define LED_VERMELHO 48 |
| = Arduíno e IoT =
| | #define LED_AMARELO 50 |
| | #define LED_VERDE 52 |
| | // FUNÇÃO DE INICIALIZAÇÃO, É EXECUTADA APENAS UMA VEZ QUANDO O ARDUINO LIGA |
| | void setup(){ |
| | // CONFIGURA OS TRÊS PINOS COMO SAÍDAS DIGITAIS. |
| | pinMode (LED_VERMELHO, OUTPUT); |
| | pinMode (LED_AMARELO, OUTPUT); |
| | pinMode (LED_VERDE, OUTPUT); |
| | // APAGA TODOS OS LEDS |
| | digitalWrite(LED_VERMELHO,LOW); |
| | digitalWrite(LED_AMARELO, LOW); |
| | digitalWrite(LED_VERDE, LOW); |
| | // FUNÇÃO DE PROGRAMA, ELA SE REPETE INFINITAMENTE ATÉ O ARDUINO SER DESLIGADO |
| | void loop() { |
| | // LIGA O VERMELHO |
| | digitalWrite(LED_VEMRELHO, HIGH); |
| | // AGUARDA 1 SEGUNDO |
| | delay(1000); |
| | // DESLIGA O VERMELHO E LIGA O VERDE |
| | digitalWrite(LED_VERMELHO, LOW); |
| | digitalWrite(LED_VERDE, HIGH); |
| | // AGUARDA 1 SEGUNDO |
| | delay(1000); |
| | // DESLIGA O VERDE E LIGA O AMARELO |
| | digitalWrite(LED_VERDE, LOW); |
| | digitalWrite(LED_AMARELO, HIGH); |
| | // AGUARDA 1/2 SEGUNDO |
| | delay(500); |
| | // DESLIGA O AMARELO |
| | digitaLWrite(LED_AMARELO, LOW); |
| | // AQUI NO FINAL O PROGRAMA AUTOMATICAMENTE PULA PRO COMEÇO DO LOOP |
| | } |
| <br> | | <br> |
| A internet das coisas compreende em pegar objetos do mundo físico e captar dados utilizando sensores e atuadores e conecta-los via uma rede sem fio, então o arduino é uma das maneiras de se realizar isso. Com sua alta versatilidade e fácil manuseio há infinitas possibilidades do que pode ser realizado. Qualquer sensor pode ser praticamente conectado a um arduino com e com o auxilio dos shields e softwares como Blynk, é possível por exemplo controlar todas as lâmpadas, portões, cafeterias ou diversos outros objetos via uma conexão wireless utilizando seu dispositivo móvel. Mas esse controle não esta limitado somente a uma rede local, se conectado através da nuvem esse controle é possível a nível global.
| |
|
| |
|
| = Exemplos de código = | | = Exemplos de Aplicaçoes = |
| <br> | | <br> |
| Um exemplo simples de código seria um sketch que se um botão for pressionado ativará um LED :
| |
|
| |
|
| | | * Semáforo |
| //Declaração das constantes
| | * Touch-screen de celular |
| | | * Sensores de presença . |
| | |
| const int botPin = 2; // o numero do pino associado ao botão
| |
| | |
| const int ledPin = 13; // o numero do led associado ao pino
| |
| | |
| | |
| // Declarao de variável
| |
| | |
| | |
| int botState = 0; // variável pra ler o status do botão
| |
| | |
| void setup() {
| |
| | |
|
| |
| // Início o pino LED como saida:
| |
|
| |
| | |
| pinMode(ledPin, OUTPUT);
| |
| | |
| | |
| // Início o botão como entrada:
| |
| | |
| | |
| | |
| pinMode(botPin, INPUT);
| |
| | |
| }
| |
| | |
| | |
| void loop() {
| |
| | |
| | |
| // Leia o status do valor do botao:
| |
| | |
| | |
| | |
| buttonState = digitalRead(botPin);
| |
| | |
| | |
| | |
| // Checar se o botão foi pressionado.
| |
| | |
| // Se sim, o estado do botão é HIGH:
| |
| | |
| | |
| | |
| if (botState == HIGH) {
| |
| | |
| | |
| //Liga o LED:
| |
| | |
| | |
| digitalWrite(ledPin, HIGH);
| |
| | |
| | |
| | |
| } else {
| |
| | |
| | |
| // Desliga o LED:
| |
| | |
| | |
| digitalWrite(ledPin, LOW);
| |
| | |
| }
| |
| | |
| }
| |
| | |
| = Exemplos de aplicações =
| |
| <br> | | <br> |
| O arduino é muito usado na automação de serviços em geral, controle remoto wireless, monitoramento de processos, mas lista de possibilidades de aplicações que podem ser criadas é ilimitada devido a seu código open-source, os shields, a facilidade de manuseio e baixo custo é capaz de desenvolver praticamente qualquer coisa. Alguns exemplos de projetos:
| |
|
| |
| ''Sensing Umbrella'': Um projeto open-source desenvolvido pelo CIID(Copenhagen Institute of Interaction Design)e conjunto com os próprios criadores do arduino, implementaram em um guarda-chuva um arduino e LED, para capturar o nível de poluição do ar. As luzes mudam de cor variando com o nível de poluição e ele envia dados para nuvem para serem analisados, com intuito de criar um mapa de poluição de numa cidade por exemplo, toda essa informação estará disponível em uma pagina Web open-source para ser acessada livremente. Os criadores do projeto querem iniciar um movimento global onde cada pessoa enviará dados sobre o estado da poluição para o bem comum.
| |
|
| |
| [[Arquivo:senseU.jpg]]
| |
|
| |
|
| |
| ''Red'': Um dispositivo desenvolvido por Dmitry Morozov, é composto por um arduino, um micro pc Raspberry Pi 2 , três servomotores, dois sistemas de canal de audio, um motor de passo e um motor DC esse dispositivo é capaz de reproduzir os sons emitidos de um cristal vermelho, o dispositivo usa como entrada a fonte de luz e outros elementos óticos para criar um experiência audiovisual que funciona de maneira autônoma utilizando um algoritmo programado em Python.
| |
|
| |
| [[Arquivo:red1.jpg]]
| |
|
| |
|
| |
| ''Stellar'': Uma instalação interativa que utiliza do o banco de dados do software open-source Stellarium. Utilizando dois Arduinos Uno ,um sensor Leap Motion, e um software Max 7 para a gestão de mais de 300 estrelas e 40 constelações, essa instalação é capaz de reproduzir os sons de estrelas movendo braços robóticos que indicam a posição de cada estrela, os braços são controlados por sensores que se movem de acordo com a mão do usuário. Como não há som no espaço o programa utiliza de dados de cada estrela como temperatura, distancia entre a Terra, brilho, frequência , amplitude, para criar os sons.
| |
|
| |
| [[Arquivo:stell1.jpg]]
| |
|
| |
|
| = Referências bibliográficas = | | = Referências Bibliográficas = |
| <br> | | <br> |
| Arduino -https://www.arduino.cc/
| |
|
| |
| -http://www.arduino.cc/en/Guide/Introduction
| |
|
| |
| -http://playground.arduino.cc/Main/InterfacingWithSoftware
| |
|
| |
| -http://playground.arduino.cc/Main/InterfacingWithHardware
| |
|
| |
| -http://playground.arduino.cc/Main/Interfacing
| |
|
| |
| -https://www.arduino.cc/en/Main/arduinoShields
| |
|
| |
| -https://www.arduino.cc/en/Tutorial/BuiltInExamples
| |
|
| |
|
| |
| Arduino Blog -https://blog.arduino.cc/
| |
|
| |
| -https://blog.arduino.cc/2014/07/16/share-hyperlocal-air-pollution-data-with-sensing-umbrella/
| |
|
| |
| -https://blog.arduino.cc/2016/04/11/listen-to-the-hypnotic-sound-of-a-red-crystal/
| |
|
| |
|
| -https://blog.arduino.cc/2016/02/16/hear-the-sound-of-300-stars/ | | * Projeto39.wordpress.com/o-arduino , opservices.com.br/o-que-e-o-arduino , t.wikipedia.org/wiki/Arduino , |
Conceito
- É uma plataforma física(hardware) de computação de código aberto baseado numa simples placa microcontroladora, e um ambiente de desenvolvimento para escrever o código para a placa.
Funcionamento
- O Arduino pode ser usado para desenvolver objetos interativos, admitindo entradas de uma séria de sensores ou chaves, e controlando uma variedade de luzes, motores ou outras saídas físicas , a partir da programaçao em linguagem C , C++ e Java.
Interfaces
- A interface pode ser apresentada atraves de um software que recebera a programaçao desejada e a partir da compilaçao e a conexão por usb ou por outros modos com o arduino(hardware) , haverá a execução dos comandos.
Arduino e IoT
- Com a evolução da tecnologia e a busca de execução de atividades de forma mais simplificada procurando um menor custo e uma maior eficiência , foi desenvolvido um hardware chamado arduino , que atraves de simples comandos executa atividades que quando ligados a um software facilita processos do cotidiano , como a automação de casas um simples sinal de transito e outras atividades.
Exemplos de código
- Abaixo, a demonstração de um código que simula um semáforo, (para por esse projeto em prática é necessário além do Arduino, 3 leds, 3 resistores de 220 ohms e uma protoboard). OBS: A explicação das funções será feita em forma de comentários (//)
// DEFINE "SINÔNIMOS" PARA FACILITAR A PROGRAMAÇÃO OBS: OS NUMEROS CORRESPONDEM AS PORTAS DO ARDUINO
#define LED_VERMELHO 48
#define LED_AMARELO 50
#define LED_VERDE 52
// FUNÇÃO DE INICIALIZAÇÃO, É EXECUTADA APENAS UMA VEZ QUANDO O ARDUINO LIGA
void setup(){
// CONFIGURA OS TRÊS PINOS COMO SAÍDAS DIGITAIS.
pinMode (LED_VERMELHO, OUTPUT);
pinMode (LED_AMARELO, OUTPUT);
pinMode (LED_VERDE, OUTPUT);
// APAGA TODOS OS LEDS
digitalWrite(LED_VERMELHO,LOW);
digitalWrite(LED_AMARELO, LOW);
digitalWrite(LED_VERDE, LOW);
// FUNÇÃO DE PROGRAMA, ELA SE REPETE INFINITAMENTE ATÉ O ARDUINO SER DESLIGADO
void loop() {
// LIGA O VERMELHO
digitalWrite(LED_VEMRELHO, HIGH);
// AGUARDA 1 SEGUNDO
delay(1000);
// DESLIGA O VERMELHO E LIGA O VERDE
digitalWrite(LED_VERMELHO, LOW);
digitalWrite(LED_VERDE, HIGH);
// AGUARDA 1 SEGUNDO
delay(1000);
// DESLIGA O VERDE E LIGA O AMARELO
digitalWrite(LED_VERDE, LOW);
digitalWrite(LED_AMARELO, HIGH);
// AGUARDA 1/2 SEGUNDO
delay(500);
// DESLIGA O AMARELO
digitaLWrite(LED_AMARELO, LOW);
// AQUI NO FINAL O PROGRAMA AUTOMATICAMENTE PULA PRO COMEÇO DO LOOP
}
Exemplos de Aplicaçoes
- Semáforo
- Touch-screen de celular
- Sensores de presença .
Referências Bibliográficas
- Projeto39.wordpress.com/o-arduino , opservices.com.br/o-que-e-o-arduino , t.wikipedia.org/wiki/Arduino ,