64
Curso de Curso de ARDUINO ARDUINO Automação e Robótica Automação e Robótica Aula 01 Aula 01 Aula 01 Aula 01 Prof. Ms. Cássio Agnaldo Onodera Realização:

Curso Arduino Aula01

Embed Size (px)

DESCRIPTION

Power point sobre algumas aplicações em arduino.

Citation preview

Curso deCurso de

ARDUINOARDUINOAutomação e RobóticaAutomação e Robótica

Aula 01Aula 01Aula 01Aula 01

Prof. Ms. Cássio Agnaldo Onodera

Realização:

O que é ARDUINOO que é ARDUINO

• Projeto criado na Itália por MássimoBanzi

• Seu objetivo é complementar o ensino de programação, computação física e gráficaprogramação, computação física e gráfica

• Possui um Hardware e um Software Open-Source

IntroduçãoIntrodução

• Plataforma baseada no Atmel da AVR (AtMega168, 328, 1280, 2560)

• Oferece um IDE e bibliotecas de alto nível• Hardware e Software Open-Source• Ampla comunidade• Ampla comunidade• Programado em C/C++• Transferência de firmware

via USB• MCU com Bootloader

SimplificidadeSimplificidade

CaracterísticasCaracterísticas

• Utiliza microcontrolador AtMEGA 128, 328, 1280

• RISC• 20 MIPS (milhões de instruções por • 20 MIPS (milhões de instruções por

segundo)• Memória flash: 16kb, 32kb, 128kb• 14 portas digitais• 6 portas analógicas

Diversas AplicaçõesDiversas Aplicações

• Robôs• Roupas eletrônicas• Máquinas CNC de baixo custo• Alarme de segurança• Alarme de segurança• Instrumentos musicais• Casas inteligentes• Controle de lâmpadas e outros dispositivos

elétricos pelo computador• etc

Vários tipos e fabricantesVários tipos e fabricantes

• Arduino 2009• Arduino Mega• Arduino Uno• Arduino Uno• Arduino BT• LilyPad• Program-ME• Severino

AtMega328 AtMega328 –– O coraçãoO coração

• Características:– Plataforma RISC– 20 MIPS (Milhões de instruções por segundo)– 32kb flash (2kb p/ bootloader)– 32kb flash (2kb p/ bootloader)– 1kb EEPROM– Clock 16mhz– 14 portas digitais (6 PWM)– 6 portas analógicas– Voltagem de entrada: 7 – 12v

ConexõesConexões

EstruturaEstrutura

EstruturaEstrutura

EstruturaEstrutura

EstruturaEstrutura

Shields (Módulos)Shields (Módulos)

• Arquitetura modular inteligente

Shields (Módulos)Shields (Módulos)

• Xbee (wireless)• Motor control• Bluetooth• Acelerometro

• Protoboard• Game/Joystick• GPS• Bússola• Acelerometro

• Internet• Expansor de saídas• Navigation (p/ robos)• Detector de gás

• Bússola• Auto pilot• Memória SD• LCD Color• Wave – (música)• etc

Porta Porta AnalógicaxDigitalAnalógicaxDigital

• Digital– Trabalha com 0 e 1 na lógica binária– Segue padrão TTL onde:

• De 0 à 0,8 volts = 0• De 2 à 5 volts = 1

• Analógica– Valor lido é análogo à tensão– 0 volts = 0– 2,5 volts = 512– 5 volts = 1023– Conversor A/D de 10 bits: 0 à 1023

Porta Analógica x DigitalPorta Analógica x Digital

• Portas analógicas expressam valores de 0 à 1023 mas não são utilizadas para transferência de informações precisas

• As portas digitais permitem que dados • As portas digitais permitem que dados seja transferidos em sequência através de uma lógica ou protocolo binário

• Portas digitais não conseguem comandar potência

Porta PWMPorta PWM

• Uma porta híbrida: digital porém com modularização de zeros e uns de forma que forma que consegue expressar uma idéia de potência

Na práticaNa prática

• Ligamos componentes em portas digitais comuns, pwm ou analógica

• Fazemos leitura e escrita nestas portas afim de obter um dado ou um determinado de obter um dado ou um determinado comportamento

• Processamos os dados no microcontrolador

• Alguns exemplos de componentes...

LEDLED

Sensor de temperaturaSensor de temperatura

Sensor de luminosidade Sensor de luminosidade -- LDRLDR

Sensor de distânciaSensor de distância

BússolaBússola

ShieldShield LCD LCD TouchTouch ScreenScreen

WaveWave ShieldShield (Música)(Música)

XbeeXbee ShieldShield (Com. sem fio)(Com. sem fio)

Ethernet Ethernet ShieldShield (rede)(rede)

Gás Metano Gás Metano ShieldShield

Game Game ShieldShield

GPS GPS ShieldShield

AcelerômetroAcelerômetro

TecladoTeclado

Onde comprarOnde comprar

• www.parallax.com• www.sparkfun.com• www.makershed.com• www.liquidware.com• www.liquidware.com• www.ladyada.net• www.adafruit.com• www.robocore.net (Brasil)• http://www.multilogica-shop.com (Brasil)

PROTOBOARDPROTOBOARD

ProtoboardProtoboard

• Uma matriz de contato, ou placa de ensaio (ou protoboard, ou breadboard em inglês) é uma placa com furos e conexões condutoras para montagem de circuitos elétricos experimentais. A grande circuitos elétricos experimentais. A grande vantagem do protoboard na montagem de circuitos eletrônicos é a facilidade de inserção de componentes, uma vez que não necessita soldagem. As placas variam de 800 furos até 6000 furos, tendo conexões verticais e horizontais.

ProtoboardProtoboard

ProtoboardProtoboard

• Exemplos

ProtoboardProtoboard

• Esquema

ProtoboardProtoboard

• Esquema

PROGRAMAÇÃOPROGRAMAÇÃO

ProgramaçãoProgramação

• IDE pode ser baixada de www.arduino.cc• A IDE foi desenvolvida com Java (necessita

JVM )• Funciona em Windows. Mac OS X e Linux • Funciona em Windows. Mac OS X e Linux

(pode precisar de driver)• Utiliza GCC + GCC Avr para compilação• A transferência para a placa é feita via USB

pelo IDE (mas também pode ser feita com gravadores ICSP!)

Partes básicas do programaPartes básicas do programa

• Dois métodos são obrigatórios:void setup() {}void loop()void loop(){}

• setup() : será executado uma única vez ao ligar a placa

• loop() : será executado infinitamente

Portas digitais e analógicasPortas digitais e analógicas

• Na prática ligamos componentes em portas digitais e analógicas e através do código Arduino, manipulamos as portas:– pinMode(<porta>, <modo>)– pinMode(<porta>, <modo>)– digitalWrite(<porta>, 0 ou 1)– digitalRead(<porta>)– analogRead(<porta>)– analogWrite(<porta>, <valor>)

Portas digitais e analógicasPortas digitais e analógicas

• pinMode (<porta>, <modo>)

– configura uma porta digital para ser lida ou para enviarmos dadospara enviarmos dados

– Exemplos:pinMode(13,OUTPUT);pinMode(11,INPUT);

Portas digitais e analógicasPortas digitais e analógicas

• digitalWrite (<porta>, 0 ou 1)

– envia 0 ou 1 para porta digital

– Exemplos:digitalWrite(11,1);digitalWrite(11,0);

Portas digitais e analógicasPortas digitais e analógicas

• digitalRead (<porta>)

– retorna um 0 ou 1 lido da porta

– Exemplo:int x;x = digitalRead(11);

Portas digitais e analógicasPortas digitais e analógicas

• analogRead (<porta>)

– retorna de 0 a 1023 com o valor da porta analógicaanalógica

– Exemplo:int luz = analogRead(0);

Portas digitais e analógicasPortas digitais e analógicas

• analogWrite (<porta>, <valor>)

– escreve em uma porta PWM um valor de 0 a 255255

– ExemploanalogWrite(11,200);

ARDUINO IDEARDUINO IDE

ARDUINO IDEARDUINO IDE

• O Arduino IDE é uma Aplicação multiplataformaescrita em Java na qual é derivada dos projetos Processing e Wiring

• Esquematizado para introduzir a programação a artistas e a pessoas não familiarizadas com o desenvolvimento de softwaredesenvolvimento de software

• Inclui um editor de código com recursos de realce de sintaxe,parênteses correspondentes e identaçãoautomática, sendo capaz de compilar e carregar programas para a placa com um único clique

• Não há a necessidade de editar Makefiles ou rodar programas em ambientes de linha de comando

• Capacidade de programar em C/C++

ARDUINO IDEARDUINO IDE

LEDLED

LEDLED

• O diodo emissor de luz• Conhecido pela sigla

LED (Light EmittingDiode)• Sua funcionalidade básica é a

emissão de luzemissão de luz• Voltagem:

– Red 1.6 V– Green 2.1 V– Yellow 2.1 V– Orange 2.2 V– Blue 4-5 V

ResistorResistor

ResistorResistor

• Um resistor é um dispositivo elétrico muito utilizado em eletrônica, ora com a finalidade de transformar energia elétrica em energia térmica,ora com a finalidade de limitar a quantidade de corrente elétrica em um circuitofinalidade de limitar a quantidade de corrente elétrica em um circuito

• Resistores são componentes que têm por finalidade oferecer uma oposição à passagem de corrente elétrica, através de seu material. A essa oposição damos o nome de resistência elétrica, que possui como unidade ohm.

ResistorResistor

• O valor de um resistor de carbono pode ser facilmente identificado de acordo com as cores que apresenta na cápsula que envolve o material resistivoque envolve o material resistivo

ResistorResistor

ResistorResistor

• Identifique a resistência dos resistores abaixo:

Experiência 1Experiência 1Pisca LED

Experiência 1 Experiência 1 –– Pisca LEDPisca LED

• Materiais necessários:– Arduino– Protoboard– Fios de conexão– Fios de conexão– LED– Resistor de 220 ohm

• Função:– Fazer um LED piscar

Experiência 1 Experiência 1 –– Pisca LEDPisca LED

• Esquema:

Experiência 1 Experiência 1 –– Pisca LEDPisca LED

• Programa (exp01.pde ) :

void setup() {pinMode(13, OUTPUT);

}

• Substitua “delay(500)” por “delay(1000)”

void loop() {digitalWrite(13, HIGH); //HIGH = 1 : LIGA LEDdelay(500);digitalWrite(13, LOW); //LOW = 0 : DESLIGA LEDdelay(500);

}

Proposto 1 Proposto 1 –– Luz rítmicaLuz rítmica

• Altere o programa anterior para piscar seguindo um ritmo. Por exemplo: rápido, rápido, lento, lento