Arduino Beer Pong Arcade (5 / 6 steg)
Steg 5: Arduino kod
-----------
CONST int ledPin1 = 13. ledde till digital stift 1
CONST int ledPin2 = 12;
CONST int ledPin3 = 11;
CONST int ledPin4 = 10;
CONST int ledPin5 = 9;
CONST int ledPin6 = 8;
CONST int knockSensor1 = A0; piezo är ansluten till analoga stift 0
CONST int knockSensor2 = A1;
CONST int knockSensor3 = A2;
CONST int knockSensor4 = A3;
CONST int knockSensor5 = A4;
CONST int knockSensor6 = A5;
CONST int tröskel = 500. tröskelvärde som beslutar när upptäckta ljudet är en knock eller inte
dessa variabler ändras:
int sensorReading1 = 0;
int sensorReading2 = 0;
int sensorReading3 = 0;
int sensorReading4 = 0;
int sensorReading5 = 0;
int sensorReading6 = 0; / / variabel för att lagra värdet läsa från givarstaven
int ledState = låg; variabeln som används för att lagra den sista LED statusen, för att växla ljus
int lastReading1 = 0;
int lastReading2 = 0;
int lastReading3 = 0;
int lastReading4 = 0;
int lastReading5 = 0;
int lastReading6 = 0;
void setup() {
pinMode (ledPin1, produktionen); förklara ledPin som som utdata
pinMode (ledPin2, produktionen);
pinMode (ledPin3, produktionen);
pinMode (ledPin4, produktionen);
pinMode (ledPin5, produktionen);
pinMode (ledPin6, produktionen); / / deklarera ledPin som som utdata
Serial.BEGIN(9600); Använd den seriella porten
digitalWrite (ledPin1, låg);
digitalWrite (ledPin2, låg);
digitalWrite (ledPin3, låg);
digitalWrite (ledPin4, låg);
digitalWrite (ledPin5, låg);
digitalWrite (ledPin6, låg);
lastReading1 = analogRead(knockSensor1);
lastReading2 = analogRead(knockSensor2);
lastReading3 = analogRead(knockSensor3);
lastReading4 = analogRead(knockSensor4);
lastReading5 = analogRead(knockSensor5);
lastReading6 = analogRead(knockSensor6);
}
void loop() {
Läs sensorn och lagrar det i variabeln sensorReading:
sensorReading1 = analogRead(knockSensor1);
sensorReading2 = analogRead(knockSensor2);
sensorReading3 = analogRead(knockSensor3);
sensorReading4 = analogRead(knockSensor4);
sensorReading5 = analogRead(knockSensor5);
sensorReading6 = analogRead(knockSensor6);
Serial.println(sensorReading4);
Serial.println(lastReading4);
om sensorn läsningen är större än tröskelvärdet:
om (sensorReading1-40 > lastReading1) {
lastReading1 = sensorReading1;
Delay(50);
digitalWrite (ledPin1, hög);
}
om (sensorReading2-100 > lastReading2) {
lastReading2 = sensorReading2;
Delay(50);
digitalWrite (ledPin2, hög);
}
om (sensorReading3-50 > lastReading3) {
lastReading2 = sensorReading2;
Delay(50);
digitalWrite (ledPin3, hög);
}
om (sensorReading4-50 > lastReading4) {
lastReading4 = sensorReading4;
Delay(50);
digitalWrite (ledPin4, hög);
}
om (sensorReading5-78 > lastReading5) {
lastReading5 = sensorReading5;
Delay(50);
digitalWrite (ledPin5, hög);
}
om (sensorReading6-50 > lastReading6) {
lastReading6 = sensorReading6;
Delay(50);
digitalWrite (ledPin6, hög);
}
}