TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Arduino

Monografias: Arduino. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  23/10/2013  •  769 Palavras (4 Páginas)  •  637 Visualizações

Página 1 de 4

Vamos controlar um interruptor com o Arduino?

Criado por Pedro Pinto em 18 de Fevereiro de 2011 | Categoria: Tutoriais | 59 comentários

Por Filipe Caetano | MagicKey para o PPLWARE

Na sequência dos artigos que temos apresentado para a plataforma Arduino, hoje demonstrar como controlar um interruptor. Este interruptor “partilhado” permitirá que a luz seja controlada através de um normal interruptor ou ainda a partir do computador.

Neste artigo vamos disponibilizar o código fonte, para que seja possível controlar uma saída digital, de acordo com as leituras feitas no interruptor ligado a uma porta digital de entrada e de acordo com os dados recebidos do computador via porta série.

Tal como no anterior artigo acerca do Arduino (ver aqui) partimos de um exemplo para construir o nosso código, no entanto desta vez foi necessário realizar consideráveis alterações.

Visto que iremos ter que ter uma entrada digital, onde vamos ligar o botão do interruptor, o exemplo escolhido foi Digital->Button.

Na comunicação do Arduino com o computador nos dados trocados entre eles definiu-se

• zero significaria a luz desligada

• e um valor diferente de zero que a luz ligada.

O código desenvolvido para o Arduino foi o seguinte:

const int buttonPin = 2; // the number of the pushbutton pin

const int ledPin = 13; // the number of the LED pin

// variables will change:

int buttonState = 0; // variable for reading the pushbutton status

int buttonStatemem = 0;

int luzon = 0;

void setup() {

// initialize the LED pin as an output:

pinMode(ledPin, OUTPUT);

// initialize the pushbutton pin as an input:

pinMode(buttonPin, INPUT);

//inicialização da porta a velocidade de 9600

Serial.begin(9600);

}

void loop(){

//verifica se existem dados na porta serie para leitura

if (Serial.available())

{

if(Serial.read()==48) //0 em ascii é 48

{

luzon = 0;

}

else

{

luzon=1;

}

}

// read the state of the pushbutton value:

buttonState = digitalRead(buttonPin);

// Verifica se o botão se encontra primido e se ainda não foi tratado

if(buttonState==HIGH && buttonStatemem==LOW)

{

if(luzon == 0)

{

luzon = 1;

}

else

{

luzon = 0;

}

buttonStatemem=HIGH;

}

else if(buttonState==LOW)

{

buttonStatemem=LOW;

}

//Liga ou desliga a o Led (luz)

if(luzon == 0)

{

digitalWrite(ledPin, LOW);

}

else

{

digitalWrite(ledPin, HIGH);

}

// Envia o estado da luz

Serial.println(luzon);

delay(500);

}

A imagem seguinte mostra a montagem muito simples feita no Arduino.

Pode ver-se que o botão (B) liga aos 5 volts e ao pino 2 tal como definimos no código. È conveniente adicionar uma resistência de 10Kohm (chamada resistência de Pull-Down) ligada ao

...

Baixar como (para membros premium)  txt (5.3 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com