Quoi est-elle faite ? Il prend en charge les personnes à utiliser la corbeille plus (moins de déchets dans l’espace public). Elle s’applique à un « aspect amusant » jeter vos ordures dans la poubelle de. C’est le principe d’un match de basket où vous obtenez un point pour jeter quelque chose dans le basket-ball net.
Nous avons commencé avec la programmation en traitement et Arduino, basé sur un capteur de distance à ultrasons >> http://www.parallax.com/tabid/768/ProductID/92/Default.aspx. Ce capteur mesure distance et est parfait pour n’importe quel nombre d’applications qui vous obligent à réaliser des mesures entre les objets fixes ou en mouvement.
Quand quelqu'un lance une boule de papier dans le document Tosket, la distance qui est mesurée par le capteur de Distance à ultrasons diminue et donc les numéros qui arduino gagne réduisant trop. Nous utilisons cette dégradation dans notre code pour augmenter le score actuel avec un seul point. Ces points augmentent chaque fois une boule de papier est levée. Lorsque le score actuel est de 99, la réinitialisation du compteur et il redémarre en comptant de 0 points.
Supplémentaire, nous avons ajouter quelques sons. Il y a une lecture du son quand quelqu'un jette dans le tosket de papier et obtient un point, et il joue un autre sonore lorsque vous êtes la personne 99e de scores. Nous avons également blanchi un cadre pour notre écran et un ballon de basket net. Le nom au-dessus de notre écran est fait par un coupeur de laser.
Pour connecter le capteur à l’arduino, jetez un oeil sur ce site Web >> http://www.robot-electronics.co.uk/htm/arduino_examples.htm. Recherche de « SRF02 ».
Nous avons également fait une vidéo sur notre projet, néanmoins une partie de celui-ci est en Néerlandais, il peut toujours être intéressant de regarder >> https://vimeo.com/52013372.
Le code ci-dessous, nous avons utilisé pour notre Tosket de papier dans le traitement et Arduino.
CODE POUR TRAITEMENT
Import ddf.minim.* ;
Import ddf.minim.signals.* ;
Import ddf.minim.analysis.* ;
Import ddf.minim.effects.* ;
Import processing.serial.* ;
Serial myPort ;
Bg de Byte ;
AudioPlayer joueur ;
AudioPlayer Joueur2 ;
Minim minim ;
int currentScore ;
int scoreIncrease ;
int endScore ;
int inByte ;
void setup() {}
taille (800, 600) ;
println(Serial.List()) ;
String portName = Serial.list() [0] ;
myPort = nouvelle série (ce, portName, 9600) ;
BG = loadImage ("achtergrond. "JPG") ;
minim = new Minim(this) ;
Player = 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) ;
Si {(inByte < 60)
currentScore += scoreIncrease ; augmenter currentScore
println(currentScore) ;
Player.Rewind() ;
Player.Play() ;
if(currentScore == endScore) {}
Player2.Play() ;
currentScore = 0 ;
}
}
}
CODE POUR ARDUINO
#include
void setup() {}
Wire.Begin() ;
Serial.Begin(9600) ;
}
lecture int = 0 ;
void loop() {}
données int = 0 ;
int newAddress = 0 x 70 ;
cale booléen = false ;
{while(1)}
données = readData(newAddress) ;
{if(Data!=0)}
Serial.Write(Data) ;
Si (données < 50 & & tenir == false) {}
Serial.Write = 1 ;
tenir = true ;
}
ElseIf (données > 200 & & tenir == true) {}
tenir = false ;
}
}
else {}
Serial.println("0") ;
}
Delay(90) ;
}
}
void changeAddress (int oldAddress, int newAddress)
{
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 (adresse int) {}
lecture int = 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 (adresse, 2) ;
Si (2 < = Wire.available())
{
lire = Wire.read() ;
lecture = lecture << 8 ;
lecture | = Wire.read() ;
retour de lecture ;
}
return 0 ;
}