COMO CONVERTER PORTAS ANALÓGICAS EM PORTAS DIGITAIS

Boa tarde pessoal !!! 

Estou com uma dúvida já esgotei as portas digitais do meu UNO, porém preciso de mais 3 portas digitais, sei que posso utilizar as portas analógicas  A0, A1 ...... como digitais só não sei como isso teria que ficar no código.

Segue o trecho do código , se alguém puder ajudar. VALEU.

#include <SPI.h>
#include <Client.h>
#include <Ethernet.h>
#include <Server.h>

//DETERMINA O END MAC 
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; 
byte ip[] = {
192, 168, 0, 20};
//PORTA DE COMUNICAÇÃO 
EthernetServer server(80);
//ESCREVE O NUMERO DOS PINOS CORRESPONDENTES AOS LEDES
int ledPin8 = 9; 
int ledPin7 = 8; 
int ledPin6 = 7; 
int ledPin5 = 6; 
int ledPin1 = 5; 
int ledPin2 = 4;
int ledPin3 = 3;
int ledPin4 = 2;

//ESCREVE O NUMERO DOS PINOS CORRESPONDENTES AOS SENSORES
const int sensorchama = A5;//*ESSE TERIA QUE SER DITAL* Numero do pino do Sensor de chama 
const int buzzer = A4; //*ESSE TERIA QUE SER DITAL* Número do pino do buzzer 
const int gas = A3; //*ESSE TERIA QUE SER DITAL* Número do pino do sensor de gás DIGITAL
const int gass = A2; //*ESSE JÁ É ANALOGICO* Número do pino do sensor de gás ANALOGICO
int nivel_sensor = 250;

// Variaveis
int SensorState = 0; // Variável de leitura do status do sensor


String readString = String(30);


boolean LEDON1 = false; 
boolean LEDON2 = false; 
boolean LEDON3 = false;
boolean LEDON4 = false;
boolean LEDON5 = false; 
boolean LEDON6 = false; 
boolean LEDON7 = false;
boolean LEDON8 = false;


void setup(){
Serial.begin(9600);
Ethernet.begin(mac, ip);
pinMode(ledPin1, OUTPUT); 
pinMode(ledPin2, OUTPUT); 
pinMode(ledPin3, OUTPUT); 
pinMode(ledPin4, OUTPUT); 
pinMode(ledPin5, OUTPUT); 
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT); 

pinMode(buzzer, OUTPUT); // *COMO FICARIA AQUI*
pinMode(sensorchama, INPUT);// *COMO FICARIA AQUI*
pinMode(gas, INPUT);// *COMO FICARIA AQUI*
pinMode(gass, INPUT);

}

void loop(){
EthernetClient client = server.available();
SensorState = digitalRead(buzzer);

// Verifica se o sensor detectou chamas
if (SensorState == HIGH) { 
// Liga o Led 
digitalWrite(buzzer, HIGH); 
} else { 
// Desliga o Led
digitalWrite(buzzer, LOW); 
}
// Le os dados do pino digital D0 do sensor
int valor_digital = digitalRead(gas);
// Le os dados do pino analogico A0 do sensor
int valor_analogico = analogRead(gass);
// Mostra os dados no serial monitor
Serial.print("Pino D0 : ");
Serial.print(valor_digital);
Serial.print(" Pino A0 : ");
Serial.println(valor_analogico);
// Verifica o nivel de gas/fumaca detectado
if (valor_analogico > nivel_sensor)
{
// Liga o buzzer 


digitalWrite(buzzer, HIGH);

}
else
{
// Desliga o buzzer

digitalWrite(buzzer, LOW);
}
delay(100);

Exibições: 144

Responder esta

Respostas a este tópico

A coisa é simples tipo:

pinMode(A0,INPUT);//A0 como entrada digital

pinMode(A1,OUTPUT);//A1 como saida digital

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço