Digital input & output

No primeiro post sobre o Arduino fizemos uma pequena introdução à eletrônica, hoje iremos descobrir uma das funcionalizes mais fantásticas da nossa placa de desenvolvimento, o digital input e output.

Agora que tens o basico da eletrônica sub o teu controlo, é tempo de seguir em frente e controlar coisas com o teu Arduino. Neste projeto vais construir uma coisa que poderia ser a interface de uma nave espacial de um filme de ficção cientifica dos anos 70. Vais fazer um fantástico painel de controlo com switch e luzes que se ligam quando to pressionar um switch. Podes olhar para as luzes como um laser que equipa a nossa nave espacial. Uma luz verde ficara ligada enquanto o botão é pressionado. Quando o Arduino recebe o sinal vindo do botão, a luz verde irá apagar-se e outras 2 luzes iram começar a piscar.

Os pinos digitais somente conseguem ler dois estados: quando há tensão elétrica no pino de entrada, e quando não há. Este tipo de input é normalmente chamado de digital (ou às vezes binário). Estes estados são normalmente referidos a HIGHT ou LOW. O HIGHT é o mesmo que dizer “há tensão aqui!” e o LOW que significa “Não há tensão neste pino”. O comando digitalWrite() permite ligar ou desligar um pino de OUTPUT. Quando tu inseres um HIGHT e medires a tensão entre o pino e o ground, vais obter 5 voltes. E quando tu inseri um LOW no OUTPUT o pino fica off.

Os pinos digitais do Arduino podem funcionar como inputsoutputs. No teu código, tens que configurar de acordo com o que tu queres como eles devem funcionar. Quando os pinos são outputs, tu podes ligar componentes como por exemplos um LED. Se tu configurares os pinos como sendo inputs, tu consegues saber quando um switch foi pressionado ou não. Uma vez que os pinos 0 e 1 são usados para comunicar com o computador, o melhor é começar pelo pino 2.

Circuito

A imagem a baixo contem o diagrama que vamos usar para construir o circuito:

Arduino_Circuito_2

Código

Todos os programas para o Arduino tem duas funções principais. Funções são parte de um programa de computador que executam um especifico comando. As funções têm um nome único, e são chamados quando precisamos delas. As duas funções necessárias para o Arduino são chamadas de setup() e de loop(). Essas funções são declaradas da seguinte forma:


void setup() {
}

void loop() {
}

Para que todo o programa tenha acesso a um variável é necessário que esta esteja declarada fora de um função. As variáveis são nomes dados a zonas de memória do Arduino onde podemos guardar dados que sabermos o que se está a passar. Os valores guardados nas variáveis podem ser alterados ao longo da execução do programa de acordo com as instruções nele existentes.
De forma a melhor perceber para que serve cada variável criada deve ser dado um nome que descreva os dados que nela serão guardados. Por exemplo, a variável que vamos criar será chamada de switchState, esta vá guardar o estado do nosso switch. Para obter mais informação sobre o código veja o video a baixo e aprenda a interpretar todas as instruções.


int swicthState = 0;

// Configure pin functionality
void setup() {
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(2, INPUT);
}

void loop() {
// Read the pin 2 state
swicthState = digitalRead(2);

if (swicthState == LOW) { // The button is now pressed
digitalWrite(3, HIGH); // green LED
digitalWrite(4, LOW); // red LED
digitalWrite(5, LOW); // red LED
} else { // the button is pressed
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);

delay(250); // Wait for a quarter secound

// tooggle the LEDs
digitalWrite(4, HIGH);
digitalWrite(5, LOW);

delay(250); // Wait for a quarter secound
}
}

No video a baixo é demostrado o resultado final deste projeto. Os próximos video não eram acompanhados por tanta descrição textual como estes dois primeiros.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s