PET Arduino

7
Microcontroladores com Arduino Aula 1 Semana Acadêmica 2013/1

description

Arduino

Transcript of PET Arduino

Page 1: PET Arduino

Microcontroladorescom Arduino

Aula 1Semana Acadêmica 2013/1

Page 2: PET Arduino

Instalando o ambiente de desenvolvimento do ArduinoPara Windows, há um instalador automático, disponível no seguinte link: http://arduino.cc/en/Main/Software. Na seção Download, selecionem Windows Installer. Basta instalar o programa com as opções padrão selecionadas que os drivers necessários serão automaticamente instalados. Quem usa MAC OSX ou Linux deve fazê­lo manualmente; sigam as instruções disponíveis nos links abaixo:Instruções para MAC OSX: http://arduino.cc/en/Guide/MacOSXInstruções para Linux: http://playground.arduino.cc/Learning/Linux

MicrocontroladoresUm microcontrolador é um pequeno computador em um único circuito integrado, que contém processador, memória e periféricos de entrada e saída. Eles são feitos para aplicações de propósito específico, como aplicações embarcadas, em contraste com os microprocessadores usados em computadores pessoais, que são para aplicações de propósito geral.Microcontroladores são usados para controlar automaticamente produtos e aparelhos, tais como sistema de controle de motores de automóveis, implantes médicos, controles remotos e outros sistemas embarcados.

Sistema embarcado: é um sistema computacional com uma função dedicada em um sistema elétrico ou mecânico maior. Diz­se que ele está embarcado em um aparelho completo. A sua principal característica é estar dedicado a realizar uma tarefa específica.

Por ter tamanho e preço reduzido em comparação com usar um microprocessador, memória e periféricos de entrada e saída separados, microcontroladores tornam economicamente viável o controle digital de cada vez mais aparelhos e processos. Eles normalmente tem capacidade de processamento e memória reduzidos em relação a um computador comum devido a priorizarem outros aspectos, tais como consumo de energia, tamanho e preço.

Referências:http://en.wikipedia.org/wiki/Microcontrollershttp://en.wikipedia.org/wiki/Embedded_system

ArduinoArduino é uma plataforma de computação física composta por microcontroladores de placa única e por um ambiente de desenvolvimento para escrever programas para as placas. Ele pode ser usado para desenvolver objetos interativos, tomando entrada de uma variedade de sensores e chaves e controlando uma variedade de luzes, motores e outras saídas físicas. Tanto o hardware como o software são open source, isto é, o código fonte do ambiente de desenvolvimento e os esquemáticos das placas são disponibilizados livremente.

Page 3: PET Arduino

Computação Física: é a área da computação que trata da construção de sistemas interativos que, através do uso de software e hardware, percebem o mundo analógico e respondem a ele.

Microcontrolador de placa única: é um microcontrolador posto em uma única placa de circuito impresso, que contém todos os componentes e circuitos necessários para o funcionamento do primeiro.

Para saber mais:http://arduino.cc/en/Guide/Introductionhttp://en.wikipedia.org/wiki/Arduinohttp://en.wikipedia.org/wiki/Single­board_microcontrollerCódigo fonte do ambiente de desenvolvimento Arduino: http://github.com/arduino/ArduinoEsquemático do Arduino Uno: Arduino_Uno_Rev3­schematic.pdf

Testando se o o ambiente de desenvolvimento e os drivers foram configurados corretamente:

1. Abra o ambiente de desenvolvimento Arduino.2. Abra o exemplo Pisca LED em Files > Examples > 01. Basics > Blink.3. Selecione a nossa placa: escolha Arduino Uno em Tools > Board.4. Selecione a porta serial em que o Arduino está conectado em Tools > Serial Port. Se

houver mais de uma e você não souber qual delas é a certa, basta desconectar o Arduino do computador, ver qual delas sumiu do menu, reconectá­lo e escolher a que voltou a aparecer.

5. Clique no botão Upload para enviar o exemplo à placa. Se o envio foi bem­sucedido, a mensagem “Done Uploading” aparecerá na barra de status e o LED que está abaixo do pino 13 no Arduino estará piscando. Caso contrário, veja a página de solução de problemas do Arduino: http://arduino.cc/en/Guide/Troubleshooting.

Referência: http://arduino.cc/en/Guide/Windows (passos 5 a 9; passos 1 a 4 são feitos ao instalar o ambiente de desenvolvimento).

Pisca LEDO código que enviamos ao Arduino faz um dos LEDs (Light Emitting Diode, diodo emissor de luz) da placa ligar e desligar a cada um segundo. Este programa é considerado o “Hello, World” dos microcontroladores. Vejamos como ele funciona:

Page 4: PET Arduino

Estrutura básica de um código para ArduinoDuas funções deverão estar presentes em qualquer código: setup() e loop().

setup(): a função setup() é chamada quando o código começa. Use­a para inicializar variáveis, definir modos dos pinos, usar bibliotecas, etc. A função rodará apenas uma vez, depois que ligarmos ou resetarmos a placa Arduino.loop(): depois da setup(), temos a função loop(), que faz exatamente o que o nome sugere, isto é, executa em loop o código nela presente, permitindo assim que o seu programa verifique mudanças e responda a elas.

Outras funções usadas neste código:pinMode(): configura um pino como sendo de entrada ou saída. Para usá­la, passe o número do pino a configurar e a constante INPUT ou OUTPUT. Quando configurado como entrada, um pino pode detectar o estado de um sensor como, por exemplo, um botão. Quando configurado como saída, ele pode controlar um elemento como um LED ou um motor. É uma boa prática de programação criar variáveis que contêm o número dos pinos que usaremos; assim, se precisarmos mudar o pino que fará algo, apenas precisaremos mudar o seu número na declaração da variável.digitalWrite(): a função define o valor de saída de um pino digital. Passamos para ela o número do pino e o valor de saída, que deve ser HIGH (5 Volts, ligado, Vdd) ou LOW (0 volts, desligado, conectado à terra, ground).delay(): faz o Arduino esperar uma quantidade especificada de milissegundos antes de continuar com o código.

Pisca LED: definimos que o nosso LED estará no pino 13 pois o Arduino Uno já tem um LED ligado a esse pino na própria placa. Ao fazermos pinMode(led, OUTPUT), configuramos o pino 13 (led = 13) como de saída, pois ele ligará e desligará o LED. Precisamos fazer isso uma e

Page 5: PET Arduino

apenas uma vez, por isso está chamada de função está dentro da setup(). O código efetivo de piscar o LED, que ficará sendo repetido, está na loop(). digitalWrite(led, HIGH) liga o pino a que está conectado o LED; delay(1000) espera 1000 ms, isto é, 1 segundo, até seguir com o código; e digitalWrite(led, LOW) desliga o mesmo pino. Este código é executado repetidamente enquanto o Arduino estiver ligado e, assim, o LED conectado ao pino 13 ficará piscando com intervalos de 1 segundo.

Pisca LED com um LED externo: agora, faremos um LED que não está na placa Arduino piscar, utlizando o mesmo código de antes. Para isso, devemos conectá­lo ao pino 13. Vejamos como devemos conectá­lo. Sabemos que a corrente elétrica vai do potencial positivo para o negativo e que são os elementos da corrente que carregam a energia que acenderá o LED. Assim, podemos conectar uma das pernas do LED ao pino 13 e a outra ao ground, isto é, 0V. Dessa forma, quando ligarmos a saída do pino 13, lá haverá 5V, e a corrente irá passar pelo LED, acendendo­o, e quando a desligarmos, lá haverá 0V, não havendo assim diferença de potencial entre as duas pernas do LED, logo por ele não passará corrente e ele estará desligado. No entanto, devemos atentar a que, como todos os diodos, ele é polarizado; logo, a corrente somente passará por ele em um sentido determinado, no caso, do ânodo (perna maior) para o cátodo (perna menor). Além disso, correntes elevadas são prejudiciais tanto ao LED como ao Arduino, logo devemos colocar uma resistência juntamente à ligação para reduzir a corrente que passará.

Referências:http://arduino.cc/en/Tutorial/BareMinimumhttp://arduino.cc/en/Reference/Setuphttp://arduino.cc/en/Reference/Loop

Page 6: PET Arduino

http://arduino.cc/en/Tutorial/Sketchhttp://arduino.cc/en/Reference/PinModehttp://arduino.cc/en/Reference/DigitalWritehttp://arduino.cc/en/Reference/Delayhttp://arduino.cc/en/Tutorial/Blink

BotõesBotões conectam dois pontos de um circuito quando são pressionados. A corrente atravessa o botão no sentido indicado na figura. Conectando um fio em qualquer um dos terminais V1 a corrente atravessará para qualquer um dos terminais V2. Os terminais de mesmo nome possuem a mesma tensão. A corrente só passará enquanto o botão estiver pressionado; quando ele estiver solto, o circuito estará aberto.

A fim de evitar que a saída do botão fique flutuando, isto é, não tenha um valor definido, devemos “fazer um” PULL DOWN, ou seja, garantir que sempre que o botão não estiver pressionado, a saída dele será de valor lógico 0. Isso é feito colocando em paralelo com a saída um resistor que está ligado no GND.

Agora, faremos um código que mantém um LED aceso enquanto o botão estiver pressionado. O Arduino deverá receber o sinal de estado do botão e então mandar o LED acender. Para ler o valor de saída do botão, devemos usar a função digitalRead:

digitalRead(): recebe o número de um pino e retorna o seu valor, isto é, ligado (HIGH)

Page 7: PET Arduino

ou desligado (LOW).Lembre­se de declarar o botão como INPUT no setup.

Referência:http://arduino.cc/en/tutorial/buttonhttp://arduino.cc/en/Reference/DigitalRead

Projeto: SinaleiraDesenvolva uma sinaleira com botão com o que foi aprendido até o momento.A sinaleira deve possuir 3 estados: aberta (LED verde), atenção (LED amarelo) e fechada (LED vermelho).A sinaleira sempre está aberta até que alguém aperte o botão. Então, após 2s do pressionamento do botão, ela deverá ficar em estado de Atenção por 2s, e só então ficar Fechada. Após 5 segundos, o sinal deve estar aberto novamente.