Wat is het gemaakt voor? Het ondersteunt mensen gebruik van de Prullenbak meer (minder vuilnis in de openbare ruimte). Het geldt een 'fun-aspect' uw afval in de prullenbak gooien. Het is het principe van een mand wedstrijd waar je een punt voor het gooien van iets in de basketbal net.
We zijn begonnen met programmeren Processing en Arduino, gebaseerd op een ultrasone afstandssensor >> http://www.parallax.com/tabid/768/ProductID/92/Default.aspx. Deze sensor meet afstand en is perfect voor een onbeperkt aantal toepassingen waarvoor u metingen tussen bewegende of stilstaande objecten uit te voeren.
Wanneer iemand gooit een bal van papier in de papier-Tosket, de afstand die wordt gemeten door de ultrasone afstandssensor vermindert en dus de nummers welke arduino wint te verminderen. We gebruiken deze afbraak in onze code voor het verhogen van de huidige score met een punt. Deze punten verhogen telkens een bal van papier is gegooid in. Wanneer de huidige score is 99, de teller opnieuw ingesteld en het opnieuw opgestart vanaf 0 punten.
Extra, we sommige geluiden toevoegen. Er wordt een geluid afgespeeld wanneer iemand in de papier-tosket gooit en een punt krijgt, en er is een ander geluid spelen wanneer u bent de 99e degene die scoort. Wij gefreesd ook een frame voor onze scherm en een basketbal net. De naam boven onze scherm is gemaakt door een laser cutter.
Voor het aansluiten van de sensor op de arduino hebben een kijkje op deze website >> http://www.robot-electronics.co.uk/htm/arduino_examples.htm. Zoek naar 'SRF02'.
We hebben ook een video gemaakt over ons project, toch een deel van het is in het Nederlands, kan het nog steeds interessant om te kijken >> https://vimeo.com/52013372.
Hieronder de code die we voor onze papier Tosket in processing en Arduino gebruikt.
CODE VOOR VERWERKING
importeren van ddf.minim.*;
importeren van ddf.minim.signals.*;
importeren van ddf.minim.analysis.*;
importeren van ddf.minim.effects.*;
importeren van processing.serial.*;
Seriële myPort;
PImage bg;
AudioPlayer speler;
AudioPlayer player2;
Minim minim;
int currentScore;
int scoreIncrease;
int endScore;
int inByte;
VOID Setup {}
grootte (800, 600);
println(Serial.List());
String portName = Serial.list() [0];
myPort = nieuwe Serial (deze, portName, 9600);
BG = loadImage ("achtergrond. JPG");
Minim = nieuwe Minim(this);
speler = minim.loadFile("Punt.mp3");
Player2 = minim.loadFile("Winnaar.mp3");
currentScore = 0;
scoreIncrease = 1;
endScore = 99;
}
VOID draw() {}
Background(BG);
Text(currentScore,400,545);
Fill(0);
textSize(290);
}
VOID serialEvent(Serial myPort) {}
int inByte = myPort.read();
println(inByte);
Als (inByte < 60) {}
currentScore += scoreIncrease; currentScore verhogen
println(currentScore);
Player.Rewind();
Player.Play();
if(currentScore == endScore) {}
Player2.Play();
currentScore = 0;
}
}
}
CODE VOOR ARDUINO
#include
VOID Setup {}
Wire.begin();
Serial.begin(9600);
}
int lezing = 0;
void loop {}
int gegevens = 0;
int NieuwAdres = 0x70;
Booleaanse hold = false;
while(1) {}
gegevens = readData(newAddress);
if(data!=0) {}
Serial.write(Data);
Als (gegevens < 50 & & houden == false) {}
Serial.write = 1;
houden = true;
}
anders als (gegevens > 200 & & houden == true) {}
houden = false;
}
}
else {}
Serial.println("0");
}
delay(90);
}
}
VOID changeAddress (int oldAddress, int NieuwAdres)
{
Wire.beginTransmission(oldAddress);
Wire.write(byte(0x00));
Wire.write(byte(0xA0));
Wire.endTransmission();
Wire.beginTransmission(oldAddress);
Wire.write(byte(0x00));
Wire.write(byte(0xAA));
Wire.endTransmission();
Wire.beginTransmission(oldAddress);
Wire.write(byte(0x00));
Wire.write(byte(0xA5));
Wire.endTransmission();
Wire.beginTransmission(oldAddress);
Wire.write(byte(0x00));
Wire.write(newAddress);
Wire.endTransmission();
}
int readData (int adres) {}
int lezing = 0;
Wire.beginTransmission(address);
Wire.write(byte(0x00));
Wire.write(byte(0x51));
Wire.endTransmission();
delay(70);
Wire.beginTransmission(address);
Wire.write(byte(0x02));
Wire.endTransmission();
Wire.requestFrom (adres, 2);
Als (2 < = Wire.available())
{
lezen = Wire.read();
lezen = lezing << 8;
lezen | = Wire.read();
retourneren van lezing;
}
keren 0;
}