Boa noite eu estou com uma dificuldade em um projeto do meu tcc
eu copiei esse codigo da pagina
http://projetoarduino.wordpress.com/
onde la tem um projeto de sensor de gas com arduino mega.
Conseguir passar para o arduino uno algumas funçoes.
a unica coisa foi não conseguir colocar os led e nem o potenciômetro eu qual pino eu coloca o potenciômetro ?
// Detecção de Vazamento de Gás com Alarme Sonoro e Visual
// Define as váriaveis desse código
#include <LiquidCrystal.h> // Inclui o display lcd
int rele = 13; //Define a saida a ser utilizada para o acionamento do rele
int potenc = A2; // Define o pino analogico onde será ligado o potenciometro
int potencValue; // Define uma variavel para captar o valor do potenciometro
int redPin = 10; // Define led vermelho no pino digital 9
int yellowPin = 9; // Define led amarelo no pino digital 10
int statPin = 8; // Define pino de status
float sinVal; // Define a variavel de tom
int toneVal;
int analogInPin = A0; // Define o pino A0 para o sensor
int sensorValue=0; // Valor inicial do Sensor
int x=0; // Valor inicial de X
const int buttonPin = 12; // Define botão no pino 4
int buttonState = 0; //Define estado inicial do botão
unsigned long tempo; // Define variavel tempo como unsigned
int count = 0; // Define valor incial da váriavel contador
int displayy = A7; // Define o pino analogico do displayLiquidCrystal lcd(32, 30, 28, 26, 24, 22); // Define onde o display está sendo ligado
void setup() {
lcd.begin(16, 2);
Serial.begin(9600); // Define valor da saida serial
pinMode(redPin, OUTPUT); // Define pinMode redPin como saída
pinMode(yellowPin, OUTPUT); // Define pinMode yellowPin como saida
pinMode(statPin, OUTPUT); // Define pinMode statPin como saida
pinMode(11, OUTPUT); // Define pino 7 como saída de som
pinMode(buttonPin, INPUT); // Define o botão como entrada
pinMode(rele, OUTPUT); // Define o rele como saida
pinMode(display, OUTPUT); // Define o display como saida
displayy=1000; //Brilho do display LCD
}void loop(){
potencValue = potenc;
buttonState = digitalRead(buttonPin);
int potencValue = analogRead(A2); // o valor do varistor será lido do pino analogico A1
digitalWrite(statPin, HIGH); // Define o led de status como acessosensorValue = analogRead(analogInPin); // valor do sensor = leitura do pino analogico
//lcd.print(sensorValue, DEC); // imprime o valor capturado no pino analogico, coloca em ordem decrescente
// Serial.println(“Status do Botão”);
//Serial.println(buttonState); // imprime o status do botão
Serial.println(“Valor do Potenciometro”); // imprime a mensagem entre aspas
Serial.println(potencValue, DEC); // imprime o valor do varistor
if (potencValue < 899){
lcd.setCursor(0, 1);
lcd.clear();
lcd.print(“Sensibilidade:”);
lcd.print(potencValue/100);
}else
{if (potencValue > 899){
lcd.setCursor(0, 1);
lcd.clear();
lcd.print (“Valor maximo”);} }
lcd.setCursor(0, 2);
lcd.print(“Nivel de Gas:”);
lcd.print(sensorValue/10);
// delay de 500ms entre cada impressao da capturaif (buttonState == HIGH) {
count =0;
}
// Acrescenta + 1 na variavel do contador
Serial.println(count);
if (count < 8){
count = count +1;
Serial.println(“Sistema Desativado”);
digitalWrite(redPin, HIGH); // Define o led vermelho como acesso
digitalWrite(yellowPin, HIGH); // Define o led amarelo como apagado
noTone (11); // Sem Ton}
if (count >= 8){
Serial.println(“Sistema Ativado”);
if (sensorValue >= potencValue ){ // Se valor capturado for maior que 600 facadigitalWrite(redPin, HIGH); // Define o led vermelho como acesso
digitalWrite(yellowPin, LOW); // Define o led amarelo como apagadodelay(1000); // Tempo de Espera 1000 ms
digitalWrite(yellowPin, HIGH); // Define o led vermelho como acesso
digitalWrite(redPin, LOW); // Define o led amarelo como apagadodigitalWrite(rele, LOW); // Aciona o exaustor
// Codigo para saida de som
for (int x=0; x<180; x++) { // converte graus para radiano e depois obten o valor de seno
sinVal = (sin(x*(3.1412/180))); // gera uma frequencia a partir do valor de senotoneVal = 90+(int(sinVal*30000)); // alterando esses valores você define o som do speaker
tone(11, toneVal);
delay(2); // Tempo de espera de 2 ms entre um tom e outro
count ==0;}
}
else // Se valor capturado nao for maior que o definido faca
{ if (sensorValue <= potencValue){
noTone (11); // Sem Ton
delay(0); // delay de 0 ms
digitalWrite(redPin, LOW); // Define o led vermelho como apagado
digitalWrite(yellowPin, LOW); // Define o led amarelo como apagado
digitalWrite(rele, HIGH); // Aciona o exaustor
}
}}
}
Tags:
o potenciometro vai no pino A2
mude os pinos do cristal liquido para 12, 11, 5 , 4 , 3 ,2
leds 10,9
rele 13
pino A7 vai no brilho do lcd
sensor no A0
e o pino do botao mude para 7
eh o q vc vai precisar neste sketch!!!
e conserte a linha
Serial.println("Valor do Potenciometro");
lcd.print("Sensibilidade:");
lcd.print ("Valor maximo");
lcd.print("Nivel de Gas:");
Serial.println("Sistema Desativado");
Serial.println("Sistema Ativado");
colocando as aspas corretamente
e as variaveis displayy estao com um y a mais
Jose ok fiz isso
o potenciometro e de 3 pinos os outros 2 vao aonde ?
essa seria minha duvida
iria no negativo e positivo ?
um vai no pino duma ponta no +5vcc outro na outra ponta no gnd
Vc está fazendo tcc sobre isso e não sabe programar?
sim eu n sei programar
e pq eu ganhei um kit arduino e nunca usei e o meu tcc e por dia 23 de agosto
eu preciso falar
Jose nao funciona o potenciomentro
testa o potenciometro assim
escreve na sua ide
void setup() {
Serial.begin(9600);
Serial.println("Inicio ok");
}
void loop() {
// Le valor do pino analógico
int valorSensor = analogRead(A0);
Serial.print("valor lido = " );
Serial.println(valorSensor);
delay(100);
}
coloca 5 vcc num pino duma ponta
coloca gnd na outra ponta
o pino do meio no pino A0 do arduino
abra o serial monitor e teste os valores recebidos
eles vao de 0 a 1023
e me diz tb como vc sabe q nao esta funcionando ?
nao muda os valores ou o q?
Putz Sander, você ta fazendo um TCC trabalho de conclusão de curso e não sabe ligar um potenciômetro ?
Caramba amigo, qual o curso que você esta se formando ?
Olha sinceramente acho que você deveria dar uma assistida no VIDEO CURSO DE ELETRÔNICA BURGOS.
Lá vai dar pra você em menos de duas semanas estra craque em eletrônica, procura no google ok.
Weider Duarte ligar eu sei..
nao sei ligar no arduino.
pq ja coloquei no pino A2 e no vcc e no gnd e nao funcionou.
ae eu queria saber se e do codigo ?
Cara, vou te dar uns passos bem simples pra vocë nao ter erro ok
Primeiramente, pegue um potencimetro simples de 10k com 3 pernas, e faca as seguintes ligacoes
liga o pino o primeiro pino do potenciometro(tanto faz de qual lado) no pino 5v do arduino
liga o pino do MEIO do potenciometro no pino A0 do arduino (tem que ser A0 ok )
liga o terceiro e ultimo pino do potenciometro no GND do arduino (tem alguns, escolhe qualquer um)
Agora abre o arduino, vá em FILES, EXAMPLES, BASICS e clique para abrir o exemplo AnalogReadSerial e mande gravar ele no seu arduino.
Abra o serial monitor do arduino e você verá uma serie de numeros passando, agora mexa no potenciometro e voce ira ver o resultado da leitura no terminal do arduino.
O arduino faz conversao de 10bits, logo, 5v sera lido por ele como o numero 1024 e abaixo disso voce vera os valores intermediarios.
foi exatamente isso que eu passei para ele no meu comentario acima Weider Duarte
que tal variarmos um pouco as respostas!!!!
fiz o teste ele aparece assim
sem mudar no potenciometro
valor lido = 399
valor lido = 263
valor lido = 156
valor lido = 86
valor lido = 24
valor lido = 0
valor lido = 0
valor lido = 0
valor lido = 0
valor lido = 0
valor lido = 1023
valor lido = 139
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por