SEMÁFORO, SUPER MÁQUINA
1 - Montagem de um simulador de "Sinal de Trânsito ou Semáforo", onde a ideia é que possamos ter 3 LEDs (Vermelho - Amarelo - Verde) e os mesmos deverão acender e apagar, simulando o funcionamento do Semáforo. Um exemplo do esquema de ligação do Semáforo no Arduino Código de programação para o Semáforo na IDE do Arduino
Código para copiar e colar no arduino // Inicio do programa Semaforo Simples // Aqui estou dizendo para o computador os pinos que vou usar e dando um nome a cada um deles verdecarro = 13; amarelocarro = 11; vermelhocarro = 9; void setup() { // Aqui eu digo que os pinos escolhidos são de saída pinmode(verdecarro, OUTPUT); pinmode(amarelocarro, OUTPUT); pinmode(vermelhocarro, OUTPUT); void loop() { digitalwrite(verdecarro, // aqui eu acendo o pino 13 luz verde delay(5000); // Aqui diz esperar 1 segundo (5000=5s) digitalwrite(verdecarro, // aqui eu apago o pino 13 digitalwrite(amarelocarro, // aqui eu acendo o pino 11 delay(3000); // Aqui diz esperar 1 segundo (3000=3s) digitalwrite(amarelocarro, // aqui eu acendo o pino 11 digitalwrite(vermelhocarro, // aqui eu acendo o pino 9 delay(5000); // Aqui diz esperar 1 segundo (5000=5s) digitalwrite(vermelhocarro, // aqui eu apago o pino 9 // Fim do programa Obs.: Vale ressaltar que a ideia principal deste "SEMÁFORO" é fazer com que os alunos percebam que eles podem controlar os 3 LEDs de forma individual, desta forma após esse primeiro exemplo, eles serão desafiados a mudar a programação para fazer com que os LEDs acendam ou apaguem de outra forma, sumulando alguns tipos de sinas que são encontrados em nossas ruas.
2 - Montagem de um simulador de "Sinal de Trânsito ou Semáforo com opção de pedestres", onde a ideia é que possamos ter 3 LEDs (Vermelho Amarelo - Verde) para os carros e 2 LEDs (Vermelho - Verde) para os pedestres, onde os mesmos deverão acender e apagar, simulando o funcionamento do Semáforo. Um exemplo do esquema de ligação do Semáforo no Arduino Código de programação para o Semáforo na IDE do Arduino
Código para copiar e colar no arduino // Inicio do programa Semaforo com Pedestre // Aqui estou dizendo para o computador os pinos que vou usar e dando um nome a cada um deles verdecarro = 13; amarelocarro = 11; vermelhocarro = 9; verdepedestre = 7; vermelhopedestre = 5; void setup() { // Aqui eu digo que os pinos escolhidos são de saída pinmode(verdecarro, OUTPUT); pinmode(amarelocarro, OUTPUT); pinmode(vermelhocarro, OUTPUT); pinmode(verdepedestre, OUTPUT); pinmode(vermelhopedestre, OUTPUT); void loop() { digitalwrite(verdecarro, // aqui eu acendo o verdecarro digitalwrite(vermelhopedestre, //aqui acendo o vermelhopedestre delay(5000); digitalwrite(amarelocarro, // aqui eu acendo o amarelocarro delay(3000); digitalwrite(amarelocarro, // aqui eu apago o amarelocarro digitalwrite(verdecarro, // aqui eu acendo o vermelhocarro digitalwrite(vermelhocarro, // aqui eu acendo o vermelhocarro digitalwrite(vermelhopedestre, // aqui eu acendo o vermelhocarro digitalwrite(verdepedestre, //aqui eu acendo verdepedestre delay(5000); digitalwrite(verdepedestre, //aqui eu apago verde pedestre digitalwrite(vermelhocarro, // aqui eu apago o vermelhocarro // Fim do programa
3 - Agora controlando de 8 LEDs, onde além da montagem dos componentes na Protoboard (LEDs, Resistor e Fios) os alunos devem escrever um código que nos desse como resultado o efeito do "Scanner" do K.I.T.T., carro famoso do Seriado Super Máquina (Anos 80). Assista nos 3 links abaixo uma amostra do efeito que vamos tentar conseguir com o código, atenção na barra de LEDs que fica acendendo na frente do carro, pois será exatamente o que tentaremos reproduzir: https://www.youtube.com/watch?v=9emrkeamwae https://www.youtube.com/watch?v=xr1-nlde8z4 https://www.youtube.com/watch?v=-ztp8rzau5c Um exemplo do esquema de ligação dos oito (8) LEDs ao Arduino
Código de programação para oito (8) LEDs na IDE do Arduino Código para copiar e colar no arduino // Inicio do programa Super Maquina // Aqui estou dizendo para o computador os pinos que vou usar e dando um nome a cada um deles
pin1 = 13; pin2 = 12; pin3 = 11; pin4 = 10; pin5 = 9; pin6 = 8; pin7 = 7; pin8 = 6; void setup() { // Aqui eu digo que os pinos escolhidos são de saída pinmode(pin1, OUTPUT); pinmode(pin2, OUTPUT); pinmode(pin3, OUTPUT); pinmode(pin3, OUTPUT); pinmode(pin4, OUTPUT); pinmode(pin5, OUTPUT); pinmode(pin6, OUTPUT); pinmode(pin7, OUTPUT); pinmode(pin8, OUTPUT); void loop() { digitalwrite(pin1, digitalwrite(pin1, digitalwrite(pin2, digitalwrite(pin2, digitalwrite(pin3, digitalwrite(pin3, digitalwrite(pin4, digitalwrite(pin4, digitalwrite(pin5, digitalwrite(pin5, digitalwrite(pin6, digitalwrite(pin6, digitalwrite(pin7, digitalwrite(pin7, digitalwrite(pin8, digitalwrite(pin8, digitalwrite(pin7, digitalwrite(pin7, digitalwrite(pin6,
digitalwrite(pin6, digitalwrite(pin5, digitalwrite(pin5, digitalwrite(pin4, digitalwrite(pin4, digitalwrite(pin3, digitalwrite(pin3, digitalwrite(pin2, digitalwrite(pin2, digitalwrite(pin1, digitalwrite(pin1, // Fim do programa Ressaltamos ainda que por se tratar de um trabalho inicial, utilizaremos uma codificação simples partindo do raciocínio linear dos alunos, em que era só acender um LED, esperar um tempo, apagar o LED que estava aceso e acender o próximo, repetindo isso até terminar o processo, depois seria somente voltar com o código de traz para frente. Agora para os eressados e/ou mais experientes, podem usar o código abaixo, que vai produzir o mesmo efeito, porém ele usa "if" e "else". boolean t = true; i = 13; void setup() { pinmode(13, OUTPUT); pinmode(12, OUTPUT); pinmode(11, OUTPUT); pinmode(10, OUTPUT); pinmode(9, OUTPUT); pinmode(8, OUTPUT); pinmode(7, OUTPUT); pinmode(6, OUTPUT); void loop() { digitalwrite(i, digitalwrite(i, if(t == true)
{ i = i - 1; else { i = i + 1; if(i < 6) { i = 7; t = false; if(i > 13) { i = 12; t = true; 4 - Montagem de um simulador de "Barra de LEDs com Potenciômetro", onde a ideia é que ao girarmos o potenciômetro os LEDS acendam ou apaguem de acordo com o valor lido ou gerado pelo mesmo. Um exemplo do esquema de ligação da Barra de LEDs com Potenciêmetro no Arduino
Código de programação para a Barra de LEDs com Potenciêmetro na IDE do Arduino
Código para copiar e colar no arduino // Inicio do programa Controle de Brilho do LED com Potenciometro // Aqui estou dizendo para o computador os pinos que vou usar e dando um nome a cada um deles e informando as possiveis variaveis que usarei potpin = 2; // Seleciona o pino de entrada para o potenciometro LEDPin13 = 13; LEDPin12 = 12; LEDPin11 = 11; LEDPin10 = 10; LEDPin9 = 9; // LEDPin8 = 8; // LEDPin7 = 7; // LEDPin6 = 6; // val = 0; // Seleciona o pino para o LED // Seleciona o pino para o LED // Seleciona o pino para o LED // Seleciona o pino para o LED Seleciona o pino para o LED Seleciona o pino para o LED Seleciona o pino para o LED Seleciona o pino para o LED // Variavel para guardar o valor proveniente da entrada analogica void setup() { pinmode(ledpin13, OUTPUT); // Declara LEDPin como saida pinmode(ledpin12, OUTPUT); // Declara LEDPin como saida pinmode(ledpin11, OUTPUT); // Declara LEDPin como saida pinmode(ledpin10, OUTPUT); // Declara LEDPin como saida pinmode(ledpin9, OUTPUT); // Declara LEDPin como saida pinmode(ledpin8, OUTPUT); // Declara LEDPin como saida pinmode(ledpin7, OUTPUT); // Declara LEDPin como saida pinmode(ledpin6, OUTPUT); // Declara LEDPin como saida void loop() { // val = analogread(potpin); // Le o valor da entrada analogica // val = val/4; // Converte 0-1023 para 0-255 // analogwrite(ledpin13, val); // Aciona o LED if (analogread(potpin) > 900) { digitalwrite(ledpin13, else { digitalwrite(ledpin13, if (analogread(potpin) > 800) { digitalwrite(ledpin12, else { digitalwrite(ledpin12, if (analogread(potpin) > 700) { digitalwrite(ledpin11, else {
digitalwrite(ledpin11, if (analogread(potpin) > 600) { digitalwrite(ledpin10, else { digitalwrite(ledpin10, if (analogread(potpin) > 500) { digitalwrite(ledpin9, else { digitalwrite(ledpin9, if (analogread(potpin) > 400) { digitalwrite(ledpin8, else { digitalwrite(ledpin8, if (analogread(potpin) > 300) { digitalwrite(ledpin7, else { digitalwrite(ledpin7, if (analogread(potpin) > 200) { digitalwrite(ledpin6, else { digitalwrite(ledpin6, Use o link que disponibilizamos a seguir para a aula nº 03: https://www.youtube.com/watch?v=2_ulmml7xs8
A seguir temos o nosso trabalho para casa ou mão na massa, que é um desafio onde disponibilizamos um tutorial e/ou uma vídeo-aula onde o aluno ou os alunos do grupo deverão executar a tarefa proposta e trazer o resultado em nosso próximo encontro. Construir um Cortador de Isopor
Assista a vídeo aula do Mão na Massa 03, usando o link abaixo: https://youtu.be/dqymasyftcy?list=plgezo2eg3lxu0fv7jhdavpdnsxcaxnias Não se esqueça... Crie o seu Cantinho da Reciclagem Para assistir a diversas vídeo-aulas, basta acessar o nosso canal no youtube: http://youtube.com/smesergio Criadores: Giany Abreu gianyabreu@yahoo.com.br Sergio Graças sergiogracas@yahoo.com.br Blog - http://tecnicolinux.blogspot.com