Tutorial Arduino

Download Tutorial Arduino

Post on 07-Dec-2014

21 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

<p>Arduino Introduo e Recursos Avanados</p> <p>Escola Naval</p> <p>ESCOLA NAVALDEPARTAMENTO DE ENGENHEIROS NAVAIS RAMO DE ARMAS E ELECTRNICA</p> <p>Arduino Introduo e Recursos AvanadosNuno Pessanha Santos ASPOF EN-AEL nuno.pessanha.santos@marinha.pt</p> <p>2009ASPOF EN-AEL Pessanha Santos 1</p> <p>Arduino Introduo e Recursos Avanados</p> <p>Escola Naval</p> <p>No se pode ensinar tudo a algum, pode-se apenas ajud-lo a encontrar por si mesmo. Galilleu Galilei</p> <p>ASPOF EN-AEL Pessanha Santos</p> <p>2</p> <p>Arduino Introduo e Recursos Avanados</p> <p>Escola Naval</p> <p>ndice1. 2. Introduo ............................................................................................................................ 7 Hardware vs Software ......................................................................................................... 8 2.1. Hardware ...................................................................................................................... 8 Microprocessador ................................................................................................ 9 Microcontrolador ................................................................................................. 9 Tipos e Quantidades de Memria Disponveis ................................................ 11 Pinout Disponvel ............................................................................................... 12</p> <p>2.1.1. 2.1.2. 2.1.3. 2.1.4. 2.2.</p> <p>Software ..................................................................................................................... 15 Instalao e Utilizao ...................................................................................... 15 Ciclo de Desenvolvimento ................................................................................ 17 Interaco do Arduino com outro Software .................................................... 18</p> <p>2.2.1. 2.2.2. 2.2.3. 3.</p> <p>ndice de Instrues ........................................................................................................... 18 3.1. Funes Base ............................................................................................................. 19 void setup()......................................................................................................... 19 void loop()........................................................................................................... 19 Resumindo ......................................................................................................... 20</p> <p>3.1.1 3.1.2 3.1.3. 3.2.</p> <p>Ciclos ........................................................................................................................... 21 Ciclo If.else .................................................................................................. 21 Ciclo for ............................................................................................................... 22 Ciclo switch / case .............................................................................................. 23 Ciclo while .......................................................................................................... 24 Ciclo do.while ................................................................................................. 25</p> <p>3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.3.</p> <p>Tipos de variveis disponveis .................................................................................. 26 Varivel do Tipo Boolean .................................................................................. 26 Varivel do tipo char vs unsigned char ............................................................. 27 Varivel do tipo byte ......................................................................................... 27 Varivel do tipo int vs unsigned int .................................................................. 28 Varivel do tipo long vs unsigned long ............................................................. 28 Varivel do tipo float vs double ........................................................................ 29 Varivel do Tipo array e a Noo de string ...................................................... 29</p> <p>3.3.1 3.3.2. 3.3.3. 3.3.4. 3.3.5. 3.3.6. 3.3.7. 3.4.</p> <p>Converter tipos de variveis ..................................................................................... 30 char(x) ................................................................................................................. 30 byte(x) ................................................................................................................ 30</p> <p>3.4.1. 3.4.2.</p> <p>ASPOF EN-AEL Pessanha Santos</p> <p>3</p> <p>Arduino Introduo e Recursos Avanados 3.4.3. 3.4.4. 3.4.5. 3.5. 3.5.1.</p> <p>Escola Naval</p> <p>int(x).................................................................................................................... 30 long(x)................................................................................................................. 30 float(x) ................................................................................................................ 30</p> <p>Funes....................................................................................................................... 31 Input/Output digital ............................................................................................... 31 pinMode() ....................................................................................................... 31 digitalWrite() ...................................................................................................... 32 digitalRead()................................................................................................... 33</p> <p>3.5.1.1. 3.5.1.2 3.5.1.3. 3.5.2. 3.5.2.1 3.5.2.2 3.5.3.</p> <p>Input/Output analgico ......................................................................................... 34 analogRead() ...................................................................................................... 34 analogWrite() ..................................................................................................... 35 Tempo ..................................................................................................................... 36 millis() ............................................................................................................. 36 micros() ........................................................................................................... 36 delay (milisegundos) ..................................................................................... 37 delayMicroseconds (microsegundos)........................................................... 37</p> <p>3.5.3.1. 3.5.3.2. 3.5.3.3. 3.5.3.4. 3.5.4.</p> <p>Funes Matemticas ........................................................................................... 39 min(valor1,valor2) ......................................................................................... 39 max(valor1,valor2) ........................................................................................ 39 abs(valor) ........................................................................................................ 39 constrain(valor, valor1.,valor2) .................................................................... 40 map(X,valor1,valor2,para valor1,para valor2) ............................................ 40 pow(valor, expoente) .................................................................................... 41 sqrt(valor) ....................................................................................................... 41</p> <p>3.5.4.1. 3.5.4.2. 3.5.4.3. 3.5.4.4. 3.5.4.5. 3.5.4.6. 3.5.4.7. 3.5.5.</p> <p>Funes Trigonomtricas ..................................................................................... 42 sen(valor) ........................................................................................................ 42 cos(valor) ........................................................................................................ 42 tan(valor) ........................................................................................................ 42</p> <p>3.5.5.1. 3.5.5.2. 3.5.5.1. 3.5.6. 3.5.6.1 3.5.6.2. 3.5.7.</p> <p>Nmeros Aleatrios .............................................................................................. 43 randomSeed(valor) ............................................................................................ 43 random() ......................................................................................................... 43</p> <p>Interrupts................................................................................................................ 45 attachInterrupt(interrupt, funo,modo) ................................................... 45 detachInterrupt(interrupt)............................................................................ 46</p> <p>3.5.7.1. 3.5.7.2.</p> <p>ASPOF EN-AEL Pessanha Santos</p> <p>4</p> <p>Arduino Introduo e Recursos Avanados 3.5.7.3. 3.5.7.4. 3.5.8.</p> <p>Escola Naval</p> <p>interrupts() ..................................................................................................... 46 noInterrupts() ................................................................................................. 46</p> <p>Comunicao Srie ................................................................................................ 48 Serial.available() ............................................................................................ 48 Serial.begin(int baud rate) ............................................................................ 48 Serial.read() .................................................................................................... 49 Serial.flush() ................................................................................................... 49 Serial.print() vs Serial.println() ..................................................................... 50 Serial.write() .................................................................................................. 50</p> <p>3.5.8.1. 3.5.8.2. 3.5.8.3. 3.5.8.4. 3.5.8.5. 3.5.8.1. 4.</p> <p>Recursos Avanados .......................................................................................................... 51 4.1. Flash ............................................................................................................................ 51 Sintaxe a Utilizar para Guardar Dados em Flash ............................................ 51 Sintaxe a Utilizar para Ler Dados da Memria Flash ..................................... 51</p> <p>4.1.1. 4.1.2. 4.2.</p> <p>EEPROM ..................................................................................................................... 52 Sintaxe de Escrita em EEPROM ....................................................................... 52 Sintaxe de Leitura em EEPROM....................................................................... 52</p> <p>4.2.1. 4.2.2. 4.3.</p> <p>Servomotor ................................................................................................................ 53 Sintaxe das Instrues da Biblioteca ............................................. 54 attach() ........................................................................................................... 54 detach()........................................................................................................... 55 write() ............................................................................................................. 55 read() ............................................................................................................... 56 attached() ....................................................................................................... 56</p> <p>4.3.1. 4.3.1.1. 4.3.1.2. 4.3.1.3. 4.3.1.4. 4.3.1.5. 4.4.</p> <p>Software Serial .......................................................................................................... 58 Sintaxe das Instrues da Biblioteca ............................. 59 SoftwareSerial(Pino de Rx, Pino de Tx) ...................................................... 59 begin(Baud Rate) ........................................................................................... 59 read() ............................................................................................................... 60 print(dados) vs println(dados) ...................................................................... 60</p> <p>4.4.1. 4.4.1.1. 4.4.1.2. 4.4.1.3. 4.4.1.4. 4.5. 4.6.</p> <p>FIRMATA vs Processing ............................................................................................ 62 Aquisio de Sinal Converso A/D......................................................................... 63 Alguns Conceitos Tericos ................................................................................ 63 Arduino vs ADC .................................................................................................. 64 Sintaxe para Alterar o Valor do Factor de Diviso ...................................... 66</p> <p>4.6.1. 4.6.2. 4.6.3.</p> <p>ASPOF EN-AEL Pessanha Santos</p> <p>5</p> <p>Arduino Introduo e Recursos Avanados 5. 6.</p> <p>Escola Naval</p> <p>Concluso ........................................................................................................................... 68 Bibliografia ......................................................................................................................... 69</p> <p>ASPOF EN-AEL Pessanha Santos</p> <p>6</p> <p>Arduino Introduo e Recursos Avanados</p> <p>Escola Naval</p> <p>1.</p> <p>Introduo</p> <p>Este tutorial tem como principal objectivo ser uma referncia para a utilizao da placa de desenvolvimento Arduino, no s para quem se est a iniciar no assunto, mas, tambm, para quem procura aprofundar mais o seu conhecimento sobre o tema. O Arduino uma ferramenta de desenvolvimento open source, tendo surgido de um projecto acadmico - quem sabe um projecto seu no poder ter o mesmo sucesso?... Como ferramenta usualmente associado filosofia de Physical Computing, ou seja, ao conceito que engloba a criao de sistemas fsicos atravs do uso de Software e Hardware capazes de responder a inputs vindos do mundo real. Podemos designar o Arduino simplesmente como uma pea de Hardware ou um Software de desenvolvimento, mas muito mais que isso. Devido ao sucesso que tem vindo a alcanar ao longo do tempo, existe uma enorme comunidade de utilizadores/seguidores em todo o Mundo, podendo afirmar-se que o Arduino representa tambm uma enorme comunidade. As razes para tal sucesso baseiam-se no seu baixo custo - dadas as suas funcionalidades -, a simplicidade na utilizao e a possibilidade de utilizao em vrios sistemas operativo, como o Windows, Macintosh OS e Linux - capacidade essa denominada por Cross-platform. O estudo do Arduino abre-nos portas compreenso de uma importante ferramenta de desenvolvimento atravs de uma aprendizagem simples mas dedicada, onde podemos...</p>