Hur man gör en uppvärmning och kylning jacka (15 / 20 steg)
Steg 15: kod
int ledPin = 13. LED är ansluten till digital stift 13
int sensorPin0 = 0; temperaturgivaren är ansluten till analoga stift 0
int sensorValue0; variabel för att lagra värdet kommer från sensorn a0
int sensorPin1 = 1; temperaturgivaren är ansluten till analog pinne 1
int sensorValue1; variabel för att lagra värdet kommer från sensorn a1
int sensorPin2 = 2; temperaturgivaren är ansluten till analoga pin a2
int sensorValue2; variabel för att lagra värdet kommer från sensorn a2
int sensorPin3 = 3; temperaturgivaren är ansluten till analoga stift 3
int sensorValue3; variabel för att lagra värdet kommer från sensorn a3
int sensorPin4 = 4; temperaturgivaren är ansluten till analog pinne 4
int sensorValue4; variabel för att lagra värdet kommer från sensorn a4
int sensorPin5 = 5; temperaturgivaren är ansluten till analoga stift 5
int sensorValue5; variabel för att lagra värdet kommer från sensorn a5
int fanRelay = 7. relä är ansluten till digital stift 7
int heatRelay = 3; uppvärmning spole relä är ansluten till digital stift 6
Utgång
int greenPin = 9; Grön LED, ansluten till digital stift 10
int bluePin = 10; Blå LED, ansluten till digital stift 11
int redPin = 11; Röd lysdiod, ansluten till digital pin 9
Programmet variabler
int redVal = 255; Variabler för att lagra värden att skicka till stiften
int greenVal = 0; Startvärdena är röda full, gröna och blå av
int blueVal = 0;
void setup()
{
pinMode (ledPin, produktionen); anger ledPin vara en utgång
Serial.BEGIN(9600); initiera serieporten
digitalWrite (ledPin, hög); Aktivera LED
pinMode (redPin, produktionen); ställer in stiften som utgång
pinMode (greenPin, produktionen);
pinMode (bluePin, produktionen);
pinMode (fanRelay, produktionen);
pinMode (heatRelay, produktionen);
digitalWrite (fanRelay, låg); uppsättningar relä till off
digitalWrite (heatRelay, låg); uppsättningar värma spole relä till off
}
void loop() / / kör om och om igen
{
Serial.println ("Sensor värden:");
sensorValue0 = analogRead(sensorPin0); läsa värdet från sensorn
Serial.println(sensorValue0); Skicka detta värde till datorn
sensorValue1 = analogRead(sensorPin1); läsa värdet från sensorn
Serial.println(sensorValue1); Skicka detta värde till datorn
sensorValue2 = analogRead(sensorPin2); läsa värdet från sensorn
Serial.println(sensorValue2); Skicka detta värde till datorn
sensorValue3 = analogRead(sensorPin3); läsa värdet från sensorn
Serial.println(sensorValue3); Skicka detta värde till datorn
sensorValue4 = analogRead(sensorPin4); läsa värdet från sensorn
Serial.println(sensorValue4); Skicka detta värde till datorn
sensorValue5 = analogRead(sensorPin5); läsa värdet från sensorn
Serial.println(sensorValue5); Skicka detta värde till datorn
int sensorAverage = (sensorValue0 + sensorValue1 + sensorValue2 + sensorValue3 + sensorValue4 + sensorValue5) / 6; sensor medelvärden
om (sensorValue0 < 215) / / kall fas av bleknar
{
om (redVal < 255) redVal += 15. Red ner
om (blueVal > 0) blueVal-=15; Blå upp
}
annars om (sensorValue0 > 215) / / varm fas av bleknar
{
om (redVal > 0) redVal-=15; Red upp
om (blueVal < 255) blueVal += 15. Blå ner
}
om (sensorValue0 < 215) / / aktiv kall fas
{
digitalWrite (heatRelay, hög); Aktivera värme
digitalWrite (fanRelay, låg); Inaktivera fans
Delay(2000); Vänta
}
om (sensorValue0 > 215) / / aktiv varm fas
{
digitalWrite (heatRelay, låg); Inaktivera värme
digitalWrite (fanRelay, hög); Aktivera kalla
Delay(2000); Vänta
}
Debug
Serial.println ("Sensor genomsnittet:"); Skicka detta värde till datorn
Serial.println(sensorAverage); Skicka detta värde till datorn
Serial.println ("kontrollera färgvärde:");
Serial.println(redVal);
Serial.println(blueVal);
analogWrite (redPin, redVal); Skriv aktuella värden till LED stift
analogWrite (greenPin, greenVal);
analogWrite (bluePin, blueVal);
}