Arduino Aula 4 SHIELDS: BLUETOOTH, ETHERNET E EMG
O que são Shields? Placas de circuito que podem ser conectadas ao Arduino, encaixando-se perfeitamente por cima dele, e expandindo suas capacidades Ethernet Shield Led Shield Touch Display Shield Bluetooth Shield Motor Shield Wave Shield EMG Shield Ultrasonic Shield
Bluetooth Áreas de redes pessoais sem fio : WPAN Conecta e troca informações entre dispositivos (exemplo: telefones celulares, notebooks, computadores, impressoras, câmeras digitais e consoles de videogames digitais) Baixo consumo de energia com baixo alcance (dependendo da potência: 1 metro, 10 metros, 100 metros) Frequência de rádio de curto alcance
Acionando portas do Arduino usando Android e Bluetooth
Módulo Bluetooth No módulo você deve conhecer os pinos e ligá-los utilizando fios/cabos. Bluetooth Shield No Shield, basta encaixá-lo sobre o Arduino
Montagem Módulo Bluetooth
Montagem Bluetooth Shield
Programação na IDE Arduino int readbluetooth;//variável que irá receber o valor enviado do celular para o Bluetooth boolean stateled=false;//estado do led iniciada, indicando led desligado; int led=13;//led da porta 13 void setup(){ Serial.begin(9600);//Inicia comunicação serial pinmode(led,output);//definindo o pino 13 como saída void loop(){ if(serial.available()){ readbluetooth = Serial.read(); if(readbluetooth == 'a'){ if(stateled){ //Se stateled for true: digitalwrite(led,low);//desliga a lâmpada stateled=false;//guarda o estado para false(led apagado) else{//senão: digitalwrite(led,high);//liga a lâmpada stateled=true;//guarda o estado para true(led aceso)
O que é variável BOOLEANA? Uma variável booleana permite guardar apenas dois valores, true ou false, que ainda pode ser 1(um) para true ou 0(zero) para false; Esses valores estarão controlando o estado do led da seguinte forma: Se o valor da stateled for true significa que a lâmpada está acesa, porém se for false está apagada.
Programação sem usar variável booleana int readbluetooth;//variável que irá receber o valor enviado do celular para o bluetooth int lamp=13;//led da porta 13 void setup(){ Serial.begin(9600);//Inicia Comunicação Serial pinmode(lamp,output);//definindo o pino 13 como saída void loop(){ if(serial.available()){ readbluetooth = Serial.read();//Valor lido na Serial será guardado na variável readbluetooth if(readbluetooth == 'a'){ digitalwrite(lamp,high);//liga o LED if(readbluetooth == 'b'){ digitalwrite(lamp,low);//desliga o LED
Interface visual para permitir que qualquer um possa programar seus próprios aplicativos App Inventor Designer App Inventor Blocks Editor
App Inventor Designer
App Inventor Blocks Editor
Ethernet Shield possibilitar o acesso às informações na sua rede local conectar à internet e permitir o seu monitoramento de qualquer lugar do mundo
1º Passo : configurar o shield com um endereço IP válido da sua rede Clique em INICIAR e, na caixa de diálogo, digite CMD. Em seguida pressione a tecla ENTER Na janela de prompt de comando, digite ipconfig /all (sem as aspas) e aperte ENTER :
Endereço IP, Máscara de sub-rede e Gateway Padrão : Alterar Endereço IP (ex: 192.168.1.88) Permanecer Máscara de Sub-rede e Gateway Padrão
Programação if (c == '\n') { client.println("http/1.1 200 OK"); client.println("content-type: text/html"); client.println(); #include <SPI.h> #include <Ethernet.h> //Definicoes de IP, mascara de rede e gateway byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED ; IPAddress ip(192,168,1,88); //Define o endereco IP IPAddress gateway(192,168,1,1); //Define o gateway IPAddress subnet(255, 255, 255, 0); //Define a máscara de rede client.println("<html>"); client.println("<body>"); client.println("<h1>acende LED</H1>"); client.println("<hr />"); client.println("<br />"); String readstring; int Pin = 6; //Inicializa o servidor web na porta 80 EthernetServer server(80); client.println("<a href=\"/?ledon\"\">ligar o led</a>"); client.println("<a href=\"/?ledoff\"\">desligar o led</a><br />"); client.println("</body>"); client.println("</html>"); void setup() { //Inicializa a interface de rede pinmode(pin, OUTPUT); Ethernet.begin(mac, ip, gateway, subnet); server.begin(); void loop(){ EthernetClient client = server.available(); if (client) { while (client.connected()) { if (client.available()) { char c = client.read(); delay(1); client.stop(); if(readstring.indexof("?ledon") > 0) { digitalwrite(pin, HIGH); else { if(readstring.indexof("?ledoff") > 0) { digitalwrite(pin, LOW); readstring=""; if (readstring.length() < 100) { readstring += c;
EMG Shield EMG (Eltromiografia) mede a atividade elétrica do músculo durante o repouso, leve contração, e contração forte
O programa Link software: https://www.olimex.com/products/eeg/openeeg/eegsmt/resources/elecguru40.zip Interface gráfica: https://www.olimex.com/products/duino/shields/shield-ekgemg/resources/shieldekgemgdemo.zip Fonte: https://www.olimex.com/products/duino/shields/shield-ekg-emg/
Interface gráfica
Interface Gráfica
Filtro e ajuste de ganho