Programação Arduino

Embed Size (px)

Text of Programação Arduino

Programao Arduino

Pgina | 1

Sumrio:Estruturay yvoid setup ().............................................5 void loop ()...............................................5

Operadores de bits y y y y y y y y& (operador de bits AND)..............................22 | (operador de bits OR).................................22 ^ (operador de bits XOR)..............................22 ~ (operador de bits NOT)..............................24 > (desvio direita).....................................25 &=(de bits composto AND)............................26 |=(de bits composto OR)...............................26

Estruturas de controle y y y y y y y y y yif............................................................6 if...else...................................................7 for..........................................................8 switch case.............................................9 while.....................................................10 do... while..............................................10 break.....................................................69 continue.................................................11 return.....................................................11 goto.......................................................12

Operadores compostos y y y y y y++ (incrementar).........................................28 -- (decrementar)..........................................28 += (adio composta)..................................28 -= (subtrao composta)...............................28 *= (multiplicao composta)..........................28 /= (diviso composta)...................................28

Elementos de sintaxe y y y y y y; (ponto e vrgula)...................................13 {} (chaves).............................................13 // (linha de comentrio)...........................15 /* */ (bloco de comentrio)......................15 #define..................................................16 #include.................................................17

Operadores aritmticos y y y y y y= (igualdade).........................................18 + (adio)..............................................18 - (subtrao)..........................................18 * (multiplicao).....................................18 / (diviso)..............................................18 % (resto da diviso)...............................19

Operadores de comparao y y y y y y== (igual a)...........................................20 != (diferente de).....................................20 < (menor que).......................................20 > (maior que)........................................20 = (maior ou igual a).............................20

Operadores booleanos y y y&& (e)....................................................21 || (ou)....................................................21 ! (no)....................................................21

Pgina | 2

VariveisVariveis so expresses que voc pode usar em programas para armazenar valores como a leitura de um sensor em um pino analgico.

ConstantesConstantes so valores particulares com significados especficos.

y y y y

HIGH | LOW...........................................29 INPUT | OUTPUT....................................29 true | false.............................................29 Constantes inteiras.................................31

Tipos de dadosVariveis podem ser de vrios tipos:

y y y y y y y y y y y y

boolean..................................................32 char.......................................................32 byte.......................................................33 int..........................................................33 unsigned int............................................34 long.......................................................34 unsigned long.........................................35 float........................................................36 double....................................................37 string......................................................37 array.......................................................39 void........................................................40

Converso y y y y ychar()....................................................41 byte()....................................................41 int().......................................................41 long()....................................................41 float()....................................................42

Referncia yTabela ASCII..........................................42

Pgina | 3

FunesEntrada e sada digital

y y y

pinMode (pin, mode).....................................43 digitalWrite (pin, value).................................44 int digitalRead (pin).......................................45 Entrada e sada analgica

Comunicao serial Usado para comunicao entre a placa Arduino e um computador ou outros dispositivos. Esta comunicao ocorre atravs dos conectores serial ou USB da placa Arduino e nos pinos digitais 0 (RX) e 1 (TX). Assim, se voc utilizar estas funes no poder utilizar os pinos 0 e 1 para entrada e sada digital.

y y

int analogRead (pin)......................................46 analogWrite (pin, value) PWM....................47

Entrada e sada avanada

y y

shiftOut (dataPin, clockPin, bitOrder, value) .48 unsigned long pulseIn (pin, value) Tempo .49

y y y y

unsigned long millis()....................................50 unsigned long micros() delay(ms) delayMicroseconds( s) 2 Matemtica ..50 ..51 ..5

y y y y y y

Serial.begin (speed)......................................62 int Serial.available () int Serial.read () Serial.flush () 63 64 ..65

Serial.print (data)..........................................65 Serial.println (data).......................................68

y y y y y y y y

min (x, y).....................................................54 max (x, y) .55 abs (x).........................................................56 constrain (x, a, b).........................................56 map (value, fromLow, fromHigh, toLow, toHigh) sq (x) 57 ..58 pow (base, exponent)...................................58 sqrt (x).........................................................58 Trigonometria

y y y

sin (rad).......................................................59 cos (rad)......................................................59 tan (rad)......................................................59 Nmeros aleatrios

y y y

randomSeed (seed) long random (min, max)

.60 ..61

long random (max).......................................61

Pgina | 4

setup()A funo setup() chamada quando um programa pomea a rodar. Use esta funo para inicializar as sua variveis, os modos dos pinos, declarar o uso de livrarias, etc. Esta funo ser executada apenas uma vez aps a placa Arduino ser ligada ou ressetada. Exemplo int buttonPin = 3; void setup() { Serial.begin(9600); pinMode(buttonPin, INPUT); } void loop() { // ... }

loop()Aps criar uma fuo setup() que declara os valores iniciais, a funo loop() faz exatamente o que seu nome sugere, entra em looping (executa sempre o mesmo bloco de cdigo), permitindo ao seu programa fazer mudanas e responder. Use esta funo para controlar ativamente a placa Arduino. Exemplo int buttonPin = 3; // setup inicializa o serial e o pino do button (boto) void setup() { beginSerial(9600); pinMode(buttonPin, INPUT); } // loop checa o boto a cada vez, // e envia o serial se ele for pressionado void loop() { if (digitalRead(buttonPin) == HIGH) serialWrite('H'); else serialWrite('L'); delay(1000); }

Pgina | 5

if (condicional) e ==, !=, (operadores de comparao)if, que usado juntamente com um operador de comparao, verifica quando uma condio satisfeita, como por exemplo um input acima de um determinado valor. O formato para uma verificao if : if (algumaVariavel > 50) { // faa alguma coisa } O programa checa se algumaVariavel (colocar acentos em nomes de variveis no uma boa idia) maior que 50. Se for, o programa realiza uma ao especfica. Colocado de outra maneira se a sentena que est dentro dos parntesis verdadeira o cdigo que est dentro das chaves roda; caso contrrio o programa salta este bloco de cdigo. As chaves podem ser omitidas aps uma sentena if se s houver uma nica linha de cdigo (definida pelo ponto e vrgula) que ser executado de modo condicional: if (x > 120) digitalWrite(LEDpin, HIGH); if (x > 120) digitalWrite(LEDpin, HIGH); if (x > 120) {digitalWrite(LEDpin, HIGH);} // todos so corretos A sentena que est sendo verificada necessita o uso de pelo menos um dos operadores: Operadores de comparao: x == y (x igual a y) x != y (x no igual a y) x < y (x menor que y) x > y (x maior que y) x = y (x maior ou igual a y) Cuidado: Tenha precauo com o uso acidental de apenas um sinal de igual (e.g. if (x = 10) ). O sinal de igual simples um operador de designao e coloca o valor 10 na varivel x. Ao contrrio o sinal de igal duplo (e.g. if (x == 10) ), que um operador de comparao, verifica se x igual a 10 ou no. A ltima sentea s verdadeira se x for igual a 10, mas a anterior sempre ser veraddeira. Isto ocorre por que a linguagem C (na qual o Arduino baseado) atribui um valor sentena (x=10) do seguinte modo: 10 colocado na varivel x (lembre o sinal de igual simples um operador de designao), ento x agora contm 10. Ento o condicional 'if' atribui um valor a 10, que ser sempre verdadeiro (TRUE), desede que nmeros diferentes de zero so sempre equiparados verdadeiro. Consequentemente, if (x = 10) ser sempre verdadeiro, que no o que pretendemos quando usamos um 'if'. Adcionalmente o valor 10 ser guardado na v