Created
May 30, 2015 23:54
-
-
Save alexandre/0c138a46a92c2ec6c412 to your computer and use it in GitHub Desktop.
Uma tentativa de criar interfaces "didáticas" para o GaroaShield.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //SENSORES | |
| potenciometro = A0 | |
| sensor_de_luz = A1 | |
| //LEDs do display de 7 segmentos | |
| //superior esquerda | |
| int superior_esquerda = 13; | |
| // superior base(teto) | |
| int superior_base = 8; | |
| //superior direita | |
| int superior_direita = 9; | |
| //central | |
| int central = 7; | |
| //inferior esquerda | |
| int inferior_esquerda = 12; | |
| //inferior base | |
| int inferior_base = 11; | |
| //inferior direita | |
| int inferior_direita = 10; | |
| // ponto decimal | |
| int ponto_decimal = 6; | |
| // a função setup executa uma vez quando se pressiona RESET | |
| void setup() { | |
| pinMode(inferior_direita, OUTPUT); | |
| pinMode(inferior_esquerda, OUTPUT); | |
| pinMode(inferior_base, OUTPUT); | |
| pinMode(central, OUTPUT); | |
| pinMode(superior_direita, OUTPUT); | |
| pinMode(superior_esquerda, OUTPUT); | |
| pinMode(superior_base, OUTPUT); | |
| pinMode(ponto_decimal, OUTPUT); | |
| Serial.begin(9600); | |
| } | |
| //lê um valor do potenciomentro | |
| int ler_valor_do_potenciometro() { | |
| return analogRead(potenciometro); | |
| } | |
| //le um valor do sensor de luminosidade | |
| int ler_valor_do_sensor_de_luz() { | |
| return analogRead(sendor_de_luz); | |
| } | |
| // acende um determinado led e apaga apos o tempo especificado | |
| void acende(int led) { | |
| digitalWrite(led, HIGH); | |
| } | |
| // cria um delay com o valor de milisegundos determinados | |
| void espera(int tempo) { | |
| delay(tempo); | |
| } | |
| // apaga o led especificado | |
| void apaga(int led) { | |
| digitalWrite(led, LOW); | |
| } | |
| //acende e apaga um led conforme a velocidade (milisegundos) especificada. | |
| void pisca(int led, int velocidade) { | |
| acende(led); | |
| espera(velocidade); | |
| apaga(led); | |
| } | |
| // cria o efeito de um oito com a ordem especificada | |
| void efeito_oito(int velocidade) { | |
| pisca(ponto_decimal, velocidade); | |
| pisca(inferior_base, velocidade); | |
| pisca(inferior_esquerda, velocidade); | |
| pisca(central, velocidade); | |
| pisca(superior_direita, velocidade); | |
| pisca(superior_base, velocidade); | |
| pisca(superior_esquerda, velocidade); | |
| pisca(central, velocidade); | |
| pisca(inferior_direita, velocidade); | |
| } | |
| // acende os leds necessarios para formar o numero 1. | |
| void numero_um() { | |
| acende(superior_direita); | |
| acende(inferior_direita); | |
| espera(1000); | |
| apaga(superior_direita); | |
| apaga(inferior_direita); | |
| } | |
| //imprime um valor no Serial monitor | |
| void imprime(int valor) { | |
| Serial.println(valor); | |
| } | |
| // a função loop é executada repetidamente, para sempre | |
| void loop() { | |
| imprime(ler_valor_do_potenciometro()); | |
| efeito_oito(ler_valor_do_potenciometro()); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment