Manual

do

Maker

.

com

Sensor de Tilt

Sensor de Tilt

Esse é o primeiro post com video tutorial do blog www.manualdomaker.com. Muitos dos nossos posts tem videos, mas são apenas provas de conceito e a dolorosa parte dessa história é a má qualidade de vídeo, que rendeu alguns negativos no youtube. Então, agora temos o canal Manual do Maker no youtube com videos de maior qualidade; chroma key, efeitos 3D, efeitos sonoros e tudo quanto for adquirido de conhecimento com o avanços dos videos. O formato textual continua. Portanto, se pretende seguir apenas pelo vídeo, vá direto ao fim da página.

Falando do Post

O sensor de tilt é utilizado para percepção de movimento. Esse post mostra a configuração do sensor que resultará em uma saída digital 0 ou 1, exibirá o status no monitor serial e acenderá ou apagará um LED na mini-protoboard.

Wiring

A montagem do sensor de Tilt na protoboard, utilizando o software livre (e gratuito) Fritzing. Em todas minhas experiências, a melhor condição foi baixá-lo e compilá-lo em meus sistemas Linux. O processo de compilação do Fritzing é muito simples e na versão atual é possível programar diretamente nele, além de enviar o programa para o Arduino. Um tutorial de Fritzing será disponibilizado em um próximo post.

O programa

tilt.webp

E como dito no vídeo, esse programa é bastante simples, mas para que não seja algo muito vazio, inserí um conceito importante e pouco aplicado em Arduino. Os comentários estão também no vídeo, tal como no código que segue:

//Pino de leitura de saída digital do sensor
int TILT_OUT_PIN = 7;
//Pino para acender o LED de alerta
int LED_ALERT_PIN = 8;
void setup(){
Serial.begin(9600);
//INPUT, porque o pino 7 RECEBE a saída do sensor
pinMode(TILT_OUT_PIN,INPUT);
//A alimentação do sensor é utilizada no LED e o aterramento é feito no pino 8 digital
pinMode(LED_ALERT_PIN,OUTPUT);
//...estando em HIGH, o LED permanece apagado
digitalWrite(LED_ALERT_PIN,HIGH);
}
void loop(){
if (digitalRead(TITLT_OUT_PIN) == HIGH){
Serial.println("Tudo quieto...");
digitalWrite(LED_ALERT_PIN,HIGH);
}
else{
Serial.println("MOVIMENTO DETECTADO");
digitalWrite(LED_ALERT_PIN,LOW);
delay(1000);
}
}

A parte mais importante desse código está relacionado ao modo de operação do pino do LED. Perceba que VCC permanece no pino do LED, enquanto o PINO 8 se mantém em HIGH. Sem aterramento, o LED não acende; quando o pino está em LOW, então o LED é aterrado e se acende. Perceba também que o modo do pino é configurado como OUTPUT. Isso porque ele não esta sendo utilizado para leitura, apenas para aterramento do LED. A importância disso se dá ao fato de que a fonte de alimentação não é a micro-controladora nesse caso. Desse modo, a corrente não é drenada d controladora e desse modo reduz-se o risco de queimá-la. Claro, o LED consome apenas ~20mA e cada pino do UNO/Leonardo fornece até 40mA de corrente. A questão é quando se alimenta algo como um sensor de gás MQ8, que consome em torno de 65mA! Para finalizar as considerações, todos os componentes estão sim sendo alimentados pelo Arduino. O ideal é que a fonte de alimentação fosse externa e o aterramento comum ao Arduino, mas para exemplificar a configuração do pino serviu bem.

O video contém toda a informação disposta anteriormente, além da demonstração do funcionamento. Se gostou do tutorial, do video ou se ao menos lhe foi útil, dê seu like no video e contribua com sua opinião sobre nosso novo formato. Se gostou, inscreva-se no nosso canal do YouTube.

Se gostou, não deixe de compartilhar; dê seu like no video e inscreva-se no nosso canal Manual do Maker Brasil no YouTube.

Próximo post a caminho!

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.