====== ClitoBorne ====== ===== Description du projet ===== Après le projet touch my clit', l'atelier Queer Games a décidé de créer une nouvelle borne d'arcade destinée à rester à la Mutinerie et permettant la diffusion de jeux créés à l'atelier Queer Games, ainsi que d'autre jeux queer présentés régulièrement à l'atelier. Pour être tenu·e au courant des actualités de la fabrication de la borne, tu peux t'inscrire sur notre liste mail; queergamesclitoborne@framalistes.org ===== Cahier des charges ===== ==== L'environnement ==== La borne est destinée à rester dans un bar. Elle doit **être résistante**, car elle subira régulièrement des chocs et des éclaboussures de bière, ou d'autre liquide :-D. Le lieu n'étant pas immense non plus, la borne doit **être transportable rapidement** d'un endroit à un autre sans être endommagée. ==== L'accessibilité ==== La borne est destinée à rester en libre service, elle doit être **utilisable de manière intuitive** * Un câble d'alimentation * Un bouton d'allumage * Une interface graphique facile à prendre en main ==== Le hardware ==== Pour le moment, le choix d'un raspberry pi 3 est celui utilisé pour les tests ==== Le système d'exploitation ==== Pour le moment, les tests ont été effectués sous raspbian ==== Les contrôleurs ==== Après délibération, il a été décidé d'utiliser les contrôleurs suivant : * Un stick arcade * Une trackball * Deux clitopads qui servirons de boutons de navigation ==== La diffusion des jeux ==== Dans la mesure du possible, l'objectif est de trouver les moyens logiciel pour partager au maximum les queers games présentés lors de l'atelier, ainsi que les créations réalisées par l'atelier. Cette partie relève d'un véritable défi, car un certain nombres de jeux ne sont pas compatible avec le système d'exploitation actuellement utilisé, et les autres systèmes d'exploitation ne se révèlent pas plus pratique pour la diffusion d'une telle diversité de jeu. Cette partie est toujours en cours de réflexion. ==== Le châssis ==== Le châssis sera réalisé en bois. Sa conception sera réalisée lorsque les différents éléments d'affichage (écran) de son (enceinte) et contrôleur auront été acquis. Et ce afin de s'adapter au mieux à leur dimensions. Les éléments électroniques devront être fixés au sein du châssis. ===== Architecture ===== Un dessin vaut mieux qu'un long discours : {{:ateliers:queergames:presentationbornearcade.png?600|}} ===== Nomenclature ===== | **Composant** | **Référence** | **Prix unitaire** | **Nombre d'unité** | **Acquisition** | | Écran | 15" VGA | Récupération | 1 | Acquis | | Adaptateur | HDMI / VGA| À définir | 1 | **À acquérir** | | Cable | VGA | Récupération | 1 | **À acquérir** | | Cable | alimentation 220v | Récupération | 1 | Acquis | | | | | | | | Raspberry pi | 3 | Environ 36,48 euro | 1 | **À acquérir** | | Adapatateur | 220V alternatif \ 5V continu 3A | Environ 12 euro | 1 | **À acquérir** | | Carte micro SD | 16G | Environ 10 euro | 1 | **À acquérir** | | Bouton poussoir (Allumage) | | À définir | 1 | **À acquérir** | | Stick arcade | | 6,76 euro | 1 | Acquis | | Puce capacitive | MPR121 breakout | 4,01 euro | 1 | Acquis | | Bobine de cuivre | 0.8mm | Environ 10 euro | 1 | Acquis | | Track ball | | Environ 20 euro | 1 | **À acquérir** | | | | | | | | Enceinte | stéréo, prise jack | Récupération | 1 | **À acquérir** | ===== Recherche et développement ===== ==== Les Clitopads ==== {{:ateliers:queergames:p1000595.jpg?400|}} === Les objectifs === Les clitopads doivent pouvoir être pris en mains rapidement et intuitivement par n'importe quelle personne présente dans le bar et qui souhaiterai jouer à des jeux. Pour cette raison, nous avons éliminé la possibilité d'utiliser un [[https://www.makeymakey.com/|makey makey]] qui nécessiterai l'utilisation d'un bracelet ou de gants pour servir de masse. De plus, les clitopads doivent être relativement solide pour supporter une utilisation répétée. Afin de répondre a ces besoins, nous avons décidé pour les clitopads d'utiliser la technologie capacitive. === La technologie capacitive === Il s'agit d'une technologie de détection du toucher que l'on retrouve dans certains écrans tactile. En réalité, la technologie ne perçoit pas du tout le toucher. Il s'agit de mesurer le temps mis pour charger électriquement une électrode (le plus souvent un fils électrique ou une plaque conductrice). Lorsqu'un doigt (qui en réalité représente 70% d'eau comme le reste du corps humain) se rapproche de l'électrode, ce dernier met plus de temps à ce charger. Cette technologie permet donc de détecter la présence d'un doigt avant même que ce dernier touche physiquement l'électrode. === la puce MPR121 === {{:ateliers:queergames:p1000598.jpg?200 |}} La MPR121 est une puce de détection capacitive qu'il est relativement facile de se procurer. Elle peut détecter jusqu'à 12 électrodes distinctes, sachant que nous aurons besoin de 10 électrodes. Déjà soudée sur une carte électronique ([[https://programmingelectronics.com/what-is-a-breakout-board-for-arduino/|breakout board]]), elle a coût allant de 4 à 8 euro selon le fournisseur et elle présente un encombrement avec une dimension de 3 X 2cm, ce qui est modeste pour notre cas. **Attention:** la puce est alimentée par une **tension de courant continue de 3,3V** et ne supporte pas une tension plus élevé. La puce est ensuite reliée sur un micro-contrôleur comme un Arduino, ou un ordinateur tout en un ([[https://fr.wikipedia.org/wiki/Syst%C3%A8me_sur_une_puce|SoC ou System on Chip]]) comme un Raspberry Pi. C'est cette dernière configuration qui nous intéresse. La communication entre la puce MPR121 et le Raspberry Pi se fait au moyen d'un bus I2C. === Le bus I2C === Un bus I2C ? Mais qu'est ce que c'est que ça ? "L'Inter Integrated Circuit" est un protocole de communication entre puces et micro-contrôleurs qui a été développé par Philips en 1992. Il utilise deux connections : * Le SDA (Serial Data Line), qui permet d'échanger des données dans les deux sens (puce / micro-contrôleur) * Le SCL (Serial Clock Line), qui est une horloge qui permet de se synchroniser lors de l'échange de données {{:ateliers:queergames:543px-i2c_encodage.svg.png?400|}} Grosso-modo, lorsque l'horloge (SCL) est a 1, Le récepteur prend la valeur courante de la ligne d'échange de donnée (SDA). Cet méthode permet d'échanger rapidement des données numériques sous forme de bits et d'octets. == Connections du bus I2C sur Raspberry Pi == Les ports GPIO du Raspberry Pi permettent d'établir une liaison I2C. Encore faut-il savoir sur quels ports faire les connections. {{:ateliers:queergames:cablagei2c.png?600|**A compléter**}} == Configuration du bus I2C sur Raspberry Pi == Pour que le port I2C soit utilisable, il faut également configurer le logiciel du Raspberry Pi. Dans le cas présent, je suis sous Raspbian. D'abord, lancer l'outil de configuration de Raspbian. Ouvrez une console et tapez : sudo raspi-config Vous vous retrouvez devant une fenêtre, choisissez l'option "Interfacing Options: {{:ateliers:queergames:1-raspberry-pi-i2c-raspi-config-.jpg?800|}} Ensuite, choisissez l'entrée I2C, et activez la {{:ateliers:queergames:2-raspberry-pi-i2c-activate-raspi-config-.jpg?800|}} Puis redémarrez : reboot Ensuite, il faut installer les outils I2C. Je commence par une petite mise à jour du système : sudo apt-get update && sudo apt-get upgrade Après c'est l'installation des outils permettant à python de communiquer avec le bus I2C ainsi que l'installation des outils de diagnostique sudo apt-get install python-smbus i2c-tools Vérification que les modules sont bien chargés lsmod | grep i2c {{:ateliers:queergames:chargementdesmodules.png?400|}} Vérification de l'adressage du périphérique I2C sudo i2cdetect -y 1 Si tout ce passe bien vous devez obtenir le résultat suivant: {{:ateliers:queergames:i2cdetect.png?400|}} Ici, nous pouvons voir que toutes les adresses i2c sont vide sauf une. l'adresse 5a qui correspond à la puce MPR121. La configuration du raspberry est terminée, nous pouvons maintenant passer à la partie logiciel. === Les capteurs === {{:ateliers:queergames:p1000600.jpg?200 |}} Les capteurs sont constitués d'une impression de clitoris en 3D, donc certaines parties sont recouvertes d'un fil de cuivre de 0,8mm. Le cuivre étant un très bon conducteur, le fil de cuivre permet de créer des électrodes de différentes forme pour le MPR121. Ici, il s'agit d'enduire de colle vinylique les excroissances de l'impression et de faire des enroulages très serré. ==== L'interface graphique ====