SlideShare uma empresa Scribd logo
interfaces físicas para dispositivos móveis


                                    Tiago Barros | tiago@tiagobarros.org
Apresentação



Tiago Barros - @tgfb
Mestre em Ciência da Computação, UFPE / 2007
B.Sc. Ciência da Computação, UFPE / 2003
Tec. Eletrônica, ETFPE / 1998
Engenheiro de Sistemas Sênior do C.E.S.A.R
Especialista em tecnologia, Grupo de Inovação
Professor de pós-graduação e especialização em diversos cursos:
   C.E.S.A.R(Recife), Cin/UFPE/Motorola(Recife), Universidade
   Positivo (Curitiba), Instituto FaberLudens/FISAM/UnC (Curitiba).



                                 2
Conteúdo


• computação física
• alternativas de interfaces físicas para
  dispositivos móveis
• plataforma Arduino
• protocolo de comunicação serial
• plataforma Amarino
• introdução à eletricidade e eletrônica
• sinais analógicos e digitais
• sensores e atuadores

                        3
Pré-requisitos


• desenvolvimento de aplicativos Android




                      4
computação física
computação física


• uso de computação e eletrônica [sensores e
  atuadores] na prototipação de objetos físicos
  para interação com seres humanos

• comportamento implementado por software

• utilização de microcontroladores



                       6
computação física


• o objetivo é interligar o mundo físico com o
  mundo virtual

• usar a computação e a interação com a
  tecnologia para o desenvolvimento das suas
  atividades

• meio para comunicação e interação entre
  pessoas

                       7
computação física




 como vemos os
 computadores?
                    8
computação física
                  como vemos os computadores?


• teclado

• mouse

• monitor

• CPU

• caixas de som



                              9
computação física



      como os
   computadores
     nos veem?
                    10
computação física
                como os computadores nos veem?


• dedos
  [teclado/mouse]

• olho
  [monitor]

• duas orelhas
  [caixas de som]



     reflexo das entradas e saídas do computador
                           11
computação física


  “mudar a forma que os
  computadores nos veem
     mudará como eles
    interagem conosco”
                         Tom Igoe – Physical Computing

                    12
Perguntas




            13
sistemas computacionais reativos
sistemas computacionais reativos


 percepção do ambiente, recebendo estímulos
 atavés de sensores;


 e reação aos estímulos, de acordo com o seu
 comportamento (software), através de
 atuadores.


                     15
sistemas computacionais reativos


 comunicação entre redes de sensores e
 atuadores para formar um ambiente dinâmico e
 interativo

 interação de sensores e atuadores com
 dispositivos móveis




                     16
interfaces físicas para dispositivos móveis
interfaces físicas para dispositivos móveis



             comunicação
                             micro-controlador




                            sensor             sensor


                                     atuador



                      18
interfaces físicas para dispositivos móveis



            android



                    19
interfaces físicas para dispositivos móveis



             comunicação
                             micro-controlador




                            sensor             sensor


                                     atuador



                      20
interfaces físicas para dispositivos móveis



    arduino                  micro-controlador




                            sensor             sensor


                                     atuador



                    21
interfaces físicas para dispositivos móveis



             comunicação
                             micro-controlador




                            sensor             sensor


                                     atuador



                      22
interfaces físicas para dispositivos móveis



             comunicação




 amarino =                   +

                      23
plataforma arduino
plataforma arduino


• microcontrolador Atmel

• programação usando Wiring (subconjunto de
  processing, baseado em C/C++)

• open-source: evolução da plataforma através
  de contribuições dos usuários



                      25
plataforma arduino - hardware




              lilypad
                             mini
boarduino                           uno




paperduino                                mega
             pro

                        26
plataforma arduino - hardware


• portas
  • 14 entradas/saídas digitais
  • 6 entradas analógicas

• memória
  • RAM: 1K
  • Flash (programa): 16k – 2k (bootloader)

• velocidade de processamento: 16MHz

                          27
plataforma arduino – hardware




                  28
plataforma arduino - instalação


• driver
           windows: FTDI Serial USB
           linux: não precisa instalar nada :-)

• software
         é só descompactar e executar



                        29
plataforma arduino - instalação


• Selecionando a placa e a porta serial




                      30
plataforma arduino – ambiente

         compilar
                                exibir serial
(verif. programa)

                                área de código
 parar execução

            novo

            abrir

          salvar

enviar programa
      para placa                área de status


                    31
plataforma arduino – ciclo de vida


   escrever

 corrigir erros   compilar

                      enviar para placa


                       corrigir erros
                                        verificar execução


                              32
atuadores
plataforma arduino – estrutura do sketch




                   34
plataforma arduino – linguagem

• linguagem baseada em C (mas bem mais fácil)

• comandos básicos

   • pinMode() – define um pino com entrada ou saída

   • digitalWrite() – liga ou desliga uma saída digital

   • delay() – “espera” um determinado tempo



                           35
plataforma arduino – linguagem

• Exemplos

   • pinMode(num_do_pino, OUTPUT);

   • digitalWrite(num_do_pino, valor);
     valor é LOW ou HIGH (0 ou 1, 0V ou 5V)

   • delay(milisegundos);




                      36
plataforma arduino – linguagem


  • constantes
  LOW | HIGH – indica nível baixo (0V) e alto (5V) nos pinos

  INPUT | OUTPUT – define se um pino vai ser pino de entrada ou
    de saída




                              37
atividade
 prática!
    38
prática

• fazer o programa hello arduino, que pisca um
  led

• use o pino 13 de saída digital, a placa já possui
  um led ligado a ele :-)




                       39
plataforma arduino – hello arduino




                   40
Perguntas




            41
protocolos de comunicação
comunicação serial – RS232


• chip ATMEGA 328 só tem interface serial, não
  tem USB

• nossa placa arduino possui um chip que
  converte Serial para USB

• usamos o mesmo cabo USB pra enviar dados pro
  PC via serial


                     43
comunicação serial – RS232


• o arduino possui uma biblioteca que
  implementa comunicação serial

• Serial.begin();

• Serial.print();

• Serial.read();


                     44
comunicação serial – RS232


• Leds
   • TX: dados enviados
     para o PC
   • RX: dados
     recebidos do PC




                          45
atividade
 prática!
   46
comunicação serial - prática


“Hello Arduino” via serial




                      47
comunicação serial - prática




                  48
Perguntas




            49
bibliotecas do arduino
bibliotecas do arduino

• é possível estender a
  plataforma Arduino com
  adição de componentes
  de código, para controlar
  sensores e atuadores
  específicos.

• estes componentes são
  chamados de bibliotecas
  (libraries)
                     51
bibliotecas do arduino

• as bibliotecas são
  geralmente disponibilizadas
  como um zip que deve ser
  descompactado dentro da
  pasta libraries do
  Arduino.




                      52
bibliotecas do arduino

• após reiniciar a IDE do
  Arduino, a biblioteca estará
  disponível no menu Sketch-
  >Import Library

• a maioria das bibliotecas
  para o Arduino pode ser
  encontrada em
  http://arduino.cc/en/Reference/Libraries


                       53
plataforma amarino
plataforma amarino


• toolkit constituído de uma aplicação android e
  uma biblioteca arduino que permite envio de
  mensagens entre os dois dispositivos

• utilização de serial sobre bluetooth

• MIT Media Lab

• http://www.amarino-toolkit.net/

                      55
plataforma amarino


• Instalação
   • Baixar e descompactar a biblioteca
     MeetAndroid (http://code.google.com/p/amarino/downloads/detail?
       name=MeetAndroid_3.zip)



    • Baixar a biblioteca Amarino para Android
       (http://code.google.com/p/amarino/downloads/detail?name=AmarinoLibrary_v0_55.jar)




                                     56
plataforma amarino


• Instalação
   • Instalar a aplicação amarino e o plugin
     bundle no dispositivo android, para os
     primeiros testes




     Amarino                Plugin bundle
                     57
mais prática!


     58
eletrônica – protoboard

• antes disso:
   • Protoboard




                  59
eletrônica – jumpers

• jumpers




                  60
atividade
 prática!
   61
prática


• Testando a comunicação




                   62
prática – código exemplo




                  63
prática


• aplicação Amarino 2.0




                    64
prática


• aplicação Amarino 2.0




                    65
prática


• aplicação Amarino 2.0




                    66
prática


• aplicação Amarino 2.0




                    67
prática


• aplicação Amarino 2.0




                    68
Perguntas




            69
API MeetAndroid


 MeetAndroid meetAndroid;
  — cria um objeto do tipo MeetAndroid


 meetAndroid.registerFunction (f, c);
  — registra uma função f para o determinado comando c, que
    pode ser um número de ‘0’ a ‘9’ ou uma letra, de ‘a’ a ‘z’ e de
    ‘A’ a ‘Z’.

 meetAndroid.unregisterFunction (c);
  — desregistra a função previamente registrada para o comando
    c.

                           70
API MeetAndroid


 meetAndroid.receive();
  — Verifica se existem comandos a serem recebidos e chama a
    função registrada caso receba algum comando.


 meetAndroid.bufferLength();
  — Retorna o tamanho do buffer de dados recebidos.


 meetAndroid.getString(char[]);
  — Copia a string recebida para o array de char passado como
    parâmetro.


                           71
API MeetAndroid


 meetAndroid.getInt();
  — Retorna o valor do buffer como inteiro.


 meetAndroid.getLong();
  — Retorna o valor do buffer como long int.


 meetAndroid.getFloat();
  — Retorna o valor do buffer como float.




                           72
API MeetAndroid


 meetAndroid.getIntValues(int[]);
  — Retorna o valor do buffer como um array de inteiros que foram
    enviados separados por ‘;’. A quantidade de valores é passada
    para a função registrada através da variável numOfValues
    (argumento 2 da função);

 meetAndroid.getFloatValues(float[]);
  — Retorna o valor do buffer como um array de floats, da mesma
    forma que a anterior.

 meetAndroid.send(value);
  — Envia um valor (numérico ou string) para o dispositivo android.

                           73
atividade
 prática!
   74
prática



Modificar o exemplo para enviar “OK” ao
dispositivo android para cada comando recebido

Verificar o recebimento do “OK” no monitoring da
aplicação Amarino 2.0




                    75
Perguntas




            76
voltando ao
 arduino...
    77
conceitos básicos de eletricidade
eletricidade

                          universo formado de átomos

                          partículas atômicas:


                                  prótons: cargas positivas



                                  elétrons: cargas negativas


    eletricidade - interação entre partículas atômicas

                             79
eletricidade

                      “elétron extra”




                                         “buraco”

 Atomos com mais elétrons que
 prótons estão carregados
 negativamente (íon negativo)

                                            Atomos com menos elétrons que
                                            prótons estão carregados
                                            positivamente (íon positivo)




                                    80
eletricidade



  cargas iguais se repelem            cargas opostas se atraem




                                             S             N




  cargas em movimento             campo magnético em
  geram campo magnético           movimento
                                  gera corrente elétrica
                             81
eletricidade – condutores e isolantes




condutor – permite o fluxo de elétrons




                    isolante – evita a passagem de elétrons


                               82
eletricidade – diferença de potencial (v)


                             cargas positivas


diferença de potencial   V
ou tensão.

                             cargas negativas




     quanto maior a tensão, mais “força” teem os elétrons

                                83
eletricidade – corrente elétrica (i)




fluxo de elétrons em um condutor




                          quanto maior a corrente,
                          maior a “quantidade” de elétrons

                             84
eletricidade – tipos de corrente elétrica




corrente contínua




                    corrente alternada



                        85
eletricidade – tipos de corrente elétrica




    mesma polaridade no tempo (sentido continuo)




    inversão de polaridade no tempo

                               86
eletricidade – resistência elétrica (r)




 propriedade do material condutor em reduzir
 a passagem dos elétrons




                            elétrons “se acumulam e batem”
                            no condutor, “dissipando” sua energia
                            (gerando calor)
                              87
eletricidade – lei de ohm


                        V=RxI

                                          V
                                                      R = V/I
                                      R       I       I = V/R

     a diferença de potencial (V) entre dois pontos de um
     condutor é proporcional à corrente elétrica (I) que o
     percorre e à sua resistência (R)

                            88
eletricidade – circuito elétrico

                                   carga
                                   [consumidor]
                  +
                                    R
    gerador   V
    [fonte]
                  –




                  condutor    i
                  [caminho]



                              89
Perguntas




            90
atuadores
plataforma arduino – linguagem

• comandos básicos

   • analogWrite() – escreve um valor analógico no pino

   • analogWrite(num_pino, valor);
     valor entre 0 e 255




                         92
eletrônica – modulação PWM


                       a função analogWrite() escreve
                       “pulsos” muito rápidos no pino
                       digital (só funciona nos pinos
                       marcados com PWM).

                       o valor a ser escrito representa
                       o tempo que o pulso fica em
                       nível alto e varia de 0 a 255.

                       quanto mais tempo o pulso
                       permanecer em nível alto,
                       maior é a “tensão média” da
                       saída


                  93
atividade
 prática!
   94
antes disso
mais um pouco
de eletrônica...
       95
eletrônica – resistores

oferecem resistência à passagem da corrente elétrica
                                                         resistência:

                                                         fixo
                                                         variável




tipos:

carvão [carbono]
filme
fio


             transformam energia elétrica em energia térmica
                       [pode ser usado como atuador]

                                  96
eletrônica – resistores

  valores expressos em ohms

  o corpo dos resistores possui um código de cores para identificar o
  valor




                               97
agora sim,
 prática!
    98
prática

• acender o LED com a intensidade de brilho
  correspondente ao valor enviado pelo evento de
  teste do android




                     99
prática

• circuito




                   Figura retirada de http://arduino.cc/



             100
prática

• esquemático




 Figura retirada de http://arduino.cc/


                                         101
prática

• protoboard




               Figura retirada de
               http://www.multilogica-shop.com/Aprendendo/Exemplos/Fading


                       102
Perguntas




            103
sensores
sensores – chave (switch/button)


  • interrompe a passagem da corrente elétrica
  • liga/desliga o circuito
  • sensor de toque




                                         esquemático




                        105
plataforma arduino – linguagem

• Comandos
   • digitalRead() – le um pino de entrada

• Exemplo:
   • int chave = 0;
   • chave = digitalRead(num_do_pino);




                         106
sensores


   arduino lê tensões de
   entrada (e não valores 0 e 1)


   5 volts == HIGH (1)
   0 volts == LOW (0)

   sem conexão em um
   pino, a entrada flutua
   entre 0 e 5 volts
   (HIGH e LOW)                          este resistor é necessário para
                                         que o pino seja levado para 0
                                         quando não estiver conectado
                                         (chave aberta)

                                   107
atividade
 prática!
    108
sensores - prática

• fazer o circuito e o programa para enviar ao
  dispositivo android o valor do sensor lido




                     109
sensores - prática

• esquemático




                     Figura retirada de http://arduino.cc/


                        110
sensores - prática

• protoboard




                     111
Perguntas




            112
voltando à
eletrônica...
     113
eletrônica – sinais analógicos e digitais


                                 sinal com variação
                                 discreta (valores
                                 pré-definidos)



                                 sinal com
                                 variação
                                 contínua no
                                 tempo




                    114
eletrônica – conversão de sinais




      valor é lido em intervalos regulares de tempo e
      transformado em um número digital


                           115
eletrônica – conversão de sinais




      vários valores, não só HIGH e LOW. quantiade de
      valores é a resolução.


                          116
eletrônica – conversão de sinais




      resolução de 8 bits = 256 valores
      resolução de 16 bits = 65536 valores


                           117
eletrônica - resistores

• Como funciona um resistor variável?




• no arduino, o valor da tensão é transformado
  em um valor digital entre 0 e 1023
                     118
atividade
 prática!
    119
sensores analógicos – prática

• ler o valor do resistor variável e ligar um LED se
  esse valor passar de um determinado limite. Ao
  acender o LED, informar o dispositivo android.




                      120
sensores analógicos – prática

• esquemático




                Figura retirada de http://arduino.cc/




                             121
sensores analógicos – prática

• circuito




              Figura retirada de http://arduino.cc/




                           122
Perguntas




            124
biblioteca amarino para android
Classe Amarino

• conexão
   • Amarino.connect(context, address);
   • Amarino.disconnect(context, address);

   • Intents
      • AmarinoIntent.ACTION_CONNECTED
      • AmarinoIntent.ACTION_DISCONNECTED
      • AmarinoIntent.ACTION_CONNECTION_FAILED
      • AmarinoIntent.ACTION_PAIRING_REQUESTED

• Devemos registrar um BroadcastReceiver para receber os intents
  desejados


                             126
Classe Amarino

• comunicação
   • Amarino. sendDataToArduino(context, address, command,
     data)

   • Intents
      • AmarinoIntent.ACTION_SEND
      • AmarinoIntent.ACTION_RECEIVED

• Devemos registrar um BroadcastReceiver para receber os intents
  desejados

• API completa em:
  http://www.amarino-toolkit.net/tl_files/doc/index.html

                             127
atividade
 prática!
    128
biblioteca amarino - prática

• fazer uma aplicação que mostre um gráfico de
  linha no android, com o valor do sensor lido
  pelo arduino.

• fazer uma aplicação que exiba um gradiente na
  tela e altere o brilho de um LED de acordo com
  a área do gradiente tocada




                     129
Perguntas




            130
eletrônica – resistores LDR

• resistor variável sensível à luz




                       131
eletrônica – resistores LDR

• resistor variável sensível à luz
  circuito para arduino

  porque o resistor de 1k?
  - para limitar a corrente
    se o LDR assumir valores
    muito baixos




                               132
atividade
 prática!
   133
entrada analógica - prática


ler valores do LDR e enviar para o dispositivo
android




                     134
Perguntas




            135
atuadores sonoros
atuadores sonoros


• Buzzer piezoelétrico
   • formado por cerâmica
     piezoelétrica e disco
     metálico

   • ao receber uma tensão
     a cerâmica se
     expande, quando
     removemos a tensão
     ele volta
                        137
atuadores sonoros


• Buzzer piezoelétrico
   • 2 polos: um é ligado no
     GND e outro no pino de
     saída desejado

   • aplicando uma tensão
     variável produz
     vibração que é
     traduzida em som


                         138
atuadores sonoros


• como programar o arduino para tocar uma nota
  musical?

   • uma nota musical é um som em uma determinada
     frequência

   • a frequência de uma nota significa quantas vezes o
     atuador sonoro vibra em 1 segundo


                        139
atuadores sonoros

                                             1 segundo


• para fazer o atuador
                                   baixa frequência
  vibrar, escrevemos no
  pino uma sequência de
  valores HIGH e LOW,
  tantas vezes por segundo         período
  quanto for a frequência
  da nota                           alta frequência

• o tempo de cada
  variação HIGH e LOW é
                                   período
  chamada de período e é
  o inverso da frequência

                             140
atuadores sonoros

• programar o arduino para tocar uma nota
  musical

void playTone(int period, int duration)
{
    for (long i = 0; i < duration * 1000L; i += period* 2)
    {
        digitalWrite(speakerPin, HIGH);
        delayMicroseconds(period);
        digitalWrite(speakerPin, LOW);
        delayMicroseconds(period);
    }
}


                          141
atuadores sonoros

•como tocar uma nota musical?
timeHigh = periodo / 2 = 1 / (2 * frequência)

*   nota        frequência       periodo   tempo em nivel alto
*   c (dó)      261 Hz           3830      1915
*   d (ré)      294 Hz           3400      1700
*   e (mi)      329 Hz           3038      1519
*   f (fá)      349 Hz           2864      1432
*   g (sol)     392 Hz           2550      1275
*   a (lá)      440 Hz           2272      1136
*   b (si)      493 Hz           2028      1014
*   C (dó)      523 Hz           1912      956

Não é necessário escrever essas frequências, podemos
incluir o arquivo notes.h


                                 142
atuadores sonoros

•como tocar uma nota musical?

notes.h
#define   NOTE_B0    31
#define   NOTE_C1    33
#define   NOTE_CS1   35
#define   NOTE_D1    37
#define   NOTE_DS1   39
#define   NOTE_E1    41
#define   NOTE_F1    44
#define   NOTE_FS1   46
#define   NOTE_G1    49
#define   NOTE_GS1   52
...

                          143
função tone

• Arduino já possui uma função para tocar notas

   tone(pin, frequency);
   // emite uma determinada nota (representada pela
   // frequência) no pino ocrrespondente

   noTone(pin);
   // para de emitir a frequência definida por tone()
   // no pino correspondente

   tone(pin, frequency, duration);
   // emite uma determinada nota (representada pela
   // frequência) no pino ocrrespondente durante uma
   // determinada duração

                         144
atividade
 prática!
    145
atuadores sonoros - prática

• Tocar uma nota ao
  receber um evento do
  android




                     146
perguntas?




             147
arduino - referencias



  • Lista dos comandos da linguagem em:

  http://arduino.cc/en/Reference/HomePage

  • Lista dos tutoriais em:

  http://www.arduino.cc/en/Tutorial/HomePage




                          148
projeto

   149
projeto da disciplina

• desenvolver um dispositivo interativo que
  utilize os conceitos aprendidos.




                     150
Obrigado!

Mais conteúdo relacionado

Mais procurados

Curso de Arduino Completo
Curso de Arduino CompletoCurso de Arduino Completo
Curso de Arduino Completo
Tiago Barros
 
1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino
Centro Universitário Católica de Quixadá
 
Técnicas de Prototipação II - LEGO Aula 02
Técnicas de Prototipação II - LEGO Aula 02Técnicas de Prototipação II - LEGO Aula 02
Técnicas de Prototipação II - LEGO Aula 02
Tiago Barros
 
Arduino- Conceitos e Aplicações
Arduino- Conceitos e AplicaçõesArduino- Conceitos e Aplicações
Arduino- Conceitos e Aplicações
Carlos Delfino
 
Mini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com ArduinoMini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com Arduino
Felipe Martins
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduino
Samir Siqueira
 
Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robótica
Marcelo Quinta
 
Arduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreArduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livre
Marcelo Laranjeira Melo
 
Minicurso de Arduino Básico
Minicurso de Arduino BásicoMinicurso de Arduino Básico
Minicurso de Arduino Básico
Rodrigo Bueno Santa Maria, BS, MBA
 
Arduino day-2015-v1
Arduino day-2015-v1Arduino day-2015-v1
Arduino day-2015-v1
USP - University of Sao Paulo
 
Arduino Hack Day Corumbá
Arduino Hack Day CorumbáArduino Hack Day Corumbá
Arduino Hack Day Corumbá
Samuel Cavalcante
 
Apostila para Programar Arduino
Apostila para Programar ArduinoApostila para Programar Arduino
Apostila para Programar Arduino
Isvaldo Souza
 
Oficina Arduino
Oficina ArduinoOficina Arduino
Oficina Arduino
Cícero Rocha
 
3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino
Centro Universitário Católica de Quixadá
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduino
Juan Manoel
 
MiniCursoDeArduino
MiniCursoDeArduinoMiniCursoDeArduino
MiniCursoDeArduino
Roger Pereira
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & Truques
Álvaro Justen
 
Mini curso arduino
Mini curso arduinoMini curso arduino
Mini curso arduino
Felipe Meganha
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestra
Vitor Ferreira
 
Introdução - Arduino - Renan Martins
Introdução - Arduino - Renan MartinsIntrodução - Arduino - Renan Martins
Introdução - Arduino - Renan Martins
Andressa Mirella Filgueiras
 

Mais procurados (20)

Curso de Arduino Completo
Curso de Arduino CompletoCurso de Arduino Completo
Curso de Arduino Completo
 
1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino
 
Técnicas de Prototipação II - LEGO Aula 02
Técnicas de Prototipação II - LEGO Aula 02Técnicas de Prototipação II - LEGO Aula 02
Técnicas de Prototipação II - LEGO Aula 02
 
Arduino- Conceitos e Aplicações
Arduino- Conceitos e AplicaçõesArduino- Conceitos e Aplicações
Arduino- Conceitos e Aplicações
 
Mini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com ArduinoMini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com Arduino
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduino
 
Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robótica
 
Arduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreArduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livre
 
Minicurso de Arduino Básico
Minicurso de Arduino BásicoMinicurso de Arduino Básico
Minicurso de Arduino Básico
 
Arduino day-2015-v1
Arduino day-2015-v1Arduino day-2015-v1
Arduino day-2015-v1
 
Arduino Hack Day Corumbá
Arduino Hack Day CorumbáArduino Hack Day Corumbá
Arduino Hack Day Corumbá
 
Apostila para Programar Arduino
Apostila para Programar ArduinoApostila para Programar Arduino
Apostila para Programar Arduino
 
Oficina Arduino
Oficina ArduinoOficina Arduino
Oficina Arduino
 
3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduino
 
MiniCursoDeArduino
MiniCursoDeArduinoMiniCursoDeArduino
MiniCursoDeArduino
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & Truques
 
Mini curso arduino
Mini curso arduinoMini curso arduino
Mini curso arduino
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestra
 
Introdução - Arduino - Renan Martins
Introdução - Arduino - Renan MartinsIntrodução - Arduino - Renan Martins
Introdução - Arduino - Renan Martins
 

Destaque

Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de Software
Tiago Barros
 
Técnicas de Prototipação II - Physical Computing - Aula 02
Técnicas de Prototipação II - Physical Computing - Aula 02Técnicas de Prototipação II - Physical Computing - Aula 02
Técnicas de Prototipação II - Physical Computing - Aula 02
Tiago Barros
 
O que falta na internet para as coisas?
O que falta na internet para as coisas?O que falta na internet para as coisas?
O que falta na internet para as coisas?
Tiago Barros
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
Tiago Barros
 
Engenharia de Requisitos - Aula 2
Engenharia de Requisitos - Aula 2Engenharia de Requisitos - Aula 2
Engenharia de Requisitos - Aula 2
Tiago Barros
 
Introdução a Internet das Coisas
Introdução a Internet das CoisasIntrodução a Internet das Coisas
Introdução a Internet das Coisas
Tiago Barros
 
Técnicas de Prototipação II - Physical Computing - Aula 03
Técnicas de Prototipação II - Physical Computing - Aula 03Técnicas de Prototipação II - Physical Computing - Aula 03
Técnicas de Prototipação II - Physical Computing - Aula 03
Tiago Barros
 
Técnicas de Prototipação II - LEGO Aula 03
Técnicas de Prototipação II - LEGO Aula 03Técnicas de Prototipação II - LEGO Aula 03
Técnicas de Prototipação II - LEGO Aula 03
Tiago Barros
 
C.E.S.A.R - Prototipación Electronica en Diseño
C.E.S.A.R - Prototipación Electronica en DiseñoC.E.S.A.R - Prototipación Electronica en Diseño
C.E.S.A.R - Prototipación Electronica en Diseño
Tiago Barros
 
Curso arduino advanced aula 14
Curso arduino advanced   aula 14Curso arduino advanced   aula 14
Curso arduino advanced aula 14
Franklin Andrade
 
Tiristores triac 2
Tiristores triac  2Tiristores triac  2
Tiristores triac 2
Gustavo Alfaro
 
Técnicas de Prototipação II - LEGO Aula 01
Técnicas de Prototipação II - LEGO Aula 01Técnicas de Prototipação II - LEGO Aula 01
Técnicas de Prototipação II - LEGO Aula 01
Tiago Barros
 
Técnicas de Prototipação II - LEGO Aula 04
Técnicas de Prototipação II - LEGO Aula 04Técnicas de Prototipação II - LEGO Aula 04
Técnicas de Prototipação II - LEGO Aula 04
Tiago Barros
 
Mercado de automação no ES
Mercado de automação no ESMercado de automação no ES
Mercado de automação no ES
Felipe Martins
 
Modelagem e Controle de Robôs Móveis e Sistemas Multirrobôs
Modelagem e Controle de Robôs Móveis e Sistemas MultirrobôsModelagem e Controle de Robôs Móveis e Sistemas Multirrobôs
Modelagem e Controle de Robôs Móveis e Sistemas Multirrobôs
Felipe Martins
 
Aprender e ensinar com tecnologias móveis: um desafio para professores e alunos
Aprender e ensinar com tecnologias móveis: um desafio para professores e alunosAprender e ensinar com tecnologias móveis: um desafio para professores e alunos
Aprender e ensinar com tecnologias móveis: um desafio para professores e alunos
GILT (Games, Interaction and Learning Technologies) IS Engenharia do Porto
 
Javascript, Done Right
Javascript, Done RightJavascript, Done Right
Javascript, Done Right
André Luís
 
Competições Estudantis de Rrobótica
Competições Estudantis de RrobóticaCompetições Estudantis de Rrobótica
Competições Estudantis de Rrobótica
Felipe Martins
 
JavaScript for Beginners
JavaScript for BeginnersJavaScript for Beginners
JavaScript for Beginners
SAPO Sessions
 
Introdução ao Controle de Robôs Móveis
Introdução ao Controle de Robôs MóveisIntrodução ao Controle de Robôs Móveis
Introdução ao Controle de Robôs Móveis
Felipe Martins
 

Destaque (20)

Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de Software
 
Técnicas de Prototipação II - Physical Computing - Aula 02
Técnicas de Prototipação II - Physical Computing - Aula 02Técnicas de Prototipação II - Physical Computing - Aula 02
Técnicas de Prototipação II - Physical Computing - Aula 02
 
O que falta na internet para as coisas?
O que falta na internet para as coisas?O que falta na internet para as coisas?
O que falta na internet para as coisas?
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Engenharia de Requisitos - Aula 2
Engenharia de Requisitos - Aula 2Engenharia de Requisitos - Aula 2
Engenharia de Requisitos - Aula 2
 
Introdução a Internet das Coisas
Introdução a Internet das CoisasIntrodução a Internet das Coisas
Introdução a Internet das Coisas
 
Técnicas de Prototipação II - Physical Computing - Aula 03
Técnicas de Prototipação II - Physical Computing - Aula 03Técnicas de Prototipação II - Physical Computing - Aula 03
Técnicas de Prototipação II - Physical Computing - Aula 03
 
Técnicas de Prototipação II - LEGO Aula 03
Técnicas de Prototipação II - LEGO Aula 03Técnicas de Prototipação II - LEGO Aula 03
Técnicas de Prototipação II - LEGO Aula 03
 
C.E.S.A.R - Prototipación Electronica en Diseño
C.E.S.A.R - Prototipación Electronica en DiseñoC.E.S.A.R - Prototipación Electronica en Diseño
C.E.S.A.R - Prototipación Electronica en Diseño
 
Curso arduino advanced aula 14
Curso arduino advanced   aula 14Curso arduino advanced   aula 14
Curso arduino advanced aula 14
 
Tiristores triac 2
Tiristores triac  2Tiristores triac  2
Tiristores triac 2
 
Técnicas de Prototipação II - LEGO Aula 01
Técnicas de Prototipação II - LEGO Aula 01Técnicas de Prototipação II - LEGO Aula 01
Técnicas de Prototipação II - LEGO Aula 01
 
Técnicas de Prototipação II - LEGO Aula 04
Técnicas de Prototipação II - LEGO Aula 04Técnicas de Prototipação II - LEGO Aula 04
Técnicas de Prototipação II - LEGO Aula 04
 
Mercado de automação no ES
Mercado de automação no ESMercado de automação no ES
Mercado de automação no ES
 
Modelagem e Controle de Robôs Móveis e Sistemas Multirrobôs
Modelagem e Controle de Robôs Móveis e Sistemas MultirrobôsModelagem e Controle de Robôs Móveis e Sistemas Multirrobôs
Modelagem e Controle de Robôs Móveis e Sistemas Multirrobôs
 
Aprender e ensinar com tecnologias móveis: um desafio para professores e alunos
Aprender e ensinar com tecnologias móveis: um desafio para professores e alunosAprender e ensinar com tecnologias móveis: um desafio para professores e alunos
Aprender e ensinar com tecnologias móveis: um desafio para professores e alunos
 
Javascript, Done Right
Javascript, Done RightJavascript, Done Right
Javascript, Done Right
 
Competições Estudantis de Rrobótica
Competições Estudantis de RrobóticaCompetições Estudantis de Rrobótica
Competições Estudantis de Rrobótica
 
JavaScript for Beginners
JavaScript for BeginnersJavaScript for Beginners
JavaScript for Beginners
 
Introdução ao Controle de Robôs Móveis
Introdução ao Controle de Robôs MóveisIntrodução ao Controle de Robôs Móveis
Introdução ao Controle de Robôs Móveis
 

Semelhante a Interfaces fisicas para dispositivos moveis

Arduíno muito prazer
Arduíno muito prazerArduíno muito prazer
Arduíno muito prazer
Heider Lopes
 
Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduino
Walter Coan
 
Sindpd introducao arduinodomotica
Sindpd introducao arduinodomoticaSindpd introducao arduinodomotica
Sindpd introducao arduinodomotica
Desiree Santos
 
Workshop Arduino SETi 2014
Workshop Arduino SETi 2014Workshop Arduino SETi 2014
Workshop Arduino SETi 2014
Lucas Cabral
 
Arduino e a IOT
Arduino e a IOTArduino e a IOT
Arduino e a IOT
FabianoFrancaMoreira
 
Robô seguidor de linha
Robô seguidor de linhaRobô seguidor de linha
Robô seguidor de linha
Isvaldo Souza
 
Robótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoRobótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando Arduino
DomingosRodrigues16
 
Apresentação pós tic
Apresentação   pós ticApresentação   pós tic
Apresentação pós tic
Thiago Melo
 
TDC2014 - Arduino Legacy
TDC2014 - Arduino LegacyTDC2014 - Arduino Legacy
TDC2014 - Arduino Legacy
Marcondes Maçaneiro
 
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de MicrocontroladoresIntrodução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Carlos Eduardo Pantoja
 
Aula 03 plataformas, ambientes e configuracoes
Aula 03   plataformas, ambientes e configuracoesAula 03   plataformas, ambientes e configuracoes
Aula 03 plataformas, ambientes e configuracoes
Fábio Costa
 
Aula 03 plataformas, ambientes e configuracoes
Aula 03   plataformas, ambientes e configuracoesAula 03   plataformas, ambientes e configuracoes
Aula 03 plataformas, ambientes e configuracoes
Fábio Costa
 
IoT – Internet of Things. Do Básico ao Hello World!
IoT – Internet of Things. Do Básico ao Hello World!IoT – Internet of Things. Do Básico ao Hello World!
IoT – Internet of Things. Do Básico ao Hello World!
Rodolfo Cruz
 
IoT para Devs c#
IoT para Devs c#IoT para Devs c#
IoT para Devs c#
Fernando Okuma
 
Corpo relatorio
Corpo relatorioCorpo relatorio
Corpo relatorio
Eduardo Greffner
 
Internet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.jsInternet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.js
Otávio Calaça Xavier
 
Gerenciador do atmega16
Gerenciador do atmega16Gerenciador do atmega16
Gerenciador do atmega16
Gabriel Lima
 
Open Hardware & Arduino
Open Hardware & ArduinoOpen Hardware & Arduino
Open Hardware & Arduino
elliando dias
 
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEMMICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
zelmasantos2015
 
Introdução à plataforma Arduino
Introdução à plataforma ArduinoIntrodução à plataforma Arduino
Introdução à plataforma Arduino
entrebits
 

Semelhante a Interfaces fisicas para dispositivos moveis (20)

Arduíno muito prazer
Arduíno muito prazerArduíno muito prazer
Arduíno muito prazer
 
Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduino
 
Sindpd introducao arduinodomotica
Sindpd introducao arduinodomoticaSindpd introducao arduinodomotica
Sindpd introducao arduinodomotica
 
Workshop Arduino SETi 2014
Workshop Arduino SETi 2014Workshop Arduino SETi 2014
Workshop Arduino SETi 2014
 
Arduino e a IOT
Arduino e a IOTArduino e a IOT
Arduino e a IOT
 
Robô seguidor de linha
Robô seguidor de linhaRobô seguidor de linha
Robô seguidor de linha
 
Robótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoRobótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando Arduino
 
Apresentação pós tic
Apresentação   pós ticApresentação   pós tic
Apresentação pós tic
 
TDC2014 - Arduino Legacy
TDC2014 - Arduino LegacyTDC2014 - Arduino Legacy
TDC2014 - Arduino Legacy
 
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de MicrocontroladoresIntrodução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
 
Aula 03 plataformas, ambientes e configuracoes
Aula 03   plataformas, ambientes e configuracoesAula 03   plataformas, ambientes e configuracoes
Aula 03 plataformas, ambientes e configuracoes
 
Aula 03 plataformas, ambientes e configuracoes
Aula 03   plataformas, ambientes e configuracoesAula 03   plataformas, ambientes e configuracoes
Aula 03 plataformas, ambientes e configuracoes
 
IoT – Internet of Things. Do Básico ao Hello World!
IoT – Internet of Things. Do Básico ao Hello World!IoT – Internet of Things. Do Básico ao Hello World!
IoT – Internet of Things. Do Básico ao Hello World!
 
IoT para Devs c#
IoT para Devs c#IoT para Devs c#
IoT para Devs c#
 
Corpo relatorio
Corpo relatorioCorpo relatorio
Corpo relatorio
 
Internet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.jsInternet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.js
 
Gerenciador do atmega16
Gerenciador do atmega16Gerenciador do atmega16
Gerenciador do atmega16
 
Open Hardware & Arduino
Open Hardware & ArduinoOpen Hardware & Arduino
Open Hardware & Arduino
 
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEMMICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
 
Introdução à plataforma Arduino
Introdução à plataforma ArduinoIntrodução à plataforma Arduino
Introdução à plataforma Arduino
 

Mais de Tiago Barros

Introdução a Internet das Coisas
Introdução a Internet das CoisasIntrodução a Internet das Coisas
Introdução a Internet das Coisas
Tiago Barros
 
REC'n'Play 2019 - Aplicações industriais de internet das coisas: nem tudo é o...
REC'n'Play 2019 - Aplicações industriais de internet das coisas: nem tudo é o...REC'n'Play 2019 - Aplicações industriais de internet das coisas: nem tudo é o...
REC'n'Play 2019 - Aplicações industriais de internet das coisas: nem tudo é o...
Tiago Barros
 
KNoT - a framework for iot interoperability
KNoT - a framework for iot interoperabilityKNoT - a framework for iot interoperability
KNoT - a framework for iot interoperability
Tiago Barros
 
Providing Infrastructure to Enable IoT Solutions
Providing Infrastructure to Enable IoT SolutionsProviding Infrastructure to Enable IoT Solutions
Providing Infrastructure to Enable IoT Solutions
Tiago Barros
 
IEEE IoT Open Standards Committee
IEEE IoT Open Standards CommitteeIEEE IoT Open Standards Committee
IEEE IoT Open Standards Committee
Tiago Barros
 
CESAR School - Prototipação Eletrônica com Arduino
CESAR School - Prototipação Eletrônica com ArduinoCESAR School - Prototipação Eletrônica com Arduino
CESAR School - Prototipação Eletrônica com Arduino
Tiago Barros
 
KNoT Manifesto
KNoT ManifestoKNoT Manifesto
KNoT Manifesto
Tiago Barros
 
KNoT - Uma plataforma de IoT interoperável para o Brasil
KNoT - Uma plataforma de IoT interoperável para o BrasilKNoT - Uma plataforma de IoT interoperável para o Brasil
KNoT - Uma plataforma de IoT interoperável para o Brasil
Tiago Barros
 
Técnicas de Prototipação II - LEGO Aula 05
Técnicas de Prototipação II - LEGO Aula 05Técnicas de Prototipação II - LEGO Aula 05
Técnicas de Prototipação II - LEGO Aula 05
Tiago Barros
 

Mais de Tiago Barros (9)

Introdução a Internet das Coisas
Introdução a Internet das CoisasIntrodução a Internet das Coisas
Introdução a Internet das Coisas
 
REC'n'Play 2019 - Aplicações industriais de internet das coisas: nem tudo é o...
REC'n'Play 2019 - Aplicações industriais de internet das coisas: nem tudo é o...REC'n'Play 2019 - Aplicações industriais de internet das coisas: nem tudo é o...
REC'n'Play 2019 - Aplicações industriais de internet das coisas: nem tudo é o...
 
KNoT - a framework for iot interoperability
KNoT - a framework for iot interoperabilityKNoT - a framework for iot interoperability
KNoT - a framework for iot interoperability
 
Providing Infrastructure to Enable IoT Solutions
Providing Infrastructure to Enable IoT SolutionsProviding Infrastructure to Enable IoT Solutions
Providing Infrastructure to Enable IoT Solutions
 
IEEE IoT Open Standards Committee
IEEE IoT Open Standards CommitteeIEEE IoT Open Standards Committee
IEEE IoT Open Standards Committee
 
CESAR School - Prototipação Eletrônica com Arduino
CESAR School - Prototipação Eletrônica com ArduinoCESAR School - Prototipação Eletrônica com Arduino
CESAR School - Prototipação Eletrônica com Arduino
 
KNoT Manifesto
KNoT ManifestoKNoT Manifesto
KNoT Manifesto
 
KNoT - Uma plataforma de IoT interoperável para o Brasil
KNoT - Uma plataforma de IoT interoperável para o BrasilKNoT - Uma plataforma de IoT interoperável para o Brasil
KNoT - Uma plataforma de IoT interoperável para o Brasil
 
Técnicas de Prototipação II - LEGO Aula 05
Técnicas de Prototipação II - LEGO Aula 05Técnicas de Prototipação II - LEGO Aula 05
Técnicas de Prototipação II - LEGO Aula 05
 

Último

PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
1000a
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
joseanesouza36
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
wagnermorais28
 
Introdução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escolaIntrodução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escola
Professor Belinaso
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
TomasSousa7
 
Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
WelberMerlinCardoso
 
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptxAVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AntonioVieira539017
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
MarcosPaulo777883
 
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdfCRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
soaresdesouzaamanda8
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
profesfrancleite
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
Mary Alvarenga
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
LucianaCristina58
 
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdfUFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
Manuais Formação
 
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptxA dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
ReinaldoSouza57
 
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Centro Jacques Delors
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
TomasSousa7
 
Aula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptxAula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptx
LILIANPRESTESSCUDELE
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
AmiltonAparecido1
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
AntnioManuelAgdoma
 

Último (20)

PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
 
Introdução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escolaIntrodução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escola
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
 
Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
 
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptxAVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
 
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdfCRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
 
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdfUFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
 
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptxA dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
 
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
 
Aula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptxAula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptx
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
 

Interfaces fisicas para dispositivos moveis

  • 1. interfaces físicas para dispositivos móveis Tiago Barros | tiago@tiagobarros.org
  • 2. Apresentação Tiago Barros - @tgfb Mestre em Ciência da Computação, UFPE / 2007 B.Sc. Ciência da Computação, UFPE / 2003 Tec. Eletrônica, ETFPE / 1998 Engenheiro de Sistemas Sênior do C.E.S.A.R Especialista em tecnologia, Grupo de Inovação Professor de pós-graduação e especialização em diversos cursos: C.E.S.A.R(Recife), Cin/UFPE/Motorola(Recife), Universidade Positivo (Curitiba), Instituto FaberLudens/FISAM/UnC (Curitiba). 2
  • 3. Conteúdo • computação física • alternativas de interfaces físicas para dispositivos móveis • plataforma Arduino • protocolo de comunicação serial • plataforma Amarino • introdução à eletricidade e eletrônica • sinais analógicos e digitais • sensores e atuadores 3
  • 6. computação física • uso de computação e eletrônica [sensores e atuadores] na prototipação de objetos físicos para interação com seres humanos • comportamento implementado por software • utilização de microcontroladores 6
  • 7. computação física • o objetivo é interligar o mundo físico com o mundo virtual • usar a computação e a interação com a tecnologia para o desenvolvimento das suas atividades • meio para comunicação e interação entre pessoas 7
  • 8. computação física como vemos os computadores? 8
  • 9. computação física como vemos os computadores? • teclado • mouse • monitor • CPU • caixas de som 9
  • 10. computação física como os computadores nos veem? 10
  • 11. computação física como os computadores nos veem? • dedos [teclado/mouse] • olho [monitor] • duas orelhas [caixas de som] reflexo das entradas e saídas do computador 11
  • 12. computação física “mudar a forma que os computadores nos veem mudará como eles interagem conosco” Tom Igoe – Physical Computing 12
  • 13. Perguntas 13
  • 15. sistemas computacionais reativos percepção do ambiente, recebendo estímulos atavés de sensores; e reação aos estímulos, de acordo com o seu comportamento (software), através de atuadores. 15
  • 16. sistemas computacionais reativos comunicação entre redes de sensores e atuadores para formar um ambiente dinâmico e interativo interação de sensores e atuadores com dispositivos móveis 16
  • 17. interfaces físicas para dispositivos móveis
  • 18. interfaces físicas para dispositivos móveis comunicação micro-controlador sensor sensor atuador 18
  • 19. interfaces físicas para dispositivos móveis android 19
  • 20. interfaces físicas para dispositivos móveis comunicação micro-controlador sensor sensor atuador 20
  • 21. interfaces físicas para dispositivos móveis arduino micro-controlador sensor sensor atuador 21
  • 22. interfaces físicas para dispositivos móveis comunicação micro-controlador sensor sensor atuador 22
  • 23. interfaces físicas para dispositivos móveis comunicação amarino = + 23
  • 25. plataforma arduino • microcontrolador Atmel • programação usando Wiring (subconjunto de processing, baseado em C/C++) • open-source: evolução da plataforma através de contribuições dos usuários 25
  • 26. plataforma arduino - hardware lilypad mini boarduino uno paperduino mega pro 26
  • 27. plataforma arduino - hardware • portas • 14 entradas/saídas digitais • 6 entradas analógicas • memória • RAM: 1K • Flash (programa): 16k – 2k (bootloader) • velocidade de processamento: 16MHz 27
  • 28. plataforma arduino – hardware 28
  • 29. plataforma arduino - instalação • driver windows: FTDI Serial USB linux: não precisa instalar nada :-) • software é só descompactar e executar 29
  • 30. plataforma arduino - instalação • Selecionando a placa e a porta serial 30
  • 31. plataforma arduino – ambiente compilar exibir serial (verif. programa) área de código parar execução novo abrir salvar enviar programa para placa área de status 31
  • 32. plataforma arduino – ciclo de vida escrever corrigir erros compilar enviar para placa corrigir erros verificar execução 32
  • 34. plataforma arduino – estrutura do sketch 34
  • 35. plataforma arduino – linguagem • linguagem baseada em C (mas bem mais fácil) • comandos básicos • pinMode() – define um pino com entrada ou saída • digitalWrite() – liga ou desliga uma saída digital • delay() – “espera” um determinado tempo 35
  • 36. plataforma arduino – linguagem • Exemplos • pinMode(num_do_pino, OUTPUT); • digitalWrite(num_do_pino, valor); valor é LOW ou HIGH (0 ou 1, 0V ou 5V) • delay(milisegundos); 36
  • 37. plataforma arduino – linguagem • constantes LOW | HIGH – indica nível baixo (0V) e alto (5V) nos pinos INPUT | OUTPUT – define se um pino vai ser pino de entrada ou de saída 37
  • 39. prática • fazer o programa hello arduino, que pisca um led • use o pino 13 de saída digital, a placa já possui um led ligado a ele :-) 39
  • 40. plataforma arduino – hello arduino 40
  • 41. Perguntas 41
  • 43. comunicação serial – RS232 • chip ATMEGA 328 só tem interface serial, não tem USB • nossa placa arduino possui um chip que converte Serial para USB • usamos o mesmo cabo USB pra enviar dados pro PC via serial 43
  • 44. comunicação serial – RS232 • o arduino possui uma biblioteca que implementa comunicação serial • Serial.begin(); • Serial.print(); • Serial.read(); 44
  • 45. comunicação serial – RS232 • Leds • TX: dados enviados para o PC • RX: dados recebidos do PC 45
  • 47. comunicação serial - prática “Hello Arduino” via serial 47
  • 48. comunicação serial - prática 48
  • 49. Perguntas 49
  • 51. bibliotecas do arduino • é possível estender a plataforma Arduino com adição de componentes de código, para controlar sensores e atuadores específicos. • estes componentes são chamados de bibliotecas (libraries) 51
  • 52. bibliotecas do arduino • as bibliotecas são geralmente disponibilizadas como um zip que deve ser descompactado dentro da pasta libraries do Arduino. 52
  • 53. bibliotecas do arduino • após reiniciar a IDE do Arduino, a biblioteca estará disponível no menu Sketch- >Import Library • a maioria das bibliotecas para o Arduino pode ser encontrada em http://arduino.cc/en/Reference/Libraries 53
  • 55. plataforma amarino • toolkit constituído de uma aplicação android e uma biblioteca arduino que permite envio de mensagens entre os dois dispositivos • utilização de serial sobre bluetooth • MIT Media Lab • http://www.amarino-toolkit.net/ 55
  • 56. plataforma amarino • Instalação • Baixar e descompactar a biblioteca MeetAndroid (http://code.google.com/p/amarino/downloads/detail? name=MeetAndroid_3.zip) • Baixar a biblioteca Amarino para Android (http://code.google.com/p/amarino/downloads/detail?name=AmarinoLibrary_v0_55.jar) 56
  • 57. plataforma amarino • Instalação • Instalar a aplicação amarino e o plugin bundle no dispositivo android, para os primeiros testes Amarino Plugin bundle 57
  • 59. eletrônica – protoboard • antes disso: • Protoboard 59
  • 62. prática • Testando a comunicação 62
  • 63. prática – código exemplo 63
  • 69. Perguntas 69
  • 70. API MeetAndroid  MeetAndroid meetAndroid; — cria um objeto do tipo MeetAndroid  meetAndroid.registerFunction (f, c); — registra uma função f para o determinado comando c, que pode ser um número de ‘0’ a ‘9’ ou uma letra, de ‘a’ a ‘z’ e de ‘A’ a ‘Z’.  meetAndroid.unregisterFunction (c); — desregistra a função previamente registrada para o comando c. 70
  • 71. API MeetAndroid  meetAndroid.receive(); — Verifica se existem comandos a serem recebidos e chama a função registrada caso receba algum comando.  meetAndroid.bufferLength(); — Retorna o tamanho do buffer de dados recebidos.  meetAndroid.getString(char[]); — Copia a string recebida para o array de char passado como parâmetro. 71
  • 72. API MeetAndroid  meetAndroid.getInt(); — Retorna o valor do buffer como inteiro.  meetAndroid.getLong(); — Retorna o valor do buffer como long int.  meetAndroid.getFloat(); — Retorna o valor do buffer como float. 72
  • 73. API MeetAndroid  meetAndroid.getIntValues(int[]); — Retorna o valor do buffer como um array de inteiros que foram enviados separados por ‘;’. A quantidade de valores é passada para a função registrada através da variável numOfValues (argumento 2 da função);  meetAndroid.getFloatValues(float[]); — Retorna o valor do buffer como um array de floats, da mesma forma que a anterior.  meetAndroid.send(value); — Envia um valor (numérico ou string) para o dispositivo android. 73
  • 75. prática Modificar o exemplo para enviar “OK” ao dispositivo android para cada comando recebido Verificar o recebimento do “OK” no monitoring da aplicação Amarino 2.0 75
  • 76. Perguntas 76
  • 78. conceitos básicos de eletricidade
  • 79. eletricidade universo formado de átomos partículas atômicas: prótons: cargas positivas elétrons: cargas negativas eletricidade - interação entre partículas atômicas 79
  • 80. eletricidade “elétron extra” “buraco” Atomos com mais elétrons que prótons estão carregados negativamente (íon negativo) Atomos com menos elétrons que prótons estão carregados positivamente (íon positivo) 80
  • 81. eletricidade cargas iguais se repelem cargas opostas se atraem S N cargas em movimento campo magnético em geram campo magnético movimento gera corrente elétrica 81
  • 82. eletricidade – condutores e isolantes condutor – permite o fluxo de elétrons isolante – evita a passagem de elétrons 82
  • 83. eletricidade – diferença de potencial (v) cargas positivas diferença de potencial V ou tensão. cargas negativas quanto maior a tensão, mais “força” teem os elétrons 83
  • 84. eletricidade – corrente elétrica (i) fluxo de elétrons em um condutor quanto maior a corrente, maior a “quantidade” de elétrons 84
  • 85. eletricidade – tipos de corrente elétrica corrente contínua corrente alternada 85
  • 86. eletricidade – tipos de corrente elétrica mesma polaridade no tempo (sentido continuo) inversão de polaridade no tempo 86
  • 87. eletricidade – resistência elétrica (r) propriedade do material condutor em reduzir a passagem dos elétrons elétrons “se acumulam e batem” no condutor, “dissipando” sua energia (gerando calor) 87
  • 88. eletricidade – lei de ohm V=RxI V R = V/I R I I = V/R a diferença de potencial (V) entre dois pontos de um condutor é proporcional à corrente elétrica (I) que o percorre e à sua resistência (R) 88
  • 89. eletricidade – circuito elétrico carga [consumidor] + R gerador V [fonte] – condutor i [caminho] 89
  • 90. Perguntas 90
  • 92. plataforma arduino – linguagem • comandos básicos • analogWrite() – escreve um valor analógico no pino • analogWrite(num_pino, valor); valor entre 0 e 255 92
  • 93. eletrônica – modulação PWM a função analogWrite() escreve “pulsos” muito rápidos no pino digital (só funciona nos pinos marcados com PWM). o valor a ser escrito representa o tempo que o pulso fica em nível alto e varia de 0 a 255. quanto mais tempo o pulso permanecer em nível alto, maior é a “tensão média” da saída 93
  • 95. antes disso mais um pouco de eletrônica... 95
  • 96. eletrônica – resistores oferecem resistência à passagem da corrente elétrica resistência: fixo variável tipos: carvão [carbono] filme fio transformam energia elétrica em energia térmica [pode ser usado como atuador] 96
  • 97. eletrônica – resistores valores expressos em ohms o corpo dos resistores possui um código de cores para identificar o valor 97
  • 99. prática • acender o LED com a intensidade de brilho correspondente ao valor enviado pelo evento de teste do android 99
  • 100. prática • circuito Figura retirada de http://arduino.cc/ 100
  • 101. prática • esquemático Figura retirada de http://arduino.cc/ 101
  • 102. prática • protoboard Figura retirada de http://www.multilogica-shop.com/Aprendendo/Exemplos/Fading 102
  • 103. Perguntas 103
  • 105. sensores – chave (switch/button) • interrompe a passagem da corrente elétrica • liga/desliga o circuito • sensor de toque esquemático 105
  • 106. plataforma arduino – linguagem • Comandos • digitalRead() – le um pino de entrada • Exemplo: • int chave = 0; • chave = digitalRead(num_do_pino); 106
  • 107. sensores arduino lê tensões de entrada (e não valores 0 e 1) 5 volts == HIGH (1) 0 volts == LOW (0) sem conexão em um pino, a entrada flutua entre 0 e 5 volts (HIGH e LOW) este resistor é necessário para que o pino seja levado para 0 quando não estiver conectado (chave aberta) 107
  • 109. sensores - prática • fazer o circuito e o programa para enviar ao dispositivo android o valor do sensor lido 109
  • 110. sensores - prática • esquemático Figura retirada de http://arduino.cc/ 110
  • 111. sensores - prática • protoboard 111
  • 112. Perguntas 112
  • 114. eletrônica – sinais analógicos e digitais sinal com variação discreta (valores pré-definidos) sinal com variação contínua no tempo 114
  • 115. eletrônica – conversão de sinais valor é lido em intervalos regulares de tempo e transformado em um número digital 115
  • 116. eletrônica – conversão de sinais vários valores, não só HIGH e LOW. quantiade de valores é a resolução. 116
  • 117. eletrônica – conversão de sinais resolução de 8 bits = 256 valores resolução de 16 bits = 65536 valores 117
  • 118. eletrônica - resistores • Como funciona um resistor variável? • no arduino, o valor da tensão é transformado em um valor digital entre 0 e 1023 118
  • 120. sensores analógicos – prática • ler o valor do resistor variável e ligar um LED se esse valor passar de um determinado limite. Ao acender o LED, informar o dispositivo android. 120
  • 121. sensores analógicos – prática • esquemático Figura retirada de http://arduino.cc/ 121
  • 122. sensores analógicos – prática • circuito Figura retirada de http://arduino.cc/ 122
  • 123. Perguntas 124
  • 125. Classe Amarino • conexão • Amarino.connect(context, address); • Amarino.disconnect(context, address); • Intents • AmarinoIntent.ACTION_CONNECTED • AmarinoIntent.ACTION_DISCONNECTED • AmarinoIntent.ACTION_CONNECTION_FAILED • AmarinoIntent.ACTION_PAIRING_REQUESTED • Devemos registrar um BroadcastReceiver para receber os intents desejados 126
  • 126. Classe Amarino • comunicação • Amarino. sendDataToArduino(context, address, command, data) • Intents • AmarinoIntent.ACTION_SEND • AmarinoIntent.ACTION_RECEIVED • Devemos registrar um BroadcastReceiver para receber os intents desejados • API completa em: http://www.amarino-toolkit.net/tl_files/doc/index.html 127
  • 128. biblioteca amarino - prática • fazer uma aplicação que mostre um gráfico de linha no android, com o valor do sensor lido pelo arduino. • fazer uma aplicação que exiba um gradiente na tela e altere o brilho de um LED de acordo com a área do gradiente tocada 129
  • 129. Perguntas 130
  • 130. eletrônica – resistores LDR • resistor variável sensível à luz 131
  • 131. eletrônica – resistores LDR • resistor variável sensível à luz circuito para arduino porque o resistor de 1k? - para limitar a corrente se o LDR assumir valores muito baixos 132
  • 133. entrada analógica - prática ler valores do LDR e enviar para o dispositivo android 134
  • 134. Perguntas 135
  • 136. atuadores sonoros • Buzzer piezoelétrico • formado por cerâmica piezoelétrica e disco metálico • ao receber uma tensão a cerâmica se expande, quando removemos a tensão ele volta 137
  • 137. atuadores sonoros • Buzzer piezoelétrico • 2 polos: um é ligado no GND e outro no pino de saída desejado • aplicando uma tensão variável produz vibração que é traduzida em som 138
  • 138. atuadores sonoros • como programar o arduino para tocar uma nota musical? • uma nota musical é um som em uma determinada frequência • a frequência de uma nota significa quantas vezes o atuador sonoro vibra em 1 segundo 139
  • 139. atuadores sonoros 1 segundo • para fazer o atuador baixa frequência vibrar, escrevemos no pino uma sequência de valores HIGH e LOW, tantas vezes por segundo período quanto for a frequência da nota alta frequência • o tempo de cada variação HIGH e LOW é período chamada de período e é o inverso da frequência 140
  • 140. atuadores sonoros • programar o arduino para tocar uma nota musical void playTone(int period, int duration) { for (long i = 0; i < duration * 1000L; i += period* 2) { digitalWrite(speakerPin, HIGH); delayMicroseconds(period); digitalWrite(speakerPin, LOW); delayMicroseconds(period); } } 141
  • 141. atuadores sonoros •como tocar uma nota musical? timeHigh = periodo / 2 = 1 / (2 * frequência) * nota frequência periodo tempo em nivel alto * c (dó) 261 Hz 3830 1915 * d (ré) 294 Hz 3400 1700 * e (mi) 329 Hz 3038 1519 * f (fá) 349 Hz 2864 1432 * g (sol) 392 Hz 2550 1275 * a (lá) 440 Hz 2272 1136 * b (si) 493 Hz 2028 1014 * C (dó) 523 Hz 1912 956 Não é necessário escrever essas frequências, podemos incluir o arquivo notes.h 142
  • 142. atuadores sonoros •como tocar uma nota musical? notes.h #define NOTE_B0 31 #define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 52 ... 143
  • 143. função tone • Arduino já possui uma função para tocar notas tone(pin, frequency); // emite uma determinada nota (representada pela // frequência) no pino ocrrespondente noTone(pin); // para de emitir a frequência definida por tone() // no pino correspondente tone(pin, frequency, duration); // emite uma determinada nota (representada pela // frequência) no pino ocrrespondente durante uma // determinada duração 144
  • 145. atuadores sonoros - prática • Tocar uma nota ao receber um evento do android 146
  • 146. perguntas? 147
  • 147. arduino - referencias • Lista dos comandos da linguagem em: http://arduino.cc/en/Reference/HomePage • Lista dos tutoriais em: http://www.arduino.cc/en/Tutorial/HomePage 148
  • 148. projeto 149
  • 149. projeto da disciplina • desenvolver um dispositivo interativo que utilize os conceitos aprendidos. 150