The Self Hoop
The goal of that project is to design and make an autonomous basketball hoop, using a servo and a sensor.
Supplies
List of materials:
-Arduino Uno
-Arduino Servo
-Torsion spring
-Light Sensor (Photo sensitive)
-3D printer
-Laser cutting device
-Metal wire
-Wood
Inspirations
Voici nos principales inspirations.
Nous avons souhaité reproduire le design du jeu d'arcade de basketball, sa forme et son fonctionnement. Lorsqu'un individu joue sur ces jeux d'arcade, il lance des ballons de manière continue. Il ne s’arrête pas avant la fin de la partie. Un cycle semble apparaitre lorsque nous observons cela de l'extérieur. Nous avons souhaité reproduire cette sensation ou concept de cycle incessant en décidant de concevoir un objet semblable à un jeu d'arcade de mini-basketball qui joue de manière autonome.
Design of the Launcher
Nous concevons le lanceur dans le but d'accueillir la balle. Ce lanceur est composé d'une cuillère pour accueillir la balle et d'un bord afin de permettre au doigt du servomoteur de l'abaisser.
Ce lanceur est relié à un ressort spirale qui va être comprimé en bas sa position et permet de donner l'énergie du lancer à la balle lorsque le bras du servomoteur le libère. Nous avons choisi cette solution car le servomoteur n'était pas assez puissant pour lancer la balle assez loin.
Nous l'imprimons en 3D. Les dimensions sont à adapter en fonction de celles de la balle et de l'écartement au servomoteur.
Design of the Servo-extension
Nous concevons un bras qui permettra d'attraper la pelle. Ce bras est imprimé en 3D. Il est doté d'un doigt en fil de fer. Cette matière souple permet de ne pas se bloquer sur la pelle lorsque le bras remonte dans sa position haute.
Coding the Servo
Le code est assez simple:
Il permet de traiter les informations de la photo résistance et de donner l'ordre au moteur de réaliser son cycle de lancer.
Le cycle de lancer fonctionne de la manière suivante:
Downloads
Designing and Coding the Light Sensor
Nous intégrons le capteur dans le dernière anneau du circuit de la balle. Ce capteur sert à détecter lorsque la balle arrive sur la cuillère pour activer le lancer. Il est doté d'une LED blanche fixée sur le dessus qui éclaire une photorésistance en dessous de l'anneau. Ainsi, lorsque la balle passe à travers l'anneau, la lumière est obstruée ce qui va être détecté par la photorésistance et lue sur l'Arduino qui va déclencher la mouvement de lancer du servomoteur.
Ce mouvement est composé de plusieurs phase :
- Le servomoteur attend en position intermédiaire en bloquant la cuillère en dessous d'elle grâce au doigt du bras. Lorsque la balle traverse la capteur, elle arrive tout de suite sur la cuillère et un délai permet au servomoteur de bien attendre que la balle se stabilise avant de passer à la phase de déclenchement du lancer.
- Pour déclencher le lancer, le servomoteur descend légèrement vers le bas ce qui va libérer la cuillère car elle est ajustée pour ne plus toucher le bras du servomoteur après qu'il soit descendu d'un petit cran. La balle et donc lancée.
- Après ce lancer, la cuillère est en position haute contre la butée, le temps que la balle arrive au panier est redescende le circuit, le servomoteur qui était en position basse remonte dessus la cuillère et redescend en emportant cette dernière en position intermédiaire avec le doigt pour attendre la balle.
Ball Tracks
Nous devons trouver un moyen de faire revenir la balle de manière autonome jusqu'à la cuillère de lancer. Nous utilisons la différence de hauteur entre le panier et la cuillère. Nous concevons alors un système de rails sur lesquelles la balle roule. La forme de zigzag est simplement ici pour l'exotisme du rail.
Cette gouttière est composée de 6 anneaux guides dans lesquels se glissent trois fils de fers.
Les virages sont alors faciles à réaliser (et à moduler pour changer la vitesse de la balle).
Adjustable Pieces
Afin de pouvoir régler notre lancer pour que la balle atterrisse toujours dans le panier nous avons décidé de pouvoir régler la position de nos pièces pour ajuster le lancer.
Panier: Le panier se règle en hauteur et son poteau de fixation peut se déplacer d'avant en arrière pour s'adapter à la distance du lancer
Servo: Le servomoteur est positionnée sur une pièce qui lui permet de s'ajuster en hauteur mais aussi en longueur afin de toujours baisser la cuillère et qu'il la relâche exactement en bas du mouvement
Butée: La butée sert à arrêter la cuillère à une certaine inclinaison correspondant à l'angle du lancer. Cette angle est ajustée en fonction de la position de la butée qui est réglable en longueur.
The Walls
Nous décidons de réaliser des murs en découpe laser car cette solution nous permet de faire un assemblage rapide des parois avec une découpe en créneau.
Cette boite externe est composée de quatre murs en médium de 6mm d'épaisseur. Tout le montage est fixé sur une plaque inférieure, présentant elle-même des bords en créneaux.
Nous retrouvons bien la forme d'arcade souhaitée.
The Final Product
Voici le prototype terminé.
To Go Further
Pour aller plus loin, nous aurions pu (avec davantage de temps) mettre en place les solutions suivantes:
-trouver une solution plus fiable pour le doigt du servo-moteur
-une boite plus compacte
-intégrer tous les composants dans une même pièce
-décoration (LED, COMPTEUR....) pour se rapprocher encore d'un jeu d'arcade
-plus de distance pour faire un parcours de balle plus exotique (looping?)
-idée de double panier: la balle de l'un tombe dans la cuillère de l'autre