Arduino LCD屏幕未打开的错误在哪里?
这是一个带有温度传感器和障碍物传感器的代码。 当我尝试在proteus中模拟时,lcd不会打开Arduino LCD屏幕未打开的错误在哪里?,arduino,Arduino,这是一个带有温度传感器和障碍物传感器的代码。 当我尝试在proteus中模拟时,lcd不会打开 #include <Keypad.h> #include <LiquidCrystal.h> #include <infrarrojo.h> ////展示//// //声明// ////////////////////////////////////////////温度////////////////////////////////////
#include <Keypad.h>
#include <LiquidCrystal.h>
#include <infrarrojo.h>
////展示////
//声明//
////////////////////////////////////////////温度/////////////////////////////////////
///////////////////////////////恩森德el液晶显示器/////////////////////////////////////////////
//////////////////////////////////车辙//////////////////////////////////
////////////////////////////////障碍检测器/////////////////////////////
你试过什么?这不是调试服务。如果显示器未打开,请检查所有连接,并从代码中删除与显示器无关的内容。另外,如果你想从讲英语的社区得到帮助,不要发表西班牙语评论。请阅读并改进您的帖子
infrarrojo estado(13);//DEFINICION DEL PIN DEL ARDUINO A USAR
int VALOR;//VARIBLE QUE RECIBE EL DATO
int led =13;//REDEFINICION DE PIN DE ARDUINO PARA LED INDICADOR DE PULSO(ESTO ES OPCIONAL)
int led_estado;//VARIABLE
const byte ROWS=4;// Numero de filas
const byte COLS=3;//Numero de columnas
char keys[ROWS][COLS]={ // Definimos el tipo de teclado 3x4
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS]={25,26,27,28}; //Pines de Filas del keypad
byte colPins [COLS]={22,23,24};//Pines de Columnas del keypad
Keypad keypad=Keypad(makeKeymap(keys),rowPins,colPins,ROWS,COLS);
char boton;
int Trig=6;
int Echo=5;
int pantalla=10;
float centi()
{// Funcion para leer el dato analogico y convertirlo a digital:
int dato;
float c;
dato=analogRead(A0);
c = (500.0 * dato)/1023;
return (c);
}
float rankin(float cent)
{
float r;
r=(cent + 273.15)*1.8;
return (r);
}
void setup() {
lcd.begin(16,2);
lcd.print("C=");
lcd.setCursor(0,1);
lcd.print("Temperatura");
Serial.begin(9600);
pinMode(Trig,OUTPUT);
pinMode(Echo,INPUT);
pinMode(pantalla,OUTPUT);//PANTALLA DE ENTRADA
pinMode(led,OUTPUT);//LED QUE INDICA EL ESTADO DEL LED
lcd.print(boton);
Serial.begin(9600); //VELOCIDAD COMUNICACION SERIAL
}
void loop() {
long duracion;
long distancia;
digitalWrite(Trig,LOW);//Apagamos trig
delayMicroseconds(4);//Esperamos4 microsegundos
digitalWrite(Trig,HIGH);//Encendemos trig
delayMicroseconds(10);//Durante 10 Microsegundos
digitalWrite(Trig,LOW);//Lo volemos apagar para que envie una onda sonica
duracion=pulseIn(Echo,HIGH);//Al mismo tiempo activamos a Echo, inicia el conteo
distancia= duracion/29;
lcd.print(distancia);
if (distancia<=10)
{
digitalWrite(pantalla,HIGH);
}
if(distancia>10){
digitalWrite(pantalla,LOW);
}
float Centigrados = centi();
float Rankin = rankin (Centigrados);
char rut[11];
byte indice=0;
boton = keypad.getKey();
if(boton){
rut[indice]=boton;
indice ++;
lcd.print(boton);
}
if (rut==11){
lcd.setCursor(2,0);
lcd.print(Centigrados);
delay(200);
}
lcd.print("\n leyendo estado sensor: \n");//IMPRIME MENSAJE EN PC
lcd.print(estado.lectura(VALOR));//IMPRIME EL ESTADO DEL Vo DEL SENSOR MEDIANTE LA VARIABLE VALOR
led_estado = estado.lectura(VALOR);//LED QUE RECOGE EL ESTADO DEL SENSOR
if(led_estado == 1)//ETAPA DE COMPARACION PARA ACTIVAR UN LED SEGUN EL ESTADO DEL SENSOR
{
digitalWrite(led,HIGH);//PRENDE UN LED SI EL SENSOR DETECTA OBSTACULO
}
else
{
digitalWrite(led,LOW);
}
delay(100);//GENERA UN TIEMPO PARA LEER E IMPRIMIR EN PUERTO SERIE
}