• Nenhum resultado encontrado

SEMÁFORO, SUPER MÁQUINA

N/A
N/A
Protected

Academic year: 2021

Share "SEMÁFORO, SUPER MÁQUINA"

Copied!
15
0
0

Texto

(1)
(2)

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

(3)

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

int verdecarro = 13; int amarelocarro = 11; int 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, HIGH); // aqui eu acendo o pino 13 luz verde delay(5000); // Aqui diz esperar 1 segundo (5000=5s) digitalWrite(verdecarro, LOW); // aqui eu apago o pino 13

digitalWrite(amarelocarro, HIGH); // aqui eu acendo o pino 11

delay(3000); // Aqui diz esperar 1 segundo (3000=3s) digitalWrite(amarelocarro, LOW); // aqui eu acendo o pino 11

digitalWrite(vermelhocarro, HIGH); // aqui eu acendo o pino 9

delay(5000); // Aqui diz esperar 1 segundo (5000=5s) digitalWrite(vermelhocarro, LOW); // 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

(4)

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

(5)

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

int verdecarro = 13; int amarelocarro = 11; int vermelhocarro = 9; int verdepedestre = 7; int 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, HIGH); // aqui eu acendo o verdecarro

digitalWrite(vermelhopedestre, HIGH); //aqui acendo o vermelhopedestre delay(5000);

digitalWrite(amarelocarro, HIGH); // aqui eu acendo o amarelocarro delay(3000);

digitalWrite(amarelocarro, LOW); // aqui eu apago o amarelocarro digitalWrite(verdecarro, LOW); // aqui eu acendo o vermelhocarro digitalWrite(vermelhocarro, HIGH); // aqui eu acendo o vermelhocarro digitalWrite(vermelhopedestre, LOW); // aqui eu acendo o vermelhocarro digitalWrite(verdepedestre, HIGH); //aqui eu acendo verdepedestre

delay(5000);

digitalWrite(verdepedestre, LOW); //aqui eu apago verde pedestre digitalWrite(vermelhocarro, LOW); // aqui eu apago o vermelhocarro }

(6)

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

(7)

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

(8)

int pin1 = 13; int pin2 = 12; int pin3 = 11; int pin4 = 10; int pin5 = 9; int pin6 = 8; int pin7 = 7; int 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, HIGH); delay(134); digitalWrite(pin1, LOW); digitalWrite(pin2, HIGH); delay(134); digitalWrite(pin2, LOW); digitalWrite(pin3, HIGH); delay(134); digitalWrite(pin3, LOW); digitalWrite(pin4, HIGH); delay(134); digitalWrite(pin4, LOW); digitalWrite(pin5, HIGH); delay(134); digitalWrite(pin5, LOW); digitalWrite(pin6, HIGH); delay(134); digitalWrite(pin6, LOW); digitalWrite(pin7, HIGH); delay(134); digitalWrite(pin7, LOW); digitalWrite(pin8, HIGH); delay(134); digitalWrite(pin8, LOW); digitalWrite(pin7, HIGH); delay(134); digitalWrite(pin7, LOW); digitalWrite(pin6, HIGH); delay(134);

(9)

digitalWrite(pin6, LOW); digitalWrite(pin5, HIGH); delay(134); digitalWrite(pin5, LOW); digitalWrite(pin4, HIGH); delay(134); digitalWrite(pin4, LOW); digitalWrite(pin3, HIGH); delay(134); digitalWrite(pin3, LOW); digitalWrite(pin2, HIGH); delay(134); digitalWrite(pin2, LOW); digitalWrite(pin1, HIGH); digitalWrite(pin1, LOW); } // 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 interessados 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; int 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,HIGH); delay(134); digitalWrite(i,LOW); if(t == true)

(10)

{ 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

(11)

Código de programação para a Barra de LEDs com Potenciêmetro na IDE do Arduino

(12)

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

int potPin = 2; // Seleciona o pino de entrada para o potenciometro int LEDPin13 = 13; // Seleciona o pino para o LED

int LEDPin12 = 12; // Seleciona o pino para o LED int LEDPin11 = 11; // Seleciona o pino para o LED int LEDPin10 = 10; // Seleciona o pino para o LED int LEDPin9 = 9; // Seleciona o pino para o LED int LEDPin8 = 8; // Seleciona o pino para o LED int LEDPin7 = 7; // Seleciona o pino para o LED int LEDPin6 = 6; // Seleciona o pino para o LED

int val = 0; // 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, HIGH); } else { digitalWrite(LEDPin13, LOW); } if (analogRead(potPin) > 800) { digitalWrite(LEDPin12, HIGH); } else { digitalWrite(LEDPin12, LOW); } if (analogRead(potPin) > 700) { digitalWrite(LEDPin11, HIGH); } else {

(13)

digitalWrite(LEDPin11, LOW); } if (analogRead(potPin) > 600) { digitalWrite(LEDPin10, HIGH); } else { digitalWrite(LEDPin10, LOW); } if (analogRead(potPin) > 500) { digitalWrite(LEDPin9, HIGH); } else { digitalWrite(LEDPin9, LOW); } if (analogRead(potPin) > 400) { digitalWrite(LEDPin8, HIGH); }else { digitalWrite(LEDPin8, LOW); } if (analogRead(potPin) > 300) { digitalWrite(LEDPin7, HIGH); } else { digitalWrite(LEDPin7, LOW); } if (analogRead(potPin) > 200) { digitalWrite(LEDPin6, HIGH); } else { digitalWrite(LEDPin6, LOW); } }

Use o link que disponibilizamos a seguir para a aula nº 03:

(14)

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.

(15)

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 –

[email protected]

Sergio Graças –

[email protected]

Referências

Documentos relacionados

Para identificação, tabelaram-se os resultados em relação à: (C) citou.. Embora o termo memória seja citado na grande maioria dos livros, apenas em EF4 se encontra um pequeno

e) Compusemos uma bela canção. Identifique o modo dos verbos nas orações abaixo. d) Talvez eu experimente desse sorvete. e) Abra essa porta garoto! Imper. i) Não jogue lixo nas ruas.

TODOS OS/AS ESTUDANTES Grupo 2 PRESENCIAL Grupo 2 PRESENCIAL Grupo 2 VIRTUAL Grupo 2 VIRTUAL Grupo 1 VIRTUAL Grupo 1 VIRTUAL 01/03 segunda-feira 02/03 terça-feira 03/03

O modelo de Custeio Baseado em Atividades desempenha um papel importante para o ABM, pois exige primeiramente um compromisso de custos diante dos recursos disponíveis, das atividades

O fato de não ter sido encontrado o apontamento de estudos sobre o sentido do trabalho, envolvendo a análise de aspectos relacionados à organização, condições

... No início, era a angustia por habitar, pelo menos, dois campos entendidos completamente diferentes. De um lado, a universidade pública, produtora de conhecimento e

Keywords: Glaucoma; Filtering surgery; Minimally invasive surgical procedures/methods; Anterior chamber.. RESUMO | Embora a cirurgia de glaucoma minimamente in- vasiva, que

Nesse caso, a CAIXA devolverá ao adquirente os valores por ele despendidos na presente transação, quais sejam, os valores relativos à aquisição do imóvel, como comissão