| Linha 50: | Linha 50: | ||
= Exemplos de código = | = Exemplos de código = | ||
<br> | <br> | ||
Um exemplo simples de código seria um sketch que se um botão for pressionado ativará um LED : | |||
//Declaração das constantes | |||
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() { | |||
// inicio o pino LED como saida: | |||
pinMode(ledPin, OUTPUT); | |||
// inicio 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 = | = Exemplos de aplicações = | ||
Edição das 09h18min de 18 de abril de 2016
Esta pesquisa deve fornecer um conteúdo atualizado sobre o tema acima. Não esqueça de incluir as 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.
Conceito
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.
Funcionamento
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. 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
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.
Link: [1]
-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.
Link: [2]
-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.
Link: [3]
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.
Interface Gráfica
É possível desenvolver sua própria interface gráfica para manipular seu programa utilizando o Processing (um IDE e uma linguagem de programação de código aberto para desenvolvimento de imagens, animações e outras interações).
Arduíno e IoT
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
Um exemplo simples de código seria um sketch que se um botão for pressionado ativará um LED :
//Declaração das constantes
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() {
// inicio o pino LED como saida:
pinMode(ledPin, OUTPUT);
// inicio 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
Referências bibliográficas