Primeiro foi lido o valor do potenciômetro e da senoide, em seguida comparado. O objetivo é criar um ponto de aviso com o potenciômetro, e avisar quando a senoide estiver abaixo desse valor.
int pot,sen;
void setup() {
Serial.begin(9600);
pinMode(A0, INPUT);
pinMode(A1,INPUT);
pinMode(1, OUTPUT);
}
void loop() {
pot = analogRead(A1);
sen = analogRead(A0);
if (sen <=pot){
Serial.print("Sinal muito baixo: ");
Serial.print(sen);
Serial.println(" de sinal.");
}
delay (200);
}
Ainda no mesmo modelo foi feito a leitura do potenciômetro para indicação de uma escala de qualidade. Nesse caso eu não consegui utilizar o switch case na IDE, acabei por utilizar uma cascata de if/else.
int pot,sen;
void setup() {
Serial.begin(9600);
pinMode(A1,INPUT);
pinMode(1, OUTPUT);
}
void loop() {
pot = analogRead(A1);
if (pot <= 200 && pot >= 0){
Serial.print("Sinal ruim: ");
Serial.println(pot);
}
if (pot <= 400 && pot >= 201){
Serial.print("Sinal Bom: ");
Serial.println(pot);
}
if (pot <= 600 && pot >= 401){
Serial.print("Sinal Muito Bom: ");
Serial.println(pot);
}
if (pot <= 1000 && pot >= 601){
Serial.print("Sinal Excelente: ");
Serial.println(pot);
}
if (pot >= 1001){
Serial.print("Sinal de deus: ");
Serial.println(pot);
}
delay (200);
}
Mudando para o próximo modelo o objetivo é tornar essa escala visível numa sequência de led's
A atividade pedia que UM led ficasse ativo para exibir a escala, mas eu escolhi mostrar a escala de forma crescente onde todos os led's poderiam ficar ativos. E mais uma vez não consegui utilizar o switch case.
int pot,sen;
void setup() {
Serial.begin(9600);
pinMode(A1,INPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
}
void loop() {
pot = analogRead(A1);
if (pot <= 128 && pot >= 0){
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
if (pot <= 256 && pot >= 129){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
if (pot <= 384 && pot >= 257){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
if (pot <= 512 && pot >= 385){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
if (pot <= 640 && pot >= 513){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
if (pot <= 768 && pot >= 641){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
if (pot <= 896 && pot >= 769){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
}
if (pot <= 1050 && pot >= 897){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
}
delay (200);
}
0 comentários:
Postar um comentário