Arduíno. Adriano Cruz. 16 de setembro de 2013. Adriano Cruz () Arduíno 16 de setembro de 2013 1 / 51



Documentos relacionados
Prá$cas Arduino. Manoel Neto

Professor: Fernando Krein Pinheiro

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

Minicurso de Arduino

Arduino e Proteus (Tutorial)

Minicurso de Arduino

InteropMix Arduino e Internet das Coisas. Leandro Ramos Leonardo Toledo Robson Machado

ACENDENDO AS LUZES. Capitulo 2 - Aula 1 Livro: Arduino básico Tutor: Wivissom Fayvre

Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações.

Arduino. Wanderson Souza Professor de Robótica

Introdução ao Arduino. Pessanha Santos ASPOF EN-AEL

Servo Motores. Jener Toscano Lins e Silva

Hacking Class Controlando tomadas da sua casa via Internet

Viabilizado pela Organização do ERI MS; Apoiado pelo grupo ArduinoMS; Agradecimentos especiais ao do SENAC e UCDB.

Robótica com Arduino

Manual Técnico Arduino Supervisório MODBUS & Conversor RS485

Microcontrolador Arduino: Aplicação em controle PI

O Laboratório de Garagem

Comunicação Serial com o AVR ATMEGA8

Manual Técnico Módulo Ponte H Dupla

TEM VÁRIOS ESTADOS: 0V,0.1V,3V,3.3V,4V,5V,10V, ETC.

CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA ENGENHARIA DA COMPUTAÇÃO ANDRÉ CLAUDINO ALBO ALENCAR RESOLUÇÃO DE PROBLEMAS DE ENGENHARIA

Robótica com Arduino CDI. Professor: Paulo Marcos Trentin

Simulação de Circuitos Microcontrolados com o Proteus

Projeto No. 11 Display de Leds de 7 Segmentos

RESULTAR EM "CHOQUE ELÉTRICO", FOGO, ENTRE OUTROS.

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

Minicurso Arduino JACEE 2012

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

TUTORIAL Arduino Nano

Conhecendo o ARDUINO LEGENDA

Controlo de servomotores com o microcontrolador BX-24

1- Scilab e a placa Lab_Uino. 2- Instalação do ToolBox

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

Sistemas de Aquisição de Dados Baseado em Microcontroladores

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

ARDUINO Um Guia Básico para Iniciantes

Arduino Hack Day PROMOVA VOCÊ TAMBÉM UM ARDUINO HACK DAY!

R O B Ó T I C A. Sensor Smart. Ultrassom. Versão Hardware: 1.0 Versão Firmware: 1.0 REVISÃO

Hewerson Antonio Perdomo Jacquet Luana Loubet Borges Ricardo Espindola de Aguiar Riccieli Kendy Zan Minakawa Prof. Ricardo Ribeiro dos Santos

OMNI-3MD. Placa Controladora de 3 Motores. Disponível Biblioteca para Arduino. Manual de Hardware. Outubro de 2013

Parallel to Serial Shifting IN

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

Robótica com Arduino. Resistores. Professor: Paulo Trentin

Leitor MaxProx-Lista-PC

Composição do MDK-Prog e MDK-Prog Plus

1 Esfera de aço 1 Transitor BC547

BEC- Bafômetro Embutido em Carros

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

Introdução ao Arduino

Pequeno livro sobre fontes de alimentação

Disparando eventos com o Asterisk. Fernando Mercês

Easy Lab. Manual do usuário Revisão /11/14. DMA Electronics 1

Conjunto Sensor IR Para quem tem fome de vencer

Arduino - Primeiros Passos

ENGENHARIA DE COMPUTAÇÃO ESCOLA POLITÉCNICA FELIPE VIGNOLI MATHIEU LUIS HENRIQUE DE SOUZA DOCUMENTAÇÃO MAGNETIC HAMMER

Introdução. àeletrônica com Arduino. Felipe Nascimento Martins. VIII Jornada de Iniciação Científica, Desenvolvimento Tecnológico e Inovação do Ifes

Manual de Instruções. Touchlight Smart

SENSOR DE LUMINOSIDADE Com indicador de intervalo

Alarme Automotivo com mensagem para móvel utilizando Arduino

PdP. Autor: Luís Fernando Patsko Nível: Intermediário Criação: 22/05/2006 Última versão: 18/12/2006

ARDUINO UNO Guia do Usuário

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

PROJETO. Ponte Digital. Luciano Daniel Amarante - carabina@pop.com.br Ricardo Watzko - rw@netuno.com.

BLOCKGAS. Sistema de Monitoração e Alarme de vazamento de gás SB330. Este módulo é parte integrante do sistema de detecção de gás SB330.

Manual do instalador Box Output DC Rev Figura 01 Apresentação do Box Output DC.

Tutorial de Eletrônica Aplicações com 555 v

ARDUINO KIT INICIANTE V3.0

Conceitos Fundamentais de Eletrônica

1Manual do Program-ME... 6

Arduino e Processing. Professor: Paulo Marcos Trentin Escola CDI Videira

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ

21/07/2010 LED ELETRÔNICA DIGITAL. LED Tipos. LED Princípio de funcionamento. Display de 7 segmentos. LED Circuito de polarização

Sistemas Embarcados. Introdução aos sistemas embarcados

Cerne Tecnologia e Treinamento (21) (11) cerne@cerne-tec.com.br MSN: cerne-tec@hotmail.com Skipe: cerne-tec

TÍTULO: JANELA AUTOMATIZADA QUE OPERA A PARTIR DE DADOS METEOROLÓGICOS OBTIDOS POR SENSORES

Pontifícia Universidade Católica do Paraná. Claudio Roberto Ferretto Junior. Éric Guimarães Zeni. Jub Gomes da Costa WINDOWS X.

Curso introdutório de microcontroladores - Plataforma Arduino

Programação em BASIC para o PIC Mostrando Mensagens no Display LCD Vitor Amadeu Souza

Arduino Hack Day PROMOVA VOCÊ TAMBÉM UM ARDUINO HACK DAY!

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

Programação em Arduino

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CÂMPUS CURITIBA CURSO DE ENGENHARIA DE COMPUTAÇÃO

Programação em BASIC para o PIC Vitor Amadeu Souza

Copyright 2013 VW Soluções

ARDUINO Vs PLC. Automação de Processos Industriais 2011/2012

Descrição dos pinos do Módulo Driver Motor com Dupla Ponte-H - L298N:

RECEPTOR GPS ME1513 TUTORIAL DA FONTE DE ALIMENTAÇÃO. 1 ME Componentes e Equipamentos Eletrônicos Ltda

1. INTRODUÇÃO COMPUTADOR

APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO

Testador de cabos de rede

Programação Básica em Arduino Aula 2

Medidor da temperatura local

Desenvolvimento de Veículos Autônomos em Escala, Sistemas de Comando, Visualização do Movimento e Aquisição de Dados.

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

Cerne Tecnologia e Treinamento

Mundo Arduino: Vamos começar a programar?

5 Sistema Experimental

Transcrição:

Arduíno Adriano Cruz 16 de setembro de 2013 Adriano Cruz () Arduíno 16 de setembro de 2013 1 / 51

Section Summary 1 Introdução 2 Eletrônica 3 Hardware Adriano Cruz () Arduíno 16 de setembro de 2013 2 / 51

Adriano Cruz () Arduíno 16 de setembro de 2013 3 / 51

Onde me achar? 1 mensagem::adriano@nce.ufrj.br 2 página::http://equipe.nce.ufrj.br/adriano 3 sala::nce - Sala E1033 4 tel::2598-3163 Adriano Cruz () Arduíno 16 de setembro de 2013 4 / 51

Atuação Graduação: cursos de programação, circuitos lógicos, robótica (eletivas). Pós-Graduação: Programa de Pós-Graduação em Informática (PPGI) www.ppgi.ufrj.br Áreas de Atuação: Lógica Nebulosa, Robótica, Jogos Inteligentes. Adriano Cruz () Arduíno 16 de setembro de 2013 5 / 51

Arduino e Robótica Arduíno? Arduino é uma plataforma open-source para criação de protótipos eletrônicos, baseada em hardware e software fácil usar. Foi criada para artistas, projetistas, hobbistas ou qualquer um interessado em criar objetos interativos e inteligentes. Adriano Cruz () Arduíno 16 de setembro de 2013 6 / 51

Arduino e Robótica Quem? Arduino é um projeto iniciado na Itália em 2005. Uma comunidade ativa se formou em torno deste projeto. Onde? Página inicial: arduino.cc Adriano Cruz () Arduíno 16 de setembro de 2013 7 / 51

Um dos Arduinos Adriano Cruz () Arduíno 16 de setembro de 2013 8 / 51

Mas, o que é? Uma ferramenta para criar objetos que sentem e controlam o ambiente. Baseado em um microcontrolador e um ambiente de desenvolvimento simples. Pode ser usado para receber dados de uma variedade enorme de sensores e controlar uma variedade enorme de objetos tais como lâmpadas, motores etc. Pode ser usado sozinho ou em conjunto com seu computador. Placas podem ser compradas ou montadas em casa... Ambiente de desenvolvimento, circuitos tudo é aberto e livre. Adriano Cruz () Arduíno 16 de setembro de 2013 9 / 51

Por que ele? 1 Barato quando comparado com outras alternativas. 2 Cross-platform: roda em Windows, Macintosh OSX, and Linux operating systems. 3 Ambiente de desenvolvimento simples, parece lingugagem C. 4 Código Aberto 5 Arduino é baseado em Atmel s ATMEGA8 and ATMEGA168 microcontroladores. Muito usados Adriano Cruz () Arduíno 16 de setembro de 2013 10 / 51

Famiglia Arduino Adriano Cruz () Arduíno 16 de setembro de 2013 11 / 51

Lillypad Adriano Cruz () Arduíno 16 de setembro de 2013 12 / 51

Section Summary 1 Introdução 2 Eletrônica 3 Hardware Adriano Cruz () Arduíno 16 de setembro de 2013 13 / 51

O que preciso saber de eletrônica? 1 Para começar quase nada. 2 Corrente de pilha não mata (quase nunca...). 3 O que é tensão (Volt) representada por V, corrente (Ampere) representada por I, e Potência (Watt) representada por W. 4 O que é uma resistência (Ohm). 5 Lei de Ohm V = RI 6 Potência P = VI ou P = RI 2 ou P = V 2 /R. Adriano Cruz () Arduíno 16 de setembro de 2013 14 / 51

Mais? Adriano Cruz () Arduíno 16 de setembro de 2013 15 / 51

Só para não dizer que nunca viu. Figura: Resistências, Capacitores e Indutor Adriano Cruz () Arduíno 16 de setembro de 2013 16 / 51

Entendeu? Então responda! 1 Se a tensão da bateria é 9V e a potência da lâmpada é 3W, qual é a corrente que passa no circuito? 2 Chave não tem resistência (praticamente). 3 Qual é a resistência da lâmpada? Adriano Cruz () Arduíno 16 de setembro de 2013 17 / 51

LED 1 Light Emitting Diode conduzem corrente (acendem) somente quando polarizados com a tensão correta. 2 Quando acendem, os leds têm uma tensão constante sobre eles. Para um led vermelho é aproximadamente de 1.7V. 3 A corrente máxima que ele aceita é 30 ma. Costuma-se usar uma corrente entre 10 e 20 ma. 4 Este led está polarizado corretamente? Adriano Cruz () Arduíno 16 de setembro de 2013 18 / 51

Section Summary 1 Introdução 2 Eletrônica 3 Hardware Adriano Cruz () Arduíno 16 de setembro de 2013 19 / 51

O que tem? Adriano Cruz () Arduíno 16 de setembro de 2013 20 / 51

O Microcontrolador 1 ATmega2560/V 2 Microcontrolador Atmel de 8 bits. 3 RISC. O Pentium é CISC. 4 Até 16 Mips com 16 MHz 5 4 Kbytes EEPROM 6 8 Kbytes SRAM 7 64k/128k/256k bytes de Flash 8 Timers/Counters 9 PWMs 10 Conversores Analógicos Digitais 11 etc Adriano Cruz () Arduíno 16 de setembro de 2013 21 / 51

Shields 1 Shields são placas que podem ser acopladas no topo do arduino e extendem sua capacidade. 2 A da Figura fornece capacidade de se conectar na Internet. Adriano Cruz () Arduíno 16 de setembro de 2013 22 / 51

Shields Adriano Cruz () Arduíno 16 de setembro de 2013 23 / 51

Os pinos digitais 1 No Arduino exemplo temos 13 entradas/saídas digitais. 2 Os pinos podem ser configurados por programa como entradas ou saídas. Adriano Cruz () Arduíno 16 de setembro de 2013 24 / 51

Usando como saída Ligando Posso usar a saída digital para acender um led. Adriano Cruz () Arduíno 16 de setembro de 2013 25 / 51

Usando como entrada Posso usar a entrada digital para verificar se uma chave está fechada ou aberta. Adriano Cruz () Arduíno 16 de setembro de 2013 26 / 51

Os pinos analógicos 1 No Arduino exemplo temos 6 entradas analógicas. 2 Converte uma voltagem DC de 0 até 5V em um valor digital de 0 até 1023. 3 Conversão feita com um circuito chamado conversor analógico-digital. Adriano Cruz () Arduíno 16 de setembro de 2013 27 / 51

Usando Ligando Posso usar a entrada analógica para controlar um led piscando. Adriano Cruz () Arduíno 16 de setembro de 2013 28 / 51

O Nosso Protótipo Adriano Cruz () Arduíno 16 de setembro de 2013 29 / 51

O Deles Adriano Cruz () Arduíno 16 de setembro de 2013 30 / 51

Ambiente Desenvolvimento Adriano Cruz () Arduíno 16 de setembro de 2013 31 / 51

Etapas 1 Conseguir um Arduino e um cabo USB. 2 Baixar o ambiente de desenvolvimento do Arduino. 3 Conectar a placa do Arduino e o computador com o cabo USB. 4 Instale drivers. 5 Inicie o ambiente. 6 Escreva a sua aplicação. 7 Compile. 8 Selecione o modelo de Arduino. 9 Selecione a porta serial. 10 Suba seu programa para o Arduino. Adriano Cruz () Arduíno 16 de setembro de 2013 32 / 51

O Início Adriano Cruz () Arduíno 16 de setembro de 2013 33 / 51

Selecionando o Arduino Adriano Cruz () Arduíno 16 de setembro de 2013 34 / 51

Piscando um LED /* Blink: Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinmode(13, OUTPUT); } void loop() { digitalwrite(13, HIGH); // set the LED on delay(3000); // wait for a second digitalwrite(13, LOW); // set the LED off delay(1000); // wait for a second } Adriano Cruz () Arduíno 16 de setembro de 2013 35 / 51

Servos Adriano Cruz () Arduíno 16 de setembro de 2013 36 / 51

Servos 1 Servos Rotação Limitada. 2 Servos Rotação Contínua. Adriano Cruz () Arduíno 16 de setembro de 2013 37 / 51

Conectando Servos Adriano Cruz () Arduíno 16 de setembro de 2013 38 / 51

Esquemas Arduino Servo D2 +5V GND Vin GND 9V 1 Normalmente vermelho usado para VCC. 2 Normalmente preto usado para Ground. 3 A outra cor controla o motor. 4 Arduino usa pinos D0 e D1 para comunicar-se usando USB ou serial, somente use-os se for necessário. Adriano Cruz () Arduíno 16 de setembro de 2013 39 / 51

Bibliotecas 1 Bibliotecas são coleções de classes que extendem as capacidades básicas do Arduíno. 2 Veja em http://arduino.cc/en/reference/libraries. 3 Deve-se declarar estas bibliotecas antes de usar. 4 Para incluir a biblioteca que controla os servos usamos: #include <Servo.h> 5 Agora podemos referenciar métodos e objetos desta biblioteca. 6 A biblioteca Servo vem com a instalação padrão e pode controlar até 12 motores na maioria dos Arduinos e até 48 com o Mega. Adriano Cruz () Arduíno 16 de setembro de 2013 40 / 51

Bibliotecas 1 Para cada servo devemos criar uma instância do objeto Servo. Exemplo: Servo myservo;. 2 No função setup() dev-se associar esta instância a um pino específico. Exemplo: myservo.attach(2);. 3 Para controlar o motor há uma série de funções, incluindo read(), write(), detach(). 4 Ver em http://arduino.cc/en/reference/servo. 5 Usaremos write que requer um parâmetro: o grau de rotação. Adriano Cruz () Arduíno 16 de setembro de 2013 41 / 51

Centrando um Servo // servocenter.pde - Center servo // (c) Kimmo Karvinen & Tero Karvinen http://botbook.com // updated? Joe Saavedra, 2010 #include <Servo.h> Servo myservo; void setup() { myservo.attach(2); myservo.write(90); } void loop() { delay(100); } Adriano Cruz () Arduíno 16 de setembro de 2013 42 / 51

Controlando um Servo // Move servo to center, // maximum angle // and to minumum angle #include <Servo.h> Servo myservo; int delaytime = 1000; void setup() { myservo.attach(2); } void loop() { myservo.write(90); delay(delaytime); myservo.write(180); delay(delaytime); myservo.write(90); delay(delaytime); myservo.write(0); delay(delaytime); } Adriano Cruz () Arduíno 16 de setembro de 2013 43 / 51

Sensores Ultrasônicos 1 Um sensor ultrassônico funciona usando os mesmos princípios que um radar. 2 Ele transmite um sinal de alta frequência e, baseado no eco, determina a distância de um objeto. 3 A frequência fica fora do alcance do ouvido humano. 4 Sensores ultrassônicos podem medir distâncias entre 2cm e 3m. 5 Luzes não afetam estes sensores. Eles podem funcionar em completa escuridão. 6 Existe a possibilidade do sensor não detectar superfícies refletoras ou objetos localizados em ângulos agudos. 7 Isto porque o som pode não voltar ao sensor. 8 Objetos pequenos podem não refletir energia suficiente e não serem detectados. Adriano Cruz () Arduíno 16 de setembro de 2013 44 / 51

Um Sensor Distância Adriano Cruz () Arduíno 16 de setembro de 2013 45 / 51

Um Esquema com Sensor Distância Arduino Ping Servo D2 +5V +5V GND D4 SIG GND Servo D3 VIN GND GND 9V Adriano Cruz () Arduíno 16 de setembro de 2013 46 / 51

Controlando o Sensor const int pingpin = 2; long duration, distanceinches, distancecm ; void setup () { Serial.begin (9600) ; } void loop () { pinmode (pingpin, OUTPUT ) ; digitalwrite ( pingpin, LOW ) ; delaymicroseconds ( 2) ; digitalwrite ( pingpin, HIGH ) ; delaymicroseconds ( 5) ; digitalwrite (pingpin, LOW ) ; pinmode (pingpin, INPUT ) ; duration = pulsein (pingpin, HIGH ) ; distanceinches = microsecondstoinches ( duration ) ; distancecm = microsecondstocentimeters ( duration ) ; Serial.print (distanceinches ) ; Serial.print ("in, ") ; Serial.print (distancecm ) ; Serial.print ("cm") ; Serial.println () ; delay (100) ; } Adriano Cruz () Arduíno 16 de setembro de 2013 47 / 51

Controlando o Sensor long microsecondstoinches(long microseconds) { return microseconds / 74 / 2; } long microsecondstocentimeters(long microseconds) { return microseconds / 29 / 2; } Adriano Cruz () Arduíno 16 de setembro de 2013 48 / 51

Sensores Ultrasônicos 1 A função microsecondstoinches() faz o cálculo usando o sistema usado em países de língua inglesa. 2 De acordo com o manual do Parallax há 73.746 microsegundos por polegada. 3 Isto é derivado da velocidade do som (1,130 pés por segundo). 4 Este cálculo fornece o tempo para o som ir e voltar. 5 Por isso há uma divisão por 2 para obter a distância até o obstáculo. 6 A função microsecondstocentimeters() faz o cálculo usando o SI. 7 A velocidade do som é 340 m/s ou 29 microsegundos por centimetro. Adriano Cruz () Arduíno 16 de setembro de 2013 49 / 51

Sensores Ultrasônicos 1 O exemplo inclui o número 29 na função microsecondstocentimeters(). 2 A velocidade do som (m/s) a uma determinada temperatura ( o C) do ar é calculada pela fórmula 331.5 + 0.6 t. 3 A uma temperatura de 20 o C, temos: 331.5+0.6 20 = 331.5+12 = 343.5m/s. 4 Vamos converter para microsegundos por centímetros. 5 Começar convertendo para centímetros por segundo: 343.5 100 = 34350cm/s. 6 Em microsegundos (µs), temos: 34350/1000000 = 0.03435 cm/µs 7 Velocidade pode ser expressada no tempo que leva para percorrer uma determinada distância. 8 Vamos converter para µs/cm ou seja 1/0.03435 = 29.112. 9 Se o projeto for usado em um local onde a temperatura for diferente de 20 o C os cálculos devem ser refeitos. Adriano Cruz () Arduíno 16 de setembro de 2013 50 / 51

The End Adriano Cruz () Arduíno 16 de setembro de 2013 51 / 51