tag:blogger.com,1999:blog-42702582681189856872024-03-05T02:55:13.574-08:00BrickStoryTant qu'il y aura des briques...Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.comBlogger70125tag:blogger.com,1999:blog-4270258268118985687.post-79351566205272875612018-05-27T14:15:00.000-07:002018-05-27T14:20:13.856-07:00Encore un grand cru que cette coupe de FranceAvant la coupe d'île de France, il était temps de dresser le bilan de cette coupe de France 2018<br />
<br />
Après des années de 100% Lego, notre nouvelle équipe Brick&Steel est un mix entre un robot Lego et un robot traditionnel issu du savoir de CRLG. Les éléments supplémentaires de cette année (abeille et panneau) sont restés 100% Lego pour perpétuer la tradition.<br />
<br />
Nous avions pu tester nos robots lors de la coupe de Belgique, les résultats avaient été probants. Notre gros robot (100% Lego) réussissait à prendre et envoyer ses balles dans le château d'eau, mais certains problèmes d'alimentation provoquait des extinctions de notre brique Lego... qui était censée afficher le score estimé.<br />
Notre petit robot (non Lego) avaient eu des problèmes avec le moteur de l'ascenseur, ce qui fait qu'il ne pouvait que pousser des cubes, en plus de déclencher abeille et panneau. On a travaillé dur pour que cet ascenseur fonctionne au mieux et puisse faire des construction, ce pour quoi il a été conçu à la base.<br />
<br />
Installation dans des stands proche de l'entrée visiteur pour que l'on puisse guider et expliquer à ceux qui veulent découvrir la Coupe de France. On se retrouve à côté de PM-Robotix, Coffee Machine et l'IUT GEII de Toulon.<br />
<br />
Après l'homologation et ses problèmes habituels liés à l'évitement, on entame la série de match après la première nuit blanche.<br />
<br />
Premier match contre nos voisins de stand, l'IUT GEII de Toulon.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/EHLY7rE5r0Q/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/EHLY7rE5r0Q?feature=player_embedded" width="320"></iframe></div>
<br />
Notre adversaire nous laisse le champs libre. Côté gros robot, la prise de balle ne se fait pas correctement. on avait prévu de prendre les balles une par un de manière à les trier, mais un décalage provoque une inversion du tri. On prend le risque de lancer des balles adverses dans notre château d'eau. Heureusement, les balles se bloquent dans le robot et rien n'est lancé parmi les balles du distributeur adverse. C'est fini, on ne lancera plus ces balles dans les prochains matchs, on va se contenter de déposer... Côté petit robot, la construction d'un tour de 4 se passe bien, mais pas le temps de pousser les autres cubes.<br />
Notre score de 171 points nous fait atteindre la deuxième place du classement. Incroyable, du jamais vu. Reste à confirmer notre potentiel.<br />
<br />
Deuxième match contre futuRIR (67è après le premier tour).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/zoHjUX3qKTs/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/zoHjUX3qKTs?feature=player_embedded" width="320"></iframe></div>
<br />
Notre gros robot a des soucis d'évitement e zone adverse et se recale contre leur robot venu faire l'abeille. Il se trouve complètement décalé et vient se tanker contre notre petit robot en fin de match.<br />
Le petit robot rate son empilement mais a réussi le panneau et l'abeille.<br />
147 points tout de même, et on redescend à la 5ème place, juste après RCVA, la légende.<br />
<br />
Troisième match contre Eirbot (86è après la deuxième série)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/JmeQwzQDyS8/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/JmeQwzQDyS8?feature=player_embedded" width="320"></iframe></div>
<br />
Le petit robot réussi sa construction, quelques loupés avec les balles et la fin de parcours du gros robot. Ce match à 141 points nous fait redescendre à la 6ème place, ce qui reste un résultat énorme.<br />
<br />
Quatrième match contre iOtaRIE (109è après la troisième série)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/_9pYQ7jYx84/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/_9pYQ7jYx84?feature=player_embedded" width="320"></iframe></div>
<br />
On se retrouve encore presque seuls sur le terrain. Tant mieux pour nous mais on a des doutes sur l'efficacité des tirages au sort. encore des ratés sur la construction et les lâchers de balle dans la station d'épuration, mais surtout un petit choc entre nos deux robots en fin de match... qui se termine bien. 188 points au final, un score jamais vu pour Brick&Steel. Mais on reste frustrés de ne pas avoir atteint les 200 points.<br />
<br />
Samedi matin, dernier match contre ENIgma (56è après la 4ème série)<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/wisI6B4owTs/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/wisI6B4owTs?feature=player_embedded" width="320"></iframe></div>
<br />
En discutant avec eux avant le match, on se rend compte qu'ils vont vers l'abeille au même moment que nous allons vers le distributeur, entre 40 et 70s. Alors pour éviter les chocs et faire le meilleur match possible, on rajoute une temporisation de 30s avant d'aller au distributeur. Et Bingo. Match parfait pour les deux robots. Toutes les balles sont gérées comme prévu, une construction de 4 cubes plus quelques cubes en vrac, et bien sûr abeille et panneau. Total 215 points, objectif atteint et 6è place conservée.<br />
<br />
A cause de cette règle sur les +30 ans, notre parcours s'arrête ici et nous sommes à nouveau exclu des phases finales. Mais cette année, une deuxième équipe, les Rob'Otter sont dans le même cas que nous, ce qui ravit les 17 et 18è au classement.<br />
<br />
Pour se consoler, on se fait un match amical avec nos potes de PM-Robotix :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/wtBtprIHCmE/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/wtBtprIHCmE?feature=player_embedded" width="320"></iframe></div>
<br />
Ambiance de fou sur les tables d'essai avec du public et des petits coup de main pour assurer le spectacle.<br />
<br />
Un bilan donc très positif de cette coupe :<br />
- Des actions sympas dans ce règlement,<br />
- Une bonne ambiance dans les stands et sur scène<br />
- des bénévoles toujours au top dans tous les domaines (anges, accueil, arbitres, animation, code bar...)<br />
- Un mix Lego/traditionnel qui fonctionne du feu de Dieu.<br />
<br />
Avec quelques points négatifs tout de même :<br />
- La règle des +30 ans bien sûr<br />
- notre incapacité à gérer l'interface entre la caméra et l'IA pour trouver les bonnes combinaisons<br />
- Notre tri des balles qui ne nous a pas permis de marquer plus de points.<br />
<br />
On fait tout pour que ces deux points soient réglés d'ici la coupe d'Ile de France les 2 et 3 juin.<br />
<br />
Un grand merci aux bénévoles de Planète Sciences, à Oryon qui fait de cette rencontre un événement local d'importance, à Fred pour l'animation des phases finales, à toutes les équipes avec qui on a pu échanger, discuter, rigoler, aux partenaires de la coupe.<br />
<br />
Et surtout merci à nos sponsors, RS et Itemis (Yakindu)<br />
<br />
Retrouvez l'intégralité des matches, et la WebTV sur la chaine Youtube de Planète Sciences :<br />
<a href="https://www.youtube.com/watch?v=qMOzlV9TB9M&list=PLtGU7WBpJNozIqO6ZzSU11hQlk3I8SOmu" target="_blank">Youtube</a>Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com1tag:blogger.com,1999:blog-4270258268118985687.post-1528333402167528402018-03-04T03:09:00.000-08:002018-03-07T00:41:04.959-08:00Finale régionale IDF des Trophées 2018Les jeunes ont ouvert le bal des rencontres de robotique 2018 avec notamment les Trophées IDF qui ont eu lieu le 3 mars.<br />
<br />
Pour les Têtes Briquées, c'est la cinquième participation, et ils ont jusqu'ici réussi à chaque fois à se qualifier pour la finale nationale. Mais cette année, peu de rencontres dans l'année, peu d'entraînement, bref, ça s'annonce difficile...<br />
<br />
Arrivée à 8h, l'équipe s'installe et après rajout de la tirette sur le robot autonome quelques essais de commande et vérification des batterie, c'est parti pour l'homologation.<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/nzH19a1glbg/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/nzH19a1glbg?feature=player_embedded" width="320"></iframe></div>
<br />
Ils se rendent compte que le bras qui ouvre les distributeur est trop haut, que la pince ne fonctionne pas bien, et aussi que les deux robots vont naviguer dans la même zone donc il va falloir faire attention aux contacts. Ils voient aussi que l'aiguille de l'abeille est trop basse est qu'elle a été enfoncée après avoir buté sur le bois sous le ballon...<br />
<br />
La nouvelle télécommande, à base de manette PS2 et de 4 arduinos est appréciée du pilote (on sent le gamer...)<br />
<br />
Robots homologués à 9h45.<br />
<br />
Avant le premier match, il faut faire des modifications de la pince et du bras, et aussi de l'abeille. Et surtout évaluer le nombre de points qu'ils vont réaliser (Ah oui tiens, ils avaient happé cette partie du règlement).<br />
<br />
Le lancer de balles est testé, mais ils voient que la trajectoire n'est pas répétable. Ils misent sur 4 balles dans le chateau d'eau, 10 cubes poussés dans la zone de construction, le panneau et l'abeille, soit 125 points. Ambitieux mais réalisable.<br />
<br />
Premier match contre IceRobot.<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/sStqhvBdNg0/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/sStqhvBdNg0?feature=player_embedded" width="320"></iframe></div>
<br />
Le distributeur est extrêmement difficile à ouvrir, et les balles sont envoyées à côté ou au dessus du chateau d'eau. Heureusement le panneau est allumé mais l'abeille n'a pas pu partir. 57 points contre 36 face à une équipe qui fera beaucoup mieux par la suite. Malgré ce score moyen, les Têtes briquées sont en 6è position.<br />
<br />
Deuxième match contre les Têtes Fabriquées. Un duel au sommet, les deux équipes du club se rencontrent. Ca chambre bien avant le match, surtout que les Têtes Fabriquées ont des soucis de télécommande. Finalement le match a bien lieu<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/O0fdS4M8rT0/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/O0fdS4M8rT0?feature=player_embedded" width="320"></iframe></div>
<br />
Le petit robot n'arrive pas à allumer le panneau mais l'abeille a bien éclaté le ballon.. le premier de la journée pour l'équipe. En revanche le gros robot n'arrive à lancer que quelques balles et l'une des roues se retrouve bloquée. Victoire 85 points contre 45. C'est mieux mais toujours loin des 125 points annoncés. Ils restent 6è au classement.<br />
<br />
Dernier match des séries pour déterminer s'ils ont leu place en phase finale. Les Têtes Briquées rencontrent les Robot's Brain, qui eux aussi jouent leur place en finale.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/e76DQbgWZmc/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/e76DQbgWZmc?feature=player_embedded" width="320"></iframe></div>
<br />
Le gros robot met 3 balles dans le chateau d'eau mais le petit rate le panneau. Au moment de déclencher l'abeille notre robot autonome se fait percuter par le robot adverse qui venait chercher les balles de l'autre distributeur. L'abeille n'a donc pas pu être déclenchée. Bien sûr, ce "contact" est discuté avec les arbitres car il nous a fait perdre potentiellement 50 points. Résultat très décevant, 55 points seulement et en face un simple avertissement.<br />
<br />
Notre pilote revient énervé à la fois par la situation mais aussi par l'attitude des adversaires, mais il reprend du poil de la bête en voyant qu'au classement final, ces mêmes Robot's Brain sont à égalité avec eux à la 9è place, place qualificative pour la finale nationale.<br />
<br />
Il y aura donc un match de barrage pour savoir qui des deux équipes représentera l'île de France à St Quentin.<br />
Nos jeunes re-programment le robot autonome et se mettent d'accord sur une stratégie. C'est de toute façon le dernier match de la journée, donc il faut tout donner.<br />
<br />
Arrivés sur scène, nos jeunes sont boostés à bloc, et la tentative de bluff de l'équipe adverse n'y changera rien.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/bU7SBhwp3Ts/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/bU7SBhwp3Ts?feature=player_embedded" width="320"></iframe></div>
<br />
Les robots font un match parfait : 4 balles envoyées, 10 cubes poussées, le panneau et l'abeille. 125 points exactement, comme la prévision. Avec le bonus de victoire et celui d'estimation, cela fait un score de 172 points. En face, ils ratent quelques balles et surtout n'osent pas aller vers le second distributeur.<br />
<br />
Victoire large des Têtes Briquées qui réussissent à faire l'un des meilleurs score des séries sur un match, et surtout à se qualifier pour la finale nationale des 7 et 8 avril.<br />
<br />
Cette journée est riche d'enseignement pour nos jeunes mais aussi pour l'équipe coupe :<br />
<br />
- Certaines actions sont cruciales. Une abeille ratée et c'est 50 points de moins, et finalement assez peu de ballons ont éclaté.<br />
- La fixation du chateau d'eau a été faite à l'aide de grosses vis qui dépassent à l'intérieur de la bordure. Certains panneaux domotiques ont eu dû mal à être accrochés sur le Velcro<br />
- Il va y avoir beaucoup de conflits de territoire au niveau de l'abeille car le distributeur adverse est extrêmement proche.<br />
- Le lâcher de balles dans la station d'épuration est compliqué car les balles rebondissent et sortent du terrain.<br />
- Le filet dans le château d'eau ne sert à rien, les balles rebondissent quand même. Il faudra donc viser dans le trou plutôt que compter sur le rebond.<br />
<br />
Merci à Planète Sciences pour cette organisation encore parfaite, à tous les partenaires, aux nombreuses rencontres avec les équipes et les visiteurs.<br />
Merci tout particulier aux accompagnants et encadrants des différentes équipes qui diffusent leur gout pour les sciences auprès des jeunes et aident au bon déroulement de la journée.<br />
<br />
RDV le 24 mars à Namur pour notre équipe Coupe et le 7 avril à St Quentin pour les Têtes Briquées.<br />
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-18460990716005604242017-12-28T15:02:00.000-08:002017-12-28T15:02:12.824-08:00Robot Cities version LegoVoici la nouvelle identité visuelle de Robot Cities pour Brickstory.<br />
<br />
Alors OK on n'est plus 100% Lego, mais ça reste dans notre ADN quand même<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLSdUAG2floVXZcWlCHMoUuTVn3VYPjrFxssa5nTgt1Gy_8kI5CKbNu-VzGoY2rs6ENVmuNlzJDUaLPVnsWkvSIpzPrWf04VLEUzz9r1R-CiRo9paY7sfPM9e_audkzkO0B4izwPbQ3U9x/s1600/RobotCitiesLego.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1179" data-original-width="1600" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLSdUAG2floVXZcWlCHMoUuTVn3VYPjrFxssa5nTgt1Gy_8kI5CKbNu-VzGoY2rs6ENVmuNlzJDUaLPVnsWkvSIpzPrWf04VLEUzz9r1R-CiRo9paY7sfPM9e_audkzkO0B4izwPbQ3U9x/s400/RobotCitiesLego.jpg" width="400" /></a></div>
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-32542194869600560232017-12-26T14:46:00.001-08:002017-12-26T14:46:39.990-08:00Révolution chez BrickStoryNouvelle année et plein de chamboulement en vue pour notre club.<br />
Les divers mouvements internes aux deux équipes BrickStory et CRLG et la disparition l'an prochain de notre local de travail nous obligent à nous ré-organiser. Le regroupement pour les équipes "Coupe" est désormais géographique plus que par affinité technologique.<br />
<br />
De plus, l'équipe Lego a atteint tous ses objectifs durant ces dernières années, en remportant une Coupe de Belgique, en étant trois fois de suite dans le top 16 des équipes en Coupe de France, en ayant participé à un 1/4 de finale, en ayant presque battu RCVA (Aïe, arrêtons de parler de ça!).<br />
<br />
D'aucun diront qu'il nous fallait nous rajouter un handicap, d'autres pencheront sur l'hypothèse d'une volonté de nouveaux challenges et d'ouverture à des technos différentes pour ce qui nous était impossible (rapidité, puissance, précision...), mais quoi qu'il en soit, notre mode de fonctionnement va évoluer.<br />
<br />
La structure BrickStory va désormais chapeauter l'ensemble des équipes "Coupe" et "Trophées".<br />
L'équipe BrickStory historique, avec des robots entièrement en Lego va "disparaître" pour laisser la place à une équipe hybride (un robot Lego, un traditionnel). Cette équipe, mélange de Lego et de métal se nommera :<br />
<br />
<h2 style="text-align: center;">
<b>Brick&Steel</b></h2>
<br />
Parce qu'il y aura des briques et du style ;-)<br />
<br />
C'est donc Laurent (alias OnMangeKan) qui rejoindra Bichon et Doudou dans cette nouvelle aventure.<br />
<br />
Pour cette année, le robot principal restera 100% Lego et s'occupera des balles (enfin de l'eau), le robot secondaire sera en méca tradi et gèrera les cubes. L'abeille sera certainement en Lego, pour le fun et on verra pour le panneau.<br />
<br />
L'équipe CRLG va également "disparaître" pour laisser place à :<br />
<br />
<h2 style="text-align: center;">
Thalbot</h2>
<br />
Les anciens membres de CRLG seront actifs dans cette nouvelle équipe géographiquement délocalisée mais encore en étroit contact avec le reste du club<br />
<br />
Enfin, côté Trophées, les équipes restent inchangées :<br />
<br />
Les têtes Briquées avec des robots 100% Lego (sauf le panneau et la télécommande)<br />
Les Têtes Fabriquées, avec des robots utilisant tous types de matériaux.<br />
<br />
Ce sont ces dernières qui vont ouvrir les hostilités le 3 mars pour les Trophées IDF.<br />
<br />
Bientôt photos, vidéos, logos, etc...Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-86301841990665601262017-10-13T14:50:00.001-07:002018-03-17T08:13:00.064-07:00Mise à jour du minuteur LEDCette année, les membres de la commission règlement ne nous ont pas gâtés pour la ré-utilisation du minuteur. Certes j'en ai fait partie, mais je n'avais pas vu cet effet de bord.<br />
<br />
Alors pour remédier à cet oubli, voici une petite mise à jour de la fabrication du minuteur LED (voir <a href="http://brickstory-asso.blogspot.fr/2017/01/un-minuteur-base-led-multicolores.html" target="_blank">un-minuteur-base-led-multicolores.html</a>).<br />
<br />
Compte tenu du fait que le temps de match passe de 90s à 100s, il faut rajouter quelques LED.<br />
La solution idéale consisterait à rajouter un digit complet devant les deux existants. On pourrait alors aller jusqu'à 999s de match (ou de tout ce qu'on veut chronométrer d'ailleurs).<br />
Dans le but de réduire le budget et de se limiter au strict nécessaire, j'ai décidé d'opter pour le rajout d'un "1" supplémentaire. On gagne ainsi 20 LED, mais on se limite à 199s (ce qui est déjà pas mal)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSJT-e4knh6CHcMwFd3TpeA-xaVQKg3KZ1KFwWJ5qKaDikP3qsi9QTjFoEMH6OEE1LM-vbjq-03oiAYXTsnB9VLI8dttlGUBRdCn8N1gfnwKoefDPJU6Dy4uXR8n7QEOfOLJIHHthh9lCG/s1600/sch%25C3%25A9ma_minuteur100s.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="563" data-original-width="636" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSJT-e4knh6CHcMwFd3TpeA-xaVQKg3KZ1KFwWJ5qKaDikP3qsi9QTjFoEMH6OEE1LM-vbjq-03oiAYXTsnB9VLI8dttlGUBRdCn8N1gfnwKoefDPJU6Dy4uXR8n7QEOfOLJIHHthh9lCG/s400/sch%25C3%25A9ma_minuteur100s.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Tout d'abord, il va falloir revoir un peu la dimension de la planche pour y intégrer ce nouveau chiffre. Mais on peut aussi opter pour un resserrage des LED existantes et conserver la taille de panneau... c'est au choix.<br />
<br />
Le matériel reste sinon le même, à 8 LED près. Le schéma électronique avec l'Arduino, le déclencheur et le bandeau de LED reste identique.<br />
En revanche, le schéma des LED est différent. Le 1 est inséré devant les 2 autres digit (c'est un choix personnel, on aurait pu le câbler après...)<br />
<br />
Il faut ensuite modifier le code pour prendre en compte les valeurs entre 91 et 100 qui n'étaient pas prévu dans le programme initial.<br />
J'en ai profité pour rajouter des définitions de couleurs, des changements de couleur vers la fin du match et pendant la funny action (même s'il n'y en a pas cette année, on conserve cette possibilité)<br />
<br />
<br />
<blockquote style="border: 1px solid rgb(241, 241, 241); box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 4px; font-family: verdana; font-size: 12px; line-height: 20px; margin: 10px; outline: 0px; padding: 10px; vertical-align: baseline;">
<pre><span style="color: #434f54;">// Mise à jour pour prise en comte du passage à 100s</span>
<span style="color: #434f54;">// suppression du temps de funny action</span>
<span style="color: #434f54;">// coupe 2018 : Robot Cities</span>
<span style="color: black;">#include</span> <span style="color: #434f54;"><</span><b><span style="color: #d35400;">Adafruit_NeoPixel</span></b><span style="color: #434f54;">.</span><span style="color: black;">h</span><span style="color: #434f54;">></span>
<span style="color: #434f54;">//#define FUNNY_ACTION</span>
<span style="color: #434f54;">// Which pin on the Arduino is connected to the NeoPixels?</span>
<span style="color: black;">#define</span> <span style="color: black;">PIN_PIXELS</span> <span style="color: black;">6</span>
<span style="color: #434f54;">// How many NeoPixels are attached to the Arduino?</span>
<span style="color: black;">#define</span> <span style="color: black;">NUMPIXELS</span> <span style="color: black;">64</span>
<span style="color: #434f54;">// how many pixels per branch of the digits</span>
<span style="color: black;">#define</span> <span style="color: black;">NUM_PIX_PER_BRANCH</span> <span style="color: black;">4</span>
<span style="color: black;">#define</span> <span style="color: black;">VAL_INIT</span> <span style="color: black;">100</span>
<span style="color: #434f54;">// the pin for launching counter</span>
<span style="color: black;">#define</span> <span style="color: black;">PIN_LAUNCH</span> <span style="color: black;">7</span>
<span style="color: #434f54;">// When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals.</span>
<span style="color: #434f54;">// Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest</span>
<span style="color: #434f54;">// example for more information on possible values.</span>
<b><span style="color: #d35400;">Adafruit_NeoPixel</span></b> <span style="color: black;">pixels</span> <span style="color: #434f54;">=</span> <b><span style="color: #d35400;">Adafruit_NeoPixel</span></b><span style="color: black;">(</span><span style="color: black;">NUMPIXELS</span><span style="color: #434f54;">,</span> <span style="color: black;">PIN_PIXELS</span><span style="color: #434f54;">,</span> <span style="color: #d35400;">NEO_GRB</span> <span style="color: #434f54;">+</span> <span style="color: #d35400;">NEO_KHZ800</span><span style="color: black;">)</span><span style="color: black;">;</span>
<span style="color: #434f54;">// colors defined for lignhtened (or not) pixels</span>
<span style="color: #00979c;">uint32_t</span> <span style="color: black;">coul_on</span> <span style="color: #434f54;">=</span> <span style="color: black;">pixels</span><span style="color: #434f54;">.</span><span style="color: #d35400;">Color</span><span style="color: black;">(</span><span style="color: black;">200</span><span style="color: #434f54;">,</span> <span style="color: black;">200</span><span style="color: #434f54;">,</span> <span style="color: black;">200</span><span style="color: black;">)</span><span style="color: black;">;</span>
<span style="color: #00979c;">uint32_t</span> <span style="color: black;">coul_red</span> <span style="color: #434f54;">=</span> <span style="color: black;">pixels</span><span style="color: #434f54;">.</span><span style="color: #d35400;">Color</span><span style="color: black;">(</span><span style="color: black;">200</span><span style="color: #434f54;">,</span> <span style="color: black;">0</span><span style="color: #434f54;">,</span> <span style="color: black;">0</span><span style="color: black;">)</span><span style="color: black;">;</span>
<span style="color: #00979c;">uint32_t</span> <span style="color: black;">coul_off</span> <span style="color: #434f54;">=</span> <span style="color: black;">pixels</span><span style="color: #434f54;">.</span><span style="color: #d35400;">Color</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: #434f54;">,</span> <span style="color: black;">0</span><span style="color: #434f54;">,</span> <span style="color: black;">0</span><span style="color: black;">)</span><span style="color: black;">;</span>
<span style="color: #00979c;">uint32_t</span> <span style="color: black;">coul_blu</span> <span style="color: #434f54;">=</span> <span style="color: black;">pixels</span><span style="color: #434f54;">.</span><span style="color: #d35400;">Color</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: #434f54;">,</span> <span style="color: black;">0</span><span style="color: #434f54;">,</span> <span style="color: black;">200</span><span style="color: black;">)</span><span style="color: black;">;</span>
<span style="color: #00979c;">uint32_t</span> <span style="color: black;">coul_hi</span> <span style="color: #434f54;">=</span> <span style="color: black;">pixels</span><span style="color: #434f54;">.</span><span style="color: #d35400;">Color</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: #434f54;">,</span> <span style="color: black;">0</span><span style="color: #434f54;">,</span> <span style="color: black;">255</span><span style="color: black;">)</span><span style="color: black;">;</span>
<span style="color: #00979c;">uint32_t</span> <span style="color: black;">coul_green</span> <span style="color: #434f54;">=</span> <span style="color: black;">pixels</span><span style="color: #434f54;">.</span><span style="color: #d35400;">Color</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: #434f54;">,</span><span style="color: black;">150</span><span style="color: #434f54;">,</span><span style="color: black;">0</span><span style="color: black;">)</span><span style="color: black;">;</span>
<span style="color: #00979c;">int</span> <span style="color: black;">chiffres</span><span style="color: black;">[</span><span style="color: black;">10</span><span style="color: black;">]</span> <span style="color: #434f54;">=</span> <span style="color: black;">{</span><span style="color: black;">0x77</span><span style="color: #434f54;">,</span> <span style="color: black;">0x44</span><span style="color: #434f54;">,</span> <span style="color: black;">0x3E</span><span style="color: #434f54;">,</span> <span style="color: black;">0x6E</span><span style="color: #434f54;">,</span> <span style="color: black;">0x4D</span><span style="color: #434f54;">,</span> <span style="color: black;">0x6B</span><span style="color: #434f54;">,</span> <span style="color: black;">0x7B</span><span style="color: #434f54;">,</span> <span style="color: black;">0x46</span><span style="color: #434f54;">,</span> <span style="color: black;">0x7F</span><span style="color: #434f54;">,</span> <span style="color: black;">0x6F</span><span style="color: black;">}</span><span style="color: black;">;</span>
<span style="color: #00979c;">int</span> <span style="color: black;">go_counter</span> <span style="color: #434f54;">=</span> <span style="color: black;">1</span><span style="color: black;">;</span>
<span style="color: #00979c;">int</span> <span style="color: black;">val_counter</span> <span style="color: #434f54;">=</span> <span style="color: black;">VAL_INIT</span><span style="color: black;">;</span> <span style="color: #434f54;">// number of seconds</span>
<span style="color: #00979c;">void</span> <span style="color: #5e6d03;">setup</span><span style="color: black;">(</span><span style="color: black;">)</span> <span style="color: black;">{</span>
<span style="color: #434f54;">// put your setup code here, to run once:</span>
<span style="color: black;">pixels</span><span style="color: #434f54;">.</span><span style="color: #d35400;">begin</span><span style="color: black;">(</span><span style="color: black;">)</span><span style="color: black;">;</span> <span style="color: #434f54;">// This initializes the NeoPixel library.</span>
<span style="color: #d35400;">pinMode</span><span style="color: black;">(</span><span style="color: black;">PIN_LAUNCH</span><span style="color: #434f54;">,</span> <span style="color: #00979c;">INPUT_PULLUP</span><span style="color: black;">)</span><span style="color: black;">;</span> <span style="color: #434f54;">// input is set as pullup to avoid having three wires</span>
<span style="color: black;">Affiche</span><span style="color: black;">(</span><span style="color: black;">VAL_INIT</span><span style="color: #434f54;">,</span> <span style="color: black;">coul_green</span><span style="color: black;">)</span><span style="color: black;">;</span> <span style="color: #434f54;">// before start</span>
<span style="color: #434f54;">// set the data rate for the SoftwareSerial port</span>
<span style="color: black;">}</span>
<span style="color: #00979c;">void</span> <span style="color: #5e6d03;">loop</span><span style="color: black;">(</span><span style="color: black;">)</span> <span style="color: black;">{</span>
<span style="color: #434f54;">// put your main code here, to run repeatedly:</span>
<span style="color: #5e6d03;">if</span> <span style="color: black;">(</span><span style="color: #d35400;">digitalRead</span><span style="color: black;">(</span><span style="color: black;">PIN_LAUNCH</span><span style="color: black;">)</span> <span style="color: #434f54;">==</span> <span style="color: #00979c;">LOW</span><span style="color: black;">)</span> <span style="color: #434f54;">// button pressed</span>
<span style="color: black;">go_counter</span> <span style="color: #434f54;">=</span> <span style="color: black;">1</span><span style="color: black;">;</span> <span style="color: #434f54;">// used as a RSFlipFlop</span>
<span style="color: #5e6d03;">if</span> <span style="color: black;">(</span><span style="color: #d35400;">digitalRead</span><span style="color: black;">(</span><span style="color: black;">PIN_LAUNCH</span><span style="color: black;">)</span> <span style="color: #434f54;">==</span> <span style="color: #00979c;">HIGH</span><span style="color: black;">)</span> <span style="color: #434f54;">// button released</span>
<span style="color: black;">go_counter</span> <span style="color: #434f54;">=</span> <span style="color: black;">0</span><span style="color: black;">;</span> <span style="color: #434f54;">// if stable switch</span>
<span style="color: #5e6d03;">if</span> <span style="color: black;">(</span><span style="color: black;">go_counter</span> <span style="color: #434f54;">==</span> <span style="color: black;">0</span><span style="color: black;">)</span>
<span style="color: black;">Affiche</span><span style="color: black;">(</span><span style="color: black;">VAL_INIT</span><span style="color: #434f54;">,</span> <span style="color: black;">coul_green</span><span style="color: black;">)</span><span style="color: black;">;</span>
<span style="color: #5e6d03;">else</span> <span style="color: #5e6d03;">if</span> <span style="color: black;">(</span><span style="color: black;">val_counter</span> <span style="color: #434f54;">></span> <span style="color: black;">5</span><span style="color: black;">)</span>
<span style="color: black;">Affiche</span><span style="color: black;">(</span><span style="color: black;">val_counter</span><span style="color: #434f54;">,</span> <span style="color: black;">coul_on</span><span style="color: black;">)</span><span style="color: black;">;</span> <span style="color: #434f54;">// showing the number</span>
<span style="color: #5e6d03;">else</span> <span style="color: #5e6d03;">if</span> <span style="color: black;">(</span><span style="color: black;">val_counter</span> <span style="color: #434f54;">></span> <span style="color: black;">0</span><span style="color: black;">)</span>
<span style="color: black;">Affiche</span><span style="color: black;">(</span><span style="color: black;">val_counter</span><span style="color: #434f54;">,</span> <span style="color: black;">coul_blu</span><span style="color: black;">)</span><span style="color: black;">;</span> <span style="color: #434f54;">// last 5 secondes in blue</span>
<span style="color: black;">#ifdef</span> <span style="color: black;">FUNNY_ACTION</span>
<span style="color: #5e6d03;">else</span> <span style="color: #5e6d03;">if</span> <span style="color: black;">(</span><span style="color: black;">val_counter</span> <span style="color: #434f54;">></span> <span style="color: #434f54;">-</span><span style="color: black;">5</span><span style="color: black;">)</span>
<span style="color: black;">Affiche</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: #434f54;">,</span> <span style="color: black;">coul_red</span><span style="color: black;">)</span><span style="color: black;">;</span> <span style="color: #434f54;">// during funny action</span>
<span style="color: black;">#endif</span>
<span style="color: #5e6d03;">else</span>
<span style="color: black;">Affiche</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: #434f54;">,</span> <span style="color: black;">coul_on</span><span style="color: black;">)</span><span style="color: black;">;</span> <span style="color: #434f54;">// after funny action, everything is off</span>
<span style="color: #5e6d03;">if</span> <span style="color: black;">(</span><span style="color: black;">go_counter</span><span style="color: black;">)</span>
<span style="color: black;">{</span>
<span style="color: black;">val_counter</span><span style="color: #434f54;">--</span><span style="color: black;">;</span> <span style="color: #434f54;">// minus 1s</span>
<span style="color: #d35400;">delay</span><span style="color: black;">(</span><span style="color: black;">1000</span><span style="color: black;">)</span><span style="color: black;">;</span><span style="color: #434f54;">// if no RTC, the delay must be calibrated to keep real timing</span>
<span style="color: black;">}</span>
<span style="color: #5e6d03;">else</span>
<span style="color: black;">val_counter</span> <span style="color: #434f54;">=</span> <span style="color: black;">VAL_INIT</span><span style="color: black;">;</span>
<span style="color: black;">}</span>
<span style="color: #00979c;">void</span> <span style="color: black;">Affiche</span><span style="color: black;">(</span><span style="color: #00979c;">int</span> <span style="color: black;">number</span><span style="color: #434f54;">,</span> <span style="color: #00979c;">uint32_t</span> <span style="color: black;">color</span> <span style="color: black;">)</span>
<span style="color: black;">{</span>
<span style="color: #00979c;">uint32_t</span> <span style="color: black;">col</span><span style="color: black;">;</span> <span style="color: #434f54;">//color, on or off</span>
<span style="color: #00979c;">byte</span> <span style="color: black;">n_diz</span> <span style="color: #434f54;">=</span> <span style="color: black;">(</span><span style="color: black;">number</span> <span style="color: #434f54;">/</span> <span style="color: black;">10</span><span style="color: black;">)</span><span style="color: #434f54;">%</span><span style="color: black;">10</span><span style="color: black;">;</span>
<span style="color: #00979c;">byte</span> <span style="color: black;">n_uni</span> <span style="color: #434f54;">=</span> <span style="color: black;">number</span> <span style="color: #434f54;">%</span> <span style="color: black;">10</span><span style="color: black;">;</span>
<span style="color: #5e6d03;">if</span> <span style="color: black;">(</span><span style="color: black;">number</span> <span style="color: #434f54;">></span> <span style="color: black;">199</span><span style="color: black;">)</span>
<span style="color: #5e6d03;">return</span><span style="color: black;">;</span> <span style="color: #434f54;">// no lighting over 99</span>
<span style="color: #5e6d03;">else</span>
<span style="color: black;">{</span>
<span style="color: #434f54;">// the first "1"</span>
<span style="color: #5e6d03;">if</span> <span style="color: black;">(</span><span style="color: black;">number</span> <span style="color: #434f54;">></span><span style="color: black;">99</span><span style="color: black;">)</span> <span style="color: #434f54;">// "1" has to be lightened</span>
<span style="color: black;">{</span>
<span style="color: #5e6d03;">for</span> <span style="color: black;">(</span><span style="color: #00979c;">int</span> <span style="color: black;">h</span> <span style="color: #434f54;">=</span> <span style="color: black;">0</span><span style="color: black;">;</span> <span style="color: black;">h</span> <span style="color: #434f54;"><</span> <span style="color: black;">2*</span><span style="font-family: verdana;">NUM_PIX_PER_BRANCH</span><span style="color: black; font-family: verdana;">;</span><span style="font-family: verdana;"> </span><span style="color: black; font-family: verdana;">h</span><span style="color: #434f54; font-family: verdana;">++</span><span style="color: black; font-family: verdana;">)</span></pre>
<pre> <span style="color: black;">pixels</span><span style="color: #434f54;">.</span><span style="color: #d35400;">setPixelColor</span><span style="color: black;">(</span><span style="color: black;">h</span><span style="color: #434f54;">,</span> <span style="color: black;">color</span><span style="color: black;">)</span><span style="color: black;">;</span>
<span style="color: black;">}</span>
<span style="color: #5e6d03;">else</span>
<span style="color: black;">{</span>
<span style="color: #5e6d03;">for</span> <span style="color: black;">(</span><span style="color: #00979c;">int</span> <span style="color: black;">h</span> <span style="color: #434f54;">=</span> <span style="color: black;">0</span><span style="color: black;">;</span> <span style="color: black;">h</span> <span style="color: #434f54;"><</span> <span style="color: black; font-family: verdana;">2*</span><span style="font-family: verdana;">NUM_PIX_PER_BRANCH</span><span style="color: black; font-family: verdana;">;</span><span style="font-family: verdana;"> </span><span style="color: black; font-family: verdana;">h</span><span style="color: #434f54; font-family: verdana;">++</span><span style="color: black; font-family: verdana;">)</span>
<span style="color: black;">pixels</span><span style="color: #434f54;">.</span><span style="color: #d35400;">setPixelColor</span><span style="color: black;">(</span><span style="color: black;">h</span><span style="color: #434f54;">,</span> <span style="color: black;">coul_off</span><span style="color: black;">)</span><span style="color: black;">;</span>
<span style="color: black;">}</span>
<span style="color: #5e6d03;">for</span> <span style="color: black;">(</span><span style="color: #00979c;">int</span> <span style="color: black;">i</span> <span style="color: #434f54;">=</span> <span style="color: black;">0</span><span style="color: black;">;</span> <span style="color: black;">i</span> <span style="color: #434f54;"><</span> <span style="color: black;">7</span><span style="color: black;">;</span> <span style="color: black;">i</span><span style="color: #434f54;">++</span><span style="color: black;">)</span> <span style="color: #434f54;">// each digit</span>
<span style="color: black;">{</span>
<span style="color: #434f54;">// first dozens</span>
<span style="color: #5e6d03;">if</span> <span style="color: black;">(</span><span style="color: black;">(</span><span style="color: black;">1</span> <span style="color: #434f54;"><<</span> <span style="color: black;">i</span><span style="color: black;">)</span> <span style="color: #434f54;">&</span> <span style="color: black;">chiffres</span><span style="color: black;">[</span><span style="color: black;">n_diz</span><span style="color: black;">]</span><span style="color: black;">)</span>
<span style="color: black;">col</span> <span style="color: #434f54;">=</span> <span style="color: black;">color</span><span style="color: black;">;</span>
<span style="color: #5e6d03;">else</span>
<span style="color: black;">col</span> <span style="color: #434f54;">=</span> <span style="color: black;">coul_off</span><span style="color: black;">;</span>
<span style="color: #434f54;">// if number is between 1 and 9, nothing is lightened for dozens</span>
<span style="color: #5e6d03;">if</span> <span style="color: black;">(</span><span style="color: black;">number</span> <span style="color: #434f54;"><</span> <span style="color: black;">10</span> <span style="color: #434f54;">&&</span> <span style="color: black;">number</span> <span style="color: #434f54;">></span><span style="color: black;">0</span><span style="color: black;">)</span>
<span style="color: black;">col</span> <span style="color: #434f54;">=</span> <span style="color: black;">coul_off</span><span style="color: black;">;</span>
<span style="color: #5e6d03;">for</span> <span style="color: black;">(</span><span style="color: #00979c;">int</span> <span style="color: black;">j</span> <span style="color: #434f54;">=</span> <span style="color: black;">0</span><span style="color: black;">;</span> <span style="color: black;">j</span> <span style="color: #434f54;"><</span> <span style="color: black;">NUM_PIX_PER_BRANCH</span><span style="color: black;">;</span> <span style="color: black;">j</span><span style="color: #434f54;">++</span><span style="color: black;">)</span>
<span style="color: black;">{</span>
<span style="color: black;">pixels</span><span style="color: #434f54;">.</span><span style="color: #d35400;">setPixelColor</span><span style="color: black;">(</span><span style="color: black;">i</span> <span style="color: #434f54;">*</span> <span style="color: black;">NUM_PIX_PER_BRANCH</span> <span style="color: #434f54;">+</span> <span style="color: black;">j</span><span style="color: #434f54;">+</span><span style="color: black; font-family: verdana;">2*</span><span style="font-family: verdana;">NUM_PIX_PER_BRANCH</span><span style="color: #434f54; font-family: verdana;">,</span><span style="font-family: verdana;"> </span><span style="color: black; font-family: verdana;">col</span><span style="color: black; font-family: verdana;">)</span><span style="color: black; font-family: verdana;">;</span>
<span style="color: black;">}</span>
<span style="color: #434f54;">// then units</span>
<span style="color: #5e6d03;">if</span> <span style="color: black;">(</span><span style="color: black;">(</span><span style="color: black;">1</span> <span style="color: #434f54;"><<</span> <span style="color: black;">i</span><span style="color: black;">)</span> <span style="color: #434f54;">&</span> <span style="color: black;">chiffres</span><span style="color: black;">[</span><span style="color: black;">n_uni</span><span style="color: black;">]</span><span style="color: black;">)</span>
<span style="color: black;">col</span> <span style="color: #434f54;">=</span> <span style="color: black;">color</span><span style="color: black;">;</span>
<span style="color: #5e6d03;">else</span>
<span style="color: black;">col</span> <span style="color: #434f54;">=</span> <span style="color: black;">coul_off</span><span style="color: black;">;</span>
<span style="color: #5e6d03;">for</span> <span style="color: black;">(</span><span style="color: #00979c;">int</span> <span style="color: black;">j</span> <span style="color: #434f54;">=</span> <span style="color: black;">0</span><span style="color: black;">;</span> <span style="color: black;">j</span> <span style="color: #434f54;"><</span> <span style="color: black;">NUM_PIX_PER_BRANCH</span><span style="color: black;">;</span> <span style="color: black;">j</span><span style="color: #434f54;">++</span><span style="color: black;">)</span>
<span style="color: black;">{</span>
<span style="color: black;">pixels</span><span style="color: #434f54;">.</span><span style="color: #d35400;">setPixelColor</span><span style="color: black;">(</span><span style="color: black;">7</span> <span style="color: #434f54;">*</span> <span style="color: black;">NUM_PIX_PER_BRANCH</span> <span style="color: #434f54;">+</span> <span style="color: black;">i</span> <span style="color: #434f54;">*</span> <span style="color: black;">NUM_PIX_PER_BRANCH</span> <span style="color: #434f54;">+</span> <span style="color: black;">j</span><span style="color: #434f54;">+</span><span style="color: black; font-family: verdana;">2*</span><span style="font-family: verdana;">NUM_PIX_PER_BRANCH</span><span style="color: #434f54; font-family: verdana;">,</span><span style="font-family: verdana;"> </span><span style="color: black; font-family: verdana;">col</span><span style="color: black; font-family: verdana;">)</span><span style="color: black; font-family: verdana;">;</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span>
<span style="color: black;">pixels</span><span style="color: #434f54;">.</span><span style="color: black;">show</span><span style="color: black;">(</span><span style="color: black;">)</span><span style="color: black;">;</span>
<span style="color: black;">}</span>
</pre>
</blockquote>
<br />
Et après ça, ça devrait le faire 😃Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com2tag:blogger.com,1999:blog-4270258268118985687.post-43407581730386401722017-04-29T15:01:00.000-07:002017-04-29T15:01:52.507-07:00Coupe de Belgique 2017 : Un Namur de compétitionComme chaque année depuis Préhistobot, Brickstory est parti en terre Wallonne pour à la fois affronter les équipes belges, mais aussi pour se préparer à la coupe de France qui se tient quelques semaines plus tard.<br />
<br />
Après Mons et Louvain-La-Neuve, c'est cette fois à Namur que se tient la rencontre. Au menu, 21 équipes dont la moitié belges, l'autre moitié étant composée d'une équipe allemande (RCA) d'une équipe suisse (CVRA) et d'équipes françaises.<br />
<br />
En arrivant le samedi matin sur les lieu, l'Amphi Pedro Arrupe de l'Unversité de Namur, les équipes s'installent dans ce qui ressemble à un couloir et tout le monde s'affaire à préparer, réparer, finir de concevoir les robots. Un coup d’œil sur les tables de jeu nous montre plusieurs choses :<br />
<ul>
<li>Les fusées ne sont pas ouvertes sur toute la longueur</li>
<li>Les cratères sont délimités par des petits tasseaux non chanfreinés</li>
<li>La peinture des modules est granuleuse (pas faite au pistolet ou à la bombe) et surtout les bords des modules sont peints</li>
<li>Il y a un écart de 5mm entre la partie jaune et la partie bleu, du fait de l'impression du terrain sur le vinyle</li>
<li>La bascule n'est pas biseauté, il subsiste une marche de 2mm à franchir</li>
</ul>
<br />
Nous passons à l'étape d'homologation qui se déroule plutôt bien. En statique aucun souci, et pour l'étape dynamique nous avions prévu un programme simple où les deux robots faisaient juste des séquence avance-recule permettant de vérifier l'évitement, et la funny action pour marquer des points. Comme d'habitude, on a quelques remarques sur la détection dans les coins, mais ça passe. De toute façon personne ne craint rien avec nos Lego 😉<br />
<br />
17 équipes homologuées sur 21 présentes, une 18è passera cette étape pour les matches de dimanche.<br />
<br />
Premier match contre Coffee Machine. Equipe que l'on connait bien, qui était même homologable quelques heures seulement après la parution du règlement en septembre dernier. Cette année, en plus de leur machine à café traditionnelle, ils sont venus avec un robot secondaire, statique, basé sur un grille pain. Ce grille pain a une unique fonction : envoyer un toast en forme de fusée en guise de funny action... Juste génial. Notre match le fût un peu moins, le petit robot n'a pas démarré, et le câble d'alimentation des actionneurs secondaires s'est sectionné lors de la phase de préparation. Le gros robot part quand même mais le câble repositionné bloque la funny action. 21 malheureux points.<br />
<br />
Deuxième match contre les Space Monsters, équipe belge qui a deux robots assez costauds, mais qui ne semblent pas encore au point à ce stade de la compétition. Les nôtres non plus d'ailleurs puisque notre petit robot soulève étrangement ses deux codeurs sur la bascule et ne les redescend pas. Il va donc droit dans la zone de départ adverse, alors que notre adversaire usine tranquillement le vinyle, obligeant les arbitres à appuyer sur le bouton d'arrêt d'urgence. Notre gros robot fait quand même quelques points, 61 au total, et nous arrivons en tête du classement général.<br />
<br />
Toute la première journée ici : <a href="https://youtu.be/wXq3mWg_XBY" target="_blank">https://youtu.be/wXq3mWg_XBY</a><br />
<br />
Après une soirée de codage, mais aussi de repos avec une visite au casino de Namur, nous retournons le lendemain à l'université pour les 3 derniers matches de qualification.<br />
<br />
Troisième match contre Oddity. le petit robot passe bien la bascule, mais il est décalé et n'arriva pas à prendre le moindre module de la fusée. Le gros robot ne peut pas manipuler correctement les modules sur la table, surement à cause de la couleur jaune, car en bleu ça passait bien. Par miracle on ramène 4 minerais et un module dans la zone de départ, ce qui donne 45 points avec la funny action. On reste en tête du classement.<br />
<br />
Quatrième match, les réglages sont modifiés, mais on tombe encore sur du jaune contre le FSE Colbert. Le petit robot arrive cette fois à récolter deux modules qu'il dépose dans la zone de départ. Le gros cafouille lors de la dépose des modules polychromes, en donnant même un module à l'adversaire. En revanche les deux modules monochromes sont récupérés et déposés devant la basse latérale avant d'être poussés à l'intérieur de celle ci. Big Applause, ça fait plaisir :-)<br />
Toutefois, petite négociation avec l'arbitre car à la fin, notre cerceau n'est pas relevé et les balles sont prisonnières du robot. On est d'accord là dessus, mais pour être sûrs on déplace le robot dans le sens de marche. Le robot touche alors un module qui était sur le côté du robot, et le chef arbitre nous dit que puisque le module a bougé, il était contrôlé par le robot et donc ne compte pas !!! En général on laisse les arbitres décider et on accepte tout, mais là, on a trouvé ça étrange. Après négociation, on a les deux points, mais c'est un point qu'il faudra remonter car c'est clairement une source d'embrouille.<br />
61 points et on on garde la première place.<br />
<br />
Cinquième et dernier match contre Moona Lisa. On est bleu, enfin, et tout se passe beaucoup mieux. Les modules sont déposés dans la base à 45° (malgré un cadeau à l'adversaire encore), un dans la base latérale, 3 dans la zone de départ et quelques balles. Résultat 77 points, et en route pour les finales.<br />
<br />
A ce moment de la compétition, on sépare les belges et les étrangers, et on se retrouve dans les demi finales étrangères avec Coffee Machine, RCA et PM-Robotix. Contre Coffee Machine, le match se déroule à peu près comme prévu (en jaune encore) et on retrouve RCA en finale<br />
<br />
Toujours en jaune (décidément, il va falloir faire un truc dans le logiciel de tirage au sort !!!), notre gros robot rate quelques modules et RCA fait un gros match, alors que notre petit robot s'arrête en pleine action. On découvrira plus tard que la batterie s'est déconnectée !!!<br />
<br />
RCA sera battu par les Space Monsters dans la finale des finales, deux équipes qu'on reverra à coup sûr à Eurobot (enfin on y sera spectateurs, on est trop vieux !!!)<br />
<br />
Toute la deuxième journée ici :<a href="https://youtu.be/vf1suGyozco" target="_blank">https://youtu.be/vf1suGyozco</a><br />
<br />
On revient comme à chaque fois avec une liste de choses à faire pour améliorer les robots en vue de la Coupe de France, et plein de bons souvenirs.<br />
<br />
Un gros merci<br />
- Au Pass, Robotix's et l'Universite de Namur pour l'organisation, l'accueil<br />
-A Étienne pour les commentaires pendant et entre les matches<br />
- A l'ensemble des bénévoles avec qui on a pu échanger et rigoler<br />
- A Coffee Machine pour leurs idées et leur coup de main pour la réparation de nos connecteurs<br />
- A PM-Robotix pour les échanges, la bonne humeur<br />
-A ESEO pour leur équipe travailleuse qui n'a pas eu la chance de marquer beaucoup de points malgré un robot très beau mécaniquement.<br />
- A toutes les autres équipes belges, françaises et autres qui ont fait de cet événement un moment dont on se souviendra.<br />
<br />
On sera là l'année prochaine à Namur, en espérant qu'il y ait du wifi stable dans la salle ;-)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://scontent-ams3-1.xx.fbcdn.net/v/t31.0-8/18056215_1904335006474863_8382537542270640272_o.jpg?oh=4ec4e5db40e1c2c1f1a868bcfaa30cfd&oe=59841B03" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://scontent-ams3-1.xx.fbcdn.net/v/t31.0-8/18056215_1904335006474863_8382537542270640272_o.jpg?oh=4ec4e5db40e1c2c1f1a868bcfaa30cfd&oe=59841B03" width="320" /></a></div>
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-82268884192064076042017-02-21T07:42:00.000-08:002017-02-21T07:42:45.341-08:00Finale régionale IDF des Trophées de robotiqueSamedi 18 février, finale régionale des Trophées. Notre équipe historique, les Têtes Briquées est scindée en deux : le noyau restant forme les têtes Briquées, toujours avec des robots en Lego, et les autres (et des nouveaux) ont fondé l'équipe des Têtes Fabriquées à base de tout sauf Lego (enfin... presque).<br />
<br />
Côté Têtes Briquées, on a gardé l'expérience de la mécanique Lego, mais tout a été refait de zéro. Pour augmenter le challenge, la télécommande a été refaite, cette fois à base d'Arduino, et plus de brique EV3.<br />
<br />
Autant dire qu'avec une date de rencontre si tôt dans l'année, des effectifs réduits, la découverte de l'Arduino, c'était loin d'être gagné pour conserver le titre acquis l'an dernier.<br />
<br />
La veille de la rencontre, les deux robots sont fonctionnels, la télécommande aussi, mais il n'ont pas réussi à trouver du temps pour s'entraîner.<br />
<br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsPEn69Ey1vB94EB7o-qraSi-2L_30oRy9hShdAtSNcK5mvMHcon9pCBFX9UYYkGcz57XP_nc4wNR94GjtA4-IvVBOpb683m9JnD0RTBIHUSjEHQfta8i_fLDzf2KRpIfGzAUR-saX8KGY/s1600/IMG_20170212_160813.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsPEn69Ey1vB94EB7o-qraSi-2L_30oRy9hShdAtSNcK5mvMHcon9pCBFX9UYYkGcz57XP_nc4wNR94GjtA4-IvVBOpb683m9JnD0RTBIHUSjEHQfta8i_fLDzf2KRpIfGzAUR-saX8KGY/s320/IMG_20170212_160813.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Petit robot, statique, pour la funny action</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkOiisUGRhCsXWknWKuaw_qE0_hU7BYSmknW9s3Ejo2pCWfwvqabSRKag49Mm4DhPVdr9bMD1rWSypaQZnCkAARl6_8QHOIML9EKz-Saj7fGyrndBUCAGz5Ld2UxWBx4fD0AjkvfYgQSA3/s1600/IMG_20170212_160854.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkOiisUGRhCsXWknWKuaw_qE0_hU7BYSmknW9s3Ejo2pCWfwvqabSRKag49Mm4DhPVdr9bMD1rWSypaQZnCkAARl6_8QHOIML9EKz-Saj7fGyrndBUCAGz5Ld2UxWBx4fD0AjkvfYgQSA3/s320/IMG_20170212_160854.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Télécommande à base de 2 Arduino UNO</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX9wrGFZWNxCulxpItP2eBxgdCxTlkASMx7Iij8SsMADzJiygVdzuPALrl3nUsqKTz59R-6aGs4lmBMgXx9rzgMJmcwjwv-NarrVAKIgGjSP7YKqQFOUW50Uca3e9D9aWAC6xJtE4O4Bqs/s1600/IMG_20170212_160938.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX9wrGFZWNxCulxpItP2eBxgdCxTlkASMx7Iij8SsMADzJiygVdzuPALrl3nUsqKTz59R-6aGs4lmBMgXx9rzgMJmcwjwv-NarrVAKIgGjSP7YKqQFOUW50Uca3e9D9aWAC6xJtE4O4Bqs/s320/IMG_20170212_160938.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Robot principal, qui gère les modules et les balles</td></tr>
</tbody></table>
<br /><br />
L'homologation est passée rapidement, mais on voit que la maîtrise du robot n'est pas encore là.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/cWrG6cBV-fY/0.jpg" src="https://www.youtube.com/embed/cWrG6cBV-fY?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
<br />
Le premier match contre E.T. se déroule dans les mêmes conditions, avec Lucas aux commandes. Victoire avec une score moyen de 49 points qui nous place malgré tout en 5ème position.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/dMbN47r72vI/0.jpg" src="https://www.youtube.com/embed/dMbN47r72vI?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
On se rend compte alors :<br />
- Que le robot n'est pas si simple à piloter, et qu'il faut mieux gérer les différents actionneurs<br />
- Les minerais sont très mobiles et qu'il est illusoire de vouloir les pousser simplement dans la zone de départ<br />
- Qu'il y a un énorme écart entre les grosses équipes (Destroyer, etc..) et la grande partie des équipes qui placent un module à tout casser<br />
- Qu'il va falloir s'entraîner pour espérer faire un bon résultat.<br />
<br />
Second match contre Ice Robot, Antoine pilote, et résultat similaire. Viser la base centrale n'est pas aisé, les modules sont difficiles à extraire des fusées. Encore une victoire avec un score de<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/AtzKWmy_xUk/0.jpg" src="https://www.youtube.com/embed/AtzKWmy_xUk?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
Troisième match contre GOMM avec Lucie aux commandes. Un score de 47 points nous assure une place en 1/4 de finale<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/gs_LRT6d7kU/0.jpg" src="https://www.youtube.com/embed/gs_LRT6d7kU?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
La qualification en finale nationale étant acquise, les jeunes se rendent compte qu'il va falloir faire mieux en 1/4 de finale. Lucas prend les choses en main, se souvient de ses nombreuses parties de jeu sur console, s'approprie mieux la télécommande et se lance dans un entraînement digne d'un sportif de haut niveau (toutes proportions gardées)<br />
<br />
Et le travail paye. Il maîtrise mieux le robot, que ce soit la prise de modules, le retournement, et le largage dans les bases. Le 1/4 de finale est remporté face aux Rob Hot Cugnot :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/OgjZhSniKl4/0.jpg" src="https://www.youtube.com/embed/OgjZhSniKl4?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
<br />
La 1/2 finale va être un peu plus difficile face à l'équipe qui domine largement la journée, les Destroyor.<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/7QAK-_F1G5A/0.jpg" src="https://www.youtube.com/embed/7QAK-_F1G5A?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
Ils remporte facilement le match et nous accédons à la petite finale contre les Génies de Gif<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/dhErJVtfot8/0.jpg" src="https://www.youtube.com/embed/dhErJVtfot8?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
Victoire dans cette petite finale qui nous permet de monter sur le podium.<br />
<br />
Les Têtes Briquées repartent de là avec une petite coupe de bronze, un certificat de 3ème place, plein de souvenirs, d'enseignement, et une envie de tout déchirer à St Quentin les 1er et 2 avril prochain<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAeblJwONsumgUPmkCnILJywepFoRP55SY05YWb4Lxe2_oQjKkWJAftYFjL4Ui2DOAS-52GqMEwEfzDCHeGzgtu_iwXAe1b0OU_2KR82BiURmghG3APhIv3bawlUfqijF1F9pQyPMJtCtD/s1600/IMG_20170218_180151.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAeblJwONsumgUPmkCnILJywepFoRP55SY05YWb4Lxe2_oQjKkWJAftYFjL4Ui2DOAS-52GqMEwEfzDCHeGzgtu_iwXAe1b0OU_2KR82BiURmghG3APhIv3bawlUfqijF1F9pQyPMJtCtD/s320/IMG_20170218_180151.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsVAw96hAMhtCeszJEq-wzHj1p5N7g3G4drzM1lxbnJrtF17on0dvcIffWoLPwQbrn9V5gnwXl6Y0DgVWOgU3ViqPLI4TucIqWBxCLzEk6i-LskTDJzbOlF2EOrQ1gMijJBI7qlKVYt9PU/s1600/IMG_20170218_180330.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsVAw96hAMhtCeszJEq-wzHj1p5N7g3G4drzM1lxbnJrtF17on0dvcIffWoLPwQbrn9V5gnwXl6Y0DgVWOgU3ViqPLI4TucIqWBxCLzEk6i-LskTDJzbOlF2EOrQ1gMijJBI7qlKVYt9PU/s320/IMG_20170218_180330.jpg" width="240" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Quelques petits retour positifs sur la journée :<br />
<br />
<ul>
<li>Superbe organisation de la part de Planète Sciences, </li>
<li>Le lieu de la ferme du Manet est toujours aussi grandiose</li>
<li>Les matches se déroulent très bien, avec des équipes très sympa, des encadrants géniaux et du Fair Play partout</li>
<li>Le règlement permet rapidement de savoir qui gagne un match, c'est plutôt cool</li>
<li>L'animation toujours au top </li>
<li>Anges gardien, arbitres et autres bénévoles aussi.</li>
</ul>
Quelques légers bémols :<br />
<ul>
<li>Manque de communication sur les classements à la fin de chaque série. Il faut être dans la salle au bon moment, et ça pas toujours simple avec une petite équipe</li>
<li>Les minerais ne sont pas stables du tout. C'est lié au règlement, mais du coup peu d'équipes ont cherché à les récolter</li>
<li>c'est un peu tôt dans l'année, et pendant les vacances. Pas la faute de Planète Sciences, mais c'est juste dommage.</li>
</ul>
Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com1tag:blogger.com,1999:blog-4270258268118985687.post-59519184335282186512017-01-06T08:18:00.002-08:002017-01-06T08:18:46.594-08:00Un minuteur à base LED multicoloresNouveau projet annexe, réaliser un minuteur, ou un décompte assez gros pour être visible depuis les gradins lors des compétitions de robotique.<br />
<br />
Bien sûr, il ne faut pas que ça coute trop cher, que ce soit ludique et pédagogique, donc DIY à fond.<br />
<br />
J'ai commandé :<br />
- un bandeau de LED WS2812 (sur AliExpress) en non-étanche (normalement c'est fini les bêtises avec les poissons à pêcher) avec une densité de 30 LED/m sur fond noir<br />
- Un Arduino Uno (enfin l'équivalent sinisé)<br />
- une planche de bois format A3 (environ)<br />
- une capa 100 uF- une alimentation stable 5V 4A <br />
<br />
Et mes outils préférés :<br />
- un fer à souder + étain<br />
- crayon gomme équerre<br />
- fil monobrin<br />
<br />
Je suis parti d'un tuto en ligne assez bien fait, même s'il est dans la langue de Goethe : <a href="https://www.youtube.com/watch?v=UVISnxXh_VY" target="_blank">https://www.youtube.com/watch?v=UVISnxXh_VY</a><br />
<br />
Et d'un autre qui m'a donné l'idée des gros chiffres : <a href="https://www.youtube.com/watch?v=LojGHyBFE8Q" target="_blank">https://www.youtube.com/watch?v=LojGHyBFE8Q</a><br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEZqbydURHH6zDwBbvX4CxRDvd-gFCZ7liHTkywK2xZIiFUttpZE6RGYZl6ijQFZVQiEq1xG5gzX-mCfpgjkdUyFenNkAAWsulySHZ8dmGtXFpsk6naXursUD05pQo37Rj1GaOK7oB2WE-/s1600/IMG_20161229_205009.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEZqbydURHH6zDwBbvX4CxRDvd-gFCZ7liHTkywK2xZIiFUttpZE6RGYZl6ijQFZVQiEq1xG5gzX-mCfpgjkdUyFenNkAAWsulySHZ8dmGtXFpsk6naXursUD05pQo37Rj1GaOK7oB2WE-/s320/IMG_20161229_205009.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Ouverture du colis</td></tr>
</tbody></table>
<br />
Premier test rapide du bandeau de LED, sans utiliser la protection de la capa. J'ai pour ça découpé mon bandeau pour ne garder que 4 LED.<br />
<br />
Sur l'IDE Arduino, il suffit de télécharger la librairie NeoPixel d'Adafruit et de tester le programme de base "sample". Le bandeau de LED sera branché comme suit :<br />
- le fil rouge sur le bouton rouge... euh.. sur le 5V<br />
- le fil blanc sur la masse<br />
- le fil vert sur D6<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsr8EbCo3dZ7iskNqm9jsklCixaQ_vYCem6AV_hT0wb_JmBvQJ2_GUEsG51ibhWN_LtOPcVvVGQ1iaBqqyqiFRbKPG9cv5INKe0XsJI-CQH9zdtZwNGIahyphenhyphenKFOZiXG7Vs91Qw4reYJaZHk/s1600/IMG_20170103_203447.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsr8EbCo3dZ7iskNqm9jsklCixaQ_vYCem6AV_hT0wb_JmBvQJ2_GUEsG51ibhWN_LtOPcVvVGQ1iaBqqyqiFRbKPG9cv5INKe0XsJI-CQH9zdtZwNGIahyphenhyphenKFOZiXG7Vs91Qw4reYJaZHk/s320/IMG_20170103_203447.jpg" width="320" /></a></div>
<br />
La prise en main est super rapide, il y a deux paramètres à régler dans le programme, la pin utilisée (j'ai gardé la D6) et le nombre de LED, que j'ai changé pour mettre 4<br />
<br />
<blockquote style="border: 1px solid rgb(241, 241, 241); box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 4px; font-family: verdana; font-size: 12px; line-height: 20px; margin: 10px; outline: 0px; padding: 10px; vertical-align: baseline;">
<span style="color: blue;"><!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>FR</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tableau Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-fareast-language:EN-US;}
</style>
<![endif]-->
</span><br />
<div class="MsoNormal">
<span style="color: blue;"><span lang="EN-US" style="mso-ansi-language: EN-US;">// Which
pin on the Arduino is connected to the NeoPixels?</span></span></div>
<span style="color: blue;">
<div class="MsoNormal">
<span lang="EN-US" style="mso-ansi-language: EN-US;">#define
PIN<span style="mso-spacerun: yes;"> </span>6</span></div>
<div class="MsoNormal">
<span lang="EN-US" style="mso-ansi-language: EN-US;">// How many
NeoPixels are attached to the Arduino?</span></div>
<div class="MsoNormal">
#define NUMPIXELS<span style="mso-spacerun: yes;">
</span>4</div>
</span></blockquote>
<br />
Ensuite, l'allumage d'une LED se fait en utilisant la méthode setPixelColor(numéro de LED, couleur), puis la méthode show() de la classe AdaFruit_NeoPixel<br />
<br />
<blockquote style="border: 1px solid rgb(241, 241, 241); box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 4px; font-family: verdana; font-size: 12px; line-height: 20px; margin: 10px; outline: 0px; padding: 10px; vertical-align: baseline;">
<div class="MsoNormal">
<span style="color: blue;"><span lang="EN-US" style="mso-ansi-language: EN-US;"><!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>FR</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tableau Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-fareast-language:EN-US;}
</style>
<![endif]-->
</span></span></div>
<div class="MsoNormal">
<span style="color: blue;"><span lang="EN-US" style="mso-ansi-language: EN-US;">pixels.setPixelColor(num,
pixels.Color(0,150,0));</span></span></div>
<span style="color: blue;">
<div class="MsoNormal">
<span lang="EN-US" style="mso-ansi-language: EN-US;">pixels.show();</span></div>
</span><span style="color: blue;">
</span></blockquote>
<br />La méthode Color() prend 3 paramètres, la valeur de rouge (0->255), de vert (0->255) et de bleu (0->255). Pour éteindre la LED, il faudra donc lui imposer Color(0,0,0) et faire un show()<br />
<br />
Je me suis même amusé à faire un programme de couleur aléatoire sur les 4 LED avec un délai de 200ms entre chaque... Un peu psychédélique, mais ça le fait :-)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /><iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/I5esYVWs_d8/0.jpg" src="https://www.youtube.com/embed/I5esYVWs_d8?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
Revenons donc au minuteur.<br />
<br />
Le principe électronique sera le suivant (excusez l'utilisation de powerpoint comme logiciel de conception électronique, mais chez nous on fait plutôt du Lego) <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyFnUsJ3C_Jz0UR1DkKjGOul9gA-EFXkzHDT7m7VrOSkppkf2bxVClsCJaQhpAQuwuc8_eMZmDMCBVSJmKZroRBkR50l-Q2PVqeWNb64L1huMYVSyor2gimd-YqCUeC-ju0NHtVblU-ULc/s1600/sch%25C3%25A9ma_minuteur.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyFnUsJ3C_Jz0UR1DkKjGOul9gA-EFXkzHDT7m7VrOSkppkf2bxVClsCJaQhpAQuwuc8_eMZmDMCBVSJmKZroRBkR50l-Q2PVqeWNb64L1huMYVSyor2gimd-YqCUeC-ju0NHtVblU-ULc/s400/sch%25C3%25A9ma_minuteur.jpg" width="391" /></a></div>
On part sur deux chiffres car le décompte sera de 90s. <br />
<br />
Chaque chiffre en vert correspond à un digit (une bande de 4 LED) dans l'ordre vu par l'arduino, chaque chiffre en noir correspond au numéro de la LED à allumer.<br />
Le GO sera le lanceur du minuteur, donc un simple bouton poussoir<br />
<br />
On voit qu'on a 56 LED qui consomme chacune jusqu'à 60mA (allumage à fond), donc il faut une alimentation pouvant générer 56x60 = 3360 mA + conso de l'Arduino, donc 4A pour être large.<br />
<br />
Ceci étant défini, il faut tracer le schéma sur la planche en bois. Chaque chiffre fera environ 15x30cm, ce qui devrait être suffisant pour être vu d'assez loin<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9jpg6i8OOQ0uLt8tslrSObnmfWxA5MucFp-kLVkAe5bBM-V9Ijw2w5e8v5UvhU21w8UiU2ycBRJYQ1d6doJheY4FzpnXqwDJpWW1SGHSTS4dugJNKwGlqehDhkemsdvV4tqmGZscMUM46/s1600/IMG_20161230_134132.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9jpg6i8OOQ0uLt8tslrSObnmfWxA5MucFp-kLVkAe5bBM-V9Ijw2w5e8v5UvhU21w8UiU2ycBRJYQ1d6doJheY4FzpnXqwDJpWW1SGHSTS4dugJNKwGlqehDhkemsdvV4tqmGZscMUM46/s320/IMG_20161230_134132.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Dessin sur la planche</td></tr>
</tbody></table>
Ne regardez pas les traces de gras sur la planche, je devais revenir du Mc Do :-). De toute façon, la planche sera recouverte de noir pour mieux faire ressortir les couleurs des LED<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGc94i_nNySBKQrtwXfdhdUjTR_0fArqXHqAesEEnMjo2pJ5glHXaBGhONG5bTnZnH9jAue6PbDZWWFPS17wgDHuoGdgI488lXNwhaV0RTIE6LZX-3BmbEocHivqUtwAGI-xRXuLmWgE_-/s1600/IMG_20161230_134148.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGc94i_nNySBKQrtwXfdhdUjTR_0fArqXHqAesEEnMjo2pJ5glHXaBGhONG5bTnZnH9jAue6PbDZWWFPS17wgDHuoGdgI488lXNwhaV0RTIE6LZX-3BmbEocHivqUtwAGI-xRXuLmWgE_-/s320/IMG_20161230_134148.jpg" width="240" /> </a></td><td style="text-align: center;"><br /></td><td style="text-align: center;"><br /></td><td style="text-align: center;"><br /></td><td style="text-align: center;"><br /></td><td style="text-align: center;"><br /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Le même avec l'échelle des distances</td><td class="tr-caption" style="text-align: center;"><br /></td><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<br />Ensuite, il y a une opération de collage des bandeaux de 4 LED. Il faut juste être vigilent de bien respecter le sens les flèches sur les LED. En effet, le protocole unifilaire est le suivant :<br />
<br />
<ul>
<li>Une trame contenant toutes les infos est envoyée par l'Arduino sur le fil.</li>
<li>Chaque LED (enfin c'est pas la LED mais la pupuce WS2812) contient une entrée pour recevoir les data (DIN) et une sortie pour les envoyer (DOUT) </li>
<li>La première LED reçoit la trame, prend le premier bloc de couleur et renvoie le reste de la trame à la LED suivante.</li>
<li>On continue jusqu'au bout de la trame.</li>
</ul>
<br />
Chaque bandeau de 4 LED doit ensuite lié au suivant :<br />
La masse sur la masse<br />
Le +5V sur le +5V<br />
Le DOUT de la dernière LED sur le DIN de la sauivante<br />
<br />
Pour relier, j'ai opté pour du câble monobrin, ce qui permet d'éviter les petits brins qui causeraient avec le point de soudure à côté... et qui mettrait le brun. En plus c'est bien plus simple à dénuder et découper<br />
<br />
Voilà le résultat en vidéo du montage :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/Bv55ueBiTsw/0.jpg" src="https://www.youtube.com/embed/Bv55ueBiTsw?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
Ensuite le programme Arduino<br />
<br />
J'ai défini 3 couleurs.<br />
coul_on : du blanc pas trop puissant pour pouvoir garder juste l'Arduino pour alim<br />
coul_red : un rouge pour la fin du compteur<br />
coul_off : pour éteindre les LED<br />
<br />
La pin 7 permet de lancer le compteur lorsqu'il est mis à la masse (le bouton du chrono quoi!)<br />
<br />
Les chiffres sont allumés en blanc, le 0 en rouge pendant 5 secondes, puis tout est éteint.<br />
<br />
La fonction Affiche(num, coul) porte bien son nom... elle allume les LED avec la couleur souhaitée pour former le nombre souhaité.<br />
<br />
Chaque chiffre est décrit par sa correspondance binaire (dans l'ordre des digits) dans le tableau chiffres[], cela permet d'optimiser un peu le code. Les bits 1 sont allumés à la couleur voulue et les autres à coul_off (donc éteints)<br />
<br />
<blockquote style="border: 1px solid rgb(241, 241, 241); box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 4px; font-family: verdana; font-size: 12px; line-height: 20px; margin: 10px; outline: 0px; padding: 10px; vertical-align: baseline;">
<div class="MsoNormal">
<span style="color: blue;"><span lang="EN-US" style="mso-ansi-language: EN-US;"><!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>FR</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tableau Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-fareast-language:EN-US;}
</style>
<![endif]-->
</span></span></div>
<div class="MsoNormal">
<span style="color: blue;">#include <Adafruit_NeoPixel.h></span></div>
<span style="color: blue;">
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
// Which pin on the Arduino is connected to the NeoPixels?</div>
<div class="MsoNormal">
#define PIN_PIXELS
6</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
// How many NeoPixels are attached to the Arduino?</div>
<div class="MsoNormal">
#define NUMPIXELS 56</div>
<div class="MsoNormal">
// how many pixels per branch of the digits</div>
<div class="MsoNormal">
#define NUM_PIX_PER_BRANCH 4</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
// the pin for launching counter</div>
<div class="MsoNormal">
#define PIN_LAUNCH 7</div>
<div class="MsoNormal">
// When we setup the NeoPixel library, we tell it how many
pixels, and which pin to use to send signals.</div>
<div class="MsoNormal">
// Note that for older NeoPixel strips you might need to change
the third parameter--see the strandtest</div>
<div class="MsoNormal">
// example for more information on possible values.</div>
<div class="MsoNormal">
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS,
PIN_PIXELS, NEO_GRB + NEO_KHZ800);</div>
<div class="MsoNormal">
// colors defined for lignhtened (or not) pixels</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
uint32_t coul_on = pixels.Color(30,30,30);</div>
<div class="MsoNormal">
uint32_t coul_red = pixels.Color(30,0,0);</div>
<div class="MsoNormal">
uint32_t coul_off = pixels.Color(0,0,0);</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
int chiffres[10] =
{0x77,0x44,0x3E,0x6E,0x4D,0x6B,0x7B,0x46,0x7F,0x6F};</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
int go_counter=0;</div>
<div class="MsoNormal">
int val_counter = 90; // number of seconds</div>
<div class="MsoNormal">
void setup() {</div>
<div class="MsoNormal">
// put your setup code here, to run once:</div>
<div class="MsoNormal">
pixels.begin(); // This initializes the NeoPixel
library.</div>
<div class="MsoNormal">
pinMode(PIN_LAUNCH,INPUT_PULLUP); // input is set as
pullup to avoid having three wires</div>
<div class="MsoNormal">
Affiche(0,coul_off); // turn off the leds</div>
<div class="MsoNormal">
}</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
void loop() {</div>
<div class="MsoNormal">
// put your main code here, to run repeatedly:</div>
<div class="MsoNormal">
if (digitalRead(PIN_LAUNCH)== LOW) // button pressed</div>
<div class="MsoNormal">
go_counter = 1; // used as a RSFlipFlop</div>
<div class="MsoNormal">
if (go_counter)</div>
<div class="MsoNormal">
{</div>
<div class="MsoNormal">
if (val_counter > 0)</div>
<div class="MsoNormal">
Affiche(val_counter,coul_on); //
showing the number</div>
<div class="MsoNormal">
else if (val_counter > -5)</div>
<div class="MsoNormal">
Affiche(0,coul_red); // during funny
action</div>
<div class="MsoNormal">
else</div>
<div class="MsoNormal">
Affiche(0,coul_off); // after funny
action, everything is off</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
val_counter--; // minus 1s</div>
<div class="MsoNormal">
delay(1000);// if no RTC, the delay must be
calibrated to keep real timing</div>
<div class="MsoNormal">
}</div>
<div class="MsoNormal">
}</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
void Affiche(int number,uint32_t color )</div>
<div class="MsoNormal">
{</div>
<div class="MsoNormal">
uint32_t col; //color, on or off</div>
<div class="MsoNormal">
if (number > 99)</div>
<div class="MsoNormal">
return; // no lighting over 99</div>
<div class="MsoNormal">
byte n_diz = number/10;</div>
<div class="MsoNormal">
byte n_uni = number % 10;</div>
<div class="MsoNormal">
for (int i=0;i<7;i++) // each digit</div>
<div class="MsoNormal">
{</div>
<div class="MsoNormal">
// first dozens</div>
<div class="MsoNormal">
if ((1<<i) & chiffres[n_diz])</div>
<div class="MsoNormal">
col = color;</div>
<div class="MsoNormal">
else</div>
<div class="MsoNormal">
col = coul_off;</div>
<div class="MsoNormal">
for (int j=0;j<NUM_PIX_PER_BRANCH;j++)</div>
<div class="MsoNormal">
{</div>
<div class="MsoNormal">
pixels.setPixelColor(i*NUM_PIX_PER_BRANCH+j,col);</div>
<div class="MsoNormal">
}</div>
<div class="MsoNormal">
// then units</div>
<div class="MsoNormal">
if ((1<<i) & chiffres[n_uni])</div>
<div class="MsoNormal">
col = color;</div>
<div class="MsoNormal">
else</div>
<div class="MsoNormal">
col = coul_off;</div>
<div class="MsoNormal">
for (int j=0;j<NUM_PIX_PER_BRANCH;j++)</div>
<div class="MsoNormal">
{</div>
<div class="MsoNormal">
pixels.setPixelColor(7*NUM_PIX_PER_BRANCH + i*NUM_PIX_PER_BRANCH+j,col);</div>
<div class="MsoNormal">
}</div>
<div class="MsoNormal">
}</div>
<div class="MsoNormal">
pixels.show();</div>
<div class="MsoNormal">
}</div>
</span><span style="color: blue;">
</span></blockquote>
<br />
Le résultat en vidéo (j'ai débuté le compteur à 10s, ça suffit pour la démo)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/ZaibcKZxWDc/0.jpg" src="https://www.youtube.com/embed/ZaibcKZxWDc?feature=player_embedded" frameborder="0" allowfullscreen></iframe> </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
C'est pris d'un peu près, donc le résultat n'est pas hyper génial sur la vidéo. En se mettant à plusieurs mètres, ça rend beaucoup mieux.<br />
<br />
Les améliorations à apporter :<br />
<ul>
<li>Rajouter le condo 100 uF pour pouvoir utiliser une alim externe et protéger les LED quand on allumera à fond</li>
<li>remplacer l'arduino Uno par un Arduino min pro, plus compact et largement suffisant.</li>
<li>Couvrir d'une plaque de plastique dépoli pour diffuser les lumières des LED</li>
<li>peindre le fond en noir pour mieux faire ressortir les lumières </li>
<li>Calibrer la valeur du Delay pour avoir 90s exactement</li>
<li>Rajouter un câble long pour lancer le minuteur à distance (comme l'arbitre le fera).</li>
</ul>
N'hésitez pas à copier, modifier, améliorer...<br />
Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com2tag:blogger.com,1999:blog-4270258268118985687.post-22614113435497679262016-12-20T02:07:00.000-08:002016-12-20T02:07:14.617-08:00Un dimanche en groupe<div class="separator" style="clear: both; text-align: left;">
Dimanche c'était réunion commune Têtes briquées et Têtes (fa)briquées. l'idée étant de travailler sur les sujets communs, comme les déguisements, mais surtout de renforcer l'esprit d'équipe et de cohésion.</div>
<div class="separator" style="clear: both; text-align: left;">
On a eu aussi la primeur des modules peints au pistolet, un résultat incroyable par rapport à ce qu'on faisait historiquement avec des pinceaux en poils de mammouths (des restes d'une précédente année sans aucun doute :-) )</div>
<div class="separator" style="clear: both; text-align: left;">
En tout cas merci Laurent pour ce beau boulot.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO8vDw5lWqIwfXeqffFROw7Vb03OE4e9lHM8xp0lzuA8Qo3cgjH619JsNsIiOYArL4rH9tp9ErUlzdnb5jYEqov6apD35jp117WfGlrKrDhysZPiDd50iGGwka7T75fdb1sEOK1iuauHs/s1600/IMG_20161211_151119.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO8vDw5lWqIwfXeqffFROw7Vb03OE4e9lHM8xp0lzuA8Qo3cgjH619JsNsIiOYArL4rH9tp9ErUlzdnb5jYEqov6apD35jp117WfGlrKrDhysZPiDd50iGGwka7T75fdb1sEOK1iuauHs/s320/IMG_20161211_151119.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #0000ee;">Les têtes (fa)briquées en pleine réflexion devant les modules peints<u><br /></u></span></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Objectif de la journée pour les Têtes Briquées : fabriquer la télécommande. Le principe retenu est le suivant :</div>
<div class="separator" style="clear: both; text-align: justify;">
- un Arduino Uno avec sa carte moteur pour deux moteurs et leurs commandes (joystick ou boutons)</div>
<div class="separator" style="clear: both; text-align: justify;">
- 2 moteurs de propulsion plus 4 actionneurs maximum (mystère), donc trois cartes Arduino au total</div>
<div class="separator" style="clear: both; text-align: justify;">
- Programmation textuelle sur l'IDE Arduino</div>
<div class="separator" style="clear: both; text-align: justify;">
- 2 connecteurs RJ45 pour relier les cartes moteurs aux câbles Ethernet qui iront jusqu'au robot</div>
<div class="separator" style="clear: both; text-align: justify;">
- une batterie de modélisme incluse dans la télécommande</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Une fois les plaques de plexiglas de 5mm découpées, il a fallu percer des trous pour pouvoir visser les vis de fixation des cartes Arduino. Ces trous sont plus fins que les vis afin qu'elles taraudent en pénétrant</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-2e3ptU7LPremDAOZs75j462YlFFKvC3zu3_pif1nxTsLcVs6AlEje3Sd8WDg4YgyJIaNeL7j57i9hhyMBkAIrJuXkGy8N57Ck_gKgFFd9RJ8hH1TIa9PWJ0spriH5g9c-yzFO5zTFl8/s1600/IMG_20161211_155144.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-2e3ptU7LPremDAOZs75j462YlFFKvC3zu3_pif1nxTsLcVs6AlEje3Sd8WDg4YgyJIaNeL7j57i9hhyMBkAIrJuXkGy8N57Ck_gKgFFd9RJ8hH1TIa9PWJ0spriH5g9c-yzFO5zTFl8/s320/IMG_20161211_155144.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Perçage des trous par Antoine</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: justify;">
Une fois les trous percés, l'emplacement des connecteurs à été ouvert.</div>
<div class="separator" style="clear: both; text-align: justify;">
Quelques bâtons de colle chaude plus tard pour assembler le fond aux quatre côtés, on a pu passer au vissage délicat des cartes.</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqDeZV1nD5rOJFmO_MiZlsW3uCw3AHu5TKkw-E_ddtVeFOWHsCLD6bOy79ozYbGxTnJUwIdJfJ3iHHoIWlsxdZWFQ_pe2nAxd9Z9asRxTE5BtNSKk52dBogTmZZ47y07KWD6nMR5UIdCM/s1600/IMG_20161211_163056.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqDeZV1nD5rOJFmO_MiZlsW3uCw3AHu5TKkw-E_ddtVeFOWHsCLD6bOy79ozYbGxTnJUwIdJfJ3iHHoIWlsxdZWFQ_pe2nAxd9Z9asRxTE5BtNSKk52dBogTmZZ47y07KWD6nMR5UIdCM/s320/IMG_20161211_163056.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Taraudage et vissage par Lucie</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Le résultat après cette journée est plutôt satisfaisant même s'il reste pas mal de travail. Les vacances de Noël ne vont pas être de tout repos :-)</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjUpPetI1R_dakhfAWm3bHd4qJFOumi4K_PQ3hW889Iw2iYCqULoWFVBk43GAZ-G4cbaPN_EM8Fwq3Qe0EahLYO08N6894fMTmd5ihUjkWbix1bcvoNtyNFfxGEFzp2Hxd7LKibWUosdQ/s1600/IMG_20161213_082423.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjUpPetI1R_dakhfAWm3bHd4qJFOumi4K_PQ3hW889Iw2iYCqULoWFVBk43GAZ-G4cbaPN_EM8Fwq3Qe0EahLYO08N6894fMTmd5ihUjkWbix1bcvoNtyNFfxGEFzp2Hxd7LKibWUosdQ/s320/IMG_20161213_082423.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">La télécommande presque nue</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjutk3WW6DxaO0CIXtxFn6GvsgQxzNdLzarV8GjXhMhzq4ofDIdqWX1S6WuqQW4dSshTOg7L67C-wCZ0csGs3mFatUzBCvRmSrnoAWm6w7xImPI0KrMscWJfcYN1ImXHRsjtDnDDIUPcU/s1600/IMG_20161213_082442.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjutk3WW6DxaO0CIXtxFn6GvsgQxzNdLzarV8GjXhMhzq4ofDIdqWX1S6WuqQW4dSshTOg7L67C-wCZ0csGs3mFatUzBCvRmSrnoAWm6w7xImPI0KrMscWJfcYN1ImXHRsjtDnDDIUPcU/s320/IMG_20161213_082442.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Une ouverture rectangulaire faite à la perceuse...</td></tr>
</tbody></table>
<br />Bichonhttp://www.blogger.com/profile/06666131914773865056noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-10095181077623303232016-11-06T11:29:00.000-08:002016-11-06T11:29:33.120-08:00Les Têtes Briquées 2017Cette année, évolutions et révolutions chez les Têtes Briquées.<br />
<br />
Tout d'abord, il y a eu du recrutement et on se retrouvait très nombreux. En plus certains avaient des envies d'autres chose que de faire des constructions Lego. C'est pourquoi il a été décidé de scinder la team en deux équipes :<br />
- Les Têtes Briquées conserveront une philosophie Lego (avec des évolutions quand même) et seront encadrées par Brickstory<br />
- Les Têtes (fa)briquées, qui utiliseront tout le reste des matériaux présents sur cette terre (et même le titane lunaire si besoin), et qui seront encadrés par l'équipe CRLG<br />
<br />
On a choisi quand même de conserver une cohésion entre les deux équipes, un thème unique, un déguisement unique, des réunions ensemble, les mêmes crêpes et gaufres au gouter , etc....<br />
<br />
L'article ne va parler que de l'avancement des Têtes Briquées, car la dernière réunion s'est faite sans les têtes (fa)briquées<br />
<br />
Il n'y aura cette année pas de robot autonome, parce que<br />
- il y n'y a pas assez de monde pour 2 robots,<br />
- les Trophées IDF sont le 18 février, donc très peu de temps pour fabriquer les robots,<br />
- il n'y a pas d'action simple à faire faire par un robot autonome<br />
<br />
Le robot aura donc les 3 actions à mener, les modules à prendre et à mettre dans les bases, les balles à prendre et à mettre dans la zone de départ, et la funny action.<br />
Aucune chance que nous dévoilions ici et maintenant les stratégies retenues, faut pas rêver, mais si ça marche comme prévu, on risque de taper des scores plus qu'honorables.<br />
<br />
Autre nouveauté de l'année, la télécommande. Le nombre d'actionneurs à piloter va nous obliger à envisager autre chose que la brique NXT ou EV3. En même temps, ça va permettre de découvrir autre chose.<br />
L'idée retenue c'est de partir sur des arduino UNO avec carte de pilotage moteur. Chaque arduino pilotera donc 2 moteurs grâce à un joystick et/ou des boutons. Un article à venir détaillera l'architecte électronique, mécanique et les programmes de la télécommande.<br />
<br />
Quelques photos de la séance du jour :<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiSXaCibv502hsnngB1VkA07kWdNikfIUB2wFUIy-vljQn-MjxO9ZsUmrt-l9QrZJnrwnwwKW6EVOFSHd_ylG_FBSPB1wZP4M-puJhvNwh0yAuVdf4bs5y1KyeWRtZKA3n5-158N3Sj2iW/s1600/20161106_164249.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiSXaCibv502hsnngB1VkA07kWdNikfIUB2wFUIy-vljQn-MjxO9ZsUmrt-l9QrZJnrwnwwKW6EVOFSHd_ylG_FBSPB1wZP4M-puJhvNwh0yAuVdf4bs5y1KyeWRtZKA3n5-158N3Sj2iW/s320/20161106_164249.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Apprentissage de la programmation arduino</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvWnHq07dT5MtNI0x4NPeRRNK7vz7hs165tUVO-iC_jR26JAp_potK4ZEXNakj6sKRv8WttUz08OGbOyeiR5zfvKZL-_zQznvqQbJIyKx10d6EhSplO0f199L-UAeplJrA9MnBy4bc85tH/s1600/20161106_164335.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvWnHq07dT5MtNI0x4NPeRRNK7vz7hs165tUVO-iC_jR26JAp_potK4ZEXNakj6sKRv8WttUz08OGbOyeiR5zfvKZL-_zQznvqQbJIyKx10d6EhSplO0f199L-UAeplJrA9MnBy4bc85tH/s320/20161106_164335.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Aide à la consolidation mécanique Lego</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjTEgy0hDNkYtzvOunyA5776qCt8YK-uTWRiU-v8IrZpZqZkmF_T5Cf6X-Rev5bfQiCONwigNDYgupxx3Ja0X6gd0_mLaWxwsKgWqGi9NKU5MACezBTZjzi-YWesWWanO0KalhQW2g0mz/s1600/20161106_164429.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnjTEgy0hDNkYtzvOunyA5776qCt8YK-uTWRiU-v8IrZpZqZkmF_T5Cf6X-Rev5bfQiCONwigNDYgupxx3Ja0X6gd0_mLaWxwsKgWqGi9NKU5MACezBTZjzi-YWesWWanO0KalhQW2g0mz/s320/20161106_164429.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Réflexion en commun sur la stratégie</td></tr>
</tbody></table>
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com1tag:blogger.com,1999:blog-4270258268118985687.post-56534784291528014792016-10-04T06:04:00.000-07:002016-10-04T06:04:03.991-07:00Nouvelle année, nouveau logoEncore une fois cette année, nous avons décidé de détourner le logo officiel des Coupes et Trophées de robotique, en y ajoutant la "Lego Touch".<br />
<br />
Voici donc l'identité visuelle des Têtes Briquées et de Brickstory pour l'édition 2017 :<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7ujRdqhbOh6LwWkKmCeOwqsewqZSyCcLEBXVwnAzXmSUBh7k5LQKqqIqNCLBbGDR16qfGHT-6PV8na8tB2IF1aXwfAsXb21uDNfj_tBUWXeby9uibyBjw7dfcMFpTOwOdcfOOV_sKqt0n/s1600/Logo+Brickstory+2017.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7ujRdqhbOh6LwWkKmCeOwqsewqZSyCcLEBXVwnAzXmSUBh7k5LQKqqIqNCLBbGDR16qfGHT-6PV8na8tB2IF1aXwfAsXb21uDNfj_tBUWXeby9uibyBjw7dfcMFpTOwOdcfOOV_sKqt0n/s640/Logo+Brickstory+2017.jpg" width="452" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-10293354769221348472016-04-27T02:02:00.001-07:002016-04-27T02:02:16.520-07:00Coupe de Belgique 2016Le weekend dernier, c'était la coupe de Belgique 2016, l'occasion pour les équipes françaises, dont Brickstory, de s'entraîner et de lever les plus gros loups.<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
18 équipes étaient présentes à
Louvain-la-Neuve cette année, moins que l’an dernier (24)</div>
<div class="MsoNormal">
13 équipes homologués le premier
jour et 3 autres le lendemain. On a apprécié le côté « familial » de cette rencontre, avec la possibilité de discuter avec plein de gens dans un très bon état d'esprit.</div>
<br /><div class="MsoNormal">
5 matchs de qualifications où
sont mélangées les équipes belges et étrangères (majoritairement françaises), puis les phases finales où il y a séparation des belges et des
autres.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Nous passons rapidement la phase d'homologation mais dans la douleur :
les cubes sont beaucoup plus lourds que les nôtres, la peinture accroche
davantage, on a donc du mal à prendre les tas de sable. Après ça, on est paumés
sur le terrain avec le gros robot. Heureusement le petit pêche un poisson et on
ferme une porte, on est homologués. Aucun soucis sur l'évitement et les dimensions non plus.</div>
<div class="MsoNormal">
<span style="font-family: Wingdings;"></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Après quelques réglages de
puissance pour pouvoir prendre les cubes, on passe aux matches.</div>
<div class="MsoNormal">
Nous avons rencontré</div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";"> </span></span><b>Coffee Machine</b>
(toujours les mêmes gars, qui ont bossé 1 journée avant la coupe à partir du
robot d’il y a deux ans, trop fort !!)</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>On a réussi à mettre 111 points, presque comme à la
maison, 2 tas de sable, 2 poissons, 2 portes le parasol <span style="color: black;"></span></div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>On fait même robot en bois pour un match et on fait 102
points.</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Ça s’annonce bien pour la suite, même si on entend ESEO
qui tape les 180 points !!!</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/cCWSlyb_lVw/0.jpg" src="https://www.youtube.com/embed/cCWSlyb_lVw?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<br /></div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";">
</span></span><b>Cybernétique en Nord</b>
(Une équipe qu'on commence à bien connaitre)</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>C‘est toujours une petite guéguerre sympatoche avec eux</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Le petit robot ne part pas, le gros rate le gros tas de
sable, et baisse étrangement les doigts arrière ce qui le fait merder dans son
recalage.</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Au final 61 point, on est 3ème à la fin de la première journée <span style="color: black;"></span></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/yWJu1YWN5nI/0.jpg" src="https://www.youtube.com/embed/yWJu1YWN5nI?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
On analyse pourquoi le petit
robot n’est pas parti, et on se rend compte que le contacteur qui fait tirette
+ BAU ne fonctionne plus. Après l’avoir démonté, on comprend mieux.</div>
<div class="MsoNormal">
Comme les poissons imprimés en
Belgique prennent l’eau, ils ont tendance à couler. Les brillants esprits
de PlaSci ont eu l’idée de rajouter du sel dans l’eau afin qu’ils flottent mieux
(1kg par bac). Résultat : en prenant les poissons, on a fait couler de
l’eau salée dans le contacteur… je vous laisse imaginer la suite. Bref après
démontage, soufflage, séchage, le contacteur refonctionne, mais on décide de la
déplacer pour éviter que cela ne se reproduise</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Le lendemain, on arrive à peine
sur les lieux qu’il faut déjà partir en match. Les robots sont encore froids
d’avoir passé la nuit dans la voiture, mais il faut y aller. En guise de petit
déjeuner, on se tape ESEO, qui est déjà loin devant nous en nombre de points.</div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";">
</span></span><b>ESEO</b> (vice-champions
de France l’an dernier, du lourd)</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Ils nous mettent des balises de 380g sur chaque robot, y
compris le petit qui le gère assez mal. Il se décale en angle dès le début et
vient buter sur un coquillage, ce qui le perd définitivement. </div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Le gros robot prend bien le gros tas, mais un codeur doit
patiner et il le dépose à côté. Le recalage n’est pas suffisant, il est perdu
aussi. Heureusement le parasol se déploie, 35 points<span style="color: black;">.</span></div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>On se console en se disant qu’on ne peut pas faire
pire </div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/5mVM10JsPRo/0.jpg" src="https://www.youtube.com/embed/5mVM10JsPRo?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<br /></div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: Wingdings;"></span></div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";">
</span></span><b>Robin Sun Cruise
away</b> (équipe belge, gars sympas)</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Notre petit robot ne part pas, toujours des suites de ce
p… de sel dans l’eau</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Le gros fait de son mieux mais rate une porte et finit
par être paumé aussi.</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Résultat 55 points (<span style="color: black;"><a href="https://www.youtube.com/watch?v=unQ3u18pRbA">https://www.youtube.com/watch?v=unQ3u18pRbA</a>
)</span></div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/unQ3u18pRbA/0.jpg" src="https://www.youtube.com/embed/unQ3u18pRbA?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";"> <b>
</b></span></span><b>VaMons à la Playa</b>
(équipe de Mons, grosse ambiance)</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>On sait qu’il nous faut plus de 79 points pour être la
quatrième équipe étrangère, donc on croise les doigts.</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Les deux robots partent et marquent leurs points presque
correctement</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Résultat 80 points, ouf !</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/0WoF5vzJidw/0.jpg" src="https://www.youtube.com/embed/0WoF5vzJidw?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Après les 5 matchs, 3 équipes
françaises sont dans un mouchoir de poche :</div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";">
</span></span>Coffee Machine 343
points</div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";">
</span></span>Brickstory 342
points</div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";">
</span></span>Cybernétique en Nord
341 points</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
On est la quatrième équipe
étrangère, on passe donc aux demi-finales étrangères. On retrouve ESEO après
avoir simplifié la stratégie (on oublie la dune, on va chercher les
coquillages).</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Les deux robots partent bien, mais nous avons encore les fameuses balises d'1,2tonne</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Le petit part bien mais en prenant deux poissons, l'un d'eux tombe sur la table. En butant dessus, le robot tombe en faisant chuter la balise d'ESEO... non loin du bac d'eau salée</div>
<div class="MsoListParagraph" style="margin-left: 72.0pt; mso-list: l0 level2 lfo1; text-indent: -18.0pt;">
<span style="font-family: "Courier New";"><span style="mso-list: Ignore;">o<span style="font: 7.0pt "Times New Roman";"> </span></span></span>Le gros fait le job en fermant les deux portes et poussant le petit tas.</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
Le résultat est serré…. A 140
points près. Ils tapent les 208 points (hors bonus de 15 points) contre nos
malheureux 68 points.</div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/xLeTJCKmslY/0.jpg" src="https://www.youtube.com/embed/xLeTJCKmslY?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
L’histoire belge s’achève ici,
avec encore plein de taf pour la coupe de France</div>
<ul>
<li><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span>Odométrie
vert VS violet à refaire</li>
</ul>
<ul>
<li><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span>Stratégie simple à
recoder pour assurer les points</li>
</ul>
<ul>
<li><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span>Gestion des boutons
de stratégie, ça a foiré grave !</li>
</ul>
<ul>
<li><span style="mso-list: Ignore;"><span style="font: 7.0pt "Times New Roman";"></span></span>Lestage éventuel du
petit robot (ou test avec une balise très lourde, type angevin)</li>
</ul>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Un grand bravo et merci aux organisateurs de la Coupe, l'accueil, les arbitres, Etienne qui a présenté l'évènement comme un pro.... (je retire de la liste celui qui a eu l'idée du sel....)</div>
<div class="MsoNormal">
Merci aux équipes pour leur fair play, l'ambiance.</div>
<div class="MsoNormal">
Merci à Cybernétique en Nord d'avoir saboté leur propre robot pour nous avoir laissé devant ;-)</div>
<div class="MsoNormal">
Chapeau à Coffee Machine qui a fait fort avec une quantité de travail infime.</div>
<div class="MsoNormal">
Bravo à ESEO et RCA qui nous ont bluffé. </div>
<div class="MsoNormal">
Merci à Louvain de nous avoir accueilli. Vous avez une architecture chelou, mais les gens sont hyper cool.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
La suite dans 1 semaine
en Vendée ;-)</div>
<br /><br />
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-6324175840560249692016-04-22T02:07:00.002-07:002016-04-22T02:07:36.144-07:00Notre poster 2016A la veille de la coupe de Belgique, nous dévoilons notre poster (version FR)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtfZZpVnJGUdbYNQ75Wg5Dr6_3C3ZzDHTq7-8lo4cGdsaCyupNSQeZrAl6nqdpp5WY4Fc01rIaSRboEPLMy7HXjFfukaBhBOIe1yngyMbazt_cawKIVw2AnIfw3RdAqnUf87r5iR7CYcVy/s1600/Poster+BS+2016+FR.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtfZZpVnJGUdbYNQ75Wg5Dr6_3C3ZzDHTq7-8lo4cGdsaCyupNSQeZrAl6nqdpp5WY4Fc01rIaSRboEPLMy7HXjFfukaBhBOIe1yngyMbazt_cawKIVw2AnIfw3RdAqnUf87r5iR7CYcVy/s640/Poster+BS+2016+FR.JPG" width="444" /></a></div>
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-23614506272387897562016-04-21T06:58:00.000-07:002016-04-21T06:58:17.088-07:00Finale nationale des Trophées 2016Après une brillante victoire en rencontre régionale IDF, les têtes briquées sont partis défendre leur région (avec d'autres équipes franciliennes bien sûr) en Picardie.<br />
Bref, après Saint Quentin (en Yvelines), Saint Quentin(en Picardie)... et pas à Saint Quentdeux comme les esprits tordus pourraient le penser.<br />
Arrivés vers 10h, à l'ouverture et après 2 heures de route, nous nous installons et partons directement en homologation. Nous testons de nouveaux pilotes qui veulent avoir le frisson de la scène, le stress du chronomètre, la peur du bug.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3r6rotQyWNUmRex-C0bSj034mJhtJxXIGtA_DBsr3nShETtwGCanLwQkxfljRLuXgqxLjxe_kIB7t6_8dUb2ooHCaa-zUQfEilGtsrcZp7XQqn8UY42mSznMHsyO_18TL6ry6n1oxvLQr/s1600/tn_DSC01735.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3r6rotQyWNUmRex-C0bSj034mJhtJxXIGtA_DBsr3nShETtwGCanLwQkxfljRLuXgqxLjxe_kIB7t6_8dUb2ooHCaa-zUQfEilGtsrcZp7XQqn8UY42mSznMHsyO_18TL6ry6n1oxvLQr/s320/tn_DSC01735.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">La salle de matchs</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTjeIwLdo9aimvqy0qFCwFmlMmM3xMTUmXL8UGhZLwbOitRVCFct3NjvFXpiLnH3mSZfhKiiArpD1igdBbj86CT_g8sKbp0cqscBG7WWs2q2GjtzJ82MYLVOb_yoPhdE605YVKZOYmGUX1/s1600/tn_DSC01736.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTjeIwLdo9aimvqy0qFCwFmlMmM3xMTUmXL8UGhZLwbOitRVCFct3NjvFXpiLnH3mSZfhKiiArpD1igdBbj86CT_g8sKbp0cqscBG7WWs2q2GjtzJ82MYLVOb_yoPhdE605YVKZOYmGUX1/s320/tn_DSC01736.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Une des tables officielles</td></tr>
</tbody></table>
Le positionnement du petit robot a posé quelques problèmes, mais le gros robot fait le job et marque les quelques points nécessaires à l'homologation.<br />
<br />
Nous profitons de la table d'essai mise à disposition pour entrainer les pilotes et les perchistes.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkfhEOYkIFAQu1dR0gJRGV7fYGL1Q1WzifDmuWpxujVSyWLxeKg-cynRRHyYQNKvHO5MwC03Z6dOc4WpkSG3AhXgvG6W1mXNsQgKPxkQgvpuJDCRhhuqMCpuKzPkySdDeh8J68tH9spQXY/s1600/tn_DSC01730.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkfhEOYkIFAQu1dR0gJRGV7fYGL1Q1WzifDmuWpxujVSyWLxeKg-cynRRHyYQNKvHO5MwC03Z6dOc4WpkSG3AhXgvG6W1mXNsQgKPxkQgvpuJDCRhhuqMCpuKzPkySdDeh8J68tH9spQXY/s320/tn_DSC01730.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Entraînement sur la table d'essai</td></tr>
</tbody></table>
<br />
<br />
<br />
<br />
<br />
Les deux premiers matchs arrivent, et on sent que le niveau est bien plus élevé qu'en régionale :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/zKsThgLjT1k/0.jpg" src="https://www.youtube.com/embed/zKsThgLjT1k?feature=player_embedded" frameborder="0" allowfullscreen></iframe> </div>
<div class="separator" style="clear: both; text-align: center;">
match 1 : Robinson crustacés</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/ptXJYHyOIYY/0.jpg" src="https://www.youtube.com/embed/ptXJYHyOIYY?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div style="text-align: center;">
match 2 : La Colinière 2016</div>
<br />
A l'issue de la première journée, nous sommes 20ème avec 216 points, loin derrière les premiers qui tournent autour des 300 points<br />
<br />
La soirée resto + patinoire reste un moment très sympa pour les jeunes et les accompagnants.<br />
<br />
Le lendemain, les deux matchs se succèdent assez vite dans la matinée et il faut sur-performer pour espérer être dans les 16 meilleurs et disputer les 8ème de finale.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/LsIIkys9i18/0.jpg" src="https://www.youtube.com/embed/LsIIkys9i18?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div style="text-align: center;">
match 3 : Chatelet beach</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/TtZmg3WxKYo/0.jpg" src="https://www.youtube.com/embed/TtZmg3WxKYo?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div style="text-align: center;">
match 4 : Krazy Krab</div>
<br />
Lors de ce dernier match, des pions Lego ont lâché sous l'effort du bras pêcheur, ce qui nous a empêché de pêcher tous les poissons. Mais cela n'aurait rien changé car le classement final nous place à 33 points derrière le 16ème.<br />
<br />
Nous finissons à une honorable 19ème place, l'esprit rempli de bons souvenirs et d'attaque pour l'an prochain :-)<br />
<br />
Quelques trucs qui ont marqué :<br />
- Les équipes de la Rochelle qui ont fait des scores hallucinants (jusqu'à 197 points en 1 match) avec des robots simples et bien pensés.<br />
- L'entraînement au pilotage est ce qui nous a permis de mieux maîtriser les déplacements et actions du robot.<br />
- Bien réfléchir au début de l'année sur les points, les actions possibles avant de se lancer tête baissée dans de la construction Lego, nous aurait permis d'avoir un robot plus efficace.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9vFXw3pu9eotb26taHO9dxC5wf3b7BJj5PfTAyG1kutaX-WaQcGdu3vXYvouNEuHll3uQQ1UKuo36O0fCmGoHtYgqgI9Etee34gDnGrIVqWRDwyC3uv1-oBeKiBKMdM2Jg9xUdLCFeY3d/s1600/tn_DSC01768.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9vFXw3pu9eotb26taHO9dxC5wf3b7BJj5PfTAyG1kutaX-WaQcGdu3vXYvouNEuHll3uQQ1UKuo36O0fCmGoHtYgqgI9Etee34gDnGrIVqWRDwyC3uv1-oBeKiBKMdM2Jg9xUdLCFeY3d/s320/tn_DSC01768.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">L'équipe des têtes briquées</td></tr>
</tbody></table>
<br />
<br />
Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-49595601695405150362016-03-29T07:38:00.000-07:002016-03-29T08:06:36.335-07:00Finale régionale des Trophées de Robotique Ile de France 2016Après des mois de travail, des séances de réunion, de montage, de programmation, des kilos de crêpes et de gaufres, le grand jour est arrivé : la finale régionale des Trophées 2016.<br />
<br />
Les têtes briquées ont deux robots, l'un filoguidé qui s'occupera des poissons et des coquillages, l'autre autonome qui poussera le tas de sable, fermera les portes et ouvrira le parasol à la fin des 90s.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtETGO1TAE8T0-fnUVcYeDZM0WESybGVpuoGkZnEcttDnpA3bR_fdsPCBKha8Wb8KRltkv12fK_EIQo5xIOLXH1tF95wVO09PdY6KxJoLGvhb02LmJ2V_EsmwbOOecZ5R5xUqi_1hp4OKn/s1600/Poster+TB+2016.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtETGO1TAE8T0-fnUVcYeDZM0WESybGVpuoGkZnEcttDnpA3bR_fdsPCBKha8Wb8KRltkv12fK_EIQo5xIOLXH1tF95wVO09PdY6KxJoLGvhb02LmJ2V_EsmwbOOecZ5R5xUqi_1hp4OKn/s320/Poster+TB+2016.jpg" width="320" /></a></div>
<br />
Le thème choisi par nos jeunes pour leur déguisements, ce n'est plus les Minions, qui avaient marqué les esprits l'an dernier, mais Magnum. Pas la barre glacée, mais le héros de la série TV. Donc chemises hawaïenne, casquette et moustache. L'association n'a pas vraiment les moyens de fournir la Ferrari, mais certaines briques Lego composant les deux robots (Zeus et Apollon) sont rouge. On est hyper dans le thème :-)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyuMl0B94wJip-iJIw0MwXfSOljIL7uqaFqLCqI7wCDdpWg_B9hDygMoAbJVAY9tge7A85YirQfoMgJyYsRvY0zCDyNGf9A5wm0VbP3jA71ATnu3kKMSww0YzuftBkuz8aqnqH1gVIqNWd/s1600/tn_DSC01673.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyuMl0B94wJip-iJIw0MwXfSOljIL7uqaFqLCqI7wCDdpWg_B9hDygMoAbJVAY9tge7A85YirQfoMgJyYsRvY0zCDyNGf9A5wm0VbP3jA71ATnu3kKMSww0YzuftBkuz8aqnqH1gVIqNWd/s320/tn_DSC01673.JPG" width="320" /></a></div>
<span id="goog_1584197217"></span><span id="goog_1584197218"></span><br />
Arrivés sur les lieux (la Ferme du Manet), nous trouvons un site magnifique, deux grandes pièces pour accueillir les stands des 40 équipes, un hall d'entrée majestueux avec les partenaires et la buvette, et une salle de spectacle énorme avec trois tables de jeu en avant-scène.<br />
<br />
Quelques surprises sur la table :<br />
- le filet est très petit et tendu, les poissons risquent de tomber au delà du filet... on verra comment cela est géré par les arbitres<br />
- le support du filet est à l'intérieur de la table et non pas sur la bordure. Pas d'impact puisque le robot autonome ira de l'autre côté<br />
- les cabines n'ont pas le mécanisme initialement prévu avec levée du drapeau et tout le tintouin, mais une simple charnière.<br />
- Les aquariums sont comme dans le règlement et pas 2cm plus bas comme annoncé quelques jours avant la rencontre.<br />
<br />
A peine arrivés nous nous inscrivons pour les homologations, c'est l'occasion pour nos jeunes pilotes de tester le comportement du petit robot en conditions réelles, et de tester la prise des poissons sur une vraie table de jeu. Tout se passe bien, le petit robot part, le gros arrive à pêcher des poissons, à pousser les coquillages. On ne vise pas le score mais plutôt les tests sur les différents éléments de jeu. Il faut régler un peu le petit robot, on avait inversé les couleurs sur notre table d'essai !! :-)<br />
<br />
Arrive le moment du premier match, le stress monte, au moins autant chez les supporters que chez les pilotes. L'adversaire est l'équipe Gractagbomasalt. Heureusement que l'épreuve n'est pas la prononciation du nom de leur équipe :-)<br />
Les têtes briquées marquent 109 points, ce qui les place en tête (briquée) du classement.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/JUy58o1-TnI/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/JUy58o1-TnI?feature=player_embedded" width="320"></iframe></div>
<br />
Deuxième match après une pause pique nique dans le domaine de la ferme du Manet. Nous rencontrons les ROB hot Cugnot qui ont fait un gros score au premier tour aussi et qui ont un système de pêche plutôt sympa.<br />
Les têtes briquées marquent 106 points, ils restent en première place devant les ROB hot Cugnot et les Destroyer qui sont à égalité en 2ème et 3ème place.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/ueIVgAU_ud8/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/ueIVgAU_ud8?feature=player_embedded" width="320"></iframe></div>
<br />
Nous abordons donc le troisième match plus serein, la qualification est proche. Nous rencontrons les Flyrobot.<br />
Le gros robot a du mal à soulever les 3 poissons qui se sont agglutinés sur les aimants du bras. Et les poissons coincent le robot près de la bordure car les roues patinent sur le terrain détrempé. Résultat 73 points.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/-iqqGl4xVRg/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/-iqqGl4xVRg?feature=player_embedded" width="320"></iframe></div>
<br />
En parallèle, les deux équipes qui nous suivaient font un superbe match avec une égalité à 107 points.<br />
<br />
Résultat à la fin du troisième tour, les 3 équipes en tête se retrouvent à égalité avec 288 points. On aurait voulu le faire exprès, on aurait eu du mal.<br />
<br />
En quart de finale, un petit coaching et un changement de batterie plus tard, nous rencontrons Geotrouvetou. Stress car l'an dernier c'est à ce stade que nous avions perdu sur un "suicide" du robot du haut des marches.<br />
Les poissons nous donnent encore du fil à retordre avec une pièce sous le robot qui se détache légèrement, et le parasol qui ne veut pas s'ouvrir. Toutefois, nous remportons la victoire, de peu, avec 76 points contre 71.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/pQcdzAHiEKI/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/pQcdzAHiEKI?feature=player_embedded" width="320"></iframe></div>
<br />
Pour la demi finale, le robot est réparé, le parasol remis en place, et nous rencontrons game team, robot bulldozer efficace. <br />
Le robot fonctionne bien et nous remportons cette 1/2 finale 105 à 71.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/rxmU7CMj1VQ/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/rxmU7CMj1VQ?feature=player_embedded" width="320"></iframe></div>
<br />
la finale se joue maintenant contre les ROB hot Cugnot, que nous avions déjà rencontré lors des phases qualificatives.<br />
C'est une finale en 2 manches gagnantes.<br />
La première finale ne se passe pas très bien, les poissons nous posent encore problème. Heureusement, le robot adverse coince sa griffe dans le filet. Victoire légère des Têtes Briquées.<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/U-CDvU7uje8/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/U-CDvU7uje8?feature=player_embedded" width="320"></iframe></div>
<br />
Pour la seconde finale, notre pilote Lucas est au taquet, il veut taper le high score. Tous les poissons sont pêchés, le petit robot est hyper efficace, des coquillages sont ramenés, le parasol se déploie. Un score inattendu de 115 points ramène la victoire finale aux Têtes Briquées.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/1KG1-sCA8Mc/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/1KG1-sCA8Mc?feature=player_embedded" width="320"></iframe></div>
<br />
Après trois participations, les jeunes amateurs de briques ont réussi à remporter leur premier trophée, une belle coupe, un score max.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcw_iET4C8qYlJ6C5yvteQGmgHKcGodnjjHUBQqrzkKd4d3qhfbdNeAgekehiLvn30WPvXzZplHvn7-nakTn6hU-niOjgSxGtq-ycJTabeYPtRA2JMpt0CvGs8ukQODegSQZj4RN1UqF9B/s1600/tn_DSC01709.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcw_iET4C8qYlJ6C5yvteQGmgHKcGodnjjHUBQqrzkKd4d3qhfbdNeAgekehiLvn30WPvXzZplHvn7-nakTn6hU-niOjgSxGtq-ycJTabeYPtRA2JMpt0CvGs8ukQODegSQZj4RN1UqF9B/s320/tn_DSC01709.JPG" width="320" /></a></div>
<br />
Un gros bravo à toutes les équipes présentes, celles que nous avons rencontrées, mais également toutes les autres avec qui tout s'est bien passé.<br />
<br />
Un gros gros merci à tous les bénévoles de Planète Sciences (anges gardiens, arbitres, animateurs, et les autres), à Montigny le Bretonneux et à la Ferme du Manet de nous avoir accueilli dans ce lieu, et au journaliste du parisien d'avoir couvert l'événement (<a href="http://www.leparisien.fr/sartrouville-78500/ile-de-france-les-petits-genies-de-la-robotique-font-leur-show-27-03-2016-5664675.php" target="_blank">http://www.leparisien.fr/sartrouville-78500/ile-de-france-les-petits-genies-de-la-robotique-font-leur-show-27-03-2016-5664675.php</a>)<br />
<br />
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-56460554292046886662016-03-19T14:14:00.003-07:002016-03-19T14:14:37.813-07:00Logo Brickstory pour les rencontres 2016Cette année on a été inspiré pour se faire un petit logo Lego spécial Beach Bot.<br />
<br />
Toute ressemblance avec un logo Planète Sciences serait totalement pas fortuite :-)<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKH_9IKcqoI6DpbHs3m7wqClyCw9No3_rHABv5KWDIaX2ClJYH0kgSQa_yFaFOL5MgsyYnV6wO-Z0Qz13JwfgnyvJLt3H5cdPRMEHxoJo6RRvzcXG3NW6jYK5JTjNNhhXlAeo5Dv_Y2jcj/s1600/LegoBeachBot2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKH_9IKcqoI6DpbHs3m7wqClyCw9No3_rHABv5KWDIaX2ClJYH0kgSQa_yFaFOL5MgsyYnV6wO-Z0Qz13JwfgnyvJLt3H5cdPRMEHxoJo6RRvzcXG3NW6jYK5JTjNNhhXlAeo5Dv_Y2jcj/s400/LegoBeachBot2.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Il sera présent sur nos posters Trophées et Coupes… A venir.Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com1tag:blogger.com,1999:blog-4270258268118985687.post-6409376619873455512016-02-29T02:08:00.004-08:002016-02-29T02:08:54.077-08:00Deux robots fonctionnels pour 2016A plus d'un mois et demi de la coupe de Belgique et deux mois de la coupe de France, nos deux robots sont déjà fonctionnels. Du moins homologuantes en l'état, statique et dynamique.<br />
Le robot principal sera donc en charge de récupérer le sable contre la bordure, de fermer les portes et de déployer le parasol.<br />
Nous sommes repartis de la base roulante de l'an dernier en y ajoutant juste les actionneurs spécifiques de l'année, et une nouvelle tirette. L'architecture globale reste donc la même, tout comme la base de code.<br />
<br />
Le robot secondaire s'occupera du tas de sable devant la serviette, des poissons et des coquillages. On arrive à un équilibre de points entre les deux robots, donc pas de jaloux ;-). Etant donné que l'an dernier le robot secondaire montait les marches, et de plus par le côté, il nous a fallu tout reprendre. Doudou nous a donc fait une structure complète en repartant de zéro, avec un coup de main de Guigiu pour la partie codeurs. Les deux codeurs utilisent des renvois d'angle et se retrouvent côté à côte. Pour éviter les interférences électromagnétiques, nous avons inséré une plaque de féraille entre les deux (pour l'instant le seul élément non Lego)<br />
<br />
Une première stratégie simple a été codée pour vérifier le fonctionnement des deux robots indépendamment et simultanément. Une petite video, prise de loin, pour ne pas tout dévoiler non plus :<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/pn-MIF7wx9Q/0.jpg" src="https://www.youtube.com/embed/pn-MIF7wx9Q?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
Ne tenez pas compte du bordel de l'autre côté de la table...<br />
<br />
Le robot secondaire fait un peu n'importe quoi, ça doit être dû à une imperfection du terrain et de la structure de nos roues codeuses. Les poissons restent donc pour l'instant dans leur aquarium, mais il nous reste encore du temps pour peaufiner ça.<br />
<br />
Ce qu'il reste à faire :<br />
- Optimiser les déplacements,<br />
- Corriger ce problème de positionnement (ou ré-enduire le terrain...),<br />
- Finir de développer notre balise fixe (article à venir) et la communication balise-robot<br />
<br />
Ca s'annonce donc plutôt pas mal.Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com1tag:blogger.com,1999:blog-4270258268118985687.post-84870111919275015702015-11-09T07:25:00.001-08:002015-11-09T07:25:44.603-08:00Analyse et premiers protosUn peu plus d'un mois après la parution du règlement de la coupe
2016, nous sommes en ordre de bataille pour faire des robots aussi
performants, espérons le, que les années précédentes.<br />
<br />
Après avoir construit le terrain, nous avons pu analyser la simplicité ou au contraire la complexité de certaines actions.<br />
<br />
<ul>
<li>La zone de départ. Elle est relativement étroite, mais avec des
dimensions similaires aux autres années, nos robots devraient rentrer
sans chausse pied dans l'espace alloué.</li>
<li>Les cabines. Un peu galère à réaliser, on sent que l'effort
nécessaire à la fermeture de la porte va dépendre de la méthode de
fabrication. Avec la première construite, on peut pousser tout droit
comme des bœufs (enfin, des bœufs en plastique :-) ), même avec une
ouverture de 45°. Mais il n'est pas impossible qu'on doive utiliser soit
un actionneur, soit un accostage de biais pour éviter de se planter sur
la tranche de la porte, en fonction de la fabrication des tables
officielles</li>
<li>Les coquillages. Dispersés un peu partout, ils rapportent très peu.
Ce sera plus un obstacle qu'un gain potentiel, en tout cas dans la
première partie des matches.Vu qu'ils seront plus volumineux, ils seront
certainement juste poussés, et on va oublier ceux disposés sur les
rochers</li>
<li>Les poissons ont beaucoup de place pour nager, ce qui va demander un
actionneur assez long si on veut récupérer ceux du fond (ou alors avoir
une mini turbine à plonger dans l'eau mais bon...). Les premiers essais
montrent que la table va être bien trempée après la pêche, et qu'il va
falloir protéger les moteurs contre toutes ces grosses gouttes.</li>
<li>La sable, là c'est plus compliqué. On n'imagine même pas faire en
Lego 10 actionneurs pour faire 3 mains qui trieront les blocs et
construiront un château!!. Pour le petit tas de sable juste devant la
serviette, ça devrait aller. On a même déjà fait une petite vidéo
d'homologation (OK, avec le robot de l'an dernier, mais ça le fait quand
même, non?)</li>
<li><div class="separator" style="clear: both; text-align: center;">
<br /><iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/dPwCfQ2WHSA/0.jpg" src="https://www.youtube.com/embed/dPwCfQ2WHSA?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
</li>
<li>Enfin le parasol. L'idée c'est de vraiment déployer un morceau de
tissu comme un vrai parasol, et de faire en sorte qu'il soit le plus
gros possible, bien sûr tout en Lego. Le premier prototype est
prometteur (mais encore confidentiel ;-) )</li>
</ul>
Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-72483172077082909972015-09-27T12:37:00.002-07:002015-09-27T12:37:34.243-07:00Nouvelle saison, nouveau règlementHier a eu lieu la présentation du règlement de la coupe de France et des Trophées de robotique (et Eurobot...) pour l'année 2016. On peut dire que les organisateurs ont fait fort cette année. En attendant la diffusion du règlement officiel, voilà un petit résumé de ce qu'on en a compris :<br />
<br />
Le thème de l'année, la plage (BeachBot) :<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<ul>
<li>Les dimensions de la table et des robots principal et secondaire restent inchangées. Plutôt positif, on peut garder notre table d'essai et on a bien 2 robots.<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvARzEBCLBabOL6vpmp1qWYZwtAUJ5cv9SYC1S42xOB9lNfCvaK-TcJTOXk1a2GCmRqfzcNmN6cSJS7JlHU0foLZIibBvJA6E-PS6zDYC7Dza9xb8jNQSTWZDvFC5YEAC-7Z5Kt9dUNHBX/s1600/20150926_150733.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvARzEBCLBabOL6vpmp1qWYZwtAUJ5cv9SYC1S42xOB9lNfCvaK-TcJTOXk1a2GCmRqfzcNmN6cSJS7JlHU0foLZIibBvJA6E-PS6zDYC7Dza9xb8jNQSTWZDvFC5YEAC-7Z5Kt9dUNHBX/s320/20150926_150733.jpg" width="320" /></a></div>
</li>
<li>La funny action est de retour, pour le plus grand plaisir de l'assemblée présente. Il s'agira de déployer un parasol après les 90s de match. Ce parasol sera fourni par les équipes, intégré dans le périmètre global pendant les 90s, mais dimension libre pendant les 5 secondes qui suivent. Cette action rapportera 20 points</li>
<li>2 équipes de couleur verte et violette </li>
<li>La zone de départ (serviette) est assez étroite : 30 cm de large et 50 ou 60 de long.<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQm8XpmPbGo7SXrCkPyOdKjRMQWSc38Fq5Br-GFlRf4hBHpyb10CsRNocHxUTEzQbuYK26ikpof5YTvmYoBxkKaRViqoolQtF9XYsctmbyFYfLCtKHkml2r-yYzbQD1xKg7OAiDcIT_c4_/s1600/20150926_154549.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQm8XpmPbGo7SXrCkPyOdKjRMQWSc38Fq5Br-GFlRf4hBHpyb10CsRNocHxUTEzQbuYK26ikpof5YTvmYoBxkKaRViqoolQtF9XYsctmbyFYfLCtKHkml2r-yYzbQD1xKg7OAiDcIT_c4_/s320/20150926_154549.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
</li>
<li>Il y a une ligne noire que les robots peuvent suivre, mais je crois que celui qu'il l'a dessinée est soit bourré, soit un psychopathe :-)<span id="goog_543807936"></span><span id="goog_543807937"></span> <div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQWvXfYSJZW1-rTHN3e75C0CxpxN_Jy67NbLB0HczO2ZQzX-3xhEg1dBGgD9VCMuopIqyZzzEVJZp5v1ZZouTfluGAr1krtO8TsOouvFzhyphenhyphenLpKy3rQ5kPpVHIHq0Oa1gQtdlx-Oomf22UG/s1600/20150926_154630.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQWvXfYSJZW1-rTHN3e75C0CxpxN_Jy67NbLB0HczO2ZQzX-3xhEg1dBGgD9VCMuopIqyZzzEVJZp5v1ZZouTfluGAr1krtO8TsOouvFzhyphenhyphenLpKy3rQ5kPpVHIHq0Oa1gQtdlx-Oomf22UG/s320/20150926_154630.jpg" width="320" /></a></div>
</li>
<li>1ère action : hisser les drapeaux. Il s'agit de cabines de plages situées sur une des longueurs du terrain (2 par équipe, du côté de la zone de départ) dont il faut fermer une porte entrouverte. la porte déclenche alors un mécanisme qui hisse un drapeau. Les points seront accordés si la porte est fermée (dans le cas d'un blocage du mécanisme, on marque quand même). 10 pts par drapeau <div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTpdhkrxOPIQfk_yAC7RKikNgCneTk0JnA41TKi6ogaF-pGzfyFiyxyunq-I7kAPjjRepxyCT7wnDPKZLfzF1hyphenhyphen_ylHhg51aeFEGb0PTY28eSz3ZC38cizrbkOM8ry4stCpeIYaKAg5yF5/s1600/20150926_154929.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTpdhkrxOPIQfk_yAC7RKikNgCneTk0JnA41TKi6ogaF-pGzfyFiyxyunq-I7kAPjjRepxyCT7wnDPKZLfzF1hyphenhyphen_ylHhg51aeFEGb0PTY28eSz3ZC38cizrbkOM8ry4stCpeIYaKAg5yF5/s320/20150926_154929.jpg" width="240" /></a></div>
</li>
<li>2ème action : la pêche. Sur la deuxième longueur du terrain sont positionné, à l'extérieur, deux aquariums remplis d'eau (et oui!) dans lesquels flottent 5 poissons de l'équipe dont c'est le côté. Ces deux aquariums sont séparés par un long filet. Un poisson récupéré dans le robot compte 5 pts, s'il est déposé dans le filet c'est 10 pts. Impossible de remettre un poisson à la mer. Les poissons sont imprimés en 3D et dotés d'anneaux ferromagnétiques.</li>
<li><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjc1FSixodqph32UbFy0tbqYBpMnQ5_qx227vZKXZ7IfdYdxvsaBXwWSf7Ykc5qOL6kogo8x1lkTaVDR8JbjIQ9jLTKP8ZU0SK0I0qbLHUXfkmV-B9Yy0gVrH8QvfGMOXHFoDpC6J3bbzA/s1600/20150926_155018.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjc1FSixodqph32UbFy0tbqYBpMnQ5_qx227vZKXZ7IfdYdxvsaBXwWSf7Ykc5qOL6kogo8x1lkTaVDR8JbjIQ9jLTKP8ZU0SK0I0qbLHUXfkmV-B9Yy0gVrH8QvfGMOXHFoDpC6J3bbzA/s320/20150926_155018.jpg" width="240" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
</li>
<li>3ème action : le château de sable. Des éléments de château (des cubes, des cylindres et des cônes) sont disposés entre les paires de cabines et sur le terrain. Deux zones de construction en milieu de terrain sont séparées par une plaque de plexiglas. Chaque élément (commun aux deux équipes) rapporte 2 points si est dans la zone de construction, des points supplémentaires si on construit une tour ou une muraille, et encore plus de points si on construit un château selon un schéma qui sera dans le règlement.<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimRQov29ass8uxXHLXsvpKMayvjMOu_tuBN2UM5396PRBAeqWVKqO0zwpMXjIW__sSP3NSd7BDlwlspsNjYHPzS4OO1uQ5DFCYQKhMbhZBMVe9dgV94NG5vUjDFsAJWPiNTKMWkVf_eKRh/s1600/20150926_154542.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimRQov29ass8uxXHLXsvpKMayvjMOu_tuBN2UM5396PRBAeqWVKqO0zwpMXjIW__sSP3NSd7BDlwlspsNjYHPzS4OO1uQ5DFCYQKhMbhZBMVe9dgV94NG5vUjDFsAJWPiNTKMWkVf_eKRh/s320/20150926_154542.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTNwXqFBXmBsvsT8LaGdRG2VIzpDRRtugtR9IyJHKYcqMbe0Tl7MkPrvbJ2evQnEeaJjSkM2fQLHvPD7rxb6yyimdTzeM29rgIxYZ9B9au2yVHM0mNebkl7nts-7fmMtiyzWT9psytmIKK/s1600/20150926_154647.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTNwXqFBXmBsvsT8LaGdRG2VIzpDRRtugtR9IyJHKYcqMbe0Tl7MkPrvbJ2evQnEeaJjSkM2fQLHvPD7rxb6yyimdTzeM29rgIxYZ9B9au2yVHM0mNebkl7nts-7fmMtiyzWT9psytmIKK/s320/20150926_154647.jpg" width="320" /></a></div>
</li>
<li>4ème action : ramasser des coquillages. Ce sont des palets de hockey (160g) peints et décorés (décoration à définir) qui sont positionnés sur le terrain. Certains sur des plate-formes dans les coins, d'autres au sol. La position sera déterminée en début de match par tirage au sort. 5 coquillages de la couleur de chaque équipe et 6 coquillages blancs, partagés. Ces coquillages seront à ramener sur la serviette, 2 pts par coquillage.<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1mrSa4XmS3Y-Rww5aPMzWfuTxpJgNSBs-UW0HqQRUhcGQspcEx_7I5w4CZzGs8BBI3mGnju7JRH9a74ZduQDzXz432rFP2ehzs8RrVU0th5Hshb0Px-stCRzugEQDeYDSzId2-Ue6Sjhk/s1600/20150926_155033.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1mrSa4XmS3Y-Rww5aPMzWfuTxpJgNSBs-UW0HqQRUhcGQspcEx_7I5w4CZzGs8BBI3mGnju7JRH9a74ZduQDzXz432rFP2ehzs8RrVU0th5Hshb0Px-stCRzugEQDeYDSzId2-Ue6Sjhk/s320/20150926_155033.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoukJXjpTgm9TY8H0cObvCA8A0lkGyROGERzNODiUkvb9_5JRHU7ddD_9dtZPHQg52-zwtSn2VmaG9zUN0IleTreHXYisRzXc5iZgq5MWfD3dOrjqbTE7urEYnBwjunnxSRT8-YuJ6r1pI/s1600/20150926_150742.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoukJXjpTgm9TY8H0cObvCA8A0lkGyROGERzNODiUkvb9_5JRHU7ddD_9dtZPHQg52-zwtSn2VmaG9zUN0IleTreHXYisRzXc5iZgq5MWfD3dOrjqbTE7urEYnBwjunnxSRT8-YuJ6r1pI/s320/20150926_150742.jpg" width="320" /></a></div>
</li>
<li>Pas de points de victoire, juste 15 points en cas de non forfait.</li>
<li>20 points de pénalité en cas d'infraction au règlement.</li>
</ul>
Concernant les différentes étapes de l'inscription, Planète Sciences n'acceptera plus les retards. Ce sera considéré comme un abandon.<br />
<br />
Voilà, on peut commencer à cogiter sérieusement <br />
Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-30427168833729346212015-07-21T05:32:00.001-07:002015-07-21T05:32:17.972-07:00Un support de balise pour l'an prochain<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Après plusieurs
années de participation à la coupe de France de Robotique, nous avons remarqué
qu'il nous manquait un élément essentiel à notre progression, le repérage de
l'adversaire sur le terrain. On le détecte quand il est juste devant mais il
nous est impossible d'avoir une stratégie plus globale prenant en compte les
endroits où il ne faut pas aller car l'adversaire y est présent.</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Une longue réflexion
nous a mené à choisir la solution de la balise fixe, en bordure de terrain.
Cette balise sera équipée d'une camera et d'un système sans fil permettant la
communication avec le ou les robots. La caméra repèrera une balise ayant une signature particulière posée sur le(s) robot(s) adverses<br />
<br />
Selon le règlement, cette balise doit être
autonome en énergie, et entrer dans un périmètre de 80x80mm de base pour une
hauteur maximale de 160mm</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br />
Nous avons réalisé cette année une balise prototype sur ce principe pour faire de l'acquisition d'images afin de préparer le traitement à venir. Cette balise a été déssinée lors de la Coupe de France 2015 à l'aide du logiciel DesignSpark et imprimée avec notre grosse imprimante semi défectueuse :<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOuWreOdF-e8-bz9t3jVpD1Wv4pMPTSHJDCH26w6f0f2c2LxvZjsRUamSNdiNzG6qtg57ibZGB8LgIf0xDSyqqQUTbDas6oBpKYVPEPeuMNO9r3GerETyO2PxIwNHzpE2JkEP4wJh4SR0i/s1600/tn_20150515_055245.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOuWreOdF-e8-bz9t3jVpD1Wv4pMPTSHJDCH26w6f0f2c2LxvZjsRUamSNdiNzG6qtg57ibZGB8LgIf0xDSyqqQUTbDas6oBpKYVPEPeuMNO9r3GerETyO2PxIwNHzpE2JkEP4wJh4SR0i/s320/tn_20150515_055245.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Balise 2015</td></tr>
</tbody></table>
</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Nous avons donc choisi
de repartir sur les mêmes bases et d'utiliser un Raspberry PI avec un module RaspiCam, pour la simplicité<span style="mso-spacerun: yes;"> </span>de l'intégration. Au cahier des charges, il
nous faut également</div>
<ul style="direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;" type="disc">
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Des interrupteurs pour lancer
la prise d'image, l'analyse et la transmission de données</span></li>
</ul>
<ul style="direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;" type="disc">
<li style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Des LED d'état de la
communication, de la caméra, etc…</span></li>
</ul>
<ul>
<li><span style="font-family: Calibri; font-size: 11.0pt;"> </span><span style="font-family: Calibri; font-size: 11.0pt;">Une alimentation stabilisée
5V</span></li>
</ul>
<ul style="direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;" type="disc">
</ul>
<div style="font-family: Calibri; font-size: 11.0pt; margin-left: .375in; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Pour les deux
premiers points, nous avons opté pour un écran tactile LCD, de la taille du Raspberry PI, qui va jouer le rôle d'IHM complète. Nous pourrons ainsi<br />
<ul>
<li>Visualiser l'image de la camera</li>
<li>Visualiser le traitement</li>
<li>Calibrer la caméra en fonction de l'éclairage</li>
<li>Vérifier la communication avec le(s) robot(s) </li>
<li>Lancer l'analyse et la transmission de données</li>
</ul>
</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Pour l'alimentation,
nous utiliserons une batterie externe pour téléphone portable (5V,
2000mAh,<span style="mso-spacerun: yes;"> </span>connectique USB) qui a l'avantage d'être immédiatement compatible, rechargeable n'importe où, régulée et peu onéreuse.</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Le boitier de toute
cette instrumentation a été réalisée avec DesignSpark, outil qui a l'avantage
de nous proposer une bibliothèque d'objets 3D déjà conçus comme le Raspberry PI,
la raspiCam. Nous gagnons donc du temps dans la conception.<br />
<br />
Voici une vision de ce que cela va donner :<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3j3b5Qfe4UsrC71Ehjwbssucnxnc3jCVrhFuzrJqA-fFbrKp2Y_Gzc4jVn2Gb5JddKl27Hgo2_ZSASL7N5FaI8fkC9Sa5e3-tr3BEN1XTh-D7u0JuL1tBm9ODUoXkPmQsJPNKzLtZ0mJV/s1600/arriere.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3j3b5Qfe4UsrC71Ehjwbssucnxnc3jCVrhFuzrJqA-fFbrKp2Y_Gzc4jVn2Gb5JddKl27Hgo2_ZSASL7N5FaI8fkC9Sa5e3-tr3BEN1XTh-D7u0JuL1tBm9ODUoXkPmQsJPNKzLtZ0mJV/s320/arriere.JPG" width="248" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Vision globale de la balise</td></tr>
</tbody></table>
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9FEJUSQfOdXZQ0i-7KC7XpJR5ou7Y2tut-NCtxvNiaWG55nqP5T1cEvcYuU0aaW2OROggQAQ9V2HQmzKv2JMvOclHRJvHchwJlbOov-gz81hB7DWoOLjdTL5K9LWPPZyUX8263KWSXZk3/s1600/dessus.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9FEJUSQfOdXZQ0i-7KC7XpJR5ou7Y2tut-NCtxvNiaWG55nqP5T1cEvcYuU0aaW2OROggQAQ9V2HQmzKv2JMvOclHRJvHchwJlbOov-gz81hB7DWoOLjdTL5K9LWPPZyUX8263KWSXZk3/s1600/dessus.JPG" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Implantation vue de dessus</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIZE7ETkshN1rUqEzkyxkwJ17V5wHhOm_Hre0cPqMr3zVBqfP3_Hq6buCRoHvUDciMbN_KdebbaS-I1Luaua-w_gHCeLksC8D16pB22rsZ8dAxHt1vAfWEwyeJwEcZCv3T346nfRJKsn_6/s1600/vue_ensemble_logiciel.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="189" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIZE7ETkshN1rUqEzkyxkwJ17V5wHhOm_Hre0cPqMr3zVBqfP3_Hq6buCRoHvUDciMbN_KdebbaS-I1Luaua-w_gHCeLksC8D16pB22rsZ8dAxHt1vAfWEwyeJwEcZCv3T346nfRJKsn_6/s320/vue_ensemble_logiciel.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Le travail sur DesignSpark</td></tr>
</tbody></table>
<br />
En rose, les éléments fournis par DesignSpark, qui nous permettent de modéliser l'ensemble et vérifier que tout va bien matcher.</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br />
Pour la partie communication, nous travaillons en parallèle sur des modules 2.4GHz qui fonctionnent plutôt bien ... sans les perturbations de la coupe!!!<br />
<br />
Nous remercions notre partenaire RS qui nous octroie une réduction conséquente liée à notre participation à la coupe, et qui met à notre disposition le logiciel DesignSpark.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://upload.wikimedia.org/wikipedia/en/thumb/e/ea/RS_Components_logo.svg/1234px-RS_Components_logo.svg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://upload.wikimedia.org/wikipedia/en/thumb/e/ea/RS_Components_logo.svg/1234px-RS_Components_logo.svg.png" width="320" /></a></div>
Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-36578987859773337762015-05-20T06:24:00.000-07:002015-05-20T06:24:39.613-07:00Retour sur la coupe de France 2015Voilà, la coupe 2015 est terminée... Et quelle coupe!<br />
<br />
"Petit résumé" du week-end à La Ferté<br />
<br />
<h3>
L'arrivée</h3>
Les premiers du club arrivent à 7h30 mercredi matin pour taper les meilleurs stands. Beaucoup ont eu la même idée. Attente sous le soleil jusqu'à 14h, heure du rush... et de l'anarchie. L'ordre d'arrivée pas vraiment respecté, on se retrouve au COSEC dans le gymnase qui ne ressemble pas vraiment aux autres années.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp0mQpn_4AAJ8xCGfXEKUiEGWMG3S_itFACuyXamfHScxC0WyNRKNAVvzXPYBvPLs72_whNn4W0Oi9Q_a1pbnwtQ615ps9hj4ZduUzNKN6xfMWuEPf5z_HJRV2fUqv_grR0Kkx8EIyLNzU/s1600/tn_20150513_153415.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp0mQpn_4AAJ8xCGfXEKUiEGWMG3S_itFACuyXamfHScxC0WyNRKNAVvzXPYBvPLs72_whNn4W0Oi9Q_a1pbnwtQ615ps9hj4ZduUzNKN6xfMWuEPf5z_HJRV2fUqv_grR0Kkx8EIyLNzU/s320/tn_20150513_153415.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvmZXG6Ho_SkvWpXttlsjUhP_sAwf9lEcNLAGVZKXv1ZYpj5O6sPmEU8eIFcU2xn82LMdvjJNRVam4TNTx005mXdrbphVHqdUGxBkGoQIBcqFYj-4oauH660jsgzYJTrLiPaFENigOPR_y/s1600/tn_20150513_153427.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvmZXG6Ho_SkvWpXttlsjUhP_sAwf9lEcNLAGVZKXv1ZYpj5O6sPmEU8eIFcU2xn82LMdvjJNRVam4TNTx005mXdrbphVHqdUGxBkGoQIBcqFYj-4oauH660jsgzYJTrLiPaFENigOPR_y/s320/tn_20150513_153427.jpg" width="320" /></a></div>
Une table par équipe, séparée de celle d'en face par un grillage, c'est un peu spartiate et on craint surtout le boxon que cela va générer.<br />
<br />
Et bien finalement, nous avons eu tort. Certes nous avions moins de place, mais nous avons pu plus facilement échanger avec nos voisins, et chacun à observer un minimum de respect tout en conservant une ambiance plutôt sympatoche :-) Moins pire que ce qu'on craignait.<br />
<br />
<h3>
L'homologation</h3>
<br />
Nos robot n'ayant pas changé mécaniquement depuis la Belgique, nous partons confiants vers l'homologation à peine le stand installé. Malheureusement, les derniers essais aux club ont été réalisés sans la détection active et nous devons nous y reprendre à deux fois pour finalement être homologués à 18h30 le mercredi.<br />
<br />
Il nous reste la nuit pour travailler sur notre balise fixe qui doit servir à faire des rush de séquences vidéos pour la vraie balise qui devra être opérationnelle l'an prochain. La base est un Raspberry PI avec une raspicam et un circuit bricolé pour lancer et arrêter l'enregistrement. Pour le boitier, tout est conçu avec DesignSpark et imprimé sur notre maxi imprimante 3D (partagée avec CRLG). Voilà le résultat :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZJlRwlOtacHL0nKyB-_U_dw71tmKHPbZYU2_s90h1ObTX4ds9b0QJ5JogYEw5bBX73WD3GYLgYWCPC7FcqZGgLhZ_gLX0z_Y283FpgwxU2jMSulKYvZptlof9iffWpmALEKGlSK9izg42/s1600/tn_20150515_055245.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZJlRwlOtacHL0nKyB-_U_dw71tmKHPbZYU2_s90h1ObTX4ds9b0QJ5JogYEw5bBX73WD3GYLgYWCPC7FcqZGgLhZ_gLX0z_Y283FpgwxU2jMSulKYvZptlof9iffWpmALEKGlSK9izg42/s320/tn_20150515_055245.jpg" width="240" /></a></div>
On fera un post plus détaillé là dessus...<br />
<br />
<h3>
Premier match</h3>
Jeudi après midi, premier match contre Galileo. Nous découvrons alors le vrai terrain et sa rugosité inattendue. Notre petit robot qui devait monter les marches par le côté, se retrouve coincé par un pied de spot qu'il n'arrive pas à pousser. Un léger décalage qui le fait trébucher en haut des marches puis il dévale violemment les marches jusqu'à en perdre des pièces. Nous aurons d'ailleurs un avertissement à cause de ça. Le gros robot sauve l'honneur en faisant son show et en récoltant 31 points (bonus inclus) contre nos adversaires qui en marquent 5. Le classement nous étonne, nous sommes 18ème... du jamais vu dans l'histoire de Brickstory..<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/nRr5BJ7_YAs/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/nRr5BJ7_YAs?feature=player_embedded" width="320"></iframe></div>
<br />
<h3>
Deuxième match</h3>
<br />
Suite à ces péripéties, on décide de modifier la trajectoire du petit robot pour qu'il pousse le fameux pied de spot récalcitrant avant de monter les marches. Deuxième match contre NOVA robotics. La montée du petit robot se passe beaucoup mieux, il dépose les tapis, et le gros robot œuvre correctement de son côté. Résultat 79 à 9. On est proche du score maxi théorique et on remonte encore au classement à la 7ème place... Amazing!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/mH1OT27KhWI/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/mH1OT27KhWI?feature=player_embedded" width="320"></iframe></div>
<br />
<h3>
Troisième match</h3>
Comme ça marche on choisit de ne rien changer pour le troisième match (de toute façon, pas trop le temps de tester entre deux tours, surtout sans table d'essai). Mais cette fois on tombe sur du lourd... Les Sussus Invaders, themselves !!! On se souvient des 103 points de leur premier match, mais les Lego ne tremblent pas...Tout du moins avant le match, parce que pendant, le petit se prend à nouveau le pied de spot et rate sa montée des marches en s'effondrant d'en haut, comme pour le premier match, mais avec plus de pièces éparpillées sur le terrain. Ils nous battent logiquement 63 à 23 et on retombe à la 13ème place.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/pYRlyoqtFCo/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/pYRlyoqtFCo?feature=player_embedded" width="320"></iframe> </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<h3>
Quatrième match</h3>
<br />
Pour le dernier match de la journée, on ne change rien non plus sauf le positionnement au départ, qui pourrait nous faire éviter de buter contre le pied de spot. On rencontre Atlantronic, bizarrerie de l'algorithme de tirage des séries. Tout se passe beaucoup mieux et on repart avec une victoire 71 à 9 pour une 9ème place au classement.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/RoaMYJA7amI/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/RoaMYJA7amI?feature=player_embedded" width="320"></iframe></div>
<br />
<br />
<h3>
Cinquième match</h3>
<br />
Le cinquième match est décisif, car il va déterminer si on va atteindre notre objectif de l'année, à savoir découvrir les phases finales de la coupe de France (donc être dans les 16 premiers). Tout va dépendre du petit robot qui a lui seul peut marquer 39 points (sans compter le bonus). Le tirage nous fait rencontrer EMA-bot. Nous sommes hyper attentifs à la montée des marches, qui est cruciale à la réussite de ce matche... et tout se passe bien, il monte et dépose les tapis. On repart avec une victoire de 69 à 7, synonyme de 1/8 de finale puisque nous finissons à la 11ème place du classement final. Explosion de joie!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/DTy1bT1Sd7Y/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/DTy1bT1Sd7Y?feature=player_embedded" width="320"></iframe></div>
<br />
<h3>
La consécration, les phases finales</h3>
La découverte de l'arrière scène précédent les phases finales avec les meilleures équipes de la coupe. Un blabla nous disant qu'il faut être fair play, bien recharger ses batteries, etc... Un nouvelle homologation statique, histoire de voir si on n'a pas rajouter quelques centimètres au périmètre dans les 3 derniers jours, et c'est le plongeon dans la cour des grands.<br />
Les gradins sont blindés, l'ambiance est au rendez vous, les animateurs sont déguisés.... le show va commencer.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAL5cu8i1tmuoGZ9vaXm8YGRdIq51vm9eRSVLJ34nrPgXYZjpPed_XLjeKQ5Hcbq3DpWAiafrw9PeuWJEq5gdpsxgirChmVoiucYan7QMguw2gnf85j9X2QyidVItznlpYg88qEUOJ3X9A/s1600/tn_20150516_145710.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAL5cu8i1tmuoGZ9vaXm8YGRdIq51vm9eRSVLJ34nrPgXYZjpPed_XLjeKQ5Hcbq3DpWAiafrw9PeuWJEq5gdpsxgirChmVoiucYan7QMguw2gnf85j9X2QyidVItznlpYg88qEUOJ3X9A/s320/tn_20150516_145710.jpg" width="320" /></a></div>
<br />
Match de 1/8 de finale contre BH-Team. Ils nous disent avoir eu quelques soucis lors de matches précédents, alors on se dit que tout est encore possible, même si on n'a pas vraiment l'ambition d'aller plus loin.<br />
Le match se déroule plutôt bien pour les deux équipes, un petit touche touche de part et d'autre qui annulent les éventuelles pénalités. Personne n'ose compter les points à la fin du match, ça semble serré, on laisse faire les arbitres.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/bh5FmPldtb8/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/bh5FmPldtb8?feature=player_embedded" width="320"></iframe></div>
<br />
Le résultat tombe, 66 à 65 pour Brickstory !!! On est en 1/4 de finale, un truc de dingue!!<br />
<br />
De retour en arrière scène, on découvre que notre adversaire sera l'ESEO. On les connait bien puisqu'ils nous ont montré leur savoir faire en coupe de Belgique... grosse équipe.<br />
Mais là, le match se déroule bien différemment. Dès le début, le gros robot subit un décalage inexpliqué d'une dizaine de degré, flinguant ainsi toute l'odométrie. Le petit n'est pas en reste. Il s'avance près des marches, monte bien, mais au moment d'avancer sur le haut des marches, se retrouve à court de jus... Il redescend tranquillement sans marquer le moindre point. En face l'ESEO ne nous laisse aucune chance, et donc aucun regret.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/rRn70lXzWcg/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/rRn70lXzWcg?feature=player_embedded" width="320"></iframe></div>
<br />
<h3>
Bilan</h3>
<br />
On repart de cette coupe de France (la 11ème pour nous) avec une place de 1/4 de finaliste et une banane jusqu'aux oreilles. L'objectif fixé en début d'année a été atteint, et même dépassé, et pour cela nous avons œuvré toute l'année pour avoir un robot prêt au moment de la coupe de Belgique, que l'on a rectifié au juste nécessaire pour la coupe de France. <br />
Nous avions aussi des craintes sur l'organisation de la coupe, avec le désengagement de la ville de la Ferté, le financement participatif.... on s'attendait vraiment à une coupe beaucoup plus cheap, mais ce n'était pas du tout le cas.<br />
<br />
<h3>
Merci</h3>
<br />
Un article de bilan qui s'accompagne de remerciements et de bravos à ceux qui le méritent :<br />
<ul>
<li>Merci à la Ferté de nous avoir accueilli malgré tout, on prend toujours un grand plaisir à venir à chaque pont de l'ascension, et j'espère que cela pourra perdurer. </li>
<li>Merci à TOUS les bénévoles qui ont fait un boulot de tarés, bien plus que d'habitude, et plus particulièrement :</li>
</ul>
<ul><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih2aaveM2NhI2-_lWtm6avP4ZzXkdEgT8cBET0e1axXSdg9-6F-zWtzTqtdWCHHVZfeWOFsDoV6fX9OjGLVfSxaBdFzSkp_u1BuVw5l2R_GYtD_tz2N9K5XBnRAj-KnwhROeDvkg4iPSeP/s1600/tn_20150516_163311.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<ul>
<li>Leffé, toujours aussi sympa et avec qui on a pu pas mal discuter malgré l'absence des Minions (mais fallait nous pistonner pour être en Athéna, na! ;-) )</li>
<li>Jean-Marie, Toon's (enfin Antoinette), Titus et toute l'équipe d'animation pour leur performance sur scène et derrière le micro de la WebTV</li>
<li>Julian pour sa réactivité sur les réseaux sociaux</li>
<li>Virginie, le rayon de soleil qui nous donnait le sourire avant d'entrer sur scène</li>
<li>Laure, malgré sa timidité au micro :-)</li>
<li>France pour la gazette et le sourire</li>
<li>Tous les arbitres, très compréhensifs</li>
<li>Tous les anges gardiens qui, malgré les kilomètres parcourus, ont gardé leur bonne humeur</li>
<li>Tous les autres qui ont géré l'accueil, la buvette, le nettoyage, la peinture des tables... </li>
</ul>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih2aaveM2NhI2-_lWtm6avP4ZzXkdEgT8cBET0e1axXSdg9-6F-zWtzTqtdWCHHVZfeWOFsDoV6fX9OjGLVfSxaBdFzSkp_u1BuVw5l2R_GYtD_tz2N9K5XBnRAj-KnwhROeDvkg4iPSeP/s1600/tn_20150516_163311.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih2aaveM2NhI2-_lWtm6avP4ZzXkdEgT8cBET0e1axXSdg9-6F-zWtzTqtdWCHHVZfeWOFsDoV6fX9OjGLVfSxaBdFzSkp_u1BuVw5l2R_GYtD_tz2N9K5XBnRAj-KnwhROeDvkg4iPSeP/s320/tn_20150516_163311.jpg" width="320" /></a></div>
<br />
<ul>
<li>Merci et bravo à tous les concurrents et plus particulièrement</li>
<ul>
<li>CRLG, nos frères de club avec qui on partage de bonnes parties de rigolade chaque année</li>
<li>Perrin's Team, pour être revenu à la coupe avec un robot plus en Lego que le nôtre</li>
<li>Les Poneys, qui méritent amplement leur prix</li>
<li>RCVA, toujours au dessus de la pile, bluffant de rapidité et d'efficacité et qui méritent la victoire et le respect de tous</li>
<li>Omybot pour leur excellent match de 1/8 qui aurait du être la finale</li>
<li>BHTeam et ESEO nos concurrents des phases finales</li>
<li>Cybernétique en Nord, qui ont finalement fini derrière nous en phase finale :-P</li>
<li>Robotic System qui auraient mérité un bien meilleur résultat...</li>
<li>Sussus Invaders, qui auraient dû aller plus loin</li>
</ul>
</ul>
<br /><ul><ul>
</ul>
<li>Merci aussi à Vincent pour ses photos, et pour nous avoir montré la voie vers les phases finales avec un robot Lego (We did it !!!)</li>
</ul>
<br />
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-61422227419290387522015-05-05T01:11:00.000-07:002015-05-05T01:25:40.420-07:00Finale nationale des Trophées 2015Le week end dernier, les Têtes Briquées ont participé à la finale nationale des Trophées pour laquelle nous étions qualifiés à deux titres : Meilleure équipe en régionale IDF et prix spécial "Minion".<br />
<br />
Réveil difficile le samedi matin car 2h de route pour atteindre Saint Quentin.<br />
<br />
Arrivés là bas, on se rend compte que la scène sur laquelle auront lieu les matches est absolument énorme... une salle de sport avec le public dans les gradins. Et dans cette salle, 3 tables. La grande classe :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTnCddWVmQ5-0Vp71JjyAMMhuVZaLxN8wmdjHKUVNsBlp6QUZ2sAMjidWbNlufYq9M4yeJfCRgYKoHZcXeSUnEpyU8y_Z7ON1LxrfRBIDWd0RG-vbbrNJZ_VSTFpt6TNGRFTYb9n3buHI8/s1600/tn_DSC00543.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTnCddWVmQ5-0Vp71JjyAMMhuVZaLxN8wmdjHKUVNsBlp6QUZ2sAMjidWbNlufYq9M4yeJfCRgYKoHZcXeSUnEpyU8y_Z7ON1LxrfRBIDWd0RG-vbbrNJZ_VSTFpt6TNGRFTYb9n3buHI8/s320/tn_DSC00543.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJbly9W63GAyglLSkreH1w8KT7zkm-awtCNURld1hoYMszdiaUiP0G86UxnmQ1__SO1dcrXdT4l-wZVnp9Onzi-67COHd7PB-qo0rYXanpPAfd6MCNsTWqk7fmeo2huyNKbrd1lCVr3KJg/s1600/tn_DSC00544.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJbly9W63GAyglLSkreH1w8KT7zkm-awtCNURld1hoYMszdiaUiP0G86UxnmQ1__SO1dcrXdT4l-wZVnp9Onzi-67COHd7PB-qo0rYXanpPAfd6MCNsTWqk7fmeo2huyNKbrd1lCVr3KJg/s320/tn_DSC00544.JPG" width="320" /></a></div>
<br />
<br />
<br />
Après quelques tests pour vérifier que tout marche bien, nous passons l'homologation :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/cUHRGzCYXAo/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/cUHRGzCYXAo?feature=player_embedded" width="320"></iframe></div>
<br />
<br />
<br />
<br />
Début d'après midi, première série de match, les têtes briquées rencontrent les 16 copains de Nico, équipe très sympa et qui met l'ambiance dans les tribunes.<br />
Notre petit robot fait son œuvre en fermant les deux claps, mais le gros est terriblement lent, surtout quand il tourne. Résultat satisfaisant 42 points (contre 44).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/-oxFJS6219w/0.jpg" src="https://www.youtube.com/embed/-oxFJS6219w?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
Deuxième série de match samedi après midi. Le robot adverse (LJZ63)a un problème de faux contact et ils sont forfaits. Nous jouons donc seuls sur le terrain. Malheureusement un souci de tirette fait partir le petit robot de travers, bloquant le gros robot. Après quelques manoeuvres, le gros robot se libère et marque quelques points mais une pièce Lego coincée entre les chenille l'empêche de monter en haut des marches. 22 points tout de même.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /><iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/c26HDFt4C2I/0.jpg" src="https://www.youtube.com/embed/c26HDFt4C2I?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
Pour se détendre de cette première journée, l'organisation nous a proposé de venir nous détendre à la patinoire de Saint Quentin. Très belle patinoire avec du relief, de la musique, des lumières, etc... bref, de quoi passer une soirée très sympa.<br />
<br />
Le lendemain, troisième série de match contre les Mégawatt, nos voisins de stand. Notre petit robot fonctionne très bien et le gros robot entame la récolte des points. Mais notre câble s'emmêle avec celui de l'adversaire, et nous ne pouvons pas monter sur les marches... Tant pis, beau match à 35 points (contre 38) quand même :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /><iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/lKCLDJhGMrc/0.jpg" src="https://www.youtube.com/embed/lKCLDJhGMrc?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
Avant la quatrième série de match, dernière avant les phases finales, Planète Sciences nous propose un spectacle très très sympa avec une robot Transformers qui danse autour des jeunes participants. Un moment qu'ils n'oublieront pas. Un extrait de cette animation qui a duré presque une demie heure :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/f2H_Ur599uU/0.jpg" src="https://www.youtube.com/embed/f2H_Ur599uU?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
<br />
<br />
Enfin dernière série de matchs, nous jouons les 4JP-SI. Notre petit robot se perd après le premier clap mais le gros robot marque plein de points, les tapis sont mis et il monte sur les marches.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/qlj1G22dfoI/0.jpg" src="https://www.youtube.com/embed/qlj1G22dfoI?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
On finit avec une honorable 28ème place, sans regret car il y avait un niveau exceptionnel lors de cette compétition avec des scores proches des 100 points, des idées absolument géniales....<br />
<br />
Un petit reportage sur France3 Picardie : <a href="http://france3-regions.francetvinfo.fr/picardie/2015/05/03/les-trophees-de-la-robotique-saint-quentin-717623.html" target="_blank">http://france3-regions.francetvinfo.fr/picardie/2015/05/03/les-trophees-de-la-robotique-saint-quentin-717623.html</a><br />
<br />
Merci encore une fois à la ville de St Quentin de nous avoir accueilli et à son Office de Tourisme, merci à Planète Sciences et à tous les bénévoles qui font à chaque fois un travail énorme, merci à toutes les équipes pour leur ingéniosité, leur sympathie et leur fairplay, et merci à <a href="https://twitter.com/innorobo" target="_blank">Innorobo </a>de nous avoir soutenu pendant toute la compétition.<br />
<br />
Enfin, merci aux Minions participants et accompagnateurs....<br />
<br />
<h2 style="text-align: center;">
Bananaaaaaaaaaaaa !!!</h2>
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-66064571410582794262015-04-20T00:55:00.001-07:002015-04-20T00:55:16.148-07:00Suite et fin de la coupe de BelgiqueSans réglage particulier, on attaque le quatrième match de cette coupe de Belgique. Le petit robot continue ses exploits et arrive à monter en haut des marches pour déployer ses deux tapis proprement.<br />
Le gros robot fait aussi son show et on repart avec une belle victoire à plus de 60 points.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/-tbhPY7Vd7I/0.jpg" src="http://www.youtube.com/embed/-tbhPY7Vd7I?feature=player_embedded" frameborder="0" allowfullscreen></iframe> </div>
<div class="separator" style="clear: both; text-align: center;">
4ème match</div>
<br />
Le cinquième match est prometteur, mais malheureusement, le petit robot chute avant la montée des marches. On perd mais on fini 6ème du classement (5ème équipe française), ce qui nous qualifie pour les 1/4 de finale des équipes étrangères.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/xv7PR8hVmXo/0.jpg" src="http://www.youtube.com/embed/xv7PR8hVmXo?feature=player_embedded" frameborder="0" allowfullscreen></iframe> </div>
<div class="separator" style="clear: both; text-align: center;">
5ème match </div>
<br />
Ce match contre Cybernétique en Nord ressemble malheureusement au précédent pour le petit robot qui chute encore une fois. Le gros robot est percuté par l'adversaire, mais ça n'aurait rien changé au résultat final. On s'incline à ce stade de la compétition avec plein d'enseignements pour la coupe de France dans moins d'un mois.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/31QqpkJurr0/0.jpg" src="http://www.youtube.com/embed/31QqpkJurr0?feature=player_embedded" frameborder="0" allowfullscreen></iframe> </div>
<div class="separator" style="clear: both; text-align: center;">
1/4 de finale</div>
<br />
Un grand bravo et merci à l'organisation, aux bénévoles, aux équipes belges,françaises, suisses et espagnoles.<br />
<br />
Un petit bilan de ce qui était très bien et de ce qui aurait mérité d'être un peu mieux :<br />
<b>Les + :</b><br />
- Le lieu, universitaire, riche en commerces et resto<br />
- La salle des stands, on avait de la place pour travailler, circuler, discuter, avec diffusion de la vidéo en live sur écran géant.<br />
- Le public, à la fois dans les gradins et dans les stands, qui nous ont posé plein de questions, on sent qu'il y a des vrais passionnés ou de vrais curieux dans le coin :-)<br />
- La diffusion en streaming, excellent pour ceux qui n'ont pas pu venir, et tous les férus de coupe de robotique.<br />
- Le wifi disponible pour mettre en ligne les infos en live.<br />
- Ouverture de la salle des stands jusqu'à 22h. Peu en ont profité, mais quand on a besoin de bosser un peu, c'est mieux là qu'à l'hôtel.<br />
- Le soleil. Personne n'y est pour rien (à part peut être un papillon à l'autre bout de la planète), mais c'était très agréable.<br />
<br />
<b>Les - :</b><br />
- La salle des matches, on était un peu à l'étroit et il était impossible de faire le tour des tables entre les sièges d'amphi, le caméraman et les concurrents, c'était parfois juste.<br />
- Pas de table d'entraînement. Heureusement on a pu bénéficier des tables de jeu entre les matches.<br />
- Pas de finale Belgique/Reste du monde en fin de compétition. Même si les étrangers ne sont qu'invités, repartir avec une petite coupe ça fait toujours plaisir.<br />
<br />
En tout cas c'est toujours un réel plaisir de venir en Belgique, on sera là l'an prochain, promis :-)<br />
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com3tag:blogger.com,1999:blog-4270258268118985687.post-29392780855583421122015-04-19T02:31:00.001-07:002015-04-19T02:31:25.735-07:00Ca progresse...Après un premier match médiocre, le deuxième s'est un peu mieux déroulé. le petit robot est parti mais un problème d'axe mécanique l'a empêché de finir la montée des marches. Le gros a quand même marqué quelques points.<br />
<br />
Résultat 28 à 5 contre Cinégramme<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/gyAt1Rchp_Y/0.jpg" src="http://www.youtube.com/embed/gyAt1Rchp_Y?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
<br />
Ce matin, troisième match après une soirée de travail intense et de bonnes crêpes. On a changé le centre de gravité du robot, réparé les axes, etc...<br />
Après le top départ, le petit fait son oeuvre, il monte les marches et dépose les deux tapis. Malheureusement, un des tapis ne touche pas la dernière marche et on rate 6 points à un éternuement près<br />
<a href="https://twitter.com/Brickstory/status/589716624292372480" target="_blank">https://twitter.com/Brickstory/status/589716624292372480</a><br />
<br />
Le gros robot fait aussi ses quelques points malgré une perte d'odométrie inexpliquée...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/HSim7Hh081c/0.jpg" src="http://www.youtube.com/embed/HSim7Hh081c?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0tag:blogger.com,1999:blog-4270258268118985687.post-45137868203794604362015-04-18T08:25:00.001-07:002015-04-18T08:25:31.395-07:00Premier match... bon c'est pas gagné!La compétition a commencé en Belgique. Nous avons la chance de rencontrer un robot, Bulbot, qui ne va pas trop nous gêner dans notre parcours...<br />
<br />
C'était sans compter les perturbations ultrason qui ont mis en panique le petit robot.<br />
Il a cru détecter quelque chose, et s'est arrêté tout de suite, bloquant la route au gros robot qui a attendu sagement.... enfin quelques secondes. Après, ras le bol, il a foncé dans le tas, projetant notre petit grimpeur au sol.<br />
Même s'il était sur le chemin, le gros robot a pu se faufiler pour marquer quelques maigres points.<br />
<br />
De son côté Bulbot n'a pas réussi a monter les marches ni à dérouler le tapis (pourtant la technique de la pince à linge était ingénieuse)<br />
Résultat contre Bulbot 16 - 5<br />
<br />
le résultat peu glorieux en vidéo<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/s8XadNM62vU/0.jpg" src="http://www.youtube.com/embed/s8XadNM62vU?feature=player_embedded" frameborder="0" allowfullscreen></iframe> </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />Brick Storyhttp://www.blogger.com/profile/12681511950484562881noreply@blogger.com0