Maxcim
%Europe/Berlin %671 %2010, 16:07
Hallo,
Wij zijn op school bezig met een project waarbij we met de webcam iemands emotie aflezen.
Dit gebeurt allemaal in AS3
Nu hebben we er een Arduino aan gekoppeld die aan de hand van de emotie een 3 color LED aanstuurd.
Dus bijvoorbeeld als je boos bent is die rood en als je blij bent blauw.
Het enige wat we nu nog moeten doen is de Hex kleur naar RGB omzetten en doorsturen naar de LED.
Hier staan de kleuren die gebruikt worden bij de emoties:
var happyKleuren:Array = ["090230", "162D22", "020D19", "282635", "064411"];
var sadKleuren:Array = ["D2E1F7", "CAF3FF", "91EBED", "279393", "B9EAE9"];
var angryKleuren:Array = ["990499", "600453", "B28AAF", "AA3F87", "7C0E5D"];
var suprisedKleuren:Array = ["3EFF55", "00FF00", "FFA300", "F9FF00", "FFD400"];
var ambientKleuren:Array = ["224172", "728287", "1E3838", "B9B9BA", "4E6D6B"];
var kleur:String = "00FF00";
Hieronder bevat "kleur" een Hex getal,
hoe krijg ik dit omgezet naar de RGB code?
//verander licht
function changeColor(emotie):void{
//kies kleur
var randomNumber2:int = Math.round(Math.random() * (5 - 0)) + 0;
switch (emotie) {
case "happy":
// "kleur" hieronder bevat dus een Hex getal dat naar RGB moet
kleur = happyKleuren[randomNumber2];
ledState9=0; // hier moet ipv de "0" de RGB code
ledState10=0; // hier moet ipv de "0" de RGB code
ledState11=0; // hier moet ipv de "0" de RGB code
break;
case "sad":
kleur = sadKleuren[randomNumber2];
ledState9=0; // hier moet ipv de "0" de RGB code
ledState10=0; // hier moet ipv de "0" de RGB code
ledState11=0; // hier moet ipv de "0" de RGB code
break;
case "suprised":
kleur = suprisedKleuren[randomNumber2];
ledState9=0; // hier moet ipv de "0" de RGB code
ledState10=0; // hier moet ipv de "0" de RGB code
ledState11=0; // hier moet ipv de "0" de RGB code
break;
case "angry":
kleur = angryKleuren[randomNumber2];
ledState9=0; // hier moet ipv de "0" de RGB code
ledState10=0; // hier moet ipv de "0" de RGB code
ledState11=0; // hier moet ipv de "0" de RGB code
break;
case "ambient":
kleur = ambientKleuren[randomNumber2];
ledState9=0; // hier moet ipv de "0" de RGB code
ledState10=0; // hier moet ipv de "0" de RGB code
ledState11=0; // hier moet ipv de "0" de RGB code
break;
default:
kleur = ambientKleuren[randomNumber2];
}
//interface aanpassen
var doorstuurKleur = "0x" + kleur;
var tintEffect:Color = new Color();
tintEffect.setTint(doorstuurKleur, 1);
hoofdMenu.kleurMonitor.transform.colorTransform = tintEffect;
//arduino.writeDigitalPin(ledPin9, ledState9);
arduino.writeAnalogPin(ledPin9, ledState9);
arduino.writeAnalogPin(ledPin10, ledState10);
arduino.writeAnalogPin(ledPin11, ledState11);
colorToFile()
}
Wij komen er echt niet uit.
Alvast bedankt voor de hulp,
Maxcim
Wij zijn op school bezig met een project waarbij we met de webcam iemands emotie aflezen.
Dit gebeurt allemaal in AS3
Nu hebben we er een Arduino aan gekoppeld die aan de hand van de emotie een 3 color LED aanstuurd.
Dus bijvoorbeeld als je boos bent is die rood en als je blij bent blauw.
Het enige wat we nu nog moeten doen is de Hex kleur naar RGB omzetten en doorsturen naar de LED.
Hier staan de kleuren die gebruikt worden bij de emoties:
var happyKleuren:Array = ["090230", "162D22", "020D19", "282635", "064411"];
var sadKleuren:Array = ["D2E1F7", "CAF3FF", "91EBED", "279393", "B9EAE9"];
var angryKleuren:Array = ["990499", "600453", "B28AAF", "AA3F87", "7C0E5D"];
var suprisedKleuren:Array = ["3EFF55", "00FF00", "FFA300", "F9FF00", "FFD400"];
var ambientKleuren:Array = ["224172", "728287", "1E3838", "B9B9BA", "4E6D6B"];
var kleur:String = "00FF00";
Hieronder bevat "kleur" een Hex getal,
hoe krijg ik dit omgezet naar de RGB code?
//verander licht
function changeColor(emotie):void{
//kies kleur
var randomNumber2:int = Math.round(Math.random() * (5 - 0)) + 0;
switch (emotie) {
case "happy":
// "kleur" hieronder bevat dus een Hex getal dat naar RGB moet
kleur = happyKleuren[randomNumber2];
ledState9=0; // hier moet ipv de "0" de RGB code
ledState10=0; // hier moet ipv de "0" de RGB code
ledState11=0; // hier moet ipv de "0" de RGB code
break;
case "sad":
kleur = sadKleuren[randomNumber2];
ledState9=0; // hier moet ipv de "0" de RGB code
ledState10=0; // hier moet ipv de "0" de RGB code
ledState11=0; // hier moet ipv de "0" de RGB code
break;
case "suprised":
kleur = suprisedKleuren[randomNumber2];
ledState9=0; // hier moet ipv de "0" de RGB code
ledState10=0; // hier moet ipv de "0" de RGB code
ledState11=0; // hier moet ipv de "0" de RGB code
break;
case "angry":
kleur = angryKleuren[randomNumber2];
ledState9=0; // hier moet ipv de "0" de RGB code
ledState10=0; // hier moet ipv de "0" de RGB code
ledState11=0; // hier moet ipv de "0" de RGB code
break;
case "ambient":
kleur = ambientKleuren[randomNumber2];
ledState9=0; // hier moet ipv de "0" de RGB code
ledState10=0; // hier moet ipv de "0" de RGB code
ledState11=0; // hier moet ipv de "0" de RGB code
break;
default:
kleur = ambientKleuren[randomNumber2];
}
//interface aanpassen
var doorstuurKleur = "0x" + kleur;
var tintEffect:Color = new Color();
tintEffect.setTint(doorstuurKleur, 1);
hoofdMenu.kleurMonitor.transform.colorTransform = tintEffect;
//arduino.writeDigitalPin(ledPin9, ledState9);
arduino.writeAnalogPin(ledPin9, ledState9);
arduino.writeAnalogPin(ledPin10, ledState10);
arduino.writeAnalogPin(ledPin11, ledState11);
colorToFile()
}
Wij komen er echt niet uit.
Alvast bedankt voor de hulp,
Maxcim