Minicurso - Arduino Startup Garagem

Documentos relacionados
PUCRS CURSO DE ENGENHARIA ELÉTRICA

MINICURSO ARDUINO AVANÇADO

O que você pode fazer com o Arduino

ARDUINO BÁSICO E T A P A 1 O QUE É ARDUINO? Prof. Amadeu Zanon Neto

Conhecendo o ARDUINO LEGENDA

OFICINA Uso da plataforma Arduino no Ensino de Ciências

Arduino. Introdução aos Componentes Básicos. Leonardo Mauro P. Moraes. Universidade Federal de Mato Grosso do Sul - UFMS.

Por Fernando Koyanagi

Programação do Arduino. Parte 1. IDE Wiring

Aula 1 Apresentação e Conceitos Iniciais. Wellington Cássio Faria fb.com/wellingtoncf

Introdução do Arduino para aquisição de dados e controle de instrumentos

Curso introdutório de microcontroladores - Plataforma Arduino

Disciplina: Laboratório de Fis26

Introdução à Plataforma ARDUINO

Arduino Básico: As versatilidades desta plataforma na prática

// Arduino {? } Mais o que é?..

ETAPAS PARA A CONSTRUÇÃO DA SONDA

Arduino. Gilmar Aquino

SENSOR ULTRASSOM HC-SR04

Integração Arduino - Python Leitura de sensor de umidade e temperatura

Por Fernando Koyanagi 1

Curso de robótica 2. Novos conceitos de programação

Por Fernando Koyanagi

ROBÓTICA 1 INSTRUTORES: ALEXANDRE MATIAS E THALISSON RODRIGUES

Introdução ao Arduino

Arduino - Primeiros Passos

Guia Arduino para iniciantes: Tudo que você precisa saber para começar

Projeto 01. Adriano Joaquim de Oliveira Cruz Instituto de Matemática UFRJ 2015 Adriano Cruz. 30 de agosto de 2015

Podem ser substituídos pelo módulo P7-Sensor de Luminosidade da GBK Robotics.

Projeto No. 15 Sensor Óptico Reflexivo

O ARDUINO. Plataforma de prototipagem eletrônica; Open Source; Formada por duas partes básicas: hardware e software.

Plataforma Arduino, um universo de possibilidades

Curso de Básico Arduino! Ministrado por: Wellington Cássio Faria Contato:

Prof. Edval Rodrigues de Viveiros - Disciplina Automação Industrial Engenharia Mecânica 8 o termo Lista de Automação Industrial

Arduino. Conectores, Fonte, USB, LEDs. Compilador, Bibliotecas, Editor, Burner

introdução Olá, Após alimentar você deve enviar comandos AT para verificar que o modulo está funcionando e comunicando via serial.

Robótica com Arduino Professor: Paulo Marcos Trentin

SUPERVISÃO DE VAZÃO E NÍVEL UTILIZANDO PLATAFORMA ARDUINO

INTRODUÇÃO A PLATAFORMA ARDUINO. TÁSSIO JOSÉ GONÇALVES GOMES

INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY

Projeto Final de Microcontroladores 2 Alarme de Temperatura

Kit controle remoto IR acionando 3 Led com Arduino

5 ULTRASSOM + MEMÓRIA

Open Hardware & Arduino

Introdução. O que é o Arduino?

Arduíno: Uma possibilidade de integração com o gvsig

MINICURSO ARDUINO BÁSICO

Comunicação Serial 1

Arduino. Conectores, Fonte, USB, LEDs. Compilador, Bibliotecas, Editor, Burner

Mini curso Arduino Parte I. Prof. Rogério Neves

Plano de Aula. 1 o semestre. Aula número 012 Periféricos Comunicação Serial. Conhecer os princípios de comunicação serial

Introdução à lógica e programação

Ricardo Ribeiro dos Santos - ricardo@facom.ufms.br Faculdade de Computação - UFMS

MANUALDEGUSTAÇÃO ARDUINO KIT INICIANTE V4.0

Minicurso de Arduino. Laboratório de Inovação em Sistemas em chip npiti - UFRN

APOSTILA DE ARDUINO. Prof. Cleverson B. Klettenberg

Laboratório Bluetooth

DK105 GROVE. Sonar. Radiuino

Este tutorial mostra como utilizar as ferramentas Send Mail e Web Commands.

Por Fernando Koyanagi 1

Mundo Arduino: Vamos começar a programar?

Hardware Livre Arduino. Givanaldo Rocha de Souza

#include <SoftwareSerial.h> SoftwareSerial myserial(2, 3); // RX, TX

MINICURSO - PLATAFORMA ARDUINO Eixo de Informação e Comunicação Gil Eduardo de Andrade

Scaling Up Inclusion: Robotics, a STEM focused Project. Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel

Scaling Up Inclusion: Robotics, a STEM focused Project. Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel

Sistemas de Controle 2

Sistemas Embarcados:

Programação em Linguagem C

Prá$cas Arduino. Manoel Neto

Plano de Aula. 1 o semestre. Aula número 011 Periféricos Display LCD, Conversor AD e conversor DA (PWM)

Anatomia do Arduino Bootloader

UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA. Trena Ultrassônica

AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais.

Depois de configurada nossa comunicação serial podemos enviar vários comandos para comunicação entre o computador e o Arduino:

PIBIC/PIBITI/IC Jr Relatório das Atividades de Pesquisa 23ª SEMIC

Descrição dos pinos de entrada e saída e de funções especiais. Descrição dos modos de acesso: individual e por porto

MINICURSO DE ARDUINO AULA 01. Gabriel de Melo Souza Lucas Nunes de Carvalho Max Rodrigues Marques Victor Paiva de Oliveira

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento

Programação C para Arduino

Arduino. Prof. Maurício Dias

Plano de Aula. 1 o semestre. Aula número 009 Interrupções. Fazer uso das interrupções externas no Arduíno

Arquitetura do Microcontrolador Atmega 328

Arduino MS. Sobre esta Oficina. Oriunda do Arduino Hack Day Organizado pelos Coordenadores do ArduinoMS Agradecimentos ao apoio do SENAC

Alarma Aê Projeto de alarme com envio de alerta para aplicativo para Smartphone.

Projeto No. 17 Infravermelho

Projeto No. 2 Potenciômetro

Curso de Arduino. Quais seus principais componentes?

Introdução ao Arduino ESCOLA DE ARTES VISUAIS DO PARQUE LAGE. Núcleo de Arte e Tecnologia. julio lucio martin. Aula 07

Transcrição:

Minicurso - Arduino Startup Garagem Prof. da Faculdade de Engenharia/PUCRS Anderson Royes Terroso terroso@pucrs.br Eng. Eletricista/Eletrônico Mestre em Eng. Elétrica Atualmente Coordenador Acadêmico da FENG

Arduino Arduino é uma plataforma de prototipagem eletrônica de hardware livre, projetada com um microcontrolador Atmel AVR de placa única, com suporte de entrada/saída embutido, uma linguagem de programação padrão, na qual tem origem em Wiring, e é essencialmente C/C++. Fonte: wikipedia

Origem do projeto Arduino O projeto teve seu início no Interaction Design Institute localizado na cidade de Ivrea, Itália, em 2005. Objetivo era ter um sistema microcontrolado de baixo custo. O nome Arduino era o nome do bar onde essa turma de professores se reunia.

Bar Arduino

Quem fez o que no projeto?? David Cuartielles desenhou a placa! David Mellis (aluno de Massimo), programou o software para executar na placa. Massimo contratou um engenheiro local, Gianluca Martino, que também trabalhou no Design Institute ajudando alunos com seus projetos. Gianluca concordou em produzir uma tiragem inicial de duzentas placas. Igoe foi um dos primeiros a adotar a plataforma em New York.

Microcontrolador AVR AVR é um microcontrolador RISC de chip único com uma arquitetura Harvard modificada de 8-bit (µc), desenvolvido pela Atmel em 1996. Fonte: wikipedia

Família Arduino

Especificação dos principais kits

Clones do Arduino Freeduino Illuminato Metaboard Seeeduino ejackino Wiseduino Brasuíno... Boarduino Sanguino Stickduino... iduino LEDuino Roboduino Fonte: wikipedia

Arduino foi desenvolvido com o propósito de encaixar uma placa na outra (shields)

Ambiente de programação do Arduino

Estrutura do programa para o Arduino void setup() // configurações em geral { pinmode(led, OUTPUT); } void loop() // função principal - main { digitalwrite(led, HIGH); delay(1000); digitalwrite(led, LOW); delay(1000); }

Arduino MEGA2560

Alguns exemplos de shields e o programa equivalente

Liga LED RGB #define vermelho 5 #define verde 6 #define azul 7 void setup() { pinmode(vermelho, OUTPUT); pinmode(verde, OUTPUT); pinmode(azul, OUTPUT); } void loop() { digitalwrite(vermelho, random(0,2)); digitalwrite(verde, random(0,2)); digitalwrite(azul, random(0,2)); delay(250); }

Esse programa lê o valor do conversor AD e envia via serial (0...1023) int LeituraAD0; void setup() { Serial.begin(19200); } void loop() { LeituraAD0 = analogread(0); Serial.println(LeituraAD0); delay(500); }

HC-SR04 Sensor de Proximidade

Sinais do HC-SR04

A velocidade do som no ar muda conforme a temperatura. 15 C a velocidade é de 340m/s 20 C a velocidade é de 343m/s 25 C a velocidade é de 346m/s Velocidade do som no ar em cm: 34300 cm/s Portanto, o tempo que o som leva para percorrer 1cm em µs pode ser calculado da seguinte forma: 1s = 1000000µs 34300 cm 1000000 µs 1 cm X µs X = 29.15 µs

Logo, para percorrer 1cm o som leva 29.41µs. Tempo de ida e volta. Portanto para saber a distância do ultrassom até o anteparo precisa dividir esse tempo por 2. A função do arduino pulsein determina o tempo que um sinal permanece em HIGH ou LOW. tempo = pulsein(echo, HIGH) Neste caso quando o sinal no pino echo for para HIGH, a função começa a contar tempo (em µs). Quando o sinal do pino retornar a zero (LOW), tem-se o tempo da janela do pulso.

Programa determinar distância de objetos int trigger = 9; int echo = 8; float tempo; float distancia_cm; void setup() { Serial.begin(19200); pinmode(trigger,output); digitalwrite(trigger,low); pinmode(echo,input); } void loop() { digitalwrite(trigger, HIGH); delaymicroseconds(10); digitalwrite(trigger, LOW); // pino TRIG do sensor ultrassônico // pino ECHO do sensor ultrassônico // para armazenar o tempo de ida e volta do sinal em microsegundos // para armazenar a distância em centímetros // inicializa a serial para 19200bps // configura o pino trigger como saída (OUTPUT) pulso de start. // inicializa esse pino com valor 0 (LOW) // configura o pino echo como entrada (janela de tempo). // sobe o sinal de trigger - conforme mostrado no slide Sinais do HC-SR04 // aguarda 10us - conforme mostrado no slide Sinais do HC-SR04 // desce o sinal de trigger - conforme mostrado no slide Sinais do HC-SR04 tempo = pulsein(echo, HIGH); // função pulsein retorna o tempo que o sinal echo (pino) fica em alto janela. distancia_cm = (tempo/29.15)/2; Serial.println(distancia_cm); delaymicroseconds(200); } // cálculo da distância em cm constante 29.15 e o 2 explicado no slide anterior // escreve na serial o valor da distância em cm. // aguarda 200us para nova leitura.

DHT22 Sensor de Temperatura e Umidade

Programa para ler temperatura/umidade #include "DHT.h // adicionar a biblioteca DHT.h -> disponível no moodle #define DHTPIN 2 // pino 2 como entrada de DADOS #define DHTTYPE DHT22 DHT dht(dhtpin, DHTTYPE); // instanciação do componente DHT // passagem dos parâmetros pino do DADO e o tipo DHT22 void setup() { Serial.begin(19200); dht.begin(); } // função para inicializar a comunicação serial a 19200bps // função para inicializar o sensor de temp/umidade DHT22 void loop() { delay(2000); float t = dht.readtemperature(); Serial.println(t); float h = dht.readhumidity(); Serial.println(h); } // intervalo entre cada leitura // dht.readtemperature() é a função para ler temp. // escreve o valor da temperatura na serial // dht.readhumidity() é a função para ler umidade. // escreve o valor da umidade na serial

Sensor de Corrente ACS712 Tensão de alimentação = 5V Tensão de saída varia com o chip. +/- 30A...resolução 66mV/A +/- 20A...resolução 100mV/A +/- 5A...resolução 185mV/A Como o conversor A/D do ATMEGA2560 é 10 bits e a tensão de referência é de 5V, temos o seguinte problema: Resolução_mínima = 5V/1024 = 4,88mV Portanto, para correntes menores que 26,378mA o conversor A/D não consegue ler! 185mV 1A 4,88mV xa x = 26,378mA

Esse programa lê o valor do conversor AD e envia via serial o valor da tensão e corrente float ValorTensao, ValorCorrente; int LeituraAD0; void setup() { Serial.begin(19200); } void loop() { LeituraAD0 = analogread(0); ValorTensao = (LeituraAD0 / 1024.0) * 5000; // Valor em mv.:. Vref = 5V ValorCorrente = ((ValorTensao-2500) / 100); // 100mV/A; 2500 simetria +/- } Serial.println(ValorTensao); Serial.println(ValorCorrente); delay(500);

Bluetooth O HC-05 é um módulo bluetooth que pode funcionar tanto como MASTER ou SLAVE. Já o HC-06 está restrito apenas a operar como SLAVE. AT.:. Comando para ver se o dispositivo está vivo AT+BAUDx.:. configura baudrate Ex.: AT+BAUD4 configura baudrate para 9600 Ex.: AT+BAUD5 Configura baudrate para 19200 resposta: OK resposta: OK9600 resposta: OK19200 AT+NAMEabcd.:. Após AT+NAME coloca-se o nome do dispositivo (o nome vem colado a palavra NAME). EX.: AT+NAMEGrupo7 resposta: OKsetname AT+PINxyzw.:. configura a senha para pareamento EX.: AT+PIN1234 resposta: OKsetPIN

Conexões: BLT => MEGA2560 VCC => 5V GND => GND RX => TX2 TX => RX2

Leitura de 2 canais A/D e envio via bluetooth

ESP8266 O ESP8266 é um módulo que suporta as redes 802.11 bgn, podendo ser usado como um ponto de acesso (AP Access Point) ou como uma estação (Station), enviando e recebendo dados.

Obrigado!!!! Qualquer informação adicional estou a disposição pelo e-mail terroso@pucrs.br