我正在编写一个程序,当温度低于30°C时,该程序应点亮LED。编译时出现错误。你们可以看看吗?我在做什么错了?
/*
* Code d'exemple pour le capteur LM35DZ (0°C ~ +110°C).
*/
const int led_rouge = 3; //définition de la broche 3 de la carte étant la LED
int valeur_brute;
// Fonction setup(), appelée au démarrage de la carte Arduino
void setup() {
// Initialise la communication avec le PC
Serial.begin(9600);
//initialisation de la broche 3 comme étant une sortie
pinMode(led_rouge, OUTPUT);
}
// Fonction loop(), appelée continuellement en boucle tant que la carte Arduino est alimentée
void loop() {
// Mesure la tension sur la broche A1
int valeur_brute = analogRead(A1);
// Transforme la mesure (nombre entier) en température via un produit en croix
float temperature_celcius = valeur_brute * (5.0 / 1023.0 * 100.0);
// Envoi la mesure au PC pour affichage et attends 250ms
Serial.println(temperature_celcius);
delay(250);
//Condition de fonctionnement de la LED
if( valeur_brute < 100/110 ) //si température inférieur à 30°C
{
digitalWrite(led_rouge, HIGH);
}
if ( valeur_brute > 100/110 ){
digitalWrite(led_rouge, LOW);
}
}
这是我在前面的代码中遇到的错误
F:\Alexis\Temperature\Temperature - LED.ino: In function 'void setup()':
F:\Alexis\Temperature\Temperature - LED.ino:6:6: error: redefinition of 'void setup()'
void setup() {
^
F:\Alexis\Temperature\Temperature.ino:8:6: note: 'void setup()' previously defined here
void setup() {
^
F:\Alexis\Temperature\Temperature - LED.ino: In function 'void loop()':
F:\Alexis\Temperature\Temperature - LED.ino:13:6: error: redefinition of 'void loop()'
void loop() {
^
F:\Alexis\Temperature\Temperature.ino:20:6: note: 'void loop()' previously defined here
void loop() {
^
exit status 1
Erreur de compilation pour la carte Arduino/Genuino Uno
答案 0 :(得分:0)
您正在设置中重新定义CONST变量
int led_rouge = LOW;
。
const变量不能被覆盖。只需在设置中删除该行即可。以下素描对我来说很好用:
const int led_rouge = 3;
int valeur_brute;
void setup() {
Serial.begin(9600);
pinMode(led_rouge, OUTPUT);
}
void loop() {
int valeur_brute = analogRead(A1);
float temperature_celcius = valeur_brute * (5.0 / 1023.0 * 100.0);
Serial.println(temperature_celcius);
delay(250);
if( temperature_celcius < 100/110 ){
digitalWrite(led_rouge, HIGH);
}
if ( temperature_celcius > 100/110 ){
digitalWrite(led_rouge, LOW);
}
}