Missão: Arduino. 3 de Março. Organização

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

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

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

Disciplina: Laboratório de Fis26

Comunicação Serial 1

Mundo Arduino: Vamos começar a programar?

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

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

MINICURSO ARDUINO BÁSICO

Conhecendo o ARDUINO LEGENDA

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

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

Arduino como ferramenta de aquisição de Dados

Oficina de Introdução ao Arduino

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

OFICINA Uso da plataforma Arduino no Ensino de Ciências

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

Tutorial Proteus 02. Como simular o Arduino no Proteus ISIS utilizando a biblioteca "Emulater" por João Vitor

Programação em Linguagem C

KIT INICIANTE V7 PARA ARDUINO

Introdução à Plataforma ARDUINO

ROBÓTICA 1 INTRODUÇÃO A PROGRAMAÇÃO NO ARDUINO

Arduino. Prof. Maurício Dias

Projeto No. 15 Sensor Óptico Reflexivo

CANAL ANALÓGICO

Robótica com Arduino Professor: Paulo Marcos Trentin

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

Kit controle remoto IR acionando 3 Led com Arduino

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO PROJETO SCATMAN S DIMMER

Oficina de Programação utilizando a plataforma Arduino

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

Minicurso de Arduino

Projeto No. 2 Potenciômetro

Entrada de dados com botões

Arduino - Primeiros Passos

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

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

Arduino. Gilmar Aquino

Curso de Arduino. Quais seus principais componentes?

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

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

Programação em Linguagem C

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

FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado. Arduino

- Tarefas Práticas de Programação usando Arduino - Imagem do Robô com Legendas

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

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

A protoboard ou Matriz de contatos é utilizada para fazer montagens provisórias e/ou teste de projetos. É constituída por uma base plástica, contendo

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

Arduino: primeiros passos para aprender e configurar.

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

Comunicação entre PC e Arduino

Introdução. O que é o Arduino?

Caderno de Atividades 1

Oficina de Programação utilizando a plataforma Arduino

Introdução ao Arduino

Oficina de Programação utilizando a plataforma Arduino

- Clique aqui e veja o video deste curso - Clique aqui para ver as imagens deste curso

Curso introdutório de microcontroladores - Plataforma Arduino

Oficina de Programação utilizando a plataforma Arduino

Linguagem de Programação. Linguagem C com Arduino

Curso: Tecnologias educacionais de baixo custo. Conector Ciência:

Lab2. Germano Maioli Penello IF-UFRJ aula 16.

MOBILIDADE SUSTENTÁVEL. Luís Martins Duarte Abreu

Lab2. Germano Maioli Penello IF-UFRJ aula 17.

Por Sergio Genilson Pfleger PLATAFORMA ROBÓTICA GENÉRICA BASEADA EM ARDUINO.

Oficina de Programação utilizando a plataforma Arduino

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

Sistemas de Controle 2

Curso: Tecnologias educacionais de baixo custo. Conector Ciência:

Acendendo o Led com Arduino.

ALGORITMOS, ARQUITETURA E ARDUINO

Centro de Informática Grupo de Engenharia da Computação Introdução a Programação Programando com Intel Galileo Experimento 1

Plataforma Arduino, um universo de possibilidades

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

arduino = new roboticalivre(); Arduino Marcus Fazzi

Robótica com Arduino

MINICURSO ARDUINO AVANÇADO

CURSO DE INTRODUÇÃO AO ARDUINO

O aspecto do módulo de desenvolvimento Arduino Uno é mostrado na Figura 1 abaixo.

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

Internet das Coisas Ferramentas Para Prototipação. João Bosco Teixeira Junior >

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

Ligando uma lâmpada com Arduino. Professor: Paulo Marcos Trentin

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

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

Por Fernando Koyanagi

Sensor óptico em quadratura: leitura via Arduino

SEMÁFORO, SUPER MÁQUINA

Ficha 3. Exercícios de preparação da actividade 3

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

2. Conecte seu Arduino ao computador. 3. Abra as ferramentas da IDE e selecione a porta e a placa que você está utilizando.

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

MANUALDEGUSTAÇÃO ARDUINO KIT INICIANTE V4.0

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

ARDUINO. Níveis lógicos de referência VCC e GND Entradas e saídas digitais e analógicas.

AULA LAB 02 LABORATÓRIO DE CONVERSORES CC-CC 2 GERAÇÃO DOS SINAIS DE COMANDO (PWM) NO ARDUINO

Transcrição:

Missão: Arduino 3 de Março Organização

Introdução Boa tarde agente, A sua missão para hoje será programar uma plataforma electrónica dada pelo nome de Arduino. Antes de mais vejamos o material necessário para esta missão: Computador Arduino e Cabo USB BreadBoard

Introdução Esta será a lista de material que lhe será proporcionada de forma a conseguir ultrapassar potenciais obstáculos durante a sua missão. Piezo Speaker Zener!"#$%&! LED 2 Resistências Valor Código de Cores 1 MΩ Castanho-Preto-Verde 220 Ω Vermelho-Preto-Castanho

Introdução Vamos agora proceder à configuração do seu computador de forma a poder programar o Arduino. Visto que existem diferentes configurações consoante o sistema operativo a usar, siga uma das ligações a baixo, correspondente ao seu sistema operativo:! Linux : http://www.arduino.cc/playground/learning/linux (ou http://9qrf.sl.pt )! Mac OS X : http://arduino.cc/en/guide/macosx (ou http://9qrq.sl.pt )! Windows: http://arduino.cc/en/guide/windows (ou http://9qs2.sl.pt )

1º Passo Vamos agora começar oficialmente a nossa missão, para isso iremos primeiro conhecer os detalhes do Arduino. Esta versão do Arduino possui 14 entradas/saídas digitais (dois estados HIGH 5V, LOW 0V) que estão dispostos na parte superior. Dos 14 pinos digitiais, 6 deles são capazes de colocar na saída sinais PWM (Pulse Width Modulation) e 2 deles capazes de comunicação Serial (pinos marcados com TX e RX). Pinos Digitais

1º Passo Na parte inferior estão localizados as 6 entradas analógicas assim como alguns pinos com diferentes tensões e também ligações à massa. As entradas analógicas convertem tensões de entrada analógicas com valores entre 0V e 5V para uma grandeza inteira entre 0 e 1023, ou seja uma unidade vale aproximadamente 5 mv. Outro alcance que não a tensão de 5V pode ser dado pelo utilizador colocando para isso uma tensão de referência no pino VIN, podendo aumentar assim a resolução. Alimentações Pinos Analógicos

1º Passo Agora que conhecemos o hardware do Arduino vamos conhecer também o seu ambiente de desenvolvimento. Abrindo o ambiente de desenvolvimento do Arduino ser-lhe-á apresentada uma janela idêntica à da figura. Aqui poderá programar o Arduino, assim como enviar e receber # informações do mesmo. A sintaxe de programação do Arduino é idêntica à da linguagem C, contudo, ao invés de uma função main(), o Arduino necessita de duas funções setup() e loop(). A função setup() é corrida apenas uma vez no inicio da execução do programa, após essa altura a função loop() será executada repetidamente até que o utilizador pare o funcionamento do Arduino.

2º Passo Vamos agora começar a brincar trabalhar seriamente com o Arduino. Ligue o circuito como ilustrado na figura com a resistência de 220Ω no pino 11 do Arduino:

2º Passo Copie agora este código para o ambiente de desenvolvimento do Arduino: #define ledpin 11 void setup() pinmode(ledpin, OUTPUT); void loop() digitalwrite(ledpin, HIGH); delay(250); digitalwrite(ledpin, LOW); delay(250); A função setup() será apenas executada uma vez, no inicio pinmode() define LED como output A função loop() será executada repetidamente digitalwrite() permitenos definir um pino como HIGH ou LOW Os códigos de Arduino são por vezes referidos como sketch. Carregue no botão para fazer upload do sketch para o Arduino e desfrute do espectáculo!

3º Passo Ok, nós sabemos que neste momento acha que um LED a piscar é a melhor invenção do mundo logo a seguir ao pão fatiado (e nós também pensamos o mesmo!), contudo já pensou no que seria se o LED pudesse ligar e desligar de forma progressiva, aumentando e diminuindo o seu brilho? Apresento-lhe o PWM! Como dito anteriormente, PWM são as siglas de Pulse Width Modulation e trata-se de uma onda rectângular onde nos é possível definir o tempo em que esta se encontra a HIGH, e pode ser acedida sob a função analogwrite(). Apenas os pinos marcados com PWM têm esta capacidade. Um dos muitos usos poderá ser controlar o brilho de um LED, ou a velocidade de um motor (*hint, hint*).

3º Passo Utilizando o circuito que montou no 2º Passo, faça o upload do seguinte sketch: #define ledpin 11 void setup() pinmode(ledpin, OUTPUT); void loop() int brilho; // Aumenta progressivamente o brilho do LED for (brilho = 0; brilho < 255; brilho++) analogwrite(ledpin, brilho); delay(2); // Diminui progressivamente o brilho do LED for (brilho = 255; brilho >= 0; brilho--) analogwrite(ledpin, brilho); delay(3); delay(250); Nota: Podemos continuar a usar o pino 11 para ligar o LED, porque o pino 11 suporta PWM.

4º Passo Isto está a tornar-se estranho se há 5 minutos as pessoas não reparavam, agora estão a olhar-lhe de lado. Essa fixação por LEDs não é normal! Vamos mudar de assunto e voltamos aos LEDs mais tarde Vamos agora conhecer o conceito de comunicação Serial. Para que é que isso serve? Bem, um LED a piscar é algo genial, mas também pode ser um pouco críptico quando se quer perceber como está a correr o nosso programa. A comunicação Serial permite-nos enviar mensagens do Arduino para o Computador e vice-versa. Vamos aproveitar para testar o Piezo Speaker como sensor e enviar os dados lidos para o nosso Computador.

4º Passo Ligue o circuito como ilustrado na figura, usando a resistência de 1MΩ e o díodo zener (atenção, ao contrário das resistências os díodos têm polaridade!):

4º Passo Faça o upload deste sketch e abra o monitor Serial (ao lado do botão upload). Verifique que quando bate com o dedo no Piezo, o valor registado no monitor Serial passa de 0 para um valor, entre 0 e 1023, correspondente à tensão gerada pelo Piezo. #define piezopin 0 void setup() Serial.begin(9600); void loop() Serial.print("Valor: "); Serial.println(analogRead(piezoPin)); delay(50); Serial.println() envia o texto e quebra a linha. Serial.print() só envia o texto

5º Passo Agora que aprendemos todas estas técnicas,propolho-lhe um projecto. Como desafio proponho-lhe que crie um programa que detecte o número de toques que um utilizador dá no sensor e reaja de acordo com as seguinte regras: Se o número de toques for 1, aumenta o brilho do LED Se o número de toques for 2, diminui o brilho do LED Se o número de toques for superior ou igual a 3, pisca o LED. A nossa sugestão de código encontra-se nas páginas seguintes, mas qual é a piada de ver a solução? " Sugestão: Não se esqueça das funções dadas até agora: analogread() analogwrite() digitalwrite() pinmode() Serial.begin() Serial.print() Serial.println()

5º Passo De seguida apresentamos a nossa solução para este problema: #define piezopin 0 #define ledpin 11 #define fronteira 50 #define acaboutempo 500 // Define variavel global com o valor do brilho do LED int brilho = 128; void ajustabrilho(int ajuste) brilho += ajuste; // Caso o valor ultrapasse a regiao [0; 255]pisca o LED a indicar o erro if (brilho < 0 or brilho > 255) brilho = (brilho > 0)? 255 : 0; piscaled(2); Serial.print("B: "); Serial.println(brilho); analogwrite(ledpin, brilho);

5º Passo int numerotoques() int toques = 0; int tempoinicio; // Fica a' espera de receber toque aqui while(analogread(piezopin) < fronteira); // Conta numero de toques durante acaboutempo ms tempoinicio = millis(); while(millis() - tempoinicio < acaboutempo) if (analogread(piezopin) > fronteira) toques++; Serial.print("*"); // Espera que toque acabe... while(analogread(piezopin) > fronteira); return toques;

5º Passo void piscaled(int numerovezes) int i; for (i=0; i < numerovezes; i++) digitalwrite(ledpin, LOW); delay(250); digitalwrite(ledpin, HIGH); delay(250); // Volta a colocar o LED com o brilho que tinha analogwrite(ledpin, brilho); void setup() pinmode(ledpin, OUTPUT); analogwrite(ledpin, brilho); Serial.begin(9600);

5º Passo void loop() // Detecta o numero de toques e trata dado switch(numerotoques()) case 0: break; case 1: ajustabrilho(63); break; case 2: ajustabrilho(-63); break; default: piscaled(5);

Conclusão Chegou ao fim desta difícil missão, parabéns. O que tentámos mostrar nesta pequena missão foi apenas um exemplo entre centenas de outros, agora incentivamos-lhe a criar e explorar esta brilhante plataforma que pela sua simplicidade permitiu a um largo grupo de pessoas mostrar coisas fantásticas! Quer ver o que pode fazer com o material que tem agora? Visite http://www.instructables.com/id/secret-knock-detecting-door-lock/ e veja como pode abrir uma porta com um toque secreto. Muitos outros projectos que usam o Arduino podem ser encontrados nesse site. Para referência das funções existentes no Arduino: http://arduino.cc/en/reference/homepage (Sugestão: Veja a função tone() ") Esperamos que tenha gostado! NEEC ( http://www.neecist.org )