Páginas

sábado, 2 de outubro de 2010

Aprendendo Arduino Entrada \ Saída.

Então meus caros, vamos falar um pouco mais sobre comandos de acionamento com o seu Arduino, iremos acionar um ckt com um diodo led, e um botão. esses códigos são o início, a base para muitos projetos que somente a sua imaginação é o limite.

 Botão

O interruptor momentâneo é um componente que conecta dois pontos de um circuito ao pressioná-lo. O exemplo a seguir liga um LED quando pressionamos o interruptor.
Conectamos dois fios à placa Arduino. O primeiro vai de um dos terminais do interruptor ao GND. O segundo vai do outro terminal do interruptor até o pino digital 2 do Arduino. Ligue um resistor pull-up de 10 kohms nesse último terminal (um terminal do resistor vai ao terminal do interruptor; o outro vai ao pino de fornecimento de 5V do Arduino.)
Quando o interruptor está livre (não pressionado), não há conexão entre os seus dois terminais, de forma que o pino do Arduino está conectado aos 5V (via o resistor de pull-up) e ao ler o pino, obtemos HIGH. Quando o interruptor é fechado (pressionado), ocorre a conexão entre seus terminais, de forma que o pino do Arduino é ligado ao GND e obtemos LOW. (O pino ainda se mantém conectado aos 5 volts, mas o resistor de pull-up faz com que o pino esteja mais próximo do GND.)
Você também pode ligar o circuito de forma contrária, com o resistor de pull-down agora a manter a o pino 2 em LOW e a ir a HIGH quando o interruptor é pressionado. Dessa forma, o comportamento do esboço será invertido, com o LED normalmente ligado e desligando-se quando se pressiona o interruptor.
Se o pino digital for desconectado da montagem, o LED poderá piscar de forma irregular. Isto porque dizemos que a entrada está flutuando - isto é, estará entre valores de tensão elétrica aleatórios entre HIGH e LOW. É por isso que utiliza-se um resistor de pull-up ou pull-down no circuito.

Circuito

Código

int ledPin = 13; // escolha o pino para o LED
int inPin = 2;   // escolha o pino de entrada (para o interruptor)
int val = 0;     // variável para ler o estado do interruptor

void setup() {
  pinMode(ledPin, OUTPUT);  // declara-se o LED como saída
  pinMode(inPin, INPUT);    // declara-se o interruptor como entrada
}

void loop(){
  val = digitalRead(inPin);  // ler o valor de entrada
  if (val == HIGH) {         // verificar se a entrada é HIGH (interruptor livre)
    digitalWrite(ledPin, LOW);  // desligar LED
  } else {
    digitalWrite(ledPin, HIGH);  // ligar LED
  }
}


Nenhum comentário:

Postar um comentário

teste comentario