Curso Arduino Aula01
-
Upload
newton-maciel-junior -
Category
Documents
-
view
91 -
download
0
description
Transcript of Curso Arduino Aula01
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
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
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...
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
• 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.
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
• 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++
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
• 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
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
• 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);
}