Arduino MS
Arduino MS
 Sobre este Minicurso
 • Viabilizado pela Organização do ERI MS;
 • Apoiado pelo grupo ArduinoMS;
 • Agradecimentos especiais ao do SENAC e UCDB.

 Sobre o Ministrante:
 • Samuel Cavalcante
 • Engenheiro de Computação (UNIDERP)- CREA-MS: 12873D
 • Pós Graduado em Eng. De Sistemas (ESAB)
 • Analista em Educação profissional no SENAC/MS
 • Professor UNIDERP e UNAES II
 • Pai, Esposo, Professor, Empresário, Consultor, participante
   de comunidades, conselheiro entre outros.
Arduino MS
 O que veremos

 •   Introdução ao Arduino
 •   Código Pisca LED
 •   Configurando a IDE para transferir o Código
 •   Acionamento de LED com Botão
 •   Pisca Led com Sensor LDR
 •   Sensor de Temperatura




 Obs.: Ao decorrer da oficina serão tratados assuntos sobre
 eletrônica e eletricidade básica.
Microcontrolador X Microprocessadorr

• Qual a principal diferença entre eles?
Arduino MS
 Introdução ao Arduino

 • Plataforma baseada em Atmel da AVR (ATMega168;
   ATMega 328);
 • Oferece um IDE e bibliotecas de programação de alto nível;
 • Open-source hardware e software
 • Ampla comunidade
 • Programado em C/C++
 • Transferência de firmware
 via USB
 • MCU com bootloader
Arduino MS
 Histórico do Arduino

 • Projeto criado na Itália pelo Mássimo Banzi no Interaction
   Design Institute Ivrea;
 • Nasceu para complementar o aprendizado de programação,
   computação física e gráfica;
 • Nasceu do Processing e Wiring;
    – Processing é um ambiente e linguagem de programação para
      criar imagens, animação e interação;
Arduino MS
 Simplicidade no circuito:
Arduino MS
 Muitas aplicações práticas

 •   Robôs
 •   Roupas eletrônicas
 •   Máquinas de corte e modelagem 3D de baixo custo;
 •   Desenvolvimento de celulares customizados
 •   Instrumentos musicais
 •   Paredes interativas
 •   Instrumentação humana
Arduino MS
 Vários tipos, vários fabricantes...

 •   Mega
 •   Lilypad
 •   Nano
 •   Uno
 •   Pro
 •   Arduino BT
 •   Freeduino
 •   Severino
 •   Program-ME
Arduino MS
 Atmega168 / Atmega328: coração

 •   Características do ATmega 168:
 •   RISC –Reduced Instruction Set Computer
 •   20 MIPS (20 Milhões de instruções por segundo)
 •   16Kb Flash / 512 b EEPROM / 1Kb RAM Estática
 •   10.000 ciclos na Flash e 100.000 na EEPROM
 •   2 contadores / temporizadores de 8bits
 •   1 contador / temporizador de 16bits
 •   1 temporizador de tempo real com clock a parte
 •   14 portas digitais
 •   6 portas analógicas
Arduino MS
 Características técnicas

 •   6 canais PWM
 •   6 conversores analógico/digital de 10 bits
 •   1 serial programável (USART)
 •   1 interface SPI (Serial Peripheral Interface)
 •   1 interface serial a 2 fios (I2C)
 •   1 watch dog timer programável
 •   1 comparador analógico no chip
 •   Interrupção ou wake-up na alteração de estado dos pinos
Arduino MS
 Resumo das conexões da placa
Arduino MS
    FT232RL
    Conversor USB-Serial



        Conector USB



   Regular 7085:
   Recebe até 12 volts e
   regula para 5 volts


 Alimentação externa:
 Até 12 volts
Arduino MS

             Botão de reset



             ICSP
             Para gravar bootloader
             ou programas/firmware


               AtMega328 /168/8
Arduino MS
 AREF                         Portas digitais 0 a 13
 Referência analógica   GND
                              0 RX 1 TX = usada durante
 Padrão 5 volts               transferência de sketch e
                              comunicação serial com
                              placa

                              2,4,7,8,12,13 = portas
                              digitais convêncionais

                              3,5,6,9,10,11 = portas PWM
Arduino MS



                                              Portas analógicas 4 e 5
                                              São as portas utilizadas
                                              para conexões via I2C /
                                              TWI.




                    GND     Portas analógicas de 0 a 5
             5 volts        Podem funcionar como digitais de 14 a 19
        3.3 volts      VIN
                       Alimentação de entrada sem regulagem
Arduino MS
 Shields: arquitetura modular inteligente

 • Arduino estabeleceu um padrão de pinagem que é
   respeitado por diversas placas shield:
Arduino MS
 Por dentro do MCU
Arduino MS
 Porta Digital Vs. Analógica
 • Digital: trabalha com lógica binária, 0 e 1.
    – No Arduino segue padrão TTL onde:
       • 0 a 0,8 volts = 0
       • 2 a 5 volts = 1
 • Analógica: valor lido é análogo a tensão.
    – Referência de analogia é 5 volts
       • 0 volts = 0
       • 2.5 volts= 512
       • 5 volts = 1023
    – Conversor A/D de 10 bits: 0 a 1023
       • 00000000012 = 110 = 0,005v
       • 00000000102 = 210 = 0,010v
       • 00000000112 = 210 = 0,015v
       • 10000000002 = 51210 = 2,50v
       • ....
Arduino MS
 Porta Digital Vs. Analógica

 • Portas analógicas expressam valores de 0 a 1023 mas
   não são utilizadas para transferência de informações
   precisas
    – Neste caso o dispositivo recebe um valor analógico de 0v à 5v,
      que será convertido em um número binário de 10 bits. Cada
      bits somado ao circuito equivale a 0,005v.
 • Portas digitais permitem que dados sejam transferidos
   em sequencia através de uma lógica ou protocolo binário
    – Portas digitais não conseguem comandar potência
Arduino MS
 Porta PWM

 • Uma porta híbrida:
   digital porém com
   modularização de
   zeros e uns de forma
   que consegue
   expressar uma idéia
   de potência;
Arduino MS
 Na prática

 • Ligamos componentes em portas digitais (comuns, PWM)
   ou analógica
 • Fazemos leitura e escrita nestas portas afim de obter um
   dado ou um determinado comportamento
 • Processamos os dados no microcontrolador



 Alguns exemplos de componentes...
Arduino MS
 Ping – Sensor de distância ultrasonico
Arduino MS
LCD Touch
 Shield LCD Touch screen
Arduino MS
SIM Reader
 SIM Reader
Arduino MS

 Lojas de componentes
•   www.parallax.com
•   www.sparkfun.com
•   www.makershed.com
•   www.liquidware.com
•   www.ladyada.net
•   www.adafruit.com
•   www.rlrobotics.ind.br/ - BRASIL
•   www.empretecnet.com.br/do/Home - BRASIL
Arduino MS
 Programando para Arduino

 • IDE pode ser baixada de www.arduino.cc
 • A IDE foi desenvolvida com Java, portanto precisaremos de
    um máquina virtual instalada.
 • Funciona em Windows. Mac OS X e Linux (em alguns
    windows e mac pode ser necessário colocar driver)
 • Utiliza GCC + GCC Avr para compilação
 (você pode também programar diretamente com GCC!)
 • A transferência para a placa é feita via USB pelo IDE;
 (mas também pode ser feita com gravadores ICSP!)
Arduino MS
 Partes básicas do programa Arduino

 • Temos que obrigatoriamente programar dois métodos:

    void setup() {
    }
    void loop() {
    }


 • O setup é executado uma só vez assim que a placa for
   ligada e o loop terá o código de execução infinita
Arduino MS
 Portas digitais e analógicas

 • Na prática ligamos componentes em portas digitais e
   analógicas e através do código Arduino, manipulamos as
   portas:
    – pinMode(<porta>, <modo>): configura uma porta digital
      para ser lida ou para enviarmos dados;
    – digitalWrite(<porta>, 0 ou 1): envia 0 ou 1 para porta digital
    – digitalRead(<porta>): retorna um 0 ou 1 lido da porta
    – analogRead(<porta>): retorna de 0 a 1023 com o valor da
      porta analógica
    – analogWrite(<porta>, <valor>): escreve em uma porta PWM
      um valor de 0 a 255
Arduino MS
Protoboard ou Matriz de contato

                                  É um dispositivo usado
                                  para construir circuitos sem
                                  a necessidade de solda. Na
                                  parte central de todos os
                                  pinos alinhados sob um
                                  número estiver conectado,
                                  enquanto os nas bordas
                                  superior e inferior -
                                  normalmente marcado com
                                  linhas pretas e vermelhas -
                                  são conectados na
                                  horizontal.
Arduino MS
 Primeiro contato com Arduino

 • Ligar sua placa no cabo USB e no PC
 • Realizar a instalação do Driver com a ajuda do facilitador
 • Verificar o jumper de alimentação configurando para USB
   se necessário
 • Digitar o código, a ser passado, no Arduino IDE
 • Selecionar no software a versão do Arduino e a porta serial
   de comunicação.
 • Clicar no botão de transferência de sketch
Arduino MS
 Exemplo “pisca led” com Arduino
                               Esta conexão é bem simples
                               somente para efeito de teste
                               para piscar o led.

                               O correto é ligar um resistor
                               usando uma protoboard.
Arduino MS
 Exemplo “pisca led”

 void setup() {
   pinMode(13, OUTPUT); //porta 13 em output
 }

 void loop() {
   digitalWrite(13, HIGH); //HIGH = 1 = TRUE
   delay(500);
   digitalWrite(13, LOW); //LOW = 0 = FALSE
   delay(500);
 }
Configurando a IDE para transferir o Código
Configurando a IDE para transferir o Código
Procurando erros no código
Fazendo o Upload do Código para o Arduino
Arduino MS
 Entrada Digital: Fazendo leitura de um botão

 • Os pinos do Arduino são extremamente sensíveis,
   permitindo a leitura de ruído elétrico do ambiente. O
   próximo teste utilizaremos o pino 7 como leitura de dados
   externos, como é uma porta digital será lido HIGH ou LOW
   (1 ou 0). Essa leitura é realizada pelo comando
   digitalRead(port).

 • Conecte três fios à placa Arduino. O primeiro de uma perna
   do botão através de um resistor de pull-up (aqui 10K Ω)
   para o fornecimento de 5 volts. A segunda vai da perna
   correspondente do botão ao GND. O terceiro se conecta a
   um pino digital I/O (pino 7) que lê o estado do botão.
Arduino MS
 Montando o Circuito
Arduino MS
 Código Aciona LED com botão

 int val = 0; // variável para ler o status do pino
 void setup() {
   pinMode(13, OUTPUT); // declare LED como output
   pinMode(7, INPUT); // declare pushbutton como input
 }
 void loop(){
   val = digitalRead(7); // ler a entrada de valor
   if (val == HIGH) {// verificar se a entrada é alta
    digitalWrite(13, LOW); // LED OFF
   } else {
    digitalWrite(13, HIGH); // LED ON
   }
 }
Arduino MS
Tempo entre acende e apaga LED usando sensor LDR

 • Use o mesmo circuito como antes, mudando o botão com o
   sensor de luz e trocando a ligação do pino digital 7 para o
   pino analógico 2.

 • A função permite enviar um valor numérico para o
   computador. Variando números digitais no intervalo de 0-
   1024 (resolução de 1 Bit).

 • Nesta função usamos a comunicação serial, com isso abra o
   monitor serial para ler dados do sensor. – Após o código ser
   copiado no Arduino.
Arduino MS
 Montando o Circuito
Arduino MS
  Código
int val = 0; // variável para armazenar o valor vindo do sensor
void setup() {
  pinMode(13, OUTPUT); // declara o ledPin como uma saída
  Serial.begin(9600); // usar a porta serial para comunicação
}
void loop() {
  val = analogRead(2); // lê o valor do sensor
  Serial.println(val); // imprime o valor para a porta serial
  digitalWrite(13, HIGH); // ligar o LED
  delay(val); // parar o programa por algum tempo
  digitalWrite(13, LOW); // desligar o LED
  delay(val); // tempo antes do proximo ciclo
}
Vetor de LEDs

• Monte na matriz de contato 5 leds, cada perna maior do
  LED (VCC) será ligada a uma perna do resistor, a outra
  perna do resistor será ligada em cada um dos seguinte
  pinos Digital, 12, 11, 10, 9 e 8. A perna menor dos LEDs,
  no GND (0v).

• A atividade é fazer esses LEDs acenderem em sequencia,
  acendendo um LED de cada vez, com intervalos de 50
  milisegundos por led, após todos acessos aguardar 1000
  milisegundos e começar a apagar os leds, com o mesmo
  intervalor de tempo.
Vetor de LEDs – Montando o circuito
Vetor de LEDs Código
int i;                            delay(50);
void setup() {                   }
  pinMode(13, OUTPUT);           delay(1000);
  pinMode(12, OUTPUT);           for(i=8;i<=13;i++){
  pinMode(11, OUTPUT);             digitalWrite(i, LOW);
  pinMode(10, OUTPUT);             delay(50);
  pinMode(9, OUTPUT);            }
}                                delay(1000);
void loop() {                }
  for(i=13;i>=8;i--){
    digitalWrite(i, HIGH);
Vetor de LEDs com potenciômetro
Vetor de LEDs com potenciômetro
int i, port, potenc;                   }else{
float tensao=0;                          digitalWrite(port, LOW);
void setup() {                         }
  pinMode(13, OUTPUT);                 port--;
  pinMode(12, OUTPUT);                }
  pinMode(11, OUTPUT);                Serial.print("Valor decimal = ");
  pinMode(10, OUTPUT);                Serial.print(potenc);
  pinMode(9, OUTPUT);                 tensao=potenc*0.004883;
  Serial.begin(9600);                 Serial.print(" - Tensao = ");
}                                     Serial.print(tensao);
void loop() {                         Serial.println(" V");
  potenc=analogRead(2);               delay(500);
  port=13;                        }
  for(i=1;i<=5;i++){
    if(potenc>((i*2-1)*100)){
      digitalWrite(port, HIGH);
Arduino MS
 Resumindo...

 • Arduino é um projeto simples, popular e acessível
 • Eletrônica e programação embarcada alto nível
 • Na prática ligamos componentes nas portas analógicas e
   digitais e escrevemos programas que usam as portas
 • Existem diversas bibliotecas que encapsulam a lógica de
   comunicação digital ou analógica: servo, motor de passo,
   Android, display LCD
 • Ter portas digitais analógicas e pmw é um grande valor do
   microcontrolador utilizado
 • A transfêrencia via USB e a ferramenta / IDE para
   programação funcionam em múltiplas plataformas
 • Open-source Hardware e Open-source software

Arduino Hack Day Corumbá

  • 1.
  • 2.
    Arduino MS Sobreeste Minicurso • Viabilizado pela Organização do ERI MS; • Apoiado pelo grupo ArduinoMS; • Agradecimentos especiais ao do SENAC e UCDB. Sobre o Ministrante: • Samuel Cavalcante • Engenheiro de Computação (UNIDERP)- CREA-MS: 12873D • Pós Graduado em Eng. De Sistemas (ESAB) • Analista em Educação profissional no SENAC/MS • Professor UNIDERP e UNAES II • Pai, Esposo, Professor, Empresário, Consultor, participante de comunidades, conselheiro entre outros.
  • 3.
    Arduino MS Oque veremos • Introdução ao Arduino • Código Pisca LED • Configurando a IDE para transferir o Código • Acionamento de LED com Botão • Pisca Led com Sensor LDR • Sensor de Temperatura Obs.: Ao decorrer da oficina serão tratados assuntos sobre eletrônica e eletricidade básica.
  • 4.
    Microcontrolador X Microprocessadorr •Qual a principal diferença entre eles?
  • 5.
    Arduino MS Introduçãoao Arduino • Plataforma baseada em Atmel da AVR (ATMega168; ATMega 328); • Oferece um IDE e bibliotecas de programação de alto nível; • Open-source hardware e software • Ampla comunidade • Programado em C/C++ • Transferência de firmware via USB • MCU com bootloader
  • 6.
    Arduino MS Históricodo Arduino • Projeto criado na Itália pelo Mássimo Banzi no Interaction Design Institute Ivrea; • Nasceu para complementar o aprendizado de programação, computação física e gráfica; • Nasceu do Processing e Wiring; – Processing é um ambiente e linguagem de programação para criar imagens, animação e interação;
  • 7.
  • 8.
    Arduino MS Muitasaplicações práticas • Robôs • Roupas eletrônicas • Máquinas de corte e modelagem 3D de baixo custo; • Desenvolvimento de celulares customizados • Instrumentos musicais • Paredes interativas • Instrumentação humana
  • 9.
    Arduino MS Váriostipos, vários fabricantes... • Mega • Lilypad • Nano • Uno • Pro • Arduino BT • Freeduino • Severino • Program-ME
  • 10.
    Arduino MS Atmega168/ Atmega328: coração • Características do ATmega 168: • RISC –Reduced Instruction Set Computer • 20 MIPS (20 Milhões de instruções por segundo) • 16Kb Flash / 512 b EEPROM / 1Kb RAM Estática • 10.000 ciclos na Flash e 100.000 na EEPROM • 2 contadores / temporizadores de 8bits • 1 contador / temporizador de 16bits • 1 temporizador de tempo real com clock a parte • 14 portas digitais • 6 portas analógicas
  • 11.
    Arduino MS Característicastécnicas • 6 canais PWM • 6 conversores analógico/digital de 10 bits • 1 serial programável (USART) • 1 interface SPI (Serial Peripheral Interface) • 1 interface serial a 2 fios (I2C) • 1 watch dog timer programável • 1 comparador analógico no chip • Interrupção ou wake-up na alteração de estado dos pinos
  • 12.
    Arduino MS Resumodas conexões da placa
  • 13.
    Arduino MS FT232RL Conversor USB-Serial Conector USB Regular 7085: Recebe até 12 volts e regula para 5 volts Alimentação externa: Até 12 volts
  • 14.
    Arduino MS Botão de reset ICSP Para gravar bootloader ou programas/firmware AtMega328 /168/8
  • 15.
    Arduino MS AREF Portas digitais 0 a 13 Referência analógica GND 0 RX 1 TX = usada durante Padrão 5 volts transferência de sketch e comunicação serial com placa 2,4,7,8,12,13 = portas digitais convêncionais 3,5,6,9,10,11 = portas PWM
  • 16.
    Arduino MS Portas analógicas 4 e 5 São as portas utilizadas para conexões via I2C / TWI. GND Portas analógicas de 0 a 5 5 volts Podem funcionar como digitais de 14 a 19 3.3 volts VIN Alimentação de entrada sem regulagem
  • 17.
    Arduino MS Shields:arquitetura modular inteligente • Arduino estabeleceu um padrão de pinagem que é respeitado por diversas placas shield:
  • 18.
    Arduino MS Pordentro do MCU
  • 19.
    Arduino MS PortaDigital Vs. Analógica • Digital: trabalha com lógica binária, 0 e 1. – No Arduino segue padrão TTL onde: • 0 a 0,8 volts = 0 • 2 a 5 volts = 1 • Analógica: valor lido é análogo a tensão. – Referência de analogia é 5 volts • 0 volts = 0 • 2.5 volts= 512 • 5 volts = 1023 – Conversor A/D de 10 bits: 0 a 1023 • 00000000012 = 110 = 0,005v • 00000000102 = 210 = 0,010v • 00000000112 = 210 = 0,015v • 10000000002 = 51210 = 2,50v • ....
  • 20.
    Arduino MS PortaDigital Vs. Analógica • Portas analógicas expressam valores de 0 a 1023 mas não são utilizadas para transferência de informações precisas – Neste caso o dispositivo recebe um valor analógico de 0v à 5v, que será convertido em um número binário de 10 bits. Cada bits somado ao circuito equivale a 0,005v. • Portas digitais permitem que dados sejam transferidos em sequencia através de uma lógica ou protocolo binário – Portas digitais não conseguem comandar potência
  • 21.
    Arduino MS PortaPWM • Uma porta híbrida: digital porém com modularização de zeros e uns de forma que consegue expressar uma idéia de potência;
  • 22.
    Arduino MS Naprática • Ligamos componentes em portas digitais (comuns, PWM) ou analógica • Fazemos leitura e escrita nestas portas afim de obter um dado ou um determinado comportamento • Processamos os dados no microcontrolador Alguns exemplos de componentes...
  • 23.
    Arduino MS Ping– Sensor de distância ultrasonico
  • 24.
    Arduino MS LCD Touch Shield LCD Touch screen
  • 25.
  • 26.
    Arduino MS Lojasde componentes • www.parallax.com • www.sparkfun.com • www.makershed.com • www.liquidware.com • www.ladyada.net • www.adafruit.com • www.rlrobotics.ind.br/ - BRASIL • www.empretecnet.com.br/do/Home - BRASIL
  • 27.
    Arduino MS Programandopara Arduino • IDE pode ser baixada de www.arduino.cc • A IDE foi desenvolvida com Java, portanto precisaremos de um máquina virtual instalada. • Funciona em Windows. Mac OS X e Linux (em alguns windows e mac pode ser necessário colocar driver) • Utiliza GCC + GCC Avr para compilação (você pode também programar diretamente com GCC!) • A transferência para a placa é feita via USB pelo IDE; (mas também pode ser feita com gravadores ICSP!)
  • 28.
    Arduino MS Partesbásicas do programa Arduino • Temos que obrigatoriamente programar dois métodos: void setup() { } void loop() { } • O setup é executado uma só vez assim que a placa for ligada e o loop terá o código de execução infinita
  • 29.
    Arduino MS Portasdigitais e analógicas • Na prática ligamos componentes em portas digitais e analógicas e através do código Arduino, manipulamos as portas: – pinMode(<porta>, <modo>): configura uma porta digital para ser lida ou para enviarmos dados; – digitalWrite(<porta>, 0 ou 1): envia 0 ou 1 para porta digital – digitalRead(<porta>): retorna um 0 ou 1 lido da porta – analogRead(<porta>): retorna de 0 a 1023 com o valor da porta analógica – analogWrite(<porta>, <valor>): escreve em uma porta PWM um valor de 0 a 255
  • 30.
    Arduino MS Protoboard ouMatriz de contato É um dispositivo usado para construir circuitos sem a necessidade de solda. Na parte central de todos os pinos alinhados sob um número estiver conectado, enquanto os nas bordas superior e inferior - normalmente marcado com linhas pretas e vermelhas - são conectados na horizontal.
  • 31.
    Arduino MS Primeirocontato com Arduino • Ligar sua placa no cabo USB e no PC • Realizar a instalação do Driver com a ajuda do facilitador • Verificar o jumper de alimentação configurando para USB se necessário • Digitar o código, a ser passado, no Arduino IDE • Selecionar no software a versão do Arduino e a porta serial de comunicação. • Clicar no botão de transferência de sketch
  • 32.
    Arduino MS Exemplo“pisca led” com Arduino Esta conexão é bem simples somente para efeito de teste para piscar o led. O correto é ligar um resistor usando uma protoboard.
  • 33.
    Arduino MS Exemplo“pisca led” void setup() { pinMode(13, OUTPUT); //porta 13 em output } void loop() { digitalWrite(13, HIGH); //HIGH = 1 = TRUE delay(500); digitalWrite(13, LOW); //LOW = 0 = FALSE delay(500); }
  • 34.
    Configurando a IDEpara transferir o Código
  • 35.
    Configurando a IDEpara transferir o Código
  • 36.
  • 37.
    Fazendo o Uploaddo Código para o Arduino
  • 38.
    Arduino MS EntradaDigital: Fazendo leitura de um botão • Os pinos do Arduino são extremamente sensíveis, permitindo a leitura de ruído elétrico do ambiente. O próximo teste utilizaremos o pino 7 como leitura de dados externos, como é uma porta digital será lido HIGH ou LOW (1 ou 0). Essa leitura é realizada pelo comando digitalRead(port). • Conecte três fios à placa Arduino. O primeiro de uma perna do botão através de um resistor de pull-up (aqui 10K Ω) para o fornecimento de 5 volts. A segunda vai da perna correspondente do botão ao GND. O terceiro se conecta a um pino digital I/O (pino 7) que lê o estado do botão.
  • 39.
  • 40.
    Arduino MS CódigoAciona LED com botão int val = 0; // variável para ler o status do pino void setup() { pinMode(13, OUTPUT); // declare LED como output pinMode(7, INPUT); // declare pushbutton como input } void loop(){ val = digitalRead(7); // ler a entrada de valor if (val == HIGH) {// verificar se a entrada é alta digitalWrite(13, LOW); // LED OFF } else { digitalWrite(13, HIGH); // LED ON } }
  • 41.
    Arduino MS Tempo entreacende e apaga LED usando sensor LDR • Use o mesmo circuito como antes, mudando o botão com o sensor de luz e trocando a ligação do pino digital 7 para o pino analógico 2. • A função permite enviar um valor numérico para o computador. Variando números digitais no intervalo de 0- 1024 (resolução de 1 Bit). • Nesta função usamos a comunicação serial, com isso abra o monitor serial para ler dados do sensor. – Após o código ser copiado no Arduino.
  • 42.
  • 43.
    Arduino MS Código int val = 0; // variável para armazenar o valor vindo do sensor void setup() { pinMode(13, OUTPUT); // declara o ledPin como uma saída Serial.begin(9600); // usar a porta serial para comunicação } void loop() { val = analogRead(2); // lê o valor do sensor Serial.println(val); // imprime o valor para a porta serial digitalWrite(13, HIGH); // ligar o LED delay(val); // parar o programa por algum tempo digitalWrite(13, LOW); // desligar o LED delay(val); // tempo antes do proximo ciclo }
  • 44.
    Vetor de LEDs •Monte na matriz de contato 5 leds, cada perna maior do LED (VCC) será ligada a uma perna do resistor, a outra perna do resistor será ligada em cada um dos seguinte pinos Digital, 12, 11, 10, 9 e 8. A perna menor dos LEDs, no GND (0v). • A atividade é fazer esses LEDs acenderem em sequencia, acendendo um LED de cada vez, com intervalos de 50 milisegundos por led, após todos acessos aguardar 1000 milisegundos e começar a apagar os leds, com o mesmo intervalor de tempo.
  • 45.
    Vetor de LEDs– Montando o circuito
  • 46.
    Vetor de LEDsCódigo int i; delay(50); void setup() { } pinMode(13, OUTPUT); delay(1000); pinMode(12, OUTPUT); for(i=8;i<=13;i++){ pinMode(11, OUTPUT); digitalWrite(i, LOW); pinMode(10, OUTPUT); delay(50); pinMode(9, OUTPUT); } } delay(1000); void loop() { } for(i=13;i>=8;i--){ digitalWrite(i, HIGH);
  • 47.
    Vetor de LEDscom potenciômetro
  • 48.
    Vetor de LEDscom potenciômetro int i, port, potenc; }else{ float tensao=0; digitalWrite(port, LOW); void setup() { } pinMode(13, OUTPUT); port--; pinMode(12, OUTPUT); } pinMode(11, OUTPUT); Serial.print("Valor decimal = "); pinMode(10, OUTPUT); Serial.print(potenc); pinMode(9, OUTPUT); tensao=potenc*0.004883; Serial.begin(9600); Serial.print(" - Tensao = "); } Serial.print(tensao); void loop() { Serial.println(" V"); potenc=analogRead(2); delay(500); port=13; } for(i=1;i<=5;i++){ if(potenc>((i*2-1)*100)){ digitalWrite(port, HIGH);
  • 50.
    Arduino MS Resumindo... • Arduino é um projeto simples, popular e acessível • Eletrônica e programação embarcada alto nível • Na prática ligamos componentes nas portas analógicas e digitais e escrevemos programas que usam as portas • Existem diversas bibliotecas que encapsulam a lógica de comunicação digital ou analógica: servo, motor de passo, Android, display LCD • Ter portas digitais analógicas e pmw é um grande valor do microcontrolador utilizado • A transfêrencia via USB e a ferramenta / IDE para programação funcionam em múltiplas plataformas • Open-source Hardware e Open-source software