Minicurso de Arduino Gabriel Vasiljević Felipe Fernandes January 30, 2013 Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 1 / 14
Na aula passada... Portas Digitais Componentes eletrônicos LEDs Resistores Capacitores Protoboard Primeiro exemplo melhorado Botões Buzzers Exercícios Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 2 / 14
Na aula de hoje... Portas PWM Exemplos e exercicios Comunicação Serial Exemplos e Exercícios Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 3 / 14
Portas PWM PWM - Pulse-Width Modulation Também são portas digitais Simulam o comportamento das portas analógicas Ou seja, podem simular valores de tensão entre 0V e 5V Duty Cycle digitalread(pino); digitalwrite(pino, estado); Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 4 / 14
Portas PWM Para utilizar a modulação do pulso, precisamos informar: A porta A porcentagem de duração do ciclo Para isso, utilizamos a função analogwrite(porta, ciclo) Ciclo é um inteiro entre 0 (0% do tempo) e 255 (100% do tempo) Porta é uma porta PWM, necessariamente Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 5 / 14
Portas PWM - Exercício Tarefa: fazer um LED acender suavemente Dicas: Lembre-se que podemos usar qualquer comando de C Utilize a função delay para perceber o aumento suave no brilho do LED Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 6 / 14
Portas PWM - Exercício Tarefas: Fazê-lo também apagar suavemente Aumentar o brilho do LED conforme um botão é pressionado Apagar e acender dois LEDs simultaneamente e suavemente Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 7 / 14
Comunicação Serial Podemos utilizar a conexão USB do Arduino para controlá-lo Comunicação serial USB - Universal Serial Bus Podemos enviar e receber comandos do Arduino por entrada de teclado Como? Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 8 / 14
Comunicação Serial Primeiro, precisamos inicializar a interface serial Função Serial.begin(bps) bps é a velocidade de transmissão de dados - bytes por segundo Por padrão, o valor é setado como 9600 Deve ser utilizado na função setup Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 9 / 14
Comunicação Serial Próximo passo: abrir o monitorador serial - botão na IDE Já podemos testar! Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 10 / 14
Comunicação Serial Próximo passo: abrir o monitorador serial - botão na IDE Já podemos testar! Primeiro exemplo: Hello World! Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 10 / 14
Comunicação Serial Primeiro exemplo: Hello World! Utilizamos a função Serial.print( Mensagem ) para mostrar uma mensagem na tela Tarefa: exibir a mensagem Hello World! no monitor serial Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 11 / 14
Comunicação Serial A função Serial.available() é usada para sabermos quando estamos recebendo informações seriais Como o Arduino está sempre em loop, temos que ter controle sobre quando enviamos algum dado Já a função Serial.read() nos informa quais dados foram lidos Importante: A função só retorna um inteiro por vez! Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 12 / 14
Comunicação Serial - Exercícios Tarefa: Ligar um LED quando enviarmos o caractere L pela interface serial, e apagá-lo caso qualquer outra letra Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 13 / 14
Comunicação Serial - Exercícios Tarefas: Exibir uma mensagem informando se o LED está aceso ou apagado Controlar o brilho de um LED através da porta seria - Informar um valor entre 0 e 9 informando a intensidade do brilho Gabriel Vasiljević Felipe Fernandes Minicurso de Arduino January 30, 2013 14 / 14