Baja Arduino

  • Published on
    26-Dec-2015

  • View
    15

  • Download
    4

Embed Size (px)

Transcript

  • Gleykson Henrique Norte de Macedo

    A estrutura bsica da linguagem de programao do Arduino bastante simples; ela

    formada por dois blocos de funes que carregam outros blocos de funes escritas em

    linguagem C/C++.

    O primeiro bloco de funes forma a funo setup( ) ; o segundo ,a funo loop ( ).

    Funes: Em linguagens de programao so como sub-rotinas ou procedimentos; so

    pequenos blocos de programas usados para monta o programa principal. Elas so

    escritas pelo programador para realizar tarefas repetitivas, ou pode ser importadas

    prontas para o programa em forma de bibliotecas.

    setup ( ) : Essa a primeira funo a ser chamada quando o programa inicia. E

    executada apenas nessa primeira vez. Esta uma funo de preparao: ela dita o

    comportamento dos pinos do Arduino e inicializa a porta serial.

    Loop ( ): A funo chamada logo a seguir e todas as funes embarcadas nela so

    repetidamente executadas. Ela fica lendo os pinos de entrada do Arduino e comanda os

    pinos de sada e a porta serial.

    Exemplo:

    // aes so realizadas nas funes "Setup" e "Loop"

    // Mas nenhuma informao comunicada ao programa maior

    void setup ()

    {

    // ...

    }

    void loop ()

    {

    // ...

    }

  • Pinmode: Configura o pino especificado se comportar tanto como uma entrada ou uma

    sada. Veja a descrio dos pinos digitais para obter detalhes sobre a funcionalidade dos

    pinos.

    A partir do Arduino 1.0.1, possvel ativar os resistores pull-up internas com a

    INPUT_PULLUP modo. Alm disso, o modo de entrada desativa explicitamente os pullups

    internos.

    Exemplo:

    int ledPin = 13; // LED conectado ao pino digital 13

    void setup ()

    {

    pinMode (ledPin, OUTPUT); // define o pino digital como sada

    }

    void loop ()

    {

    digitalWrite (ledPin, HIGH); // define o LED

    atraso (1000); // aguarda uma segunda

    digitalWrite (ledPin, LOW); // define o LED

    atraso (1000); // aguarda uma segunda

    }

    Digitalread: L o valor de um pino digital especificado, ou ALTA ou BAIXA .

    Exemplo:

    Define o pino 13 para o mesmo valor que o pino 7, declarada como uma entrada.

    int ledPin = 13; // LED conectado ao pino digital 13

    int inPin = 7; // boto conectado ao pino digital 7

    int val = 0; // varivel para armazenar o valor lido

  • void setup ()

    {

    pinMode (ledPin, OUTPUT); // define o pino digital 13 como sada

    pinMode (inPin, INPUT); // define o pino digital 7 como entrada

    }

    void loop ()

    {

    val = digitalRead (inPin); // ler o pino de entrada

    digitalWrite (ledPin, val); // define o LED para o valor do boto

    }

    digitalwrite: Escreva uma ALTA ou BAIXA valor a um pino digital.

    Se o pino foi configurado como uma sada com pinMode (), a tenso ser definido como o

    valor correspondente: 5V (ou em placas de 3.3V 3.3V) em alta, 0V (terra) para LOW.

    Se o pino configurado como um INPUT, digitalWrite () ir permitir (HIGH) ou desabilitar

    (baixo) o pull-up interno no pino de entrada. Recomenda-se a definir o pinMode ()

    para INPUT_PULLUP para habilitar o resistor de pull-up interno.

    Exemplo

    int ledPin = 13; // LED conectado ao pino digital 13

    void setup ()

    {

    pinMode (ledPin, OUTPUT); // Ajusta o pino de sada digital como

    }

    void loop ()

    {

    digitalWrite (ledPin, HIGH); // Define o LED

    delay (1000); // Aguarda uma segunda

  • digitalWrite (ledPin, LOW); // Define o LED

    delay (1000); // Aguarda uma segunda

    }

    Analogreference: Configura a tenso de referncia utilizada para a entrada analgico

    (isto , o valor utilizado como a parte superior do intervalo de entrada). As opes so:

    PADRO: a referncia analgica padro de 5 volts (em placas de 5V do Arduino) ou 3,3

    volts (em placas Arduino 3.3V)

    INTERNO: um built-in de referncia, igual a 1,1 volts no ATmega168 ou ATmega328 e

    2,56 volts na ATmega8 (no disponvel no Arduino mega)

    INTERNAL1V1: uma referncia 1.1V built-in (Arduino mega s)

    INTERNAL2V56: um built-in 2.56V de referncia (Arduino mega s)

    EXTERNO: a tenso aplicada ao pino AREF (0 a apenas 5 V) usado como a referncia.

    Analogread: L o valor do pino analgico especificado. A placa Arduino contm um 6 canais (8 canais no Mini e Nano, 16 na mega), 10-bit conversor analgico-digital. Isso sig-nifica que ele ir mapear tenses de entrada entre 0 e 5 volts em valores inteiros entre 0 e 1023 Isso gera uma resoluo entre as leituras de: 5 volts / 1024 unidades, ou 0,0049 volts (4,9 mV) por unidade. O alcance ea resoluo de entrada pode ser alterada utilizan-do analogReference ().

    Demora cerca de 100 microssegundos (0,0001 s) para ler uma entrada analgica, ento a

    taxa mxima de leitura de cerca de 10 mil vezes por segundo.

    Exemplo:

    int analogPin = 3; // do potencimetro (terminal central) ligado ao pino analgico 3

    // Exterior leva ao cho e + 5V

    int val = 0; // varivel para armazenar o valor lido

    void setup ()

    {

  • Serial comear (9600);. // Srie de configurao

    }

    void loop ()

    {

    val = analogRead (analogPin); // ler o pino de entrada

    . Serial println (val); // valor de depurao

    }

    Analogwrite : Grava um valor analgico ( onda PWM ) a um pino. Pode ser usado para

    acender um LED em diferentes brilhos ou acionar um motor em vrias velocidades. Aps

    uma chamada para analogWrite (), o pino ir gerar uma onda quadrada constante do ciclo

    de trabalho especificado at a prxima chamada para analogWrite () (ou uma chamada

    para digitalRead () oudigitalWrite () no mesmo pino). A frequncia do sinal PWM na maio-

    ria dos pinos de aproximadamente 490 Hz. Nas placas Uno e similares, pinos 5 e 6 tm

    uma freqncia de cerca de 980 Hz. Pinos 3 e 11 sobre o Leonardo tambm executar em

    980 Hz.

    Na maioria das placas Arduino (aqueles com os ATmega168 ou ATmega328), essa fun-

    o funciona nos pinos 3, 5, 6, 9, 10 e 11 No Arduino Mega, que funciona nos pinos 2-13

    e 44 - 46 Older Arduino placas com um ATmega8 suportam apenas analogWrite () nos

    pinos 9, 10 e 11.

    O Arduino Devido suporta analogWrite () nos pinos 2 a 13, alm de pi-

    nos DAC0 e DAC1. Ao contrrio dos pinos PWM,DAC0 e DAC1 so de digital para anal-

    gico, e agir sadas analgicas como verdadeiros.

    Voc no precisa chamar pinMode () para definir o pino como uma sada antes de chamar

    analogWrite ().

    A funo analogWrite no tem nada a ver com os pinos analgicos ou a fun-

    o analogRead.

    Exemplo:

    Define a sada para a proporcional LED para o valor lido do potencimetro.

  • Int ledPin = 9; // LED conectado ao pino digital 9

    int analogPin = 3; // potencimetro conectado ao pino analgico 3

    int val = 0; // varivel para armazenar o valor lido

    void setup ()

    {

    pinMode (ledPin, OUTPUT); // define o pino como sada

    }

    void loop ()

    {

    val = analogRead (analogPin); // ler o pino de entrada

    analogWrite (ledPin, val / 4); // analogRead valores vo de 0 a 1023, os valores analo-

    gWrite 0-255

    }

    Delay: Interrompe o programa para a quantidade de tempo (em milisegundos) especifica-

    do como parmetro. (Existem 1.000 milissegundos em um segundo.)

    Exemplo:

    int ledPin = 13; // LED conectado ao pino digital 13

    void setup ()

    {

    pinMode (ledPin, OUTPUT); // define o pino digital como sada

    }

    void loop ()

    {

    digitalWrite (ledPin, HIGH); // define o LED

    atraso (1000); // aguarda uma segunda

    digitalWrite (ledPin, LOW); // define o LED

    atraso (1000); // aguarda uma segunda

  • Mills ( ) : Retorna o nmero de milissegundos desde a placa Arduino comeou a executar

    o programa atual. Este nmero vai transbordar (voltar para zero), aps cerca de 50 dias.

    Exemplo

    longo perodo de tempo sem assinatura;

    void setup ()

    {Serial.begin (9600);

    }

    Void loop () {

    Serial.print ("Time:");

    tempo = Millis (); // Imprime o tempo desde que o programa comeou Serial.println (tem-

    po); // Espere um segundo, de modo a no enviar grandes quantidades de dados delay

    (1000); }

    Bibliotecas : O ambiente Arduino pode ser estendido atravs da utilizao de bibliotecas,

    assim como a maioria das plataformas de programao. As bibliotecas proporcionam fun-

    cionalidade extra para uso em esboos, por exemplo, trabalhar com hardware ou manipu-

    lao de dados. Um nmero de bibliotecas vm instalados com o IDE, mas voc tambm

    pode fazer o download ou criar o seu prprio. Veja as instrues para obter detalhes so-

    bre a instalao de bibliotecas. H tambm um tutorial sobre como escrever suas prprias

    bibliotecas .

    Consulte o Guia de Estilo API para obter informaes sobre como fazer uma boa API Ar-

    duino estilo para a sua biblioteca.

    Para usar uma biblioteca em um esboo, selecione-o esboo> Import Library.

    Bibliotecas Padro

    EEPROM - leitura e escrita para armazenamento "permanente"

    Ethernet - para conexo com a internet usando o Arduino Ethernet Shield

    Firmata - para se comunicar com os aplicativos no computador, utilizando um protocolo

    serial padro.

    GSM - para conectar a uma rede / GRPS GSM com o escudo GSM.

  • LiquidCrystal - para controlar telas de cristal lquido (LCD