Вы находитесь на странице: 1из 15

Curso de Arduino

Funções e Comandos Básicos


TAREFAS.
(Aula 8)

Prof. Me. Daniel Rodrigues de Sousa | professor.daniel.rsousa@gmail.com

1/15
Hello World Melhorado!

2/15
Hello World Melhorado!
int LED = 13; //definição do LED
int POT = A0; //definição do potênciometro
unsigned int tempo = 0;
void setup()
{
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop()
{
tempo = analogRead(POT); //lê potênciometro
Serial.println(tempo); //envia pela serial
digitalWrite(LED, !digitalRead(LED));
delay(tempo);
}

3/15
Display de 7 Segmentos
(anodo comum) + RS232

4/15
Display de 7 Segmentos
(anodo comum) + RS232
int SEG_A = 9; //definição do display_seg 0
int SEG_B = 10; //definição do display_seg 1
int SEG_C = 2; //definição do display_seg 2
int SEG_D = 3; //definição do display_seg 3
int SEG_E = 4; //definição do display_seg 4
int SEG_F = 5; //definição do display_seg 5
int SEG_G = 6; //definição do display_seg 6
int PD = 7; //definição do display_seg 7

int POT = A0; //definição do potênciometro

unsigned int caractere = 0;

5/15
Display de 7 Segmentos
(anodo comum) + RS232
// pgfedcba
byte segmentos[16] = { 0b11000000, //0
0b11111001, //1
0b10100100, //2
0b10110000, //3
0b10011001, //4
0b10010010, //5
0b10000010, //6
0b11111000, //7
0b10000000, //8
0b10010000, //9
0b10001000, //A
0B10000011, //B
0b10100111, //C
0b10100001, //D
0b10000110, //E
0b10001110 };//F 6/15
Display de 7 Segmentos
(anodo comum) + RS232
void display_7seg( byte display_seg )
{//função display_segs: recebe um byte
//chamado display_seg e envia os bits para o display
{
digitalWrite(SEG_A, bitRead(display_seg, 0));
digitalWrite(SEG_B, bitRead(display_seg, 1));
digitalWrite(SEG_C, bitRead(display_seg, 2));
digitalWrite(SEG_D, bitRead(display_seg, 3));
digitalWrite(SEG_E, bitRead(display_seg, 4));
digitalWrite(SEG_F, bitRead(display_seg, 5));
digitalWrite(SEG_G, bitRead(display_seg, 6));
digitalWrite(PD, bitRead(display_seg, 7));
}

7/15
Display de 7 Segmentos
(anodo comum) + RS232
void setup()
{
pinMode(SEG_A, OUTPUT); //definição dos pinos
pinMode(SEG_B, OUTPUT);
pinMode(SEG_C, OUTPUT);
pinMode(SEG_D, OUTPUT);
pinMode(SEG_E, OUTPUT);
pinMode(SEG_F, OUTPUT);
pinMode(SEG_G, OUTPUT);
pinMode(PD, OUTPUT);
Serial.begin(9600); //configura RS-232
display_7seg( 0b11111111 ); //apaga o display
}

8/15
Display de 7 Segmentos
(anodo comum) + RS232
void loop()
{
delay(100); //delay
caractere = analogRead(POT); //lê potênciometro
caractere = map(caractere, 0, 1023, 0, 15); //ajusta
Serial.println(caractere); //envia pela serial
display_7seg( segmentos[caractere] );
}

9/15
Temporizador com Alarme
com Tempo Ajustável

10/15
Temporizador com Alarme
com Tempo Ajustável
int LED1 = 13;//definição do LED 1
int BUZZER = 11;//definição do BUZZER

int BOTAO1 = 12;//definição do Botão 1


int POT = A0; //definição do Potênciometro
unsigned int tempo;

void setup()
{
pinMode(LED1, OUTPUT); //definição da direção dos pinos

pinMode(BUZZER, OUTPUT);
pinMode(BOTAO1, INPUT);
Serial.begin(9600); //configura serial
}

11/15
Temporizador com Alarme
com Tempo Ajustável
void loop()
{
delay(100);
tempo = analogRead(POT);//lê o potenciômetro
tempo = map(tempo, 0, 1023, 1000, 10000); //ajusta o valor
Serial.println(tempo); //imprime o valor

if(digitalRead(BOTAO1) == 0) //se botão 1 pressionado


{
digitalWrite(BUZZER, HIGH); //liga BUZZER
delay(1000); //tempo de 1 segundo
digitalWrite(BUZZER, LOW); //desliga BUZZER

digitalWrite(LED1, HIGH); //liga LED 1


delay(tempo); //tempo

12/15
Temporizador com Alarme
com Tempo Ajustável
digitalWrite(BUZZER, HIGH); //liga BUZZER
delay(1000); //tempo de 1 segundo
digitalWrite(BUZZER, LOW); //desliga BUZZER
delay(1000); //tempo de 1 segundo
digitalWrite(BUZZER, HIGH); //liga BUZZER
delay(1000); //tempo de 1 segundo
digitalWrite(BUZZER, LOW); //desliga BUZZER
delay(1000); //tempo de 1 segundo
digitalWrite(BUZZER, HIGH); //liga BUZZER
delay(1000); //tempo de 1 segundo
digitalWrite(BUZZER, LOW); //desliga BUZZER
}

digitalWrite(LED1, LOW); //se não, desliga LED 1


}

13/15
Display de 7 Segmentos

14/15
Bibliografia

Arduino Language Reference,


https://www.arduino.cc/reference/en/;

15/15