Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introdução ao Arduino - Dissecando a Biblioteca Arduino

Introdução ao Arduino - Dissecando a Biblioteca Arduino

Apresentação utilizada no minicurso Introdução ao Arduino - Dissecando a Biblioteca Arduino realizado durante a SECOMP 2015 da Universidade Federal de Sergipe.

Tweet

More Decks by Fernando Mendonça de Almeida

Other Decks in Technology

Transcript

  1. AGENDA (CONT.) Biblioteca Arduino (cont.) I/O Digital I/O Analógico I/O

    Avançado Tempo Matemática Trigonometria Números Aleatórios Bits e Bytes Interrupções Serial Exemplos
  2. APRESENTAÇÃO Fernando Mendonça de Almeida Mestrando em Ciência da Computação

    pela UFS Redes de Computadores e Sistemas Distribuídos Graduado em Engenharia de Computação pela UFS Sistemas Embarcados, Sistemas Distribuídos e Sistemas Inteligentes
  3. APRESENTAÇÃO (CONT.) Projetos com Sistemas Embarcados: Monitoramento remoto de presença

    + acionamento da lâmpada Controle, via internet, de dispositivos conectados a um microcontrolador PIC Automação Residencial por Dispositivo Android e Reconhecimento de Voz Automação Residencial sem fio controlada pela Internet (TCC, disponível no Github) http://fernandomalmeida.github.io
  4. INTRODUÇÃO Arduino Plataforma de computação de fonte aberta Composta por

    uma placa, uma biblioteca e um ambiente de desenvolvimento integrado (IDE) Arduino Uno R3
  5. INTRODUÇÃO (CONT.) ARDUINO UNO R3 Microcontrolador ATMEGA328 Largura do barramento

    de dados 8 bits Frequência de operação máxima 20 MHz Tamanho da memória do programa 32 KB Tamanho RAM dos dados 2 KB Número de I/O programáveis 23 Tensão de alimentação 1,8 - 5,5 V
  6. TIPOS DE DADOS Herdados do C void char (unsigned) short

    | int | long (unsigned) float | double Da biblioteca Arduino boolean byte word String
  7. I/O DIGITAL pinMode(pin, mode) pinMode(LED_BUILTIN, OUTPUT) pinMode(pinBtn, INPUT_PULLUP) digitalWrite(pin, value)

    digitalWrite(LED_BULTIN, HIGH) digitalRead(pin) byte botao = digitalRead(pinBtn)
  8. I/O ANALÓGICO analogReference(type) DEFAULT INTERNAL (não Mega) INTERNAL1V1 (Mega) INTERNAL2V56

    (Mega) EXTERNAL analogRead(pin) word temp = analogRead(pinTemp) analogWrite(pin, value) analogWrite(pinServo, 100)
  9. I/O AVANÇADO tone(pin, frequency[, duration]) tone(5, 440) noTone(pin) noTone(5) shiftOut(dataPin,

    clockPin, bitOrder, value) shiftOut(dataPin, clock, MSBFIRST, (data >> 8)); shiftOut(dataPin, clock, MSBFIRST, data); shiftIn(dataPin, clockPin, bitOrder) pulseIn(pin, value[, timeout]) unsigned long microsec = pulseIn(3, HIGH)
  10. MATEMÁTICA (CONT.) map(value, fromLow, fromHigh, toLow, toHigh) int val =

    map(analogRead(0), 0, 1023, 0, 255); pow(base, exponent) sqrt(x)
  11. BITS E BYTES lowByte(x) shiftOut(dataPin, clock, LSBFIRST, lowByte(data)); highByte(x) shiftOut(dataPin,

    clock, LSBFIRST, highByte(data)); bitRead(x, n) bitRead(0x5A, 1) // retorna 1 (010110>1<0) bitWrite(x, n, b) bitWrite(2, 2, 1) // x agora é 00000110 (6)
  12. BITS E BYTES (CONT.) bitSet(x, n) Equivalente: bitWrite(x, n, 1)

    bitClear(x, n) Equivalente: bitWrite(x, n, 0) bit(n) bit(2) // retorna 00000100 (valor com 1 no bit especifiado)