Stap 6: Arduino Code (hoe we deed)
tellerint counter = 0; geen gebruik maakt van dit recht nu-geprobeerd om uit te voeren voor wanneer hall effect sensor niet goed werkte; dat wil zeggen was de lezing wild schommelen.
Photoresistor
int lightPin = a1 worden verkregen; lichtsensor invoer pin toewijzen
int groundPin = A4;
int groundValue = 0;
Hall Effect Sensor
int hallPin = A5; hall effect sensor input pin toewijzen
int hallValue = 0;
instantiëren potentiometer
int sensorPin = A0; toewijzen van de invoer pin voor de potmeter
int sensorValue = 0; variabele de waarde afkomstig van de sensor opslaan
int outputValue = 0;
int newSensorValue = 0;
int newOutputValue = 0;
int newerOutputValue = 0;
pinnen aan LED gezicht onderdelen toewijzen
int glimlach = 2;
int straightface = 3;
int triest = 4;
int ogen = 5;
int wenkbrauwen = 6;
switch case variabele
int gezicht = 1;
emoties
Const int ECSTATIC = 1;
Const int HAPPY = 2;
Const int STRAIGHT = 3;
Const int SAD = 4; const int ANGRY = 5;
Const int verrassing = 6;
SETUP
VOID Setup {}
Serial.begin(9600);
Hall Effect Sensor
pinMode (hallPin, INPUT);
Potentiometer
pinMode(smile,OUTPUT);
pinMode(straightface,OUTPUT);
pinMode(sad,OUTPUT);
pinMode(eyes,OUTPUT);
pinMode(brows,OUTPUT);
}
GEZICHT WISSELEN FUNCTIE
ongeldig faceswitch() {}
switch(face) {}
extatisch
geval 1: digitalWrite (ogen, hoge);
digitalWrite (glimlach, hoge);
digitalWrite (straightface, hoge);
digitalWrite (droevig, laag);
digitalWrite (wenkbrauwen, laag);
breken;
Gelukkig
geval 2: digitalWrite (ogen, hoge);
digitalWrite (glimlach, hoge);
digitalWrite (straightface, laag);
digitalWrite (droevig, laag);
digitalWrite (wenkbrauwen, laag);
breken;
rechte
Case 3: digitalWrite (ogen, hoge);
digitalWrite (glimlach, laag);
digitalWrite (droevig, laag);
digitalWrite (straightface, hoge);
digitalWrite (wenkbrauwen, laag);
breken;
triest
geval 4: digitalWrite (ogen, hoge);
digitalWrite (glimlach, laag);
digitalWrite (verdrietig, hoge);
digitalWrite (straightface, laag);
digitalWrite (wenkbrauwen, laag);
breken;
boos
geval 5: digitalWrite (ogen, hoge);
digitalWrite (glimlach, laag);
digitalWrite (verdrietig, hoge);
digitalWrite (straightface, hoge);
digitalWrite (wenkbrauwen, hoge);
breken;
verrassing
kast 6: digitalWrite (ogen, hoge);
digitalWrite (glimlach, hoge);
digitalWrite (verdrietig, hoge);
digitalWrite (straightface, laag);
digitalWrite (wenkbrauwen, laag);
breken;
}
}
ALS DE INSTRUCTIES IN RUNNING LUS
void loop {}
Photoresistor
int lightLevel = analogRead(lightPin); Lees de
lightlevel
lightLevel = kaart (lightLevel, 900, 0, 0, 255);
lightLevel = beperken (lightLevel, 0, 255); //make ervoor dat de
waarde is tussen //0 en 255
Serial.println(lightLevel);
delay(50);
hallValue = analogRead(hallPin);
Serial.println(hallValue);
delay(50);
potentiometer
sensorValue = analogRead(sensorPin); luiden naar de waarde van de sensor:
outputValue = kaart (sensorValue, 0, 1023, 0, 600);
delay(50);
faceswitch();
if(outputValue<100) {}
gezicht = 1; extatisch
}
anders als (outputValue > 100 & & outputValue < 200) {}
gezicht = 2; Gelukkig
}
anders als (outputValue > 200 & & outputValue < 300) {}
gezicht = 3; rechte
}
anders als (outputValue > 300 & & outputValue < 400) {}
gezicht = 4; triest
}
anders als (outputValue > 400 & & outputValue < 500) {}
gezicht = 5; boos
}
anders als (outputValue > 500 & & outputValue < 600) {}
gezicht = 6; verrassing
}
Als (lightLevel > 70
){
newOutputValue = map(analogRead(sensorPin), 0, 1023, 0, 600); luiden naar de waarde van de sensor:
newOutputValue = beperken (newOutputValue, 0, 600);
while((ABS(map(analogRead(sensorPin), 0, 1023, 0, 600)-newOutputValue)) < 50) {}
Als (gezicht! = 5 & & gezicht! = 6 & & gezicht! = 1) {}
gezicht-= 1;
faceswitch();
while((ABS(map(analogRead(sensorPin), 0, 1023, 0, 600)-newOutputValue)) < 50) {}
delay(1000);
}
Serial.println ("gezicht wijzigen");
}
Als (gezicht == 5) {}
gezicht-= 2;
faceswitch();
while((ABS(map(analogRead(sensorPin), 0, 1023, 0, 600)-newOutputValue)) < 50) {}
delay(1000);
}
Serial.println ("overgang van boos");
}
}
}
Als (hallValue < 5) {}
newOutputValue = map(analogRead(sensorPin), 0, 1023, 0, 600); luiden naar de waarde van de sensor:
newOutputValue = beperken (newOutputValue, 0, 600);
while((ABS(map(analogRead(sensorPin), 0, 1023, 0, 600)-newOutputValue)) < 50) {}
Als (gezicht! = 5 & & gezicht! = 6 & & gezicht! = 1) {}
gezicht-= 1;
faceswitch();
while((ABS(map(analogRead(sensorPin), 0, 1023, 0, 600)-newOutputValue)) < 50) {}
delay(1000);
}
Serial.println ("gezicht wijzigen");
}
Als (gezicht == 5) {}
Serial.println ("overgang van boos");
gezicht-= 2;
faceswitch();
while((ABS(map(analogRead(sensorPin), 0, 1023, 0, 600)-newOutputValue)) < 50) {}
delay(1000);
}
}
}
}
}