5
Robótica
IFMG
11
Robótica
UMG
52
Robótica
UMG
15
Robótica
UMG
8
Robótica
UNISAL
6
Robótica
UMG
9
Robótica
UNINGA
1
Robótica
IFSP
1
Robótica
IFSP
2
Robótica
UNISAL
Texto de pré-visualização
Autor Édilus de Carvalho Castro Penido Pág 1 Saídas Digitais Um código escrito para o Arduino é chamado de sketch Com o sketch apresentado no Código 1 podemos fazer com que o LED Figura 1 ligado ao pino 26 do Arduino MEGA pisque com uma frequência de 1 Hz uma vez por segundo alterando sucessi vamente o seu estado entre aceso e apagado em intervalos de 05 s void setup pinMode26 OUTPUT void loop digitalWrite26 1 delay500 digitalWrite26 0 delay500 Código 1 Piscar o LED ligado ao pino 26 do Arduino MEGA 1ª Versão Figura 1 LED verde Um sketch é composto basicamente por duas funções chamadas de setup e loop A principal diferença entre elas é que a função setup só é executada uma vez durante a inicialização do Arduino enquanto que a função loop é executada continuamente enquanto o módulo estiver energizado Arduíno Teoria Prática Área Computação Prof Édilus de Carvalho Castro Penido Autor Édilus de Carvalho Castro Penido Pág 2 Dessa forma a função setup é usada normalmente para fazer configurações no Arduino que estão relacionadas com o hardware externo ou com o comportamento que ele deve ter em determinadas situações Já a função loop é que contém o código prin cipal da aplicação sendo por isso que ela roda ciclicamente A função pinMode é utilizada para definir se um pino digital do Arduino será uma entrada ou uma saída Assim a linha de comando pinMode26 OUTPUT utilizada na função setup configura o pino 26 do módulo como uma saída digital A função digitalWrite é utilizada para atribuir um valor digital a um pino do Arduino que foi configurado como saída Com isso a linha de comando digitalWrite 26 1 utilizada na função loop coloca o pino 26 do módulo em nível lógico alto 1 enquanto que a linha de comando digitalWrite 26 0 coloca esse mesmo pino em nível lógico baixo 0 Quando uma saída digital do Arduino está com nível lógico alto 1 a tensão nesse pino será de 5 V Se o nível lógico for baixo 0 a tensão no pino será de 0 V Assim só circulará corrente pelo LED quando o nível no pino for alto levandoo a acen der Se o nível no pino for baixo não haverá circulação de corrente e o LED permanecerá apagado A função delay é utilizada para produzir uma pausa na execução do programa por um determinado período de tempo em milissegundos Desta forma a linha de comando delay500 utilizada na função loop pausa a execução do programa por 500 milisse gundos 05 s aproximadamente Podemos também reescrever esse programa de exemplo de tal forma a tornalo mais fácil de ser compreendido evidenciando a função desempenhada pelo pino 26 como mostrado no Código 2 define LD1 26 void setup pinModeLD1 OUTPUT void loop digitalWriteLD1 1 delay500 digitalWriteLD1 0 delay500 Código 2 Piscar o LED ligado ao pino 26 do Arduino 2ª Versão Autor Édilus de Carvalho Castro Penido Pág 3 A linha define LD1 26 estabelece que o termo LD1 deverá ser substituído pelo valor 26 número do pino do Arduino MEGA onde está ligado o LED toda a vez que ele for encontrado ao longo do código Com esse recurso de podermos nomear um pino da maneira que acharmos conveniente a interpretação de um código fica facilitada e temos uma menor probabilidade de cometer erros ao escrevêlo trocando a referência de um pino pela de outro Finalizando esse exemplo salientamos que existem outras maneiras de reescrever esse código de tal modo que o resultado final do ponto de vista do usuário um LED piscando uma vez por segundo fosse o mesmo Isso vale para todos os exemplos dessa apostila o que demonstra a versatilidade na programação do Arduino Ligações de Componentes no Simulador UnoArduSim a LEDs simples define LD1 26 LED simples verde define LD2 27 LED simples amarelo define LD3 28 LED simples vermelho define LD4 29 LED simples azul Figura 2 LEDs simples b Barra de LEDs define BL1 30 LED 1 da barra define BL2 31 LED 2 da barra define BL3 32 LED 3 da barra define BL4 33 LED 4 da barra Figura 3 Barra de LEDs Autor Édilus de Carvalho Castro Penido Pág 4 c Display de Sete Segmentos define DP1 35 1º dígito do display define DP2 36 2º dígito do display define DP3 37 3º dígito do display define DP4 38 4º dígito do display define DPH 39 Habilitação do display Um display de sete segmentos Figura 4 é um arranjo de LEDs utilizado normal mente para exibir números e outros caracteres de forma gráfica Maiores informações sobre eles podem ser obtidas nos links a seguir httpscuttlytfAyP06 httpscuttlytfAyJPa Figura 4 Display de sete segmentos com LEDs O display de sete segmentos do simulador possui um decodificador que opera com números binários de quatro dígitos Assim se o Arduino enviar para ele o número 0101 será exibido um 5 É importante notar a posição dos dígitos em relação aos pinos do display para que o número seja exibido corretamente 0 1 0 1 DP4 DP3 DP2 DP1 Para a sua utilização no simulador o pino de habilitação CS deve estar em nível baixo 0 O Código 3 por exemplo mostra uma forma de exibir sequencialmente os nú meros 0 1 e 2 com intervalos de 750 ms entre eles Autor Édilus de Carvalho Castro Penido Pág 5 define DP1 35 1º dígito do display define DP2 36 2º dígito do display define DP3 37 3º dígito do display define DP4 38 4º dígito do display define DPH 39 Habilitação do display void setup pinModeDP1 OUTPUT pinModeDP2 OUTPUT pinModeDP3 OUTPUT pinModeDP4 OUTPUT pinModeDPH OUTPUT digitalWriteDPH 0 Pino de habilitação CS em nível 0 void loop Número 0 digitalWrite DP1 0 digitalWrite DP2 0 digitalWrite DP3 0 digitalWrite DP4 0 delay750 Número 1 digitalWrite DP1 1 digitalWrite DP2 0 digitalWrite DP3 0 digitalWrite DP4 0 delay750 Número 2 digitalWrite DP1 0 digitalWrite DP2 1 digitalWrite DP3 0 digitalWrite DP4 0 delay750 Código 3 Mostrar sequencialmente os números 0 1 e 2 no display de 7 segmentos
5
Robótica
IFMG
11
Robótica
UMG
52
Robótica
UMG
15
Robótica
UMG
8
Robótica
UNISAL
6
Robótica
UMG
9
Robótica
UNINGA
1
Robótica
IFSP
1
Robótica
IFSP
2
Robótica
UNISAL
Texto de pré-visualização
Autor Édilus de Carvalho Castro Penido Pág 1 Saídas Digitais Um código escrito para o Arduino é chamado de sketch Com o sketch apresentado no Código 1 podemos fazer com que o LED Figura 1 ligado ao pino 26 do Arduino MEGA pisque com uma frequência de 1 Hz uma vez por segundo alterando sucessi vamente o seu estado entre aceso e apagado em intervalos de 05 s void setup pinMode26 OUTPUT void loop digitalWrite26 1 delay500 digitalWrite26 0 delay500 Código 1 Piscar o LED ligado ao pino 26 do Arduino MEGA 1ª Versão Figura 1 LED verde Um sketch é composto basicamente por duas funções chamadas de setup e loop A principal diferença entre elas é que a função setup só é executada uma vez durante a inicialização do Arduino enquanto que a função loop é executada continuamente enquanto o módulo estiver energizado Arduíno Teoria Prática Área Computação Prof Édilus de Carvalho Castro Penido Autor Édilus de Carvalho Castro Penido Pág 2 Dessa forma a função setup é usada normalmente para fazer configurações no Arduino que estão relacionadas com o hardware externo ou com o comportamento que ele deve ter em determinadas situações Já a função loop é que contém o código prin cipal da aplicação sendo por isso que ela roda ciclicamente A função pinMode é utilizada para definir se um pino digital do Arduino será uma entrada ou uma saída Assim a linha de comando pinMode26 OUTPUT utilizada na função setup configura o pino 26 do módulo como uma saída digital A função digitalWrite é utilizada para atribuir um valor digital a um pino do Arduino que foi configurado como saída Com isso a linha de comando digitalWrite 26 1 utilizada na função loop coloca o pino 26 do módulo em nível lógico alto 1 enquanto que a linha de comando digitalWrite 26 0 coloca esse mesmo pino em nível lógico baixo 0 Quando uma saída digital do Arduino está com nível lógico alto 1 a tensão nesse pino será de 5 V Se o nível lógico for baixo 0 a tensão no pino será de 0 V Assim só circulará corrente pelo LED quando o nível no pino for alto levandoo a acen der Se o nível no pino for baixo não haverá circulação de corrente e o LED permanecerá apagado A função delay é utilizada para produzir uma pausa na execução do programa por um determinado período de tempo em milissegundos Desta forma a linha de comando delay500 utilizada na função loop pausa a execução do programa por 500 milisse gundos 05 s aproximadamente Podemos também reescrever esse programa de exemplo de tal forma a tornalo mais fácil de ser compreendido evidenciando a função desempenhada pelo pino 26 como mostrado no Código 2 define LD1 26 void setup pinModeLD1 OUTPUT void loop digitalWriteLD1 1 delay500 digitalWriteLD1 0 delay500 Código 2 Piscar o LED ligado ao pino 26 do Arduino 2ª Versão Autor Édilus de Carvalho Castro Penido Pág 3 A linha define LD1 26 estabelece que o termo LD1 deverá ser substituído pelo valor 26 número do pino do Arduino MEGA onde está ligado o LED toda a vez que ele for encontrado ao longo do código Com esse recurso de podermos nomear um pino da maneira que acharmos conveniente a interpretação de um código fica facilitada e temos uma menor probabilidade de cometer erros ao escrevêlo trocando a referência de um pino pela de outro Finalizando esse exemplo salientamos que existem outras maneiras de reescrever esse código de tal modo que o resultado final do ponto de vista do usuário um LED piscando uma vez por segundo fosse o mesmo Isso vale para todos os exemplos dessa apostila o que demonstra a versatilidade na programação do Arduino Ligações de Componentes no Simulador UnoArduSim a LEDs simples define LD1 26 LED simples verde define LD2 27 LED simples amarelo define LD3 28 LED simples vermelho define LD4 29 LED simples azul Figura 2 LEDs simples b Barra de LEDs define BL1 30 LED 1 da barra define BL2 31 LED 2 da barra define BL3 32 LED 3 da barra define BL4 33 LED 4 da barra Figura 3 Barra de LEDs Autor Édilus de Carvalho Castro Penido Pág 4 c Display de Sete Segmentos define DP1 35 1º dígito do display define DP2 36 2º dígito do display define DP3 37 3º dígito do display define DP4 38 4º dígito do display define DPH 39 Habilitação do display Um display de sete segmentos Figura 4 é um arranjo de LEDs utilizado normal mente para exibir números e outros caracteres de forma gráfica Maiores informações sobre eles podem ser obtidas nos links a seguir httpscuttlytfAyP06 httpscuttlytfAyJPa Figura 4 Display de sete segmentos com LEDs O display de sete segmentos do simulador possui um decodificador que opera com números binários de quatro dígitos Assim se o Arduino enviar para ele o número 0101 será exibido um 5 É importante notar a posição dos dígitos em relação aos pinos do display para que o número seja exibido corretamente 0 1 0 1 DP4 DP3 DP2 DP1 Para a sua utilização no simulador o pino de habilitação CS deve estar em nível baixo 0 O Código 3 por exemplo mostra uma forma de exibir sequencialmente os nú meros 0 1 e 2 com intervalos de 750 ms entre eles Autor Édilus de Carvalho Castro Penido Pág 5 define DP1 35 1º dígito do display define DP2 36 2º dígito do display define DP3 37 3º dígito do display define DP4 38 4º dígito do display define DPH 39 Habilitação do display void setup pinModeDP1 OUTPUT pinModeDP2 OUTPUT pinModeDP3 OUTPUT pinModeDP4 OUTPUT pinModeDPH OUTPUT digitalWriteDPH 0 Pino de habilitação CS em nível 0 void loop Número 0 digitalWrite DP1 0 digitalWrite DP2 0 digitalWrite DP3 0 digitalWrite DP4 0 delay750 Número 1 digitalWrite DP1 1 digitalWrite DP2 0 digitalWrite DP3 0 digitalWrite DP4 0 delay750 Número 2 digitalWrite DP1 0 digitalWrite DP2 1 digitalWrite DP3 0 digitalWrite DP4 0 delay750 Código 3 Mostrar sequencialmente os números 0 1 e 2 no display de 7 segmentos