Ljus och vatten reaktiva regnrock (3 / 4 steg)
Steg 3: kod
Ljussensor kod: int CDSPin = 0; void setup() { void loop() {
int LEDPin = 13.
pinMode (LEDPin, OUTPUT);
Serial.BEGIN(9600);
}
int lightLevel;
lightLevel = analogRead(CDSPin);
Serial.println(lightLevel);
Delay(100);
om (lightLevel < 300)
{
digitalWrite (LEDPin, hög);
}
annars om (lightLevel > 300)
{digitalWrite (LEDPin, låg);
}
}
Vatten Sensor kod:
int waterSensor = 2; int ledPin = 13. int speakerPin = 9; int längd = 15. antalet anmärkningar {Ogiltig playTone (int tonen, int längd) void playNote (char note, int varaktighet) { spela tonen motsvarar tonens namn void setup() { void loop() {
char noterar [] = "gggefffd"; ett utrymme representerar en vila
int slår [] = {
1, 1, 1, 3, 1, 1, 1, 3,};
int tempo = 300;
för (länge jag = 0; jag < varaktighet * 1000L; i += tonen * 2) {
digitalWrite (speakerPin, hög);
delayMicroseconds(tone);
digitalWrite (speakerPin, låg);
delayMicroseconds(tone);
}
}
char namn [] = {
'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
int toner [] = {
1915, 1700, 1519, 1432, 1275, 1136, 1014, 956};
för (int jag = 0; jag < 8; i ++) {
om (namn [i] == OBS) {
playTone (toner [i], varaktighet);
}
}
}
pinMode (ledPin, produktionen);
Serial.BEGIN(9600);
pinMode (speakerPin, produktionen);
}
int sensorData;
sensorData = analogRead(waterSensor);
Serial.println(sensorData);
om (sensorData < 50) {
playTone "b", 100.
}
annars om (sensorData > 51) {
;
}
}