Paso 3: Código
El código de
/ * "La magia humor Crystal Ball"
Estúpido truco Pet – ITP 2011
*/
TMP36 Variables de Pin
int temperaturePin = 0; entrada: se conecta el pin analógico el TMP36
Pasadores LED RGB
int ledDigitalOne [] = {9, 10, 11}; salida: los tres pernos digitales del RGB LED
9 = redPin, 10 = greenPin, 11 = bluePin
const ON booleano = bajo;
const OFF booleano = alta;
Colores predefinidos
const [] rojo booleano = {ON, OFF, OFF};
[] verde booleano const = {OFF, ON, OFF};
const [] azul booleano = {OFF, OFF, ON};
const [] amarillo booleano = {ON, ON, OFF};
const [] cian booleano = {OFF, ON, ON};
const [] MAGENTA booleano = {ON, OFF, ON};
const [] blanco booleano = {ON, ON, ON};
const [] negro booleano = {OFF, OFF, OFF};
void setup()
{
para (int i = 0; i < 3; i ++) {}
pinMode (ledDigitalOne [i], salida); Configurar los pines RGB LED como salidas
}
Serial.Begin(9600); Iniciar la conexión serial con la computadora
}
void loop()
{
Float temperatura = getVoltage(temperaturePin); obtener el voltaje del sensor de temperatura
temperatura = (((temperature –.5) * 100) * 1.8) + 32; conversión de 10 mv por grado ingenio 500 mV offset
int newTemperature = temperatura; a grados ((volatge-500mV) veces 100)
Serial.println(newTemperature); el resultado de la impresión
Delay(7000); espera 7 segundos para obtener un nuevo resultado
Establece los tres LEDs en cualquier color predefinido dependiendo de la temperatura en º f
Si ((newTemperature>40) & & (newTemperaturesetColor (ledDigitalOne, negro);
Serial.println("Black");
}
else if ((newTemperature > = 72) & & (newTemperaturesetColor (ledDigitalOne, WHITE);
Serial.println("White");
}
else if ((newTemperature > = 74) & & (newTemperaturesetColor (ledDigitalOne, verde);
Serial.println("Green");
}
else if ((newTemperature > = 76) & & (newTemperaturesetColor (ledDigitalOne, cian);
Serial.println("Cyan");
}
else if ((newTemperature > = 78) & & (newTemperaturesetColor (ledDigitalOne, azul);
Serial.println("Blue");
}
else if ((newTemperature > = 80) & & (newTemperaturesetColor (ledDigitalOne, amarillo);
Serial.println("Yellow");
}
else if ((newTemperature > = 82) & & (newTemperaturesetColor (ledDigitalOne, rojo);
Serial.println("red");
}
Else {}
Colores (ledDigitalOne, MAGENTA);
Serial.println("magenta");
}
}
Float getVoltage(int pin) {}
volver (analogRead(pin) *. 004882814); conversión de una gama digital de 0 a 1024
0 a 5 voltios (cada 1 es igual a la lectura ~ 5 milivoltios
}
Función para establecer el color
{} void colores (int * led, boolean * color)
para (int i = 0; i < 3; i ++) {}
digitalWrite (led [i], color[i]);
}
}
Una versión de colores que permite para el uso de colores booleanos const
{} void colores (int * led, const boolean * color)
Boolean tempColor [] = {color de [0] color [1], [2]};
Colores (led, tempColor);
}