2017-02-19 1 views
0

Je fabrique un capteur de température simple pour allumer une des deux LED en fonction de la température.aucune sortie LED de plaque d'essais

Pour une raison quelconque, la sortie LED ne fait clignoter qu'une seule fois la LED intégrée (broche 13 sur l'Edison).

Ma sortie de température fonctionne correctement, mais je ne suis pas sûr de la raison pour laquelle mon code fonctionne incorrectement.

Photo du câblage ici.

Photo of the wiring

int temppin = 0; 
int ledhigh = 7; 
int ledlow = 8; 


void setup() 
{ 
    Serial.begin(9600); 
    pinMode(temppin, INPUT); 
    pinMode(ledhigh, OUTPUT); 
    pinMode(ledlow, OUTPUT); 
} 


void loop()      
{ 

int tempout = analogRead(temppin); 


float volts = tempout * 5.0; 
volts /= 1024.0; 
float temp = (volts - 0.5) * 100 ; 
Serial.print(temp); Serial.println(" celsius"); 

if (temp > 0){ 
    Serial.print("high temp ="); 
    digitalWrite(ledhigh, HIGH); 
} else {digitalWrite(ledlow, HIGH); 
    Serial.print("low temp"); 
} 


delay(3000);         
} 
+1

Essayez commuter les diodes électroluminescentes (de sorte que le haut est faible). Si vous obtenez le même résultat ... alors je suis confus. Le code et le câblage sont corrects. –

+0

en inversant les LED + et - ou le code? J'ai essayé les deux. même résultat. Résistances de 330 ohms si cela fait une différence. – Zane

+0

Avez-vous essayé de désactiver la commutation des broches pour le câblage (en utilisant d'autres broches que 0, 1, 2)? Ne pensez pas que cela devrait avoir de l'importance, mais il vous manque une nouvelle ligne après l'autre { –

Répondre

0

Le problème est probablement que vous essayez d'utiliser les broches d'entrée analogiques en sortie. Vous devez utiliser les broches numériques.

Comme expliqué dans cette vidéo:

https://youtu.be/BtLwoNJ6klE?t=50s