Programação em-arduino-módulo-básico

Embed Size (px)

DESCRIPTION

Oficina de Robtica. Mdulo bsico de programao em Arduino.

Text of Programação em-arduino-módulo-básico

  • Financiamento: Execuo:

    Laboratrio de Automao e Robtica Mvel

    Programao em Arduino Mdulo Bsico

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Material produzido para o projeto Oficina de Robtica por: Anderson Luiz Fernandes Perez Renan Rocha Dars

    Contatos: Universidade Federal de Santa Catarina -

    Laboratrio de Automao e Robtica Mvel anderson.perez (at) ufsc.br

    renanrdaros (at) hotmail.com

    http://oficinaderobotica.ufsc.br

    UFSC - Oficina de Robtica - @2013 2

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Introduo Microcontroladores Arduino UNO Ambiente de desenvolvimento Funes setup() e loop() Monitor Serial Portas digitais e analgicas Programando em Arduino Expandindo as funcionalidades do

    Arduino

    UFSC - Oficina de Robtica - @2013 3

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    O Arduino uma plataforma utilizada para prototipao de circuitos eletrnicos.

    O projeto do Arduino teve incio em 2005 na cidade de Ivrea, Itlia.

    O Arduino composto por uma placa com microcontrolador Atmel AVR e um ambiente de programao baseado em Wiring e C++.

    Tanto o hardware como o ambiente de programao do Arduino so livres, ou seja, qualquer pessoa pode modific-los e reproduzi-los.

    O Arduino tambm conhecido de plataforma de computao fsica.

    UFSC - Oficina de Robtica - @2013 4

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Tipos de Arduino Existem vrios tipos de Arduino com especificidades de

    hardware. O site oficial do Arduino lista os seguintes tipos: Arduino UNO Arduino Leonardo Arduino Due Arduino Esplora Arduino Mega Arduino Mega ADK Arduino Ethernet Arduino Mini Arduino LilyPad Arduino Micro Arduino Nano Arduino ProMini Arduino Pro Arduino Fio

    UFSC - Oficina de Robtica - @2013 5

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Referncias na WEB: O site oficial do Arduino http://arduino.cc

    Um documentrio sobre o Arduino pode ser assistido em: http://arduinothedocumentary.org/

    UFSC - Oficina de Robtica - @2013 6

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Um microcontrolador um CI que incorpora vrias funcionalidades.

    Alguns vezes os microcontroladores so chamados de computador de um nico chip.

    So utilizados em diversas aplicaes de sistemas embarcados, tais como: carros, eletrodomsticos, avies, automao residencial, etc.

    UFSC - Oficina de Robtica - @2013 7

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Processamento de dados

    UFSC - Oficina de Robtica - @2013 8

    Entrada Processamento Sada

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Vista da placa do Arduino UNO Rev 3 (frente e verso)

    UFSC - Oficina de Robtica - @2013 9

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Caractersticas Microcontrolador: ATmega328 Tenso de operao: 5V Tenso recomendada (entrada): 7-12V Limite da tenso de entrada: 6-20V Pinos digitais: 14 (seis pinos com sada PWM) Entrada analgica: 6 pinos Corrente contnua por pino de entrada e sada: 40

    mA Corrente para o pino de 3.3 V: 50 mA Quantidade de memria FLASH: 32 KB (ATmega328)

    onde 0.5 KB usado para o bootloader Quantidade de memria SRAM: 2 KB (ATmega328) Quantidade de memria EEPROM: 1 KB

    (ATmega328) Velocidade de clock: 16 MHz

    UFSC - Oficina de Robtica - @2013 10

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Alimentao O Arduino UNO pode ser alimentado pela

    porta USB ou por uma fonte externa DC.

    A recomendao que a fonte externa seja de 7 V a 12 V e pode ser ligada diretamente no conector de fonte ou nos pinos Vin e Gnd.

    UFSC - Oficina de Robtica - @2013 11

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    O ambiente de desenvolvimento do Arduino (IDE) gratuito e pode ser baixado no seguinte endereo: arduino.cc.

    As principais funcionalidades do IDE do Arduino so: Escrever o cdigo do programa

    Salvar o cdigo do programa

    Compilar um programa

    Transportar o cdigo compilado para a placa do Arduino

    UFSC - Oficina de Robtica - @2013 12

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Interface principal do ambiente de desenvolvimento

    UFSC - Oficina de Robtica - @2013 13

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    As duas principais partes (funes) de um programa desenvolvido para o Arduino so: setup(): onde devem ser definidas algumas

    configuraes iniciais do programa. Executa uma nica vez.

    loop(): funo principal do programa. Fica executando indefinidamente.

    Todo programa para o Arduino deve ter estas duas funes.

    UFSC - Oficina de Robtica - @2013 14

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Exemplo 1: formato das funes setup() e loop()

    UFSC - Oficina de Robtica - @2013 15

    void setup() { } void loop() { }

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Exemplo 2: exemplo funes setup() e loop()

    UFSC - Oficina de Robtica - @2013 16

    void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); }

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    O monitor serial utilizado para comunicao entre o Arduino e o computador (PC).

    O monitor serial pode ser aberto no menu tools opo serial monitor, ou pressionando as teclas CTRL + SHIFT + M.

    As principais funes do monitor serial so: begin(), read(), write(), print(), println() e available().

    UFSC - Oficina de Robtica - @2013 17

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Exemplo: imprimindo uma mensagem de boas vindas no monitor serial

    UFSC - Oficina de Robtica - @2013 18

    void setup() { Serial.begin(9600); // Definio da velocide de transmisso } void loop() { Serial.println("Ola, seu nome, seja bem vindo ao maravilhoso mundo do Arduino"); }

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    O Arduino possui tanto portas digitais como portas analgicas.

    As portas servem para comunicao entre o Arduino e dispositivos externos, por exemplo: ler um boto, acender um led ou uma lmpada.

    Conforme j mencionado, o Arduino UNO, possui 14 portas digitais e 6 portas analgicas (que tambm podem ser utilizadas como portas digitais).

    UFSC - Oficina de Robtica - @2013 19

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Portas Digitais As portas digitais trabalham com valores

    bem definidos, ou seja, no caso do Arduino esses valores so 0V e 5V.

    0V indica a ausncia de um sinal e 5V indica a presena de um sinal.

    Para escrever em uma porta digital basta utilizar a funo digitalWrite(pin, estado).

    Para ler um valor em uma porta digital basta utilizar a funo digitalRead(pin).

    UFSC - Oficina de Robtica - @2013 20

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Portas Analgicas As portas analgicas so utilizadas para entrada

    de dados. Os valores lidos em uma porta analgica variam

    de 0V a 5V. Para ler uma valor em uma porta analgica basta

    utilizar a funo analogRead(pin). Os conversores analgicos-digitais (ADC) do

    Arduino so de 10 bits. Os conversores ADC (do Ingls Analog Digital

    Converter) permitem uma preciso de 0.005V ou 5mV.

    Os valores lidos em uma porta analgica variam de 0 a 1023 (10 bits), onde 0 representa 0V e 1023 representa 5V.

    UFSC - Oficina de Robtica - @2013 21

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Para definir uma porta como entrada ou sada necessrio explicitar essa situao no programa.

    A funo pinMode(pin, estado) utilizada para definir se a porta ser de entrada ou sada de dados.

    Exemplo: Define que a porta 13 ser de sada pinMode(13, OUTPUT)

    Define que a porta 7 ser de entrada pinMode(7, INPUT)

    UFSC - Oficina de Robtica - @2013 22

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Algoritmo Sequncia de passos que visa atingir um

    objetivo bem definido.

    Exemplo: Receita caseira

    UFSC - Oficina de Robtica - @2013 23

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Constantes e Variveis Um dado constante quando no sofre

    nenhuma variao no decorrer do tempo.

    Do incio ao fim do programa o valor permanece inalterado.

    Exemplos:

    10

    Bata antes de entrar!

    -0,58

    UFSC - Oficina de Robtica - @2013 24

  • Laboratrio de Automao e Robtica Mvel

    Financiamento:

    Execuo:

    Constantes e Variveis A criao de constantes no Arduino pode ser

    feita de duas maneiras:

    Usando a palavra reservada const

    Exemplo:

    const int x = 100;

    Usando a palavra reservada define

    Exemp