Attribut:Step Content

This is a property of type Text.

Affichage de 100 pages utilisant cette propriété.
.
Sur le site "Make code" faire le code puis l'enregistrer sur le Microbit qui est brancher sur les servomoteurs pour voir si ça fonctionne.  +, Faire les trous à la perceuse à la taille des servomoteurs. Découper des lamelles de carton pour les coller sur les traits du circuit fait au préalable. <u>Matériaux:</u> -Lamelle de carton pour les mûrs -Planche -Règle/équerre -Pistolet à colle -Ciseaux  +, Il faut brancher tous les composants comme dans l'étape 1, en faisant bien attention sur le branchement des microbits, il faut qu'il soit sur le bon circuit (PO et P1) et dans le bon sens faire attention au fil qui donne l'information. <u>Composants:</u> -2 Servomoteurs -Microbit <br/>  +
1
Code Arduino commenté en fichiers joints ; voir le code pour les détails (fichier 123Tourelle_IMT_Bento_123Soleil.ino) <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Le programme nécessite l'installation de plusieurs librairies Adafruit (voir lignes "include"), pensez à les installer</div> </div><div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Le code comprend toute une mécanique pour sélectionner le mode via le potentiomètre. L'utilisation du potentiomètre a été essentiellement choisie pour les besoins de la formation (mais apporte aussi un feeling plus agréable pour ma part) ; cependant un simple bouton poussoir ou capteur capacitif aurait été plus adapté et plus précis.</div> </div><br/><div class="icon-instructions idea-icon"> <div class="icon-instructions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">La vérification de la victoire du joueur pourrait être améliorée (plus propre) par l'utilisation des interruptions (bouton poussoir ou récepteur capacitif), au lieu de tester dans une boucle. Cependant, côté ressenti utilisateur, peu de différence à prévoir.</div> </div><div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Le code occupe plus de 90% de la mémoire de l'Arduino. Des actions ont du être effectuées pour réduire l'impact mémoire : chaines de caractères mises dans mémoire intégrée à l'Arduino, suppression de quelques animations plus ou moins superflues, suppression de certains "define", suppression de tous les messages de type Serial.print</div> </div><br/><div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Pour éviter les "tremblements" du servo, celui-ci est activé (fonction "attach") à chaque besoin, puis désactivé ("detach") lorsque l'on n'en a plus besoin immédiatement</div> </div>  , '''3 impressions 3D''' sont à réaliser : <br/> *Le '''cache écran''', élément nécessaire à la fixation de l'écran sur la Bento (fichier stl joint aux fichiers) *La '''tourelle''', élément semi décoratif du 3eme étage, car il permet aussi la visualisation de l'état de la Bento pendant le jeu : phase de mouvement (tourelle retournée) ou d'immobilisation (tourelle face à soi). Lien ThinkerCAD : https://www.tinkercad.com/things/3wK0G7hVzjL *Le '''détonateur''', élément essentiellement décoratif /fun, car il pourrait être remplacé par un simple bouton pressoir, plus fiable et moins soumis à controverse (explication plus bas dans ce tutorial). Lien ThinkerCAD : https://www.tinkercad.com/things/21ObtVLrXG0-detonateur Le cache écran a été réalisé avec le logiciel de modélisation 3D Sketchup, qui permet la réalisation de formes complexes. La tourelle et le détonateur ont été réalisés avec ThinkerCAD 3D, qui permet une prise en main et des réalisations simples et rapides d'objets 3D pouvant être réalisés avec des formes basiques (pavé, cylindres, dôme, ...). Les fichiers 3D utilisés sont joints au format STL pour l'impression 3D. <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">L'impression de la tourelle nécessite la création de supports pour la réalisation du canon ainsi que la tenue du dôme, un travail de nettoyage des supports est donc à prévoir.</div> </div>  +, Avant de procéder au câblage des divers composants, des étapes de préparation de la Bento sont nécessaires : <br/> *'''Décoration'''/peinture de la Bento (facultatif mais fort appréciable pour la valorisation de votre travail et l'attrait pour travailler dessus). Voir étape 6 pour plus de détail de ce qui a été fait au niveau décoratif. *'''Fixation de l'Arduino''' sur la base de la Bentolux ; attention, les trous de l'Arduino ne correspondaient pas aux trous de la plaque de bois, un perçage a été nécessaire *'''Fixation de l'écran''' sur le cache puis fixation de l'écran sur la Bento par collage *'''Découpe''' de la base de la Bento afin de pouvoir insérer la '''fiche du chargeur''' fourni avec petite scie et cutter (pas d'ouverture pour la fiche chargeur par défaut) *'''Découpe''' rectangulaire du haut du second étage afin de créer un espace pour pouvoir insérer la base du '''servo moteur'''. Cette découpe a été effectuée par perçage puis scie et cutter. Elle pourrait aussi être effectuée par découpage laser (création d'un nouveau GCode ou ajoutée au modèle d'origine de découpe de la Bento). Autre solution, la réalisation de ce "trou" par fraisage. *'''Perçage''' au forêt bois sur le haut du second étage afin d'insérer un '''bouton poussoir''' *Réalisation des '''soudures''' (ajout de fils électriques, si nécessaire ; par exemple pour la LED RING ou les capteurs de mouvement) de tous les composants requis pour la réalisation et donnés dans la liste des matériels du tutorial. <div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">La LED RING est située juste au-dessus de l'écran ; du coup lors des soudures, réfléchissez bien à comment éviter la sortie des 4 fils de l'écran en amont (personnellement j'ai soudé avec un angle de 90° par rapport à la LED RING et fait passer mes fils par le centre de la boite)</div> </div><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">La soudure des LED RING pose souvent problème aux débutants (casse fréquente des fils). Cette difficulté peut être réduite par la soudure de broches (plus solides) au lieu de souder directement les fils sur la LED RING</div> </div><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">La LED RING a un sens, la LED N°0 est normalement indiquée par une petite étoile à l'arrière, pensez-y avant de la fixer</div> </div>  ,
2
Before we explore the methods, let's address the question of whether it is possible to download Spotify songs without a premium subscription. By default, Spotify encrypts the songs you download from their app in a DRM-protected audio format. This encryption prevents the songs from being played on other apps or players. However, thanks to the internet, several third-party tools and services have emerged that allow you to download Spotify songs without a premium account.  +, If you want to download songs from Spotify on your PC without paying for a premium subscription, you can use a reliable tool like [https://www.audfree.com/spodable/ AudFree Spotify Music Converter]. This desktop application is available for both Windows and Mac users and provides a user-friendly interface for downloading Spotify songs in various audio formats like MP3, M4A, WAV, and FLAC. AudFree Spotify Music Converter allows you to convert Spotify songs to your desired format and remove DRM protection, all while preserving the original audio quality.  +, For Android users, there are methods to download Spotify music without a premium account. One popular app is SpotiFlyer, which offers the ability to download Spotify songs for offline listening. SpotiFlyer works by extracting the audio files from the Spotify app and saving them to your device. This way, you can enjoy your favorite tracks without an internet connection.  +,
1- prenez des tringles de rideau ensuite coupez les a 10,5 cm 2- tordez les A environ 45° pour que cela ressemble a des lampadaires 3- enfoncez les sur le bord de la route  +, il ne vous reste plus qu'a jouer entre amis ou en famille <br/>  +, 1- Découpez un morceau de polystyrène en format A3 ( 29,7 x 42 cm) 2- Creusez ensuite 15cm de large et 42cm de longueur avec une profondeur de 1.5cm 3- coupez dans le socle (comme a la 4emme photo) un trou qui servira par la suite d'une hauteur de 1cm et d'une profondeur de 10cm du cote gauche  +,
Make sure you have downloaded all the software you will need for the activity. These include: CamScanner: Free app that can be found on the Google Play Store. (Make sure you press 'skip' when asked to trial Premium for free.) Inkscape: Free Open Source software for drawing on your computer. It can be downloaded from their website which is easily found through Google. Suitable software for your 3D printer: Such as FlashPrint or Ultimaker Cura. This will depend on the model of 3D printer you have but should be free to download online.  +, Create your free-hand drawing on paper making sure to use a black marker pen. This is where the Educator/Youth worker can talk about the ideas behind Design for Manufacturing. When you make a design you need to think about certain elements that will be effected by the manufacturing process. For example: - You will need to think about how your drawing will print out. If some parts of the drawing are not connected, they will print out as separate parts and not together. - You will need to think about time, money and material. How long do you want your print to take? How much material do you have to use? How much will your print cost? The more complex the drawing or the more filled in spaces, the longer it will take to print, the more material it will use and the more expensive it will be. - You will need to think about the limitations of the 3D printer. For example; It is only able to print in one colour Fragility of the print and having to remove it from the printer or raft - therefore considerations should be made as to how thin lines should be made.  +, After creating your drawing, it is important to make sure that there is a large contrast between the black drawing and the white paper. This will help with scanning and vectorising the image. Make sure there are no small white gaps in the drawing and that the intensity of the black ink is consistent  +,
3
<nowiki>Avant de commencer la programmation du CAM, considérez votre pièce et la meilleure approche pour l'usiner. Ces décisions dépendent de la forme du modèle, des matériaux, et des contraintes de la machine CNC que vous utilisez. Dans cette étape, vous apprendrez comment ces facteurs impactent votre stratégie d'usinage en ce qui concerne la fixation (workholding), le référencement (registration, c'est-à-dire s'assurer que la CNC sache où se trouve la pièce, et les paramètres du CAM.<br /><br /><u>Chemins d'outil 3D</u><br /><br />Dans un toolpath 2D (poche, contour, tracé, ...), la tête de la fraise reste à une profondeur fixe (axe Z) durant une passe d'usinage, et ne bouge que dans les directions X et Y pendant qu'elle coupe. Ce type d'usinage est idéal pour des pièces prismatiques, pour lesquelles toutes les faces usinées sont perpendiculaires à l'axe de la broche de la machine.<br /><br />Lors de la programmation de pièces non prismatiques, telles que des moules ou des formes organiques, les opérations 2D sont insuffisantes. Vous devez utiliser des opérations de CAM 3D, dans lesquelles la fraise se déplace de manière dynamique selon X, Y et Z.<br /><br /><u>Serrage</u><br /><br />Le serrage (workholding) est la stratégie pour maintenir votre pièce de manière rigide pendant le processus d'usinage. Lors de la programmation avec des parcours d'outil 3D, la mise en oeuvre est une considération initiale importante. Cela est particulièrement vrai pour les pièces qui nécessitent un usinage des deux côtés, lorsque la pièce sera basculée entre les ''setups''. (programmes d'usinage)<br /><br />Pour la programmation de pièces prismatiques,où les CAM 2D et 2.5D requièrent uniquement un modèle de CAO de la pièce que vous souhaitez usiner, aucune fonctionnalité supplémentaire n'est présente pour la fixation ou le référencement . En effet, la pièce prend la forme d'un prisme rectangulaire, qui peut être facilement maintenu dans un étau ou fixé au martyr.<br /><br />Mais que faites-vous lorsque votre forme est plus organique ou irrégulière, et doit également être retournée à la machine des deux côtés? Dans ce cas, vous devez créer un matériau supplémentaire qui maintiendra votre pièce dans un étau, contre le martyr ou à plat contre le bas de la machine. Il est très difficile de programmer le CAM sans avoir ces fonctionnalités intégrées dans votre modèle.<br /><br />En d’autres termes, l’usinage 3D avec retournement nécessite que vous modélisiez la matière que vous souhaitez laisser ainsi que des onglets pour éviter que votre pièce ne se détache dans la machine. Ces onglets seront coupés et poncés après l'usinage, généralement avec une scie à ruban et une ponceuse à disque.<br /><br />Pour votre cuillère de service, vous aurez deux onglets - un à chaque extrémité - et un prisme rectangulaire qui tiendra la cuillère à plat après le retournement. Lors de la modélisation, il est préférable de créer ces suppléments en tant que corps (bodies) distincts de la pièce à usiner.<br /><br /><u>Référencement</u><br /><br />Étant donné que la cuillère sera usinée des deux côtés (usinage par retournement), vous devez vous assurer que la machine à commande numérique peut localiser la pièce avec précision après son déplacement. Ceci s'appelle l'enregistrement.<br /><br />Si vous avez déjà utilisé Haas, vous savez utiliser une sonde pour localiser votre pièce. Cependant, comme beaucoup de routeurs de table, le DMS n’a pas de sonde. Lorsque vous utilisez le DMS pour localiser l’origine de votre système de coordonnées de travail (Work Home), vous insérez un outil dans la broche et vous le positionnez au bon endroit. Il est courant de coincer un morceau de papier entre le support et l’outil pour s’assurer que Z est correct. Dans la classe des machines DMS, vous apprendrez à saisir les codes pour configurer votre WCS de cette manière. Comme vous pouvez l’imaginer, ce système n’est pas précis, car vous ne faites que "regarder les yeux" de cet endroit.<br /><br />Cela implique de devoir considérer une manière d'aligner les deux côtés de la pièces précisément si elle doit s'usiner des deux côtés. Il y a plusieurs méthodes possibles, chacune avec ses avantages et ses inconvénients qui dépendent de la spécificité de la pièce à usiner. Parmi les méthodes les plus courantes: - Attacher des butées sur le martyr ou le lit de la fraiseuse, où ira se caler la pièce usinée. - Usiner un contour dans le martyr, pour ensuite placer la pièce à l'intérieur en serrage - forer des trous pouvant accueillir des "pins" en bois, dans la pièce à usiner et dans le martyr, pour les solidariser (le plus précis)<br /><br />La dernière méthode est celle que nous utiliserons pour la cuillère. Lors de l'usinage de la face avant, vous percerez également trois trous à travers le stock et partiellement à travers le martyr. Lors du retournement de la pièce, vous insérerez des tourillons dans ces trous afin d'aligner l'autre face parfaitement avec la première.<br /><br />Paramétrage du CAM Les spécificités du projet (usinage de bois sur une fraiseuse multi-outils) vont également déterminer certains choix lors de la programmation des chemins d'outil. En l'occurrence, l'usinage du bois ou du platique n'est pas un usinage rapide. Cela autorise l'utilisation de chemins d'outils adaptatifs pour le "dégrossage", mais vous ne pouvez pas utiliser toute la longueur de la fraise. Lors de l'usinage de bois ou de plastique, suivez la règle du chevauchement et de la profondeur de passe : le chevauchement et la profondeur de passe ne doivent jamais excéder 50% du diamètre de la fraise.</nowiki>  , A présent que vous avez pris vos décisions de base concernant la stratégie d'usinage, il est temps de commencer le CAM proprement dit. <u>Ouverture du fichier de la cuillère dans Fusion360</u> 1) Ouvrez Fusion360 2) Dans le panneau de données sur le côté gauche (data panel), cliquez sur "nouveau projet". Nommez-le "DMS certification part" 3) Téléchargez le fichier DMS_spoon.ipt, attaché à ce tutoriel 4) Dans le panneau de données de Fusion, double-cliquez sur votre nouveau projet "DMS certification part" 5) Cliquez sur "upload" au-dessus 6) Cliquez sur "select files" 7) Sélectionnez le fichier DMS_spoon.ipt et cliquez sur ouvrir 8) Cliquez sur" upload" 9) Quand la barre de statut est achevée, cliquez sur "close" 10) Double-cliquez la pièce dans le panneau de données pour ouvrir le projet 11) Cacher le panneau de données en cliquant sur l'icône avec les 9 petits carrés (Il s'affiche "Hide data panel" lorsque vous passez dessus avec votre souris.). 12) Dans le bandeau déroulant à gauche, changez l'espace de travail vers l'interface CAM 13) Faites des rotations de la cuillère jusqu'à ce qu'elle soit orientée vers le haut, avec la cuvette de la cuillère plus proche de vous. Faites cela avec le "view cube" dans le coin en haut à droite, en cliquant sur le coin du cube où les face Front, Right et Bottom s'intersectent. 14) En déplaçant votre souris sur le view cube, faites un clic droit sur l'icône de la maison et choisissez "Set current view as Home-fixed distance" Vous pouvez maintenant à tout moment revenir à cette vue en cliquant sur l'icône de la maison. 15) Dans l'arborescence à gauche, vérifiez que les unités sont bien des millimètres (mm). Si pas, cliquez sur l'icône qui apparaît à côté de "Units" et changez le type d'unités en mm, puis cliquez sur OK. <u>Installer la librairie d'outils</u> Au Yourlab, nous maintenons une base de données des différentes fraises que nous avons en stock. Cette librairie comprend les définition d'outils ainsi que des informations importantes comme les diamètres et les longueur de flûte. Vous verrez que ces informations sont très utiles pour programmer les pièces, car tous ces outils ont les vitesses et "feeds" adaptées pour l'usinage de la plupart des matériaux. Pour importer la librairie : 1) Téléchargez le fichier .hsmlib, en respectant le nom de fichier "YourLAB_tool_lib.hsmlib" 2) Créez un dossier sur votre disque dur nommé "YourLAB librairie de fraises" et ajoutez-y ce fichier. 3) A droite du ruban CAM, dans la section "Manage", cliquez sur "tool library". La fenêtre de librairie d'outils s'ouvre. 4) Faites un clic droit sur le dossier Local et choisissez "New Tool Library" 5) Tapez "YourLAB librairie" dans le champ du nom de la librairie. 6) Faites un clic droit sur "YourLAB librairie" et choisissez "Import Tool Library" 7) Naviguez vers le dossier que vous venez de créer, sélectionnez le fichier librairie et cliquez sur "Open". Vous devriez voir votre nouvelle librairie s'être peuplée d'outils. 8) Cliquez sur la flèche à côté de "Samples" pour étendre ce dossier. Assurez-vous que toutes les librairies d'exemples sont décochées, à l'exception de la librairie Inch-Aluminium. 9) fermez cette fenêtre en cliquant sur le X en haut à droite. Vous venez d'installer la librairie de fraises de YourlAB! <u>Setup 1</u> Il y a trois étapes dans un processus CAM : Setup, Chemins d'outils et Simulation. Le Setup détermine la localisation du système de coordonnées de travail (WCS), les dimensions su matériau brut (stock), et la localisation de la partie à usiner dans ce stock. Pour la cuilllère, vous aurez besoin de deux setup : un avant le retournement, et un après. <br/>  
<section class="step"><br />Before beginning CAM programming, you need to consider the part and the best approach to machining. These decisions depend on the shape of the model, the material, and the constraints of the CNC machine you are using. In this lesson, you will learn how these factors impact your machining strategy with respect to workholding, registration (making sure the CNC knows where the part is), and CAM settings.<br /></section><section class="step"><br />3D Toolpathing<br /><br />If you completed the CAD and CAM Class, you worked with 2D toolpaths, in which the end mill stays at a fixed depth (Z-level) throughout a machining pass, moving only in X and Y while cutting. This type of machining is ideal for prismatic parts - parts in which all machined faces lie normal to the machine tool spindle.<br /><br />When programming non-prismatic parts, such as molds or organic shapes like the the parts below, 2D operations are insufficient. You need to use 3D CAM operations, in which the end mill moves dynamically in X, Y, and Z.<br /></section><section class="step"><br />Workholding<br /><br />Workholding is the strategy for holding your part rigidly during the machining process. When programming with 3D toolpaths, workholding is an important initial consideration. This is especially true of parts that require machining on both sides, when the part will be flipped between setups.<br /><br />When programming for prismatic parts, you may have noticed that 2D and 2.5D CAM only requires a CAD model of the part that you want to machine, without any extra features for workholding attachment or registration. This is because the part takes the shape of a rectangular prism, which can be held easily inside a vise or fixed to a spoiler board.<br /><br />But what do you do when your shape is more organic or irregular, and also must be flipped to machine on both sides? In this case, you need to model additional material that will hold your part inside a vise, against a spoiler board, or flat against the bottom of the machine. It's very hard to program the CAM without having these features incorporated into your model.<br /><br />In other words, 3D flip machining requires that you model the stock you want left behind, as well as tabs to prevent your part from coming loose inside the machine. These tabs will be cut off and sanded down after machining, usually with a bandsaw and disk sander.<br /><br />Note: Another, more advanced, technique for workholding for irregular shapes in metal is a soft jaw system. You would machine your own custom aluminum jaws to use with a Lang or Kurt vise, and these custom jaws would hold your part after the flip. No tabs needed.<br /><br />For your serving spoon, you will have two tabs--one on each end--and a rectangular prism of stock that will hold the spoon flat after the flip. When modeling, it's a good idea to make your stock and tabs another body, separate from your part.<br /></section><section class="step"><br />Registration<br /><br />Because the spoon will be machined from both sides (flip machining), you need a way to ensure that the CNC machine can locate the part accurately after it has been moved. This is called registration.<br /><br />If you have used the Haas before, you're familiar with using a probe to locate your part . The DMS, however, like many table routers, does not have a probe. When using the DMS to locate the origin of your Work Coordinate System (Work Home), you will insert a tool into the spindle and jog it to the correct location. It's common to trap a piece of paper between the stock and the tool to ensure that Z is correct. In the DMS machine class you will learn how to enter the codes to set your WCS in this way. As you might imagine, this system is not accurate, because you're just "eyeballing" this location.<br /><br />This means that if you have a part that requires flip machining, you need to consider how to get the two sides to line up properly with one another. There are lots of options, and they all have advantages and disadvantages based on the specifics of your part. Some common methods include:<br /><br />--Attaching stops to your spoiler board (waste board under your part that can be machined) or machine bed<br /><br />--Machining a contour into your spoiler board, then placing your stock exactly inside that contour<br /><br />--Drilling holes for dowels that go into the spoiler board beneath your part (most accurate)<br /><br />This final technique is the the method you will use for the spoon. While machining the front side of the spoon, you will also drill three holes through the stock and partially into the spoiler board. After you flip your part, you will insert dowels through the holes and into the spoiler board that will align your part perfectly with your first side.<br /></section><section class="step"><br />CAM Settings<br /><br />The specifics of the project - machining wood on the DMS router - will also determine some of the choices you make when programming toolpaths.
<br /><br />
-Tool numbering<br /><br />If you are a Pier 9 shop user, you will be using the DMS tool library. When you have simulated and finalized your CAM program, make sure that your tools are labeled in the chronological order that they are used. You will learn later in this class how to edit tool numbers.<br /><br />Remember that the chronological tool numbers in your program do not correspond to the numbers in the DMS tool library drawer. For instance, the fifth tool you use in your program might be the 1" Rough Short End Mill, which is labeled #34 in the DMS library. You will see the DMS library number in the comment for each tool, which will appear in your setup sheet (machining plan). You will learn later how to generate setup sheets.<br /><br />If you are not using Pier 9's DMS, you'll either be using custom tools, or tools from your own tool library. If using your own library, be sure to label your tools in the chronological order they will be used.<br /><br />-Rules for roughing<br /><br />Machining in wood or plastic on the DMS is not high speed machining (HSM). This means that you may use Adaptive toolpaths for roughing, but you cannot use the whole length of the cutter.<br /><br />When machining wood or plastic, follow the Stepover and Stepdown Rule: The stepover and stepdown should never exceed 50% of the tool diameter.<br /></section>  , blaaa  +
Patente de la copa menstrual 1867 No necesito copiar lo que encuentro en Wikipedia. https://fr.wikipedia.org/wiki/Coupe_menstruelle  +, https://www.youtube.com/watch?v=ul6s9s9khCXHY '''(video que me dio la idea de hacer este proyecto y filamento que planeo usar TPU/TPE)''. http://www.orangenarwhals.com/2015/11/diy-menstrual-cups-hack4fem "(prueba del moho de la taza)". https://3dprint.com/36851/sexshop3d-safe-sex-toys/ ''(How to make sex toy safe)'' https://www.liveloveluna.com/blogs/news/fda-approved-menstrual-cups-what-does-it-really-mean https://readycontainment.com/wp-content/uploads/2017/11/Cooleys-Chemical-Resistant-Chart.pdf ''(TPU chemical resistance chart) '' * https://www.quora.com/How-does-TPU-differ-from-silicone * https://www.quora.com/Is-thermoplastic-polyurethane-TPU-toxic  +, * http://www.leparisien.fr/laparisienne/actualites/societe/tampons-et-serviettes-hygieniques-des-produits-de-luxe-07-05-2018-7703358.php * https://www.youtube.com/watch?time_continue=23&v=GXqF9H2aMBw   +,
Different types of furniture connectors are available on[https://www.thingiverse.com/thing:2443677 <u> this Thingiverse entry</u>]. The most basic one, suitable to construct  tables and shelves, is called JONCTION-P_Origin.stl Below you can view a 3D reconstruction of a simple table built with the furniture connectors. You can also view this object in VR by navigating to [https://sketchfab.com/models/c5f235fb44134da7ad367327c09faadf <u>this</u>] website on your smartphone <br/>  +, According to the European Environmental Bureau, every year, the EU produces around 10 tonnes of furniture waste. Authorities are currently looking into the possibility of reusing this furniture waste to produce new items. Digital fabrication can also help with this issue, and in particular 3D printed furniture connectors are an ideal solution to enable reusing discarded furniture to create new ones. The added value of combining reuse practices and digital fabrication consists in allowing individuals to make their own tables, chairs, etc. without requiring specific machines or tools. Similarly, it is possible to 3D print plastic bottle connectors to create all sorts of designs, including furniture. One of the most successful projects that tackles this topic is [https://hpi.de/baudisch/projects/trussfab.html <u>Trussfab</u>].  +
Different types of furniture connectors are available on[https://www.thingiverse.com/thing:2443677 <u> this Thingiverse entry</u>]. The most basic one, suitable to construct  tables and shelves, is called JONCTION-P_Origin.stl Below you can view a 3D reconstruction of a simple table built with the furniture connectors. You can also view this object in VR by navigating to [https://sketchfab.com/models/c5f235fb44134da7ad367327c09faadf <u>this</u>] website on your smartphone <br/>  +, According to the European Environmental Bureau, every year, the EU produces around 10 tonnes of furniture waste. Authorities are currently looking into the possibility of reusing this furniture waste to produce new items. Digital fabrication can also help with this issue, and in particular 3D printed furniture connectors are an ideal solution to enable reusing discarded furniture to create new ones. The added value of combining reuse practices and digital fabrication consists in allowing individuals to make their own tables, chairs, etc. without requiring specific machines or tools. Similarly, it is possible to 3D print plastic bottle connectors to create all sorts of designs, including furniture. One of the most successful projects that tackles this topic is [https://hpi.de/baudisch/projects/trussfab.html <u>Trussfab</u>].  +
The objects we have prototyped are several different 3D printed geometrical straw connectors, allowing the construction of different geometrical shapes. They are easily done and cost-effective: it takes about 15 minutes of printing to achieve one item. It is possible to modify the design in order to adapt it to different straw diameters, and to different numbers of connected straws. These 3D printed straw connectors can be printed by designers, amateurs, mathematics and geometry teachers, or even pupils/ students, under appropriate supervision.  +, The 3D printed geometry connectors that we have prototyped can serve to introduce children and students to 3D printing and to the study of geometrical shapes, being extremely useful in the context of formal and non-formal learning and education. They can be used in geometry and mathematics classes in order to enhance the sense of space, spatial planning, spatial thinking and geometrical thinking in students. They can accompany and/ or replace (as considered suitable by teachers) the classical drawings on paper when solving of geometry problems, facilitating visualization and creative thinking.  +
The objects we have prototyped are several different 3D printed geometrical straw connectors, allowing the construction of different geometrical shapes. They are easily done and cost-effective: it takes about 15 minutes of printing to achieve one item. It is possible to modify the design in order to adapt it to different straw diameters, and to different numbers of connected straws. These 3D printed straw connectors can be printed by designers, amateurs, mathematics and geometry teachers, or even pupils/ students, under appropriate supervision.  +, The 3D printed geometry connectors that we have prototyped can serve to introduce children and students to 3D printing and to the study of geometrical shapes, being extremely useful in the context of formal and non-formal learning and education. They can be used in geometry and mathematics classes in order to enhance the sense of space, spatial planning, spatial thinking and geometrical thinking in students. They can accompany and/ or replace (as considered suitable by teachers) the classical drawings on paper when solving of geometry problems, facilitating visualization and creative thinking.  +
First, you will need to download the Qlone mat. Download it [https://drive.google.com/file/d/0B6z-PurmOnXWME1DRzAwR2N5OTZHcUNjcTJCMmRJcC1LX1o0/view?usp=sharing here].  +, Launch the application and follow the instructions in order to scan your object.  +
First, you will need to download the Qlone mat. Download it [https://drive.google.com/file/d/0B6z-PurmOnXWME1DRzAwR2N5OTZHcUNjcTJCMmRJcC1LX1o0/view?usp=sharing here].  +, Launch the application and follow the instructions in order to scan your object.  +
'''1.''' Öffne Tinkercad indem du auf das Tinkercad-Icon am Desktop klickst. '''2.''' Klicke auf die Schaltfläche '''„Neuen Entwurf erstellen“'''. Eine leere Arbeitsfläche wird sich öffnen. '''3.''' Gib deinem neuen Design (und der Datei) einen Namen. Klicke auf die lustigen Worte in der oberen linken Ecke neben dem -Logo und benne dein Werkstück z.B. ''„Lesezeichen_dein Name“'' oder ''„Schlüsselanhänger_dein Name“'' '''Objekt erstellen''' '''1..''' Auf der rechten Seite kannst du verschieden Formen finden. Wähle die '''rote „Box“'''in dem du auf sie klickst. '''2.''' Bewege die Box in die Mitte der Arbeitsfläche und platziere sie dort mit einem Linksklick. '''3.''' Klicke auf das kleine weiße Quadrat in der Mitte der Box um die Höhe anzupassen.  Ändere den Wert für die '''Höhe''' auf '''2.00 mm'''. '''4.''' Klicke auf die kleinen weißen Quadrate an den Ecken der Box um die Länge und Breite zu ändern. Ändere die '''Breite''' auf '''50.00 mm''' und die '''Länge''' auf '''20.00 mm'''.  +, ''Jeder Schlüsselanhänger benötigt ein Loch als Aufhängung! Dazu benötigen wir die Form des '''gestreiften Zylinders''''' '''Form ausschneiden''' '''1.''' Wähle die gestreifte Form und ziehe sie auf die Arbeitsfläche. '''2.''' Klicke auf die weißen Quadrate der From und setze z.B. ''beide Werte auf 5.00 mm''. (Größe des gewünschten Lochs) '''3.''' Positioniere die Form z.B. nahe der Ecken des Objekts. Bewegen kannst du sie mit der Maus, oder den Pfeiltasten. '''4.''' Es kann nützlich sein deine Ansicht der Arbeitsfläche zu ändern. An der oberen linken Ecke des Bildschirms ist ein weißer Würfel. Klicke auf „OBEN“ beim Würfel, um dein Objekt von Oben zu sehen. ''Profi-Tipp:'' Halte die rechte Maustaste gedrückt während du die Maus bewegst. '''5.''' Halte die Tasten Strg+A gedrückt, um alle Elemente auszuwählen. Anschließend drücke Strg+G, um sie zu Gruppieren. Das Loch wird herausgeschnitten.  +, ''Nun geht es um den Namen, den du auf deinem Schlüsselanhänger schreiben willst.'' '''1.''' Suche auf der rechten Seite das -Objekt und ziehe es auf die Box. '''2.''' Um den Text zu ändern klicke auf die Textbox „TEXT“ auf der rechten Seite. Es sollte neben der geschtreifen Box sein. '''Schreibe bei „TEXT“ deinen Namen.''' '''3.''' Ändere die '''Höhe''' deines Namens auf '''3.00 mm''', um den Namen 1 mm aus der Grundfläche herausragen zu lassen. '''4.''' Ändere die Länge und die Breite deines Namens, sodass er in die rote Box passt. '''Fertig? Frage einen Explainer nach den nächsten Schritten!'''  +,
6
Obviously, your superiors didn't get to where they are by magic. They were particular events that marked that destiny. They were adequately prepared, and little by little, they grew and became good at what they did. If you are looking for a promotion, start doing everything with desire and dedication, always trying to achieve the best results. Don't be satisfied with little!  +, There is nothing more valuable than a person's time, and if, apart from your working day, you are available for your boss and any sudden events at work, you will undoubtedly become a person he can rely on. The best tool you can acquire to manage your time better is a smartphone. It helps you stay in contact in case of emergency even if you are not in the office.  +, It is said that communication is the basis of every relationship, and this also applies to the working relationship you have with your boss. Sometimes, important things are going on in the company that your superiors may completely ignore or learn about through ill-founded rumors. Don't do what many employees do when they learn something that could compromise the company's performance, such as keeping quiet or simply creating rumors. Instead, be the first to bring things to their attention, and you will see the confidence your boss will have in you in the short and long term.  +,
8
For the modules assembly I suggest that you refer to the PDF files. You'll find the pieces numbering and how to assemle them (with a few additional hints)  +, The dispenser attaches to the wall using the mounting holes on either side of the plumber's mustache. You'll also find one below the arrival module (see photo).  +, Laser cutting time for this module: - for 3mm poplar plywood pieces: 3 minutes 45 seconds - for 3mm transparent PMMA pieces: 38 seconds SVG files : [[:Fichier:Conteneur coeur CP.svg|for plywood]], [[:Fichier:Conteneur coeur PMMA.svg|for PMMA]] [[:Fichier:Aide conteneur coeur.pdf|PDF manual with help to build this module]] [[:Fichier:Conteneur coeur.ai|AI file with all informations and content on different layers]]  +,
Pour assembler les modules je te conseille de regarder les notices PDF. Tu trouveras une numérotation des pièces et la façon de les assembler correctement (ainsi que quelques astuces).  +, Plus qu'à remplir de plein de chocolat ! Mamma mia ! Here we go !  +, Cette étape est valable si tu pars de zéro comme j'ai pu le faire pour cette réalisation. Après quelques croquis et la réalisation d'un fichier sur mon logiciel de dessin vectoriel préféré, j'ai d'abord réalisé un premier prototype en carton. Cela permet de rapidement voir ce qui peut fonctionner ou pas et de ne pas gâcher du bois inutilement. Un fichier est très rarement parfait du premier coup (ni du second !).  +
Pour assembler les modules je te conseille de regarder les notices PDF. Tu trouveras une numérotation des pièces et la façon de les assembler correctement (ainsi que quelques astuces).  +, Plus qu'à remplir de plein de chocolat ! Mamma mia ! Here we go !  +, Cette étape est valable si tu pars de zéro comme j'ai pu le faire pour cette réalisation. Après quelques croquis et la réalisation d'un fichier sur mon logiciel de dessin vectoriel préféré, j'ai d'abord réalisé un premier prototype en carton. Cela permet de rapidement voir ce qui peut fonctionner ou pas et de ne pas gâcher du bois inutilement. Un fichier est très rarement parfait du premier coup (ni du second !).  +,
A
Placer l'aiguille des heures sur son canon puis enfiler le second cadran et venir le fixer dans le support. Ainsi, l'aiguille des heures se retrouve entre les deux cadrans arrières. Procédez de même pour l'aiguille des minutes et le dernier cadran.  +, Ne pas oublier de mettre la pile dans le mouvement et de mettre ce dernier à l'heure. Il ne reste plus qu'à trouver un joli espace (sur un bureau, une commode ou une étagère) pour accueillir la petite pendule.  +, Peindre les aiguilles avec la peinture souhaitée pour qu'elles ressortent au travers des différents motifs.  +,
* Type d'agrafeuse : Manuelle * Méthode d'agrafage : à plat * Capacité d'agrafage (feuilles) : 170 feuilles * Capacité d'agrafage (mm) : 16 mm * Type d'agrafes : 23/8, 23/10, 23/13, 23/15, 23/17, 23/20 * Capacité de chargement : 100 agrafes * Profondeur de la marge : jusqu'à 250 mm   +, Cette '''agrafeuse''' accepte des agrafes de différentes tailles, selon l'épaisseur des documents à agrafer : * Agrafes 23/8, pour agrafer de 2 à 5 mm, soit de 20 à à 50 feuilles * [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafes+23/10+super Agrafes 23/10 SUPER], pour agrafer de 4 à 7 mm, soit de 40 à 70 feuilles * [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafes+23/13+super Agrafes 23/13 SUPER], pour agrafer de 7 à 10 mm, soit de [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafeuse+long+bras+grande+capacit%C3%A9+70+%C3%A0+100+feuilles 70 à 100 feuilles] * [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafes+23/15+super Agrafes 23/15 SUPER], pour agrafer de 9 à 12 mm, soit de [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafeuse+long+bras+grande+capacit%C3%A9+90+%C3%A0+120+feuilles 90 à 120 feuilles] * [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafes+23/17+super Agrafes 23/17 SUPER], pour agrafer de 11 à 14 mm, soit de [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafeuse+long+bras+grande+capacit%C3%A9+110+%C3%A0+140+feuilles 110 à 140 feuilles] * [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafes+23/20+super Agrafes 23/20 SUPER], pour agrafer de 13 à 16 mm, soit de [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafeuse+long+bras+grande+capacit%C3%A9+130+%C3%A0+170+feuilles 130 à 170 feuilles] En mode [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafeuse+long+bras+grande+capacit%C3%A9+bipass bipass], l'[http://www.pro-agrafeuses.com/agrafeuse-manuelle-novus-b-54-3-blocs-capacite-agrafage-210-feuilles-capacite-chargement-100-agrafes/?___sid=u '''agrafeuse de brochure B54/3 NOVUS'''] nécessite un nombre moins important de tailles d'agrafes pour couvrir les mêmes agrafages : * [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafes+23/10+super Agrafes 23/10 SUPER], pour agrafer de 2 à 7 mm, soit de [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafeuse+long+bras+grande+capacit%C3%A9+20+%C3%A0+70+feuilles 20 à 70 feuilles] * [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafes+23/15+super Agrafes 23/15 SUPER], pour agrafer de 7 à 12 mm, soit de [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafeuse+long+bras+grande+capacit%C3%A9+70+%C3%A0+120+feuilles 70 à 120 feuilles] * [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafes+23/20+super Agrafes 23/20 SUPER], pour agrafer de 12 à 16 mm, soit de [http://www.pro-agrafeuses.com/catalogsearch/result/?q=agrafeuse+long+bras+grande+capacit%C3%A9+120+%C3%A0+170+feuilles 120 à 170 feuilles]  , La hauteur des ailes de l'agrafe est de 6 mm. 10 feuilles à agrafer correspondent à 1 mm. Si mon document fait 30 feuilles alors la hauteur des ailes devra être de 6 mm : 3 mm de feuilles + 3 mm pour recourber les ailes de l'agrafe (Pour un agrafage optimal, il est nécessaire d'ajouter 3 ou 4 mm à l'épaisseur du document à agrafer). Dans cet exemple, les agrafes 24/6 sont parfaitement adaptées !  +
# Take your time and look at the schematic. Start with + and run through the different ways till you end back to - pole # The second image shows you the pins you are going to use # Go and mark all pins on your board   +, # Take each basic component and put it onto the marked place (You might need to use some tape to hold the elements in place) # Check, if + of LED is on the shown side # Solder each part on the board...DO NOT CUT THE LEGS, WE NEED IT!!! # Bend the legs like it is shown in the second image <br/>   +, # Cut the overlapping part of the leg shown in the picture # Bend the piece like an wide U, and put it into the place at the potentiomenter # Solder the U to bridge the channels   +,
# Take your time and look at the schematic. Start with + and run through the different ways till you end back to - pole # The second image shows you the pins you are going to use # Go and mark all pins on your board   +, # Take each basic component and put it onto the marked place (You might need to use some tape to hold the elements in place) # Check, if + of LED is on the shown side # Solder each part on the board...DO NOT CUT THE LEGS, WE NEED IT!!! # Bend the legs like it is shown in the second image <br/>   +, # Cut the overlapping part of the leg shown in the picture # Bend the piece like an wide U, and put it into the place at the potentiomenter # Solder the U to bridge the channels   +,
You must check out [https://www.pcbway.com/ PCBWAY f]or ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY t]o get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.  +, '''AWS IoT''' is an application that can be accessed through different methods - Device SDKs, Command Line Interface (CLI), Application Programming Interface (API), or Console (Dashboard). fig 2: AWS Console In our case, we shall be using the '''AWS Console''' for a visual representation which is a better way to use an IoT Cloud Platform for connecting with the device. The 👨💻 Console has a message broker that allows the devices and clients that use MQTT and MQTT over WSS protocols to publish and subscribe to messages. It also supports devices and clients that use the HTTPS protocol to publish messages. Before we continue further, let us understand the concept of MQTT which shall be used as a communication protocol in this application.  +, It is a '''publish/subscribe''' protocol for '''machine-to-machine''' communication. This simple protocol, is easy to implement for any client. Termed as the '''Pub''' and '''Sub,''' both are used for same purpose but different method. Above we can see there are 2 sections (left & right) - '''Publish and Subscribe'''. And then there is a middleman - '''Broker'''. IoT Devices play the role to collect sensor data and send to the cloud (broker). While '''PC/Server/Mobile devices''' play the role to monitor and receive the sensor data to be viewed - Here, '''IoT Device''' is a '''Publisher''', and '''PC Devices''' are a '''Subscriber'''.<blockquote>[EXAMPLE] When a '''user1''' publishes an image on social media, then only the '''user2''' subscribed to '''user1''' can view/receive the image. Here, the '''user1''' is the '''PUBLISHER''', '''user2''' is the '''SUBSCRIBER''', and the '''user1's account''' is the '''BROKER'''.</blockquote>According to the above analogy, the image that is published is the data, that was '''transferred from user1 to user2''' 📤. And that is the exact scenario in an MQTT Pub/Sub model. We have a more secure layer 🔒 to make sure the data is sha'''red through a specific path, we ca'''ll that 'topic', Whe'''n''' user1 publishes data on topic, the subscriber automatically receives if already connected to the broker. Hen'''ce''', the LOW latency.  +,
Visser les accoudoirs sur la structure du fauteuil.  +, Ça méritait bien un peu d'huile de coude, non ?  +, Un fauteuil, c'est fait pour être con-for-table. Celui-ci attendait bien sagement ses accoudoirs quand je l'ai récupéré.  +,
Visser les accoudoirs sur la structure du fauteuil.  +, Ça méritait bien un peu d'huile de coude, non ?  +, Un fauteuil, c'est fait pour être con-for-table. Celui-ci attendait bien sagement ses accoudoirs quand je l'ai récupéré.  +,
Ce premier atelier est une introduction à l'utilisation d'un ordinateur et d'une machine à commande numérique. La première étape est de commencer par un dessin simple du contour de la main afin de pouvoir transférer cette photo sur l'ordinateur et pouvoir ainsi la modifier sur un logiciel et l'envoyer sur le plotter de découpe. On explique toutes les étapes qu'il faut connaître pour le transfert d'images, sauvegarde sur le cloud, modification d'images, etc... A la fin de la séance, on montre un exemple de stickers à partir de leur dessin.  +, Le deuxième atelier commence par une révision des connaissances acquises lors du dernier cours. On continue avec des dessins collectifs sous forme de jeux tel que le cadavre exquis. Il est possible de faire avancer les personnes sur des dessins individuels avec des petits exercices (sans levée le stylo, dessins de la main gauche, dessin à l'aveugle) sur des petites sessions de 30 secondes. Refaire des photos et des transferts de dessin.  +, Cette séance a pour but de faire travailler collectivement tout en abordant l'utilisation de la machine (le plotter de découpe), afin de créer un premier essai de stickers à partir des dessins de la dernière séance.  +,
[https://www.youtube.com/watch?v=N4z2Y4gvmio Youtube Test Video]  +
Enlever le module bluetooth avant de charger le programme dans la carte Arduino et le remettre juste après sinon il y a des problèmes de communication entre l’ordinateur et la carte Arduino. Pour récupérer la température sur son portable Android, installer l’application Bluetooth Terminal (de Qwerty il me semble). Une fois connecté, l’envoi de la lettre A permet de récupérer la température sur le téléphone. Des bouts de code ont été récupérés sur le web. [http://monespabidou.fr/2016/08/affichage-de-la-temperature-sur-un-afficheur-lcd-et-sur-un-appareil-android/ Code à récupérer ici.]  +
Enlever le module bluetooth avant de charger le programme dans la carte Arduino et le remettre juste après sinon il y a des problèmes de communication entre l’ordinateur et la carte Arduino. Pour récupérer la température sur son portable Android, installer l’application Bluetooth Terminal (de Qwerty il me semble). Une fois connecté, l’envoi de la lettre A permet de récupérer la température sur le téléphone. Des bouts de code ont été récupérés sur le web. [http://monespabidou.fr/2016/08/affichage-de-la-temperature-sur-un-afficheur-lcd-et-sur-un-appareil-android/ Code à récupérer ici.]  +
Le Makey-makey va nous permettre de transformer notre affiche en “clavier”. Les “touches” de notre affiche seront reliées au Makey makey et permettront de déclencher des évènements (son, lumière, affichage écran…). Pour cet exemple nous choisissons de travailler uniquement avec les touches haut, bas, droite, gauche. Ici elles ne serviront pas à se déplacer mais à déclencher un évènement. Pour que l'évènement puisse se déclencher il faut être en contact à la fois avec la “terre” (ground ou masse) et la touche utilisée (par exemple la touche haut, droite, bas ou gauche…).  +, Réaliser un code sur le logiciel scratch pour mettre en place l'interaction.   +, Une fois le code réaliser : • Prendre le makey-makey le brancher sur la prise universelle et l'usb de l'ordinateur • Brancher une pince crocodile sur votre bande de cuivre terre • En branche une autre sur votre "touche" "Flèche haut" et faite de même pour la touche "flèche bas"  +,
Vous pouvez essayer de faire fonctionner l'écran avec les '''exemples disponibles''' dans tft_eSPI ou '''utiliser mon code''' pour afficher une image.  +, Dans mon code (https://github.com/maditnerd/st7789_bitmap), l'image est sauvegardée dans '''bitmap.h'''. Pour pouvoir afficher une image, Il nous faut la '''convertir en code''' et le '''copier''' dans un '''tableau.''' Pour cela, nous allons utiliser '''LCD image converter''', vous pouvez trouver ce programme ici: https://sourceforge.net/projects/lcd-image-converter/ *'''Redimensionner''' l'image à la taille de votre écran (240x240) *Cliquer sur '''New Image''' *Aller sur '''Image / Import''' et sélectionner votre image *Aller dans '''Options / Conversion''' *Choisissez le '''Preset''' : '''Color R5G6B5''' *Aller dans l'onglet '''Image''' *Changer '''Block Size''' à '''16bit''' *Cliquer sur '''Show Preview''' *Copier le code *Copier-coller le '''dans le tableau''' <code>const uint16_t mercy [] PROGMEM = {// --> PASTE HERE}; </code> Et voilà, téléverser le code et vous devriez voir l'image s'affichait sur l'écran. Note: Il y a un exemple dans TFT_eSPI pour décoder des fichiers JPEG ('''128x128/TFT_flash_jpg'''), l'affichage est plus lent, mais cela permet de ne pas avoir à faire de conversion.<br/>  +, Vous pouvez trouver les fichiers STL ici : https://www.thingiverse.com/thing:3509423 ''Merci à Olivier Sarrailh pour le boitier''. *Afin de réduire au plus la taille, j'ai retiré les broches de l'écran. *Je l'ai est remplacé par du '''Wrapping Cable 30 AWG''' *Après ça j'ai soudé l'écran à mon clone de wemos mini pro *Ensuite, j'ai ajouté du '''ruban électrique''' pour éviter les '''courts-circuits''' *Pour finir, j'ai '''imprimé le boitier'''  +,
Vous pouvez essayer de faire fonctionner l'écran avec les '''exemples disponibles''' dans tft_eSPI ou '''utiliser mon code''' pour afficher une image.  +, Dans mon code (https://github.com/maditnerd/st7789_bitmap), l'image est sauvegardée dans '''bitmap.h'''. Pour pouvoir afficher une image, Il nous faut la '''convertir en code''' et le '''copier''' dans un '''tableau.''' Pour cela, nous allons utiliser '''LCD image converter''', vous pouvez trouver ce programme ici: https://sourceforge.net/projects/lcd-image-converter/ *'''Redimensionner''' l'image à la taille de votre écran (240x240) *Cliquer sur '''New Image''' *Aller sur '''Image / Import''' et sélectionner votre image *Aller dans '''Options / Conversion''' *Choisissez le '''Preset''' : '''Color R5G6B5''' *Aller dans l'onglet '''Image''' *Changer '''Block Size''' à '''16bit''' *Cliquer sur '''Show Preview''' *Copier le code *Copier-coller le '''dans le tableau''' <code>const uint16_t mercy [] PROGMEM = {// --> PASTE HERE}; </code> Et voilà, téléverser le code et vous devriez voir l'image s'affichait sur l'écran. Note: Il y a un exemple dans TFT_eSPI pour décoder des fichiers JPEG ('''128x128/TFT_flash_jpg'''), l'affichage est plus lent, mais cela permet de ne pas avoir à faire de conversion.<br/>  +, Vous pouvez trouver les fichiers STL ici : https://www.thingiverse.com/thing:3509423 ''Merci à Olivier Sarrailh pour le boitier''. *Afin de réduire au plus la taille, j'ai retiré les broches de l'écran. *Je l'ai est remplacé par du '''Wrapping Cable 30 AWG''' *Après ça j'ai soudé l'écran à mon clone de wemos mini pro *Ensuite, j'ai ajouté du '''ruban électrique''' pour éviter les '''courts-circuits''' *Pour finir, j'ai '''imprimé le boitier'''  +,
Maintenant que vous avez tout les éléments en main vous allez pouvoir assembler le boîtier avec ses capteurs. Pour se faire suivez les croquis et photos explicatifs.  +, Attention, avant de commencer à câbler ! Étant donné que la arduino n’a qu’une sortie +5v, vous allez devoir fabriquer des câbles Y qui vont permettre d’alimenter les deux composants avec une seule pin 5v. Pour cela munissez vous de 3 jumpers femelle-femelle pour réaliser 2 "Y" et suivez les photos. Une fois les Y formés, faites un point de soudure pour fixer les fils. Puis, pour finir, munissez-vous d'un rouleau de chatterton pour isoler les soudures (attention aux court-circuits, qui dans un espace aussi réduit seront inévitable)  +, ... en faisant bien attention aux câbles.  +,
تُعد شركة تنظيف مكيفات بالدمام من الشركات الرائدة في مجال تنظيف وصيانة جميع أنواع المكيفات، بما في ذلك سبليت والشباك، والوحدات المركزية، والمكيفات المخفية. تأسست شركتنا منذ سنوات عديدة، ونمتلك خبرة واسعة في هذا المجال، مما يجعلنا الخيار الأمثل لضمان كفاءة وأداء مكيفاتك.  +
'''مؤسسة بديل الرخام الشرقية:''' رحلتنا مع الإبداع في عالم الديكورات لا تنتهي، حيث نقدم لكم حلولًا عصرية وفريدة من نوعها باستخدام بديل الرخام. يضم '''<u>مبلط سيراميك بالدمام</u>''' فريقنا نخبة من الخبراء والمصممين المبدعين الذين يمتلكون خبرة واسعة في تصميم وتركيب بديل الرخام بأحدث التقنيات ودقة متناهية.  +
'''مقاولات'''  +
<nowiki>Téléchargez ce fichier:<div class="mw-highlight mw-content-ltr" dir="ltr"><pre>pieces.svg</pre></div>Si vous avez une découpe laser, vous pouvez passer a l'étape suivante.<br /><br />En revanche, si vous disposé d'une imprimante:<br /><br />Vous pouvez choisir la taille que vous voulez, en imprimant celle ci en A3 par exemple, ou en modifiant le fichier directement.<div class="icon-instructions info-icon"><br /><div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div><br /><div class="icon-instructions-text">Prenez en compte la taille du bois requise pour ce projet</div><br /></div></nowiki>  +, ====Découpe laser==== Si vous possédé une découpe laser, vous aurez alors juste a lancer le découpage via votre logiciel prévue pour (a imprimer 2x fois).<br/> <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">N'oubliez pas de prendre les mesures de la planche, et de bien paramètrer la machine !</div> </div> ====Découpe a la scie==== Une fois vos formes imprimées, vous pouvez les disposer sur la planche en bois, et une fois que la disposition vous plait, les coller a l'aide d'une colle simple (UHU). Vous découperez ensuite les formes en suivant les lignes.  +, Si vous n'avez pas de tube (PVC, bois, carton '''solide'''), vous pouvez découper un rectangle dans le bois, et poncer les bords afin de l'arrondire. Vous pouvez maintenant noter le diamètre de celui ci sur le coté. Saisissez 2 socles (héxagones), et tracer des lignes partant de chaque point vers le point opposé. ===='''Si votre manche est creux:'''==== Avec votre compas, faites un cercle avec un diamètre similaire a celui du manche (rayon/2). Creuser avec scie en cloche de diamètre similaire au manche ou inferieur, et faites les finitions a la lime si besoin. ===='''A l'inverse:'''==== Faites un pré trou a partir du centre, puis visser avec une visse de taille adéquates les deux partie ensemble. Répetez cette action pour le deuxième socle pour la prochaine étape.  +,
Amazon Music Autoplay is a feature designed to keep the music playing continuously, providing an uninterrupted listening experience. With autoplay enabled, Amazon Music will automatically queue up and play similar songs, albums, or playlists once your current track or playlist ends. This feature aims to keep the music going without requiring you to manually select the next song, making it perfect for parties, road trips, or background music during work or chores.  +, Enabling autoplay on Amazon Music is straightforward. Follow these steps: '''Open the Amazon Music App:''' Launch the Amazon Music app on your preferred device, whether it's your smartphone, tablet, or computer. '''Log In:''' Ensure you're logged in to your Amazon Music account. '''Start Playing Music:''' Begin playing a song, album, or playlist of your choice. '''Autoplay Activation:''' Once your current music selection concludes, Amazon Music will automatically start playing a song that is related to your previous choice. This is achieved through algorithms that analyze your listening habits, genre preferences, and the mood of the music you've been enjoying. '''Customization:''' You can customize your autoplay settings by going to the app's settings. Here, you can toggle autoplay on or off, adjust the transition time between songs, and even specify whether you want explicit content to be included or excluded from autoplay selections.  +, '''Seamless Listening:''' Autoplay ensures there are no awkward gaps or pauses in your music, providing a continuous and enjoyable listening experience. '''Discover New Music:''' Autoplay introduces you to new tracks and artists based on your musical tastes, helping you discover music you might not have come across otherwise. '''Perfect for Parties:''' Whether you're hosting a party or just want background music during a gathering, autoplay keeps the music going without interruption. '''Hands-Free Convenience:''' With autoplay active, you can enjoy your music without needing to reach for your device to select the next song continually.  +,
Découper et graver les pièces de PMMA Découpe : Puissance : 100_ Vitesse : 0.3 Gravure : Puissance : 55_ Vitesse : 100 1000 Dpi  +, Emboîter de force les aimants dans les trous correspondant (faire attention au sens d’attraction des aimants) Assembler les pièces ensembles à l’aide des barres, suivant les numéros correspondants : A 1 2 3 4 5 6 7 B 8 9 10 11 12 13 L’objet se compose en deux parties.  +
Découper et graver les pièces de PMMA Découpe : Puissance : 100_ Vitesse : 0.3 Gravure : Puissance : 55_ Vitesse : 100 1000 Dpi  +, Emboîter de force les aimants dans les trous correspondant (faire attention au sens d’attraction des aimants) Assembler les pièces ensembles à l’aide des barres, suivant les numéros correspondants : A 1 2 3 4 5 6 7 B 8 9 10 11 12 13 L’objet se compose en deux parties.  +
You will need to draw 10 pulleys in total. To draw the pulleys, just place them on the board and draw their contour. Place de pulleys marked with “1” at 2cm from the sides of the board, and 5cm from the bottom of the board (the bottom of the board is the longest side).  +, Use 3 bolts in total for the small pulleys (the blue ones) and 5 bolts plus 2 washers for the big pulleys (the control pulleys -in red)  +, Watch[https://www.youtube.com/watch?v=4AfN5Bm2BRc <u> this</u>] video to learn how You can also watch [https://www.youtube.com/watch?v=hq3Et9gOISI&t=116s <u>this</u>] video if you struggle with the wiring. Use a piece of cardboard to place two wooden skewers at 90° angles with respect to one another. The skewers need to be long enough to reach the nylon wire on the top bottom left and right of the pad. Alternatively, you can use straws to accomplish this step.  +,
You will need to draw 10 pulleys in total. To draw the pulleys, just place them on the board and draw their contour. Place de pulleys marked with “1” at 2cm from the sides of the board, and 5cm from the bottom of the board (the bottom of the board is the longest side).  +, Use 3 bolts in total for the small pulleys (the blue ones) and 5 bolts plus 2 washers for the big pulleys (the control pulleys -in red)  +, Watch[https://www.youtube.com/watch?v=4AfN5Bm2BRc <u> this</u>] video to learn how You can also watch [https://www.youtube.com/watch?v=hq3Et9gOISI&t=116s <u>this</u>] video if you struggle with the wiring. Use a piece of cardboard to place two wooden skewers at 90° angles with respect to one another. The skewers need to be long enough to reach the nylon wire on the top bottom left and right of the pad. Alternatively, you can use straws to accomplish this step.  +,
<br/> <table class="wikitable"> <tr> <th>Matériel </th><th>Liens </th><th>Prix </th></tr><tr> <td>Capteur d'analyse de qualité d'air </td><td>[https://www.gotronic.fr/art-capteur-de-qualite-d-air-grove-101020078-23838.htm Grove – Air quality sensor] </td><td>8,70€ </td></tr><tr> <td>Capteur de poussière </td><td>[https://www.gotronic.fr/art-detecteur-de-poussiere-grove-101020012-18980.htm Grove - Dust Sensor] </td><td>13,25€ </td></tr><tr> <td>Capteur température- humidité </td><td>[https://www.gotronic.fr/art-capteur-d-humidite-et-de-t-grove-101020019-18964.htm Grove - Temperature&Humidity Sensor Pro(DHT22)] </td><td>11,40€ </td></tr><tr> <td>Interface Arduino-capteurs </td><td>[https://www.gotronic.fr/art-module-grove-base-shield-103030000-19068.htm Grove Base Shield] </td><td>4,80€ </td></tr><tr> <td>Ecran </td><td>[https://nextion.tech/datasheets/nx4832k035/ Nextion NX4832K035] </td><td>34,85€ </td></tr><tr> <td>Câble 4 contacts </td><td>[https://www.gotronic.fr/art-lot-de-5-cables-grove-20-cm-19054.htm Câble Grove 4 contacts] </td><td>3,20 </td></tr><tr> <td>Jumper </td><td>[https://www.kubii.fr/site-entier/1593-fils-jumper-male-femelle-200mm-40-fils-kubii-3272496003989.html?search_query=jumper&results=24 Câble Jumper Mâle/Femelle] </td><td>2,90€ </td></tr><tr> <td>Panneau de bois </td><td>[https://www.leroymerlin.fr/produits/menuiserie/panneau-bois-tablette-etagere-tasseau-moulure-et-plinthe/panneau-bois-agglomere-mdf/panneau-bois-recoupable/panneau-medium-mdf-naturel-ep-3-mm-x-l-244-x-l-122-cm-67458552.html Panneau MDF 3mm] </td><td>4,32€ </td></tr></table>  +, ====='''Grove – Air quality sensor''' V1.3===== Ce capteur est compatible 5v et 3,3v, il est relié sur une entrée analogique et va donner une valeur entre 0 et 700. La librairie constructeur interprète la mesure du capteur et nous renvoie 4 états de 0 à 3 : Etat 0 : Mesure au dessus de 700  « Pollution alert » Etat 1 : Mesure au dessus de 400  « High pollution » Etat 2 : Mesure au dessus de 200  « Low pollution» Etat 3 : Mesure en dessous de 200  « Air fresh»<br/> S’il n’est pas possible d’afficher dans le détail les mesures pour chaque gaz, ce capteur Grove offre des données qualitatives en indiquant le niveau de qualité d’air. Et ainsi nous permet de savoir '''le degré de pollution global dégagé''' par les principaux composants de notre intérieur. Plus d'infos sur le [https://wiki.seeedstudio.com/Grove-Air_Quality_Sensor_v1.3/ Wiki] du constructeur. <br/> ====='''Grove - Dust Sensor'''===== Ce capteur permet de mesurer la '''quantité de particules de poussière''' de plus de 1 µm présentes dans l'air. Le signal de sortie est à modulation de largeur d'impulsion. Il fonctionne en 5V, il est relié sur une entrée numérique. Le taux de particules de poussière ou PM (acronyme de Particulate Matter en anglais) dans l'air est mesuré en comptant le temps du niveau bas de faible impulsion (temps LPO) dans une unité de temps donnée. Le temps LPO est proportionnel à la concentration de poussière. Il va nous donner une mesure entre '''0 et 8000''' pcs/0.01cf (1/100 de pied cube). Sachant qu'un air correct se situe en dessous de 1000, et que lors d'un pic de pollution à Paris le taux peut monter jusqu'à 7000. J'ai donc choisi pour mon programme de découper les ranges comme suit : Range 1 : Air correct entre 0 et 1000 Range 2 : Aérer pièce entre 1000 et 2000 Range 3 : Alerte pollution au dessus de 2000 J'ai volontairement paramétré les ranges pour que le capteur soit sensible. Cependant, les ranges peuvent être modifiés dans le programme pour être adaptés à chaque situation. Plus d'infos sur le [https://wiki.seeedstudio.com/Grove-Dust_Sensor/ Wiki] du constructeur. <br/> ====='''Grove Temp & Humi Sensor Pro'''===== Il fonctionne en 5 V. Il est relié à une entrée numérique. Ce capteur va mesurer '''la température et le taux d’humidité''' avec une précision de ±0.5°C pour la température, et ±2% pour l’humidité. Deux données importantes pour la qualité de vie l’intérieur. La température idéale reconnue par tous les spécialistes se situe pour une pièce à vivre entre 20°C et 21°C. Le taux d'humidité optimal se situe entre 40% et 50%. Plus d'infos sur le [https://wiki.seeedstudio.com/Grove-Temperature_and_Humidity_Sensor_Pro/ Wiki] du constructeur. <br/> ====='''Grove Base Shield'''===== Le module Grove Base Shield de Seeedstudio est une carte d''''interface''' permettant de raccorder facilement, rapidement et sans soudure les capteurs et les actionneurs '''Grove''' de Seeedstudio sur une carte compatible '''Arduino'''. Ce module vient s'enficher sur l'Arduino et ajoute des fiches supplémentaires qui vont permettre de connecter les capteurs. On conserve l'ensemble des input/output de l'Arduino qui sont répliquées sur le module. Le gros avantage également et d'avoir pour chaque fiche un + et un gnd qui d'habitude manquent rapidement. Plus d'infos sur le [https://wiki.seeedstudio.com/Base_Shield_V2/ Wiki] du constructeur.  , Le projet VigiAir va nous permettre, de manière simple et à faible coût, de fabriquer un analyseur d'air ambiant. Grâce à ses capteurs performants, on va pouvoir analyser les principaux facteurs qui influencent la qualité de l’air de nos habitations : le taux de polluant dégagé par nos produits ménagés, nos peintures ou nos meubles. Le taux de particules fines : diesel, fumés, poussières diverses. Le taux d’humidité et la température. VigiAir va nous indiquer lorsqu'il devient nécessaire d'aérer une pièce. Il permet une analyse complémentaire et plus fine qu'une simple analyse de CO2.  +,
Préparer des [https://www.thingiverse.com/thing:3524957 <u>impressions de minecraft </u>]et des supports de téléphone banc titre  +, Introduire le fonctionnement d’une imprimante 3D, faire une démo lancer une impression et montrer un [https://www.youtube.com/watch?v=-KPUaTQo4-M&t=206s <u>exemple de stop motion d’animation</u>] montrer le fonctionnement de l’application  +, Exporter votre montage par mail <u>[[Mailto:votremail|Votremail,]]</u> faire une projection collective et cérémonie des oscars, demander une note de 1 à 5 sur l’atelier et ce qui faut modifier. Autoévaluation  +,
'''... Jusqu'à ce que ça marche...''' Ou qu'on abandonne (à un moment, il faut)  +, * Comment ça s'est passé ? * La météo de l'humeur de chacun * Les réussites, * Les échecs, * Les frustrations * Ce qu'on a appris / confirmé / maitrisé. '''C'est la Fin !'''   +, '''Tout ça, faut que ça marche ensemble...''' <br/> *Aller voir les copains *Piquer des idées *Mutualiser du matériel *Pensez à plusieurs pôles ? *Dire les problèmes, pas les planquer...  +,
utiliser les fichiers STL https://gitlab.com/norbertwalter67/Windsensor_WiFi_1000/-/tree/master/CAD-Files/3D-Parts/STL?ref_type=heads  +, ESP 8266-12E(attention bien prendre la même référence) avant d'effectuer le câblage il faut programmer le circuit ESP 8266-12E Ce procurer un boitier de programmation d'ESP (12€) Josenidny ESP8266 Carte de Développements de Brûleur de Cadre de Test Prise en Charge Module Wifi pour ESP-12F ESP-07S ESP-12E ESP-01S ESP12S <span class="edp-feature-declaration" data-edp-feature-name="title" data-edp-asin="B0BHYNKVD5" data-data-hash="1882912644" data-defects="[{"id":"defect-mismatch-info","value":"Different du produit"},{"id":"defect-missing-information","value":"Informations manquantes"},{"id":"defect-unessential-info","value":"Informations non indispensables incluses"},{"id":"defect-incorrect-information","value":"Information incorrecte"},{"id":"defect-other-productinfo-issue","value":"Autre question de I\u2019information du produit"}]" data-metadata="CATALOG" data-feature-container-id="productTitle" data-custom-event-handler="productTitleEDPCustomEventHandler" data-display-name="Nom du produit" data-edit-data-state="productTitleEDPEditData" data-position="1" data-resolver="CQResolver"></span>Télécharger le programme '''firmware_V1.18.wsb''' avec l'utilitaire '''ESP-Flasher-x86.exe''' dans l'ESP 8266-12E attention de bien faire reset (RST)et ensuite maintenir le bouton programme (PROG)pendant la programme <br/>  +, attention le câblage est un montage de surface il faut utiliser la pâte adapter pour ce type de soudure attention basculer le capteur IC2 vers le haut (parallèle à la plaque Utiliser la liste des composants et le plan de câblage Composants électronique sonde effet hall (Hal501 n'est plus fabriqué, remplacé par le HAL 5001) attention une erreur sur la doc le capteur effet hall de direction indiqué SM541R est en fait SMR451 <br/>  +,
You must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.  +, <nowiki>First, we need to build our controller. We already know how to get the MAC address of our receiver node. Use the sketch below to get the MAC Address of the receiver.<div class="mw-highlight mw-content-ltr" dir="ltr"><pre>#include "WiFi.h"<br /> <br />void setup(){<br /> Serial.begin(115200);<br /> WiFi.mode(WIFI_MODE_STA);<br /> Serial.println(WiFi.macAddress());<br />}<br /> <br />void loop(){<br />}</pre></div>Just upload this Arduino sketch to the transmitter node, and make sure that you have modified the MAC address in the sketch.<div class="mw-highlight mw-content-ltr" dir="ltr"><pre>#include <esp_now.h><br />#include <WiFi.h><br />//----------------------------------------Defines PIN Button and PIN LED.<br />#define LED_Pin 4<br />#define BTN_Pin 15<br />//----------------------------------------<br />int BTN_State; //--> Variable to hold the button state.<br /><br />uint8_t broadcastAddress[] = {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}; <br />int LED_State_Send = 0; <br />int LED_State_Receive; <br /><br />String success; <br />//Must match the receiver structure<br />typedef struct struct_message {<br /> int led;<br />} struct_message_send;<br /><br />struct_message send_Data; // Create a struct_message to send data.<br />struct_message receive_Data; // Create a struct_message to receive data.<br /><br />//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Callback when data is sent<br />void OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) {<br /> Serial.print("\r\nLast Packet Send Status:\t");<br /> Serial.println(status == ESP_NOW_SEND_SUCCESS ? "Delivery Success" : "Delivery Fail");<br /> if (status ==0){<br /> success = "Delivery Success :)";<br /> }<br /> else{<br /> success = "Delivery Fail :(";<br /> }<br /> Serial.println(">>>>>");<br />}<br /><br />//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Callback when data is received<br />void OnDataRecv(const uint8_t * mac, const uint8_t *incomingData, int len) {<br /> memcpy(&receive_Data, incomingData, sizeof(receive_Data));<br /> Serial.println();<br /> Serial.println("<<<<< Receive Data:");<br /> Serial.print("Bytes received: ");<br /> Serial.println(len);<br /> LED_State_Receive = receive_Data.led;<br /> Serial.print("Receive Data: ");<br /> Serial.println(LED_State_Receive);<br /> Serial.println("<<<<<");<br /><br /> digitalWrite(LED_Pin, LED_State_Receive);<br />}<br /><br />//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /><br />void setup() {<br /> Serial.begin(115200);<br /><br /> pinMode(LED_Pin, OUTPUT);<br /> pinMode(BTN_Pin, INPUT);<br /> <br /> WiFi.mode(WIFI_STA); //--> Set device as a Wi-Fi Station<br /><br /> //----------------------------------------Init ESP-NOW<br /> if (esp_now_init() != ESP_OK) {<br /> Serial.println("Error initializing ESP-NOW");<br /> return;<br /> }<br /><br /> //--------------------------------------<br /> // get the status of Trasnmitted packet<br /> esp_now_register_send_cb(OnDataSent);<br /> <br /> //----------------------------------------Register peer<br /> esp_now_peer_info_t peerInfo;<br /> memcpy(peerInfo.peer_addr, broadcastAddress, 6);<br /> peerInfo.channel = 0; <br /> peerInfo.encrypt = false<br /> <br /> //----------------------------------------Add peer <br /> if (esp_now_add_peer(&peerInfo) != ESP_OK){<br /> Serial.println("Failed to add peer");<br /> return;<br /> }<br /> //----------------------------------------<br /> <br /> esp_now_register_recv_cb(OnDataRecv); //--> Register for a callback function that will be called when data is received<br />}<br />//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />void loop() {<br /> BTN_State = digitalRead(BTN_Pin); //--> Reads and holds button states.<br /> <br /> //----------------------------------------When the button is pressed it will send data to control the LED on the ESP32 Target.<br /> if(BTN_State == 1) {<br /> LED_State_Send = !LED_State_Send;<br /> send_Data.led = LED_State_Send;<br /><br /> Serial.println();<br /> Serial.print(">>>>> ");<br /> Serial.println("Send data");<br /> <br /> //----------------------------------------Send message via ESP-NOW<br /> esp_err_t result = esp_now_send(broadcastAddress, (uint8_t *) &send_Data, sizeof(send_Data));<br /> <br /> if (result == ESP_OK) {<br /> Serial.println("Sent with success");<br /> }<br /> else {<br /> Serial.println("Error sending the data");<br /> }<br /> <br /> //----------------------------------------Wait for the button to be released. Release the button first to send the next data.<br /> while(BTN_State == 1) {<br /> BTN_State = digitalRead(BTN_Pin);<br /> delay(10);<br /> }<br /> }<br />}</pre></div><br/></nowiki>  , <nowiki>We have already built our transmitter; next, we need to set up our receiver node. Just upload the below Arduino sketch to build a receiver to get data from the transmitter and based on the input data it will glow the led.<div class="mw-highlight mw-content-ltr" dir="ltr"><pre>#include <esp_now.h><br />#include <WiFi.h><br />//----------------------------------------Defines PIN Button and PIN LED.<br />#define LED_Pin 4<br />#define BTN_Pin 15<br />//----------------------------------------<br /><br />int BTN_State; //--> Variable to hold the button state.<br /><br />uint8_t broadcastAddress[] = {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}; //--> REPLACE WITH THE MAC Address of your transmitter. ESP32 A<br /><br />int LED_State_Send = 0; //--> Variable to hold the data to be transmitted to control the LEDs on the paired ESP32.<br /><br />int LED_State_Receive; //--> Variable to receive data to control the LEDs on the ESP32 running this code.<br /><br />String success; //--> Variable to store if sending data was successful<br /><br />//----------------------------------------Structure example to send data<br />//Must match the receiver structure<br />typedef struct struct_message {<br /> int led;<br />} struct_message_send;<br /><br />struct_message send_Data; // Create a struct_message to send data.<br /><br />struct_message receive_Data; // Create a struct_message to receive data.<br />//----------------------------------------<br />void OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) {<br /> Serial.print("\r\nLast Packet Send Status:\t");<br /> Serial.println(status == ESP_NOW_SEND_SUCCESS ? "Delivery Success" : "Delivery Fail");<br /> if (status ==0){<br /> success = "Delivery Success :)";<br /> }<br /> else{<br /> success = "Delivery Fail :(";<br /> }<br /> Serial.println(">>>>>");<br />}<br />//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />void OnDataRecv(const uint8_t * mac, const uint8_t *incomingData, int len) {<br /> memcpy(&receive_Data, incomingData, sizeof(receive_Data));<br /> Serial.println();<br /> Serial.println("<<<<< Receive Data:");<br /> Serial.print("Bytes received: ");<br /> Serial.println(len);<br /> LED_State_Receive = receive_Data.led;<br /> Serial.print("Receive Data: ");<br /> Serial.println(LED_State_Receive);<br /> Serial.println("<<<<<");<br /><br /> digitalWrite(LED_Pin, LED_State_Receive);<br />}<br />//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />void setup() {<br /> Serial.begin(115200);<br /><br /> pinMode(LED_Pin, OUTPUT);<br /> pinMode(BTN_Pin, INPUT);<br /> <br /> WiFi.mode(WIFI_STA); //--> Set device as a Wi-Fi Station<br /><br /> if (esp_now_init() != ESP_OK) {<br /> Serial.println("Error initializing ESP-NOW");<br /> return;<br /> }<br /> //----------------------------------------<br /> <br /> // get the status of Trasnmitted packet<br /> esp_now_register_send_cb(OnDataSent);<br /> //----------------------------------------<br /> <br /> esp_now_peer_info_t peerInfo;<br /> memcpy(peerInfo.peer_addr, broadcastAddress, 6);<br /> peerInfo.channel = 0; <br /> peerInfo.encrypt = false;<br /> //----------------------------------------<br /> <br /> //----------------------------------------Add peer <br /> if (esp_now_add_peer(&peerInfo) != ESP_OK){<br /> Serial.println("Failed to add peer");<br /> return;<br /> }<br /> //----------------------------------------<br /> <br />}<br /><br />void loop() {<br /> BTN_State = digitalRead(BTN_Pin); //--> Reads and holds button states.<br /> <br /> //----------------------------------------When the button is pressed it will send data to control the LED on the ESP32 Target.<br /> if(BTN_State == 1) {<br /> LED_State_Send = !LED_State_Send;<br /> send_Data.led = LED_State_Send;<br /><br /> Serial.println();<br /> Serial.print(">>>>> ");<br /> Serial.println("Send data");<br /> <br /> //----------------------------------------Send message via ESP-NOW<br /> esp_err_t result = esp_now_send(broadcastAddress, (uint8_t *) &send_Data, sizeof(send_Data));<br /> <br /> if (result == ESP_OK) {<br /> Serial.println("Sent with success");<br /> }<br /> else {<br /> Serial.println("Error sending the data");<br /> }<br /> //----------------------------------------<br /> <br /> while(BTN_State == 1) {<br /> BTN_State = digitalRead(BTN_Pin);<br /> delay(10);<br /> }<br /> }</pre></div><br/></nowiki>  ,
Privilégier '''un fournisseur qui garantisse un contreplaqué compatible avec une découpe laser.''' (Il parait que certaines colles utilisées pour fabriquer le contreplaqué peuvent être source de problèmes, voire de dangers lors de la découpe.) Je me suis approvisionné jusqu'à présent par l'intermédiaire du Fablab que je fréquente.  +, L'abat jour est constitué de '''31 pièces''' : *29 "lamelles" verticales, toutes différentes *2 "peignes" horizontaux, identiques, dans lesquels s'emboîtent ces lamelles Ces pièces sont réparties dans deux fichiers *.svg Chaque pièce est identifiée par un nombre ou une lettre, qui sont tracés sur le bois par la découpeuse laser.<br/> #Ouvrir le fichier avec un [https://inkscape.org/fr/release/inkscape-1.0.1/ logiciel de dessin vectoriel] pour visualiser les pièces. #S'il manque des pièces ou si rien n'est visible, augmenter l'épaisseur du trait dans votre logiciel, elles devraient apparaître. Dans chaque fichier, visualiser : *les '''coupes''' en '''rouge''', *les '''tracés''' en '''bleu'''. *un '''rectangle rose''' , de format 50 x 45 cm, qui encadre les pièces. Ce rectangle ne sert qu'à redimensionner les pièces rapidement en cas de besoin, et devra être retiré avant la découpe *'''Mes logos''', qui devront être retirés avant la découpe  +, #'''Incorporer''' le premier fichier dans le logiciel de pilotage de la découpeuse laser #'''Redimensionner''' l'ensemble des pièces de manière à ce que le rectangle rose soit au format 50 cm x 45 cm, puis supprimer le rectangle rose et les logos #'''Définir les valeurs de coupe''' pour les chemins rouges, '''et de tracé''' pour les chemins bleus (puissance, vitesse...) #'''Paramétrer la découpeuse laser''' pour qu'elle procède aux tracés ''<u>avant</u>'' d'effectuer les découpes #'''Positionner l'origine''' du faisceau laser sur la plaque de contreplaqué #'''Réaliser un contour test''' pour vous assurer que la découpe se fera bien sur le bois (et pas à côté :-) ) #'''Régler la jauge''' de votre laser #'''Lancer la découpe''' du premier fichier et '''surveiller''' jusqu'au bout #'''Examiner le résultat''' pour procéder à d'éventuels ajustements des valeurs de découpe / tracé #'''Procéder de même''' pour le deuxième fichier Vous devrez définir vos paramètres de coupe et de tracé (vitesse, puissance...) selon la machine que vous allez utiliser. Pour information, les paramètres que j'ai utilisés sont : - Tracé : Puissance Max : 15, Puissance Min : 8, Vitesse : 480 - Coupe : Puissance Max : 60, Puissance Min : 20, Vitesse : 20   +,
Tout d'abord, j'ai choisi sur Wikifab, le tutoriel [[Applique Abat-Jour Mural Volcano]]  +, J'ai ouvert les deux fichiers "Abat-jour mural volcano 01 plaques peignes tranches 1 à 15.svg", "Abat-jour mural volcano 01 plaques tranches 16 à 29.svg". Je les ai modifié en rétrécissant les dimensions car nous n'avions pas de contre-plaqué de 5mm.  +, Pour la découpe, j'ai commencé par faire des tests au niveau des créneaux avec une dimension de 4,2 mm. Pour cela, j'ai divisé la longueur de départ par 5 car c'est ce qui était demandé dans le tutoriel et j'ai multiplié par 4,2 car c'est la dimension que j'ai choisi.  +,
Commencez par découper le fichier "tete_ampoule". Nous avons utilisé une Trotec Speedy 100, 60 Watts, avec les réglages suivants : * puissance : 95 * vitesse : 2 * fréquence : 1000 * 1 passe  +, Posez le premier élément (pièce 1) sur une table. Positionnez les clous dans les trous prévus à cet effet (sauf le trou central, qui est prévu pour la fixation murale). Ne les enfoncez pas entièrement ! Ils vont vous aider à assembler les différents éléments. Retournez le montage et assemblez la partie basse (pièce n°4). Entre deux assemblages, vous pouvez utiliser le marteau pour enfoncer un peu plus les clous, au fur et à mesure (l’idéal est d’utiliser des chutes de contreplaqué comme martyr, pour protéger votre table).  +, Ajoutez maintenant l'élément n°3 puis le n°2. Renouvelez l'opération pour la couche suivante, en intercalant les pièces (n°2 à gauche et 3 à droite) pour améliorer la solidité. Ajoutez maintenant la pièce centrale (n°5).  +,
Avec le marteau, finissez d'enfoncer les clous. Utilisez la disqueuse pour couper les pointes de clous qui dépassent (attention à ne pas vous blesser !). Utilisez du papier de verre pour poncer la partie extérieure de l'applique (l'idée est d'avoir une surface bien adhérente pour pouvoir coller les LED).  +, Positionnez le ruban autour de l'applique sans le coller, pour voir de quelle longueur vous avez besoin. Coupez le ruban à la bonne longueur. Désolidarisez le transfo de sa boîte. Dénudez et étamez les extrémités des câbles électriques à souder sur le ruban LED. Sur le transfo : faire le marquage de la polarité. Retirer les fils existants non nécessaires (ici, la sortie 12 VDC). Souder les câbles - ensemble et les câbles + ensemble sur le transfo.  +, Positionnez le ruban de LED "chaudes" dans le trou destiné à cet effet (dans notre montage, nous avons mis la lumière chaude à l'extérieur). Attention à ne pas décoller l’adhésif du ruban pour le moment. Faites la même chose avec l'autre ruban de LED (LED "froides" à l'intérieur). Collez les rubans (vous pouvez ajouter des points de pistolet à colle si nécessaire. Nous vous conseillons d'en mettre au moins en début et en fin de ruban). Attention à bien vérifier le point de départ et le point d'arrivée avant de commencer à coller. Collez le transfo avec le pistolet à colle.  +,
* Une fois que le cadre est parfaitement sec poser le typon dans la boîte à insoler, contre la vitre * Poser le cadre par dessus * Ajouter du poids à l'aide d'un gros paquet de feuille ou des livres pour éviter que le motif devienne flou * Fermer le couvercle * Mettre le compte à sur 1 minute 25 secondes précisément * Appuyer sur l’interrupteur * Eteindre à la fin du compte à rebours * Verser de l'eau sur le cadre pour révéler le motif * S'aider d'une éponge pour enlever l'excédent et si des parties persistent, utiliser délicatement le coté grattant de l’éponge * Mettre à sécher devant le souffleur   +, * Convertir son fichier en noir et blanc * S'il s'agit d'une photo, la passer en trame demi-teinte * Exporter le fichier en .PNG * Ouvrir le fichier dans le logiciel Space Control, branché sur l’imprimante OKI * Dans le mode imprimante s’assurer que le pilote OKI est sur OFF (utilitaire > mode imprimante > Pilote OKI OFF) * Mettre la feuille transparente dans le bac multi-fonctions * Imprimer * Vous obtenez un typon de sérigraphie Alternative : * Dessiner directement sur l’écran enduit avec un stylo actinique * Découper des formes dans du papier et les disposer sur l’écran avant l’insolation   +, Cette étape doit se passer dans une pièce à lumière faible et artificielle. * Prendre le pot d’émulsion photosensible et en verser dans la raclette creuse en aluminium ! Une fois exposée à la lumière, cette émulsion va se solidifier. Les parties noires qui protègeront le cadre ne cuiront pas et partiront au lavage. La maille, alors ouverte, laissera le passage de l’encre à la manière d’un pochoir. * Tenir d'une main l’écran à la verticale, de l'autre, poser le bord de la raclette contre la toile, attendre que l'émulsion s'applique sur toute la largeur et remonter la raclette jusqu'en haut de l'écran d'un mouvement régulier, rapide et en appuyant modérément fort. * Répéter l’opération de l’autre coté de la toile * Faire deux passages sur chaque côté * remettre l’excédent de l’émulsion dans son pot et s'aidant de la spatule * Faire sécher dans le placard avec le souffleur en marche et refermer la porte pour les protéger de la lumière. * Avec l'éponge, nettoyer la raclette et la spatule à l'eau  +,
* Convertir son fichier en noir et blanc * S'il s'agit d'une photo, la passer en trame demi-teinte * Exporter le fichier en .PNG * Ouvrir le fichier dans le logiciel Space Control, branché sur l’imprimante OKI * Dans le mode imprimante s’assurer que le pilote OKI est sur OFF (utilitaire > mode imprimante > Pilote OKI OFF) * Mettre la feuille transparente dans le bac multi-fonctions * Imprimer * Vous obtenez un typon de sérigraphie Alternative : * Dessiner directement sur l’écran enduit avec un stylo actinique * Découper des formes dans du papier et les disposer sur l’écran avant l’insolation   +, * Une fois que le cadre est parfaitement sec poser le typon dans la boîte à insoler, contre la vitre * Poser le cadre par dessus * Ajouter du poids à l'aide d'un gros paquet de feuille ou des livres pour éviter que le motif devienne flou * Fermer le couvercle * Mettre le compte à sur 1 minute 25 secondes précisément * Appuyer sur l’interrupteur * Eteindre à la fin du compte à rebours * Verser de l'eau sur le cadre pour révéler le motif * S'aider d'une éponge pour enlever l'excédent et si des parties persistent, utiliser délicatement le coté grattant de l’éponge * Mettre à sécher devant le souffleur   +, Cette étape doit se passer dans une pièce à lumière faible et artificielle. * Prendre le pot d’émulsion photosensible et en verser dans la raclette creuse en aluminium ! Une fois exposée à la lumière, cette émulsion va se solidifier. Les parties noires qui protègeront le cadre ne cuiront pas et partiront au lavage. La maille, alors ouverte, laissera le passage de l’encre à la manière d’un pochoir. * Tenir d'une main l’écran à la verticale, de l'autre, poser le bord de la raclette contre la toile, attendre que l'émulsion s'applique sur toute la largeur et remonter la raclette jusqu'en haut de l'écran d'un mouvement régulier, rapide et en appuyant modérément fort. * Répéter l’opération de l’autre coté de la toile * Faire deux passages sur chaque côté * remettre l’excédent de l’émulsion dans son pot et s'aidant de la spatule * Faire sécher dans le placard avec le souffleur en marche et refermer la porte pour les protéger de la lumière. * Avec l'éponge, nettoyer la raclette et la spatule à l'eau  +,
Vous trouverez ici l'image que nous utilisons sur nos cartes SD : Mais voici les sources pour installer vous même la distribution linux sur votre raspberry  +, Modélisation puis impression des casques sur une imprimante à résine.  +, Sur sketchup pour la modélisation 3D. *https://drive.google.com/file/d/1GgMz3TplYZyOdEa5wXWH22UflIvKNLT0/view?usp=sharing Sur Adobe Illustrator pour la surface à imprimer ! *https://drive.google.com/file/d/1iV1O8rKFa6YgPYpS8po71HFS-afnG_Bq/view?usp=sharing - Représentation d’une partie reproduite 4 fois.  +,
A travers le plastique translucide du DEL, vous pouvez observer 2 parties distinctes, elles ont chacune leur polarité, anode + et cathode moins. La branche métallique la plus courte est la polarité négative (vers la masse) et la plus longue rejoint la polarité + (source d'alimentation)., cela vous aide visuellement à savoir dans quel sens l'intégrer dans votre circuit.  +, https://create.arduino.cc/projecthub Arduino est une plateforme électronique open-source qui s'appuie sur du software et hardware facile à utiliser. C'est destiné à  toute personne ayant envie de réaliser des designs interactifs. On peut y attacher toutes sortes de capteurs, des moteurs, LED et lumières, périphériques sonores et autres composants électroniques divers et variés.   +, Mblock est logiciel qui permet d'apprendre la logique de programmation très facilement en créant un programme à partir de blocks qui se lient les uns aux autres comme un puzzle. Il permet de créer des animations ou des jeux avec son avatar et des décors. Mais il peut aussi et surtout permettre de contrôler des objets et composants, programmables à distance, comme le robot Mbot, mais aussi un Arduino et des composants électroniques par exemple. Il a a été créé à partir de Scratch, un logiciel open-source. On peut importer les bibliothèques correspondant à la plateforme que l'on veut utiliser. Ici c'est la bibliothèque "arduino UNO". On pourra retrouver les blocks correspondants aux composants et la carte Arduino dans l'onglet "pilotage". Les autres onglets (contrôle, évènements, opérateurs etc.) serviront à structurer le programme.  +,
Un capteur de température intérieur, un capteur de température extérieur, un capteur d’humidité et un capteur de pression le tout connecté à un Arduino et les valeurs transférées par un émetteur en 2.4Ghz. Et pour la réception Raspberry, récepteur 2.4Ghz et du python. Voilà l’objet de ce petit tuto. Pour le montage de l’émetteur voici le schéma. Rien de très compliqué mais il y a beaucoup de fil… Bien penser aux résistances de 4.7K sur le récepteur de température et d’humidité. Et surtout attention l’émetteur 2.4Ghz fonctionne sous 3.3V.  +, Pour la programmation de l’Arduino il faut quelques biblio : Le capteur de pression : Barometer, SPI et Wire . Je vous ajoute tous les liens sur mon [https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz Github] : * Le capteur d’humidité : DHT22 * Le capteur de température : DS18D20 * L’émetteur 2.4Ghz : RF24 Pour le programme de l’Arduino je vais pas le mettre ici en intégral mais vous pouvez le trouver sur mon [https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz Github]. Par contre quelques informations sur son fonctionnement. Les données à envoyer sont préparées avant l’envoie dans un tableau de char de cette façon : On crée le char avec une valeur de départ : char SendPayload[32] = “RS1 :”; Ensuite on ajoute le valeurs. Chaque valeur est précédé et suivie d’une lettre permettant à la réception son repérage. Par exemple pour la température : strcat(SendPayload, “T”); dtostrf(txbuffer[0],2,2,tempstr); strcat(SendPayload,tempstr); strcat(SendPayload, “T”); Et ensuite le char complet est envoyé : bool ok = radio.write(&SendPayload,sizeof(SendPayload)); Mais comme il y a trop de donnée et que le nombre de caractère est au maximum de 32 il faut faire deux char envoyés à la suite. Chaque char sera repéré à la réception par son numéro “RS1” et “RS2”.  +, Pour la réception nous avons un montage plus simple. Un raspberry pi et un récepteur en 2.4Ghz. Il faut configurer le Raspberry Pi pour le récepteur tout est dans ce fichier pdf ci-joint : Config Raspberry et Récepteur 2.4Ghz.pdf Et pour finir un fichier en Python pour la réception et l’enregistrement des données dans une base de données. Pour la réception je lui fait faire deux boucles pour avoir mes deux char qui sont décortiqués pour à la fin des deux boucles avoir toutes le données qui sont, pour finir envoyer dans la base. Le programme en Python : multi_capteurs-NF24.py. Pour fonctionner il lui faut un programme de config en xlm pour les données de connxion à la base : config Et le sql pour créer la table dans votre base de donnée : Table SQL Voilà. Bon bricolage. La suite sera un affichage sur mon DashScreen des données collectées. Vous trouverez tous les documents et codes sur [https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz Github]. Et d’autre info sur mon blog : [https://www.blog-de-michel.fr www.blog-de-michel.fr]  +
Un capteur de température intérieur, un capteur de température extérieur, un capteur d’humidité et un capteur de pression le tout connecté à un Arduino et les valeurs transférées par un émetteur en 2.4Ghz. Et pour la réception Raspberry, récepteur 2.4Ghz et du python. Voilà l’objet de ce petit tuto. Pour le montage de l’émetteur voici le schéma. Rien de très compliqué mais il y a beaucoup de fil… Bien penser aux résistances de 4.7K sur le récepteur de température et d’humidité. Et surtout attention l’émetteur 2.4Ghz fonctionne sous 3.3V.  +, Pour la programmation de l’Arduino il faut quelques biblio : Le capteur de pression : Barometer, SPI et Wire . Je vous ajoute tous les liens sur mon [https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz Github] : * Le capteur d’humidité : DHT22 * Le capteur de température : DS18D20 * L’émetteur 2.4Ghz : RF24 Pour le programme de l’Arduino je vais pas le mettre ici en intégral mais vous pouvez le trouver sur mon [https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz Github]. Par contre quelques informations sur son fonctionnement. Les données à envoyer sont préparées avant l’envoie dans un tableau de char de cette façon : On crée le char avec une valeur de départ : char SendPayload[32] = “RS1 :”; Ensuite on ajoute le valeurs. Chaque valeur est précédé et suivie d’une lettre permettant à la réception son repérage. Par exemple pour la température : strcat(SendPayload, “T”); dtostrf(txbuffer[0],2,2,tempstr); strcat(SendPayload,tempstr); strcat(SendPayload, “T”); Et ensuite le char complet est envoyé : bool ok = radio.write(&SendPayload,sizeof(SendPayload)); Mais comme il y a trop de donnée et que le nombre de caractère est au maximum de 32 il faut faire deux char envoyés à la suite. Chaque char sera repéré à la réception par son numéro “RS1” et “RS2”.  +, Pour la réception nous avons un montage plus simple. Un raspberry pi et un récepteur en 2.4Ghz. Il faut configurer le Raspberry Pi pour le récepteur tout est dans ce fichier pdf ci-joint : Config Raspberry et Récepteur 2.4Ghz.pdf Et pour finir un fichier en Python pour la réception et l’enregistrement des données dans une base de données. Pour la réception je lui fait faire deux boucles pour avoir mes deux char qui sont décortiqués pour à la fin des deux boucles avoir toutes le données qui sont, pour finir envoyer dans la base. Le programme en Python : multi_capteurs-NF24.py. Pour fonctionner il lui faut un programme de config en xlm pour les données de connxion à la base : config Et le sql pour créer la table dans votre base de donnée : Table SQL Voilà. Bon bricolage. La suite sera un affichage sur mon DashScreen des données collectées. Vous trouverez tous les documents et codes sur [https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz Github]. Et d’autre info sur mon blog : [https://www.blog-de-michel.fr www.blog-de-michel.fr]  +
The legacy project documents that were originally designed with the SIM800 module may necessitate slight adjustments. This project will prove invaluable to those who continue to rely on 2G and GPRS technology. It offers essential support and guidance for individuals who intend to persist with these communication methods. Sending data from an Arduino microcontroller to the ThingSpeak platform using a GPRS module, specifically the SIM800, is a fundamental concept. The crucial aspect is that this communication method operates independently of Wi-Fi, constituting an IoT connectivity solution that relies on GPRS for data transmission. 1 / 2 In this project, LM35 temperature sensor data is being transmitted to the ThingSpeak platform through an Arduino Nano and a SIM800 module. The SIM800 module is leveraged to establish a GPRS connection, facilitating the transmission of data to ThingSpeak at specified intervals. To ensure a reliable connection between ThingSpeak and the hardware, users must configure the SIM800 module to establish a connection with their mobile network. This configuration encompasses setting the Access Point Name (APN) specific to their mobile carrier. It's important to note that the specific AT commands for this configuration may vary based on the user's chosen mobile network provider. For this project, I utilized the services of the network provider '''Airtel''' to establish the connection. Communication between the hardware components, specifically the SIM800 module, Arduino Nano, and ThingSpeak platform, relies entirely on AT commands. To ensure successful project implementation and effectively troubleshoot any issues that may arise, users must possess a basic understanding of SIM800 AT commands. This knowledge is crucial for configuring, managing, and diagnosing the communication process and resolving potential challenges during the project.  +, You must check out [https://www.pcbway.com/ PCBWAY] for ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto [https://www.pcbway.com/ PCBWAY] to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop. Also, check out this useful blog on PCBWay Plugin for KiCad from [https://www.pcbway.com/blog/News/PCBWay_Plug_In_for_KiCad_3ea6219c.html here.] Using this plugin, you can directly order PCBs in just one click after completing your design in KiCad.  +, The table provided below lists several common AT commands that serve to swiftly and effectively verify the proper functioning of the SIM800C's AT serial communication and network connection. Before proceeding with the steps outlined for the network communication demonstration, it is advisable to conduct a straightforward network test. This preliminary test ensures that the intended network connection is in working order and fully operational.  +,
Enlever les petits supports des dents mobiles. Limez bien. Pour une machine en bois, frotter tous les éléments (dents, sélecteur) sur de la paraffine (une bougie) pour diminuer les frottements. Insérer les dents dans les encoches, puis ajouter le sélecteur. Vérifier que les dents rentrent et sortent sans problème quand on tourne le sélecteur. Ajouter l'interlock : un interlock large pour les 4 premières roues, le fin pour la cinquième. A l'aide de l'outil d'interlock, vérifier qu'il tourne et qu'il bloque le sélecteur. Faire 5 fois.  +, '''V1.1''' : Option alternative : imprimer le nouvel afficheur en 3D ! '''Attention à ne pas coller l'outil de montage !''' Insérer le pignon d'affichage dans l'outil de montage, '''chiffres en bas'''. Coller par dessus les deux disques. Au feutre noir, inscrire les numéros 0 à 9 sur le tour des disques, en face de chaque numéro. Faire 5 fois.  +, Monter la machine avec une seule roue permet de mieux comprendre son fonctionnement, mais ne permet des additions que jusqu'à 9 ! Remplacez l'interlock de la roue 1 par l'interlock fin pour ce montage.Vous pouvez utiliser des vis plus courtes (25mm) Glisser 3 vis dans les trous du panneau extérieur avant, la tête des vis vers l'extérieur (côté où il y a les nombres) Insérer la roue de manivelle dans le grand trou. Sur l'axe 2, insérer l'afficheur puis une rondelle Sur l'axe 3, insérer deux rondelles puis un pignon intermédiaire, dent supplémentaire au dessus. Positionner de telle sorte que les numéros des roues dentées correspondent. Sur l'axe 1, insérer la roue numéro 1, sélecteur en haut. Placer le panneau extérieur arrière et visser, sans trop serrer Vérifier que l'afficheur tourne correctement, puis le mettre en position 0. Vérifier que le roue principale tourne correctement. L'utilisation de la machine est la même que dans le cas à plusieurs roues.  +,
Enlever les petits supports des dents mobiles. Limez bien. Pour une machine en bois, frotter tous les éléments (dents, sélecteur) sur de la paraffine (une bougie) pour diminuer les frottements. Insérer les dents dans les encoches, puis ajouter le sélecteur. Vérifier que les dents rentrent et sortent sans problème quand on tourne le sélecteur. Ajouter l'interlock : un interlock large pour les 4 premières roues, le fin pour la cinquième. A l'aide de l'outil d'interlock, vérifier qu'il tourne et qu'il bloque le sélecteur. Faire 5 fois.  +, '''V1.1''' : Option alternative : imprimer le nouvel afficheur en 3D ! '''Attention à ne pas coller l'outil de montage !''' Insérer le pignon d'affichage dans l'outil de montage, '''chiffres en bas'''. Coller par dessus les deux disques. Au feutre noir, inscrire les numéros 0 à 9 sur le tour des disques, en face de chaque numéro. Faire 5 fois.  +, Monter la machine avec une seule roue permet de mieux comprendre son fonctionnement, mais ne permet des additions que jusqu'à 9 ! Remplacez l'interlock de la roue 1 par l'interlock fin pour ce montage.Vous pouvez utiliser des vis plus courtes (25mm) Glisser 3 vis dans les trous du panneau extérieur avant, la tête des vis vers l'extérieur (côté où il y a les nombres) Insérer la roue de manivelle dans le grand trou. Sur l'axe 2, insérer l'afficheur puis une rondelle Sur l'axe 3, insérer deux rondelles puis un pignon intermédiaire, dent supplémentaire au dessus. Positionner de telle sorte que les numéros des roues dentées correspondent. Sur l'axe 1, insérer la roue numéro 1, sélecteur en haut. Placer le panneau extérieur arrière et visser, sans trop serrer Vérifier que l'afficheur tourne correctement, puis le mettre en position 0. Vérifier que le roue principale tourne correctement. L'utilisation de la machine est la même que dans le cas à plusieurs roues.  +,
<nowiki>Le programme est le suivant : <br /><br />[code]<br /><br />#include <math.h><br /><br />#define LIGHT_SENSOR A0<br /><br />int sensorPin = A5; // Déclaration de la broche d'entrée de thermomètre<br /><br />double Thermistor(int RawADC) //Calcul température du capteur correspondant<br /><br />{<br /><br />    double Temp;<br /><br />    Temp = log(10000.0 * ((1024.0 / RawADC - 1)));<br /><br />    Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp )) * Temp );<br /><br />    Temp = Temp - 227.15;            // conversion de degrés Kelvin en °C<br /><br />    return Temp;<br /><br />}<br /><br />int PinNumeriqueHumidite=2;<br /><br />int humidite;<br /><br />void setup() <br /><br />{<br /><br />  Serial.begin (9600);<br /><br />  pinMode(10, OUTPUT);<br /><br />  pinMode(PinNumeriqueHumidite, INPUT);<br /><br />}<br /><br />void loop() <br /><br />{   <br /><br />  int readVal = analogRead(sensorPin);<br /><br />  double temperature =  Thermistor(readVal);<br /><br />  int luminosite = analogRead(LIGHT_SENSOR);<br /><br />  Serial.println("Température = ");<br /><br />  Serial.print(temperature);<br /><br />  Serial.println(" degrés.");<br /><br />  delay(500);  <br /><br />  humidite = digitalRead(PinNumeriqueHumidite);<br /><br />  Serial.println("Humidité = ");<br /><br />  Serial.println(humidite);<br /><br />  delay(500);  <br /><br />  Serial.println("Luminosité = ");<br /><br />  Serial.println(luminosite);<br /><br />  delay(500);<br /><br />  if (humidite==1) <br /><br />     {<br /><br />       if ((temperature>2) && (temperature<=10))<br /><br />          {<br /><br />            if (luminosite>100)<br /><br />               {<br /><br />                digitalWrite(10, HIGH);<br /><br />                delay(500);<br /><br />                digitalWrite(10, LOW);<br /><br />               }<br /><br />            else <br /><br />            {<br /><br />              digitalWrite(10, LOW);<br /><br />            }<br /><br />          }              <br /><br />       if ((temperature>10) && (temperature<25))<br /><br />          {<br /><br />            digitalWrite(10, HIGH);   // Pompe allumée<br /><br />            delay (10000); <br /><br />            digitalWrite(10, LOW);      <br /><br />          }<br /><br />       if (temperature>=25)<br /><br />          {<br /><br />            digitalWrite(10, HIGH);<br /><br />            delay(15000);<br /><br />            digitalWrite(10, LOW);<br /><br />          }<br /><br />       else <br /><br />       {<br /><br />            digitalWrite(10, LOW);    <br /><br />       }<br /><br />     }<br /><br />else <br /><br />{<br /><br />  digitalWrite(10, LOW);<br /><br />}<br /><br />}<br /><br />[/code]</nowiki>  
Dans un premier temps, il faut commencer par brancher la carte Arduino et la Base Shield V2 ensemble tout simplement en les emboîtant l’un dans l’autre. Cela permet de faciliter les branchements lorsqu’il est nécessaire de brancher plusieurs capteurs et d’éviter de mettre en désordre les câbles entre eux.  +, Branchement du breadboard (au niveau du "+") au signal 5V de carte Arduino (répand un même signal sur toute la ligne pour l’utiliser pour plusieurs capteurs différents)  +, Brancher le capteur directement sur le breadboard. Puis brancher le câble rouge (le plus à gauche) au 5V ; le câble noir (au centre) au GRD et le câble blanc (le plus à droite) à une entrée analogique (soit, pour nous, A5).  +,
Dans un premier temps, il faut commencer par brancher la carte Arduino et la Base Shield V2 ensemble tout simplement en les emboîtant l’un dans l’autre. Cela permet de faciliter les branchements lorsqu’il est nécessaire de brancher plusieurs capteurs et d’éviter de mettre en désordre les câbles entre eux.  +, Branchement du breadboard (au niveau du "+") au signal 5V de carte Arduino (répand un même signal sur toute la ligne pour l’utiliser pour plusieurs capteurs différents)  +, Brancher le capteur directement sur le breadboard. Puis brancher le câble rouge (le plus à gauche) au 5V ; le câble noir (au centre) au GRD et le câble blanc (le plus à droite) à une entrée analogique (soit, pour nous, A5).  +,
Dans un premier temps, il faut commencer par brancher la carte Arduino et la Base Shield V2 ensemble tout simplement en les emboîtant l’un dans l’autre. Cela permet de faciliter les branchements lorsqu’il est nécessaire de brancher plusieurs capteurs et d’éviter de mettre en désordre les câbles entre eux.  +, Branchement du breadboard (au niveau du "+") au signal 5V de carte Arduino (répand un même signal sur toute la ligne pour l’utiliser pour plusieurs capteurs différents)  +, Brancher le capteur directement sur le breadboard. Puis brancher le câble rouge (le plus à gauche) au 5V ; le câble noir (au centre) au GRD et le câble blanc (le plus à droite) à une entrée analogique (soit, pour nous, A5).  +,
*Déterminer les zones ou mettre des capteurs (humidité, luminosité, et température) *Déterminer les zones à arroser *Déterminer les types de plantes et leurs besoins *Vérifier comment avoir accès à l'eau et à l'électricité   +, *Prendre les mesures sur le terrain et concevoir le plan 2D sur papier *Concevoir le plan 2D numérique (ici sur le logiciel Autocad) *Concevoir le plan 3D (ici sur Fusion 360) *Etablir l'emplacement des bacs à arroser   +, *Tester si les capteurs fonctionnent ( capteur d'humidité, de la luminosité et de température de l'air; capteur d'humidité du sol) *Pour le capteur d'humidité du sol, prendre un échantillon de terre sèche pour tester les capteurs en situation *Prendre différentes mesures pour avoir des valeurs exactes   +,
Les pièces ont été collées avec de la colle à bois.  +, Des résistances de 220 ohms (non présentes sur le schéma de câblage) ont été rajoutées sur chaque broche de la diode RVB, excepté la masse. Les résistances utilisées pour les pompes à eau sont également de 220 ohms. <br/>  +, Vitesse : 800 Puissance : 900  +,
Faire un trou dans le bouchon de la bouteille en plastique Mettre le tuyau dans le bouchon Faire passer le tuyau dans le bouchon et mettre de la colle autour du tuyau.  +, Tester le dispositif avec le code Arduino exemple "sweep" https://www.arduino.cc/en/Tutorial/Sweep  +, Faire le 0 du servomoteur.  +,
Faire un trou dans le bouchon de la bouteille en plastique Mettre le tuyau dans le bouchon Faire passer le tuyau dans le bouchon et mettre de la colle autour du tuyau.  +, Tester le dispositif avec le code Arduino exemple "sweep" https://www.arduino.cc/en/Tutorial/Sweep  +, Faire le 0 du servomoteur.  +,
Déballage du Kit  +, Le problème avec les tablettes premier prix c'est qu'il n'y a qu'un seul port usb. il n'est pas possible de la recharger et d'utiliser un dispositif USB Pour pouvoir la recharger et utiliser usb pour l'imprimante il faut réaliser une petite modification. Il faut rajouter un régulateur de charge directement sur la batterie de la tablette.  +
Déballage du Kit  +, Le problème avec les tablettes premier prix c'est qu'il n'y a qu'un seul port usb. il n'est pas possible de la recharger et d'utiliser un dispositif USB Pour pouvoir la recharger et utiliser usb pour l'imprimante il faut réaliser une petite modification. Il faut rajouter un régulateur de charge directement sur la batterie de la tablette.  +
Découper au laser le tube en carton avec le 4ème axe du laser  +, Découper au laser les pétales ainsi que le socle de la douille dans du médium 3mm Laser 60w : - Puissance 100 - Vitesse 6 - 500 dpi  +, Peindre les pièces avec un sous couche en 1er lieu pour boucher les ports du carton et du médium. Ensuite mettre de couche de peinture en bombe : blanche sur le tube, grise sur les pétales  +,
Découper au laser le tube en carton avec le 4ème axe du laser  +, Découper au laser les pétales ainsi que le socle de la douille dans du médium 3mm Laser 60w : - Puissance 100 - Vitesse 6 - 500 dpi  +, Peindre les pièces avec un sous couche en 1er lieu pour boucher les ports du carton et du médium. Ensuite mettre de couche de peinture en bombe : blanche sur le tube, grise sur les pétales  +,
ouvrir votre fichier pdf avec open office ou world faire un Ctrl A puis un CTRL C puis un clic pour désactiver le A  +, ouvrir paint cliquer et faire un Ctrl C enregistrer sous - en choisissant un format accepté par le plotter type PNG  +, Une fois sur paint vous pouvez en profiter pour modifier le fichier à votre convenance par exemple j'ai gommé les traits de pliage et gardé uniquement les traits de découpes pour éviter toute confusion de la machine. pensez à enregistrer vos modifications vous pouvez envoyer vers la découpeuse.  +,
Prendre une photo bien cadré de l'ensemble et booster les contrastes  +, - Importer l'image sur le logiciel Inkscape et vectoriser le bitmap.  +, Dessiner une forme pour le contour de votre objet, et faites un trou éventuellement pour passer un fil  +,
<div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Si vous êtes un particulier, attendez d'avoir vos personnalisations pour les lancer en même temps que la découpe à l'étape 6</div> </div> *Tester vos paramètre de découpe, de marquage et de gravage dans du contre-plaqué de 6mm. **Suivre la [https://wikifab.org/images/c/c0/Atelier_nichoir_legende_plan_nichoir.svg][https://wikifab.org/images/1/14/Atelier_nichoir_legende_plan_nichoir2.svg Atelier_nichoir_legende_plan_nichoir2.svg] pour paramétrer la laser *Découper le document "[https://wikifab.org/images/c/c2/Atelier_nichoir_2020.03.23_plan_nichoir.svg Atelier_nichoir_2020.03.23_plan_nichoir.svg]" *<u>Garder la contre forme de la plaque</u>  +, *Distribuer les fiches "Atelier_nichoir_fiche_design_[...].svg" au groupe/à la personne qui personnalisera [https://wikifab.org/images/d/d7/Atelier_nichoir_fiche_design_toit3.svg le toit], [https://wikifab.org/images/8/8d/Atelier_nichoir_fiche_design_droite3.svg le côté droit], [https://wikifab.org/images/a/aa/Atelier_nichoir_fiche_design_gauche3.svg le côté gauche], [https://wikifab.org/images/f/f8/Atelier_nichoir_fiche_design_avant3.svg l'avant] *Dessiner au crayon le design choisi dans le cadre gris *Une fois validé repasser au feutre noir le design sélectionné *Scanner/photographier les feuilles au format jpeg   +, <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">tutoriel avancé de la vectorisation : http://sdz.tdct.org/sdz/la-vectorisation-avec-inkscape.html</div> </div> *Ouvrir le premier document numérisé sur inkscape *Prendre l'outil "sélection" (la flèche noire) et cliquer sur l'image pour la sélectionner *<code>Chemin --> Vectoriser le Bitmap</code>. On obtient une boîte de dialogue (cf image) *« mettre à jour » pour avoir un aperçu de la vectorisation *Jouer avec le seuil de luminosité ainsi que les paramètre dans l'onglet "option" <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">On veut uniquement récupérer les traits noirs, il est normal que le contour gris disparaisse</div> </div> *valider la boîte de dialogue *sélectionner l'image de base, la supprimer *sélectionner l'image vectoriser *modifier les paramètre de contour et remplissage : **remplissage: '''aucun''' **contour : '''couleur de marquage''' (ex: 0, 0, 255, 255) **épaisseur de contour : '''0,2<u>mm</u>''' *réitérer l'étape pour les 3 autres documents  +,
Choix notés ce soir: * quel type de pompe ? (s'assurer qu'elle peut aller jusqu'au bout du mur) * batterie rechargeables ou pas ? * arrosage sur ou sous terre * circuit électronique simple, ou nano, ou nodemcu (rester dans du "standard") * quel panneau solaire? Doit-il pouvoir alimenter le moteur directement, ou faut il passer par des batteries pour avoir assez de puissance? Il y a même des tutos sur des [https://www.electronicshub.org/solar-battery-charger-for-18650/ circuits de recharge utilisant un simple TP4056] connecté au panneau et à la batterie! Est-ce sérieux? (Autre composant apprécié : J5019) Ci-joint un panneau que j'ai, de 12V , 3,5W, 290mA.  +, Le mur a les caractéristiques: * gros réservoir de 1000L * plusieurs palettes à étages * étalées sur 10 mètres Il faut donc: * de la puissance au niveau de la pompe (pompe 12V essuie-glace?), * bien distribuer le débit partout, * plusieurs mesures d'humidité, * le surplus d'eau peut s'écouler entre les étages d'une même palette  +, Le système avec [https://www.3dponics.com/wiki/instructions-3dponics-mini/ 2 bouteilles tête-bêche] et récupération de l'eau a plusieurs avantages. * la pompe est de puissance réduite, remonte l'eau de la bouteille du bas vers cette du haut, en circuit fermé. * 1 seule mesure d'humidité Ce cas ne fait pas partie des objectifs actuels à l'étude. Il est conservé pour un besoin futur.  +,
tout est dans le titre, et je vous remet le lien ici :https://www.thingiverse.com/thing:4915211/files  +, Voici les paramètre cura utilisé pour mon premier essai : Imprimante : Ultimake3 Matière : PLA Couches : 0.1 Infill : 100% Support : en contact avec le plateau en PVA Temps d'impression 39 minutes <br/>  +, récupéré la pièce de l'imprimante. Mettez là dans l'eau ou enlevez délicatement le support avec des pinces, puis glissez l'élastique de votre lampe dedans et tester votre nouvelle attache  +,
* '''<u>Description :</u>''' Ce premier boîtier nous a permis de faire un ensemble de tests notamment de s'assurer que la carte RFID est bien détectée même à plusieurs centimètres du module avec un couvercle de séparation de 1 mm. Il a été produit en lien avec la première carte électronique   +, Le boitier assemblé.  +, * '''<u>Description :</u>''' Ce deuxième boîtier est un peu plus élaboré que le premier, la taille a été réduite de 140 mm de diamètre à 112 mm. Ce boitier permet une alimentation par câble micro USB. Des surélévations ont été ajouté aux 4 coins de l'emplacement de la carte électronique pour prendre en compte les soudures qui seront en dessous de la carte, cela permet également d'avoir un point d'appui uniforme.  Les trois formes rectangulaires sur le couvercle servent à maintenir la carte électronique au fond du boitier. * <u>'''L'impression''' :</u>  Le logiciel Ultimaker Cura est utilisé pour générer le fichier de commande numérique déchiffrable par l'imprimante . Les réglages utilisés lors de l'impression sont ceci : ** Machine : Ultimaker 2+ ** Matériel : CPE ** Hauteur de la couche : 0.30 mm ** Temps d'impression du boitier : 3h20min ** Poids de matière utilisé - boitier : 80g ** Temps d'impression du couvercle : 1h19min ** Poids de matière utilisé - couvercle : 30g   +,
* '''<u>Description :</u>''' Ce premier boîtier nous a permis de faire un ensemble de tests notamment de s'assurer que la carte RFID est bien détectée même à plusieurs centimètres du module avec un couvercle de séparation de 1 mm. Il a été produit en lien avec la première carte électronique   +, Le boitier assemblé.  +, * '''<u>Description :</u>''' Ce deuxième boîtier est un peu plus élaboré que le premier, la taille a été réduite de 140 mm de diamètre à 112 mm. Ce boitier permet une alimentation par câble micro USB. Des surélévations ont été ajouté aux 4 coins de l'emplacement de la carte électronique pour prendre en compte les soudures qui seront en dessous de la carte, cela permet également d'avoir un point d'appui uniforme.  Les trois formes rectangulaires sur le couvercle servent à maintenir la carte électronique au fond du boitier. * <u>'''L'impression''' :</u>  Le logiciel Ultimaker Cura est utilisé pour générer le fichier de commande numérique déchiffrable par l'imprimante . Les réglages utilisés lors de l'impression sont ceci : ** Machine : Ultimaker 2+ ** Matériel : CPE ** Hauteur de la couche : 0.30 mm ** Temps d'impression du boitier : 3h20min ** Poids de matière utilisé - boitier : 80g ** Temps d'impression du couvercle : 1h19min ** Poids de matière utilisé - couvercle : 30g   +,
For music lovers, especially those who prefer to stream their favorite songs from Amazon Music or Deezer, it will be a pity if they miss this opportunity to get the free Xmas gifts we offer. Only 100 free licenses are offered per day, never miss it. After heading to the AudFree Xmas promotion webpage, you will find the 'Time-Limited Free Giveaway for Amable and Deezable' section immediately. On the box symbolized with the 'FREE' tab, enter your email address into the search box and tap on the right 'Submit' button to get the Amable/Deezable Music Converter registration code. The code empowers you to experience all features of those products for free for 1 month, such as downloading all Amazon Music or Deezer tracks to MP3, FLAC, AAC, M4A, or other unprotected files with original audio quality and ID3 tags.  +, Apart from free Christmas gifts, AudFree also provides individual special offers for each audio converter as well as the Audio Capture. The hot-selling Spotify Music Converter and Tidal Music Converter are priced at $9.99 per month and $47.95 for a lifetime license now while they were sold at 14.95 and 79.95 bucks respectively for monthly and lifetime licenses before. Other products require less than the two converters. With them, you can save money to download and listen to Christmas songs or audiobooks across various music streaming services offline. All products in the Single Deals are discounted at 33% off for the monthly plan and 40% off for the lifetime plan. Here are the detailed prices and purposes for those products:  +, On top of the above free giveaways and special single offers, hot bundles valid for a lifetime plan are also offered at a 60% discount. The popular Spotify Music Converter Single Bundle and the Spotify+Tidal Converter Bundle only need $63.95 for lifetime licenses while they were $159.9 before. The other two bundles are cheaper than the formers. Besides the above-mentioned bundles, a 6-in-1 super offer, only requiring $99.99 for a lifetime license, is rolled out with a discount of 75%, which saves you 304.71 bucks. This supper deal enables you to use all AudFree products on up to 6 devices.  +
Pour propulser les palets, j'ajoute des fentes à chaque extrémité du terrain... L'idée étant d'y glisser un élastique (du type utilisé pour les vêtements) Il fera donc 2mm de large sur 15mm de haut et sera situé à 50mm du bord (çà m'arrange car çà correspond à un des tenons de la boite :) ) Timing : 22h30, le plus gros est fait, le challenge est en bonne voie  +, C'est un passe-trappe, il faut donc un trou au milieu... on va dire 2cm de haut (les palets feront 1cm d'épaisseur) sur 10cm de large (plus petit ce sera plus dur de viser, plus large ce sera plus facile) J'ajoute un rectangle de 100 sur 20 et je le centre / colle à droite de la séparation du milieu... quelques manipulations pour fusionner les 2 formes, un pivot pour remettre la pièce à l'horizontale et hop le tour est joué... Enfin je passe les contours en vert, épaisseur 0.05mm pour que çà passe directe à la découpe sans retouche. Timing : 22:22 c'est pas mal !  +, Dernier ajustement : j'arrondis le haut de la trappe... Timing : 22h56 FIN DU DEFI  +,
Pour propulser les palets, j'ajoute des fentes à chaque extrémité du terrain... L'idée étant d'y glisser un élastique (du type utilisé pour les vêtements) Il fera donc 2mm de large sur 15mm de haut et sera situé à 50mm du bord (çà m'arrange car çà correspond à un des tenons de la boite :) ) Timing : 22h30, le plus gros est fait, le challenge est en bonne voie  +, C'est un passe-trappe, il faut donc un trou au milieu... on va dire 2cm de haut (les palets feront 1cm d'épaisseur) sur 10cm de large (plus petit ce sera plus dur de viser, plus large ce sera plus facile) J'ajoute un rectangle de 100 sur 20 et je le centre / colle à droite de la séparation du milieu... quelques manipulations pour fusionner les 2 formes, un pivot pour remettre la pièce à l'horizontale et hop le tour est joué... Enfin je passe les contours en vert, épaisseur 0.05mm pour que çà passe directe à la découpe sans retouche. Timing : 22:22 c'est pas mal !  +, Dernier ajustement : j'arrondis le haut de la trappe... Timing : 22h56 FIN DU DEFI  +,
<nowiki>You will need<br /><br />electronic control and command part (listed below)<br /><br />water tank<br /><br />a plant in a pot<br /><br />a box for electronic (https://www.thingiverse.com/thing:4106140)<br /><br />3d printed light sensor support (https://www.thingiverse.com/thing:3986667)<br /><br />3d printed sprinkler (https://www.thingiverse.com/thing:3986672)<br /><br />For the Command & Control part the material used are the following:<br /><br />- 1 Arduino UNO link<br /><br />- 1 moisture sensor link<br /><br />- 1 CO2 Gas sensor Mq7 link<br /><br />- 1 Lcd screen 2x16 (+i2c)) link<br /><br />- 1 LDR light sensor (photoresistor) link<br /><br />- 2 push buttons link<br /><br />- 1 Temp + humidity sensor DHT11 link<br /><br />- 1 5V water pump link<br /><br />- 1 5v relay link<br /><br />- 3 1k resistor link<br /><br />- 1 Breadbord or prototyping PCB link<br /><br />-2 5v power supply link</nowiki>  +, '''Digital pin''' Pin: 7, relay Pin: 9, button 1 Pin: 10, button 2 Pin: 13, LED '''Analog pin''' Pin: A0, Moisture sensor Pin: A1, Co2 sensor Pin: A2, Photoresistor Pin: A3, Temperature sensor Pin: A4, Screen Rx Pin: A5, Screen Tx The connection of Arduino on Water pump power supply The Arduino is to be connected directly on the water pump power supply so the whole system need only one electric plug to works. The Water pump is a 5V power supply, the arduino can support that voltage but this leads to a warming of the internal component of the arduino and will possibly damage on the arduino with time. The easiest and fastest choice for now is two 5v power supply (one for arduino and one for the pump) For using only one power supply like a 12v one, some solution are linked below [https://blog.yavilevich.com/2017/03/efficient-dc-12v-to-5v-conversion-for-low-power-electronics-evaluation-of-six-modules/ A page presenting the different solutions] https://www.youtube.com/watch?v=uH01edMarxw <br/>  +, https://www.youtube.com/watch?v=abQ7bf_y3WM In this section is presented how shall be used the Deedu system and what will be the response at different cases UC01 : Control data from sensors & Number of spraying By using one button and looking on the screen, the user shall be able to check instantly the value measured by all sensors. UC02 : Spray the plant when needed & Water tank level control The system should be able to water the plant when it's needed (The moisture sensor value indicates when watering is needed). The water pump is tricky to start (if no water is present in the tube, it won't be powerful enough to start), so the best is to prevent absolute emptiness of the water tank. Therefore in order to control the water level and prevent water from pumping if water level is too low. The user will get a warning to fill the water tank. The Arduino code You can download the arduino code used in the following, every function is commented. Download the code below on your arduino board <br/>  +,
=== صيانة الغسالات الأوتوماتيك === يعتبر التحدي الأكبر للعديد من الأسر في العالم اليوم فرضًا تحديًا كبيرًا عليهم، وهو التحدي الذي يتعلق بعمليات الغسيل. لا يمكن الاستغناء عن غسالة الملابس في أي منزل لأنها تجعل من عملية الغسيل أسهل وأكثر فعالية. ولكن مع مرور الوقت واستخدام الغسالات بشكل مفرط، قد يحتاج الأشخاص إلى صيانة الغسالات. في هذه المدونة، سنناقش أنواع مختلفة من صيانة الغسالات المختلفة، وكيف يمكنك الحفاظ على غسالتك في أفضل حال. === '''نصائح عامة لتجنب الأعطال المتكررة في صيانة الغسالة:''' === تعتبر الغسالات الأوتوماتيكية من الأجهزة الأساسية في المنزل، لذلك يجب أن تأخذ وقتًا كافيًا للعناية بها. يمكن أن تساعدك صيانة الغسالة على تجنب الأعطال التي يمكن أن تؤدي إلى توقف الجهاز عن العمل - أو حتى تسبب تسربات وتلفًا مكلفًا. # '''استبدل خراطيم المياه:''' تحقق من الخراطيم بانتظام بحثًا عن الانتفاخ والتشقق والتآكل والتسربات حول النهايات. استبدل الخراطوم إذا وجدت مشكلة أو كل سنتين إلى أربع سنوات كجزء من برنامج الصيانة الاستباقية أو الصيانة العامة. # '''حرك الجهاز للأمام قليلاً:''' تحقق من وجود مسافة بسيطة باليد بين الغسالة والجدار لمنع الخراطيم من التعرقل خلف الغسالة. # '''حافظ على المستوى السطحي للماكينة:''' قد تهتز الغسالة على الأرض أثناء دورة الدوران، مما يمكن أن يؤدي إلى تلف الأرضية أو الغسالة. قم بموازنة الغسالة بتدوير الساقين لخفضها أو رفعها. # '''تنظيف فلتر الوبر:''' اعتمادًا على جهازك، قد يكون جامع الوبر موجودًا في أنبوب المحرض أو بالقرب من الجزء العلوي من حوض الغسيل. حافظ على نظافته لمساعدة الغسالة على العمل بكفاءة. # '''اغسل الغسالة:''' اشطف بقايا الصابون وتراكمه عن طريق تشغيل منظف الغسالة المتاح في المتاجر أو محلول ماء ساخن وخل وصودا الخبز من خلال حمولة فارغة. # '''منع الروائح العفنة والعفن:''' اترك غطاء الغسالة أو الباب مفتوحًا بين الأحمال لتجفيف الوحدة والحفاظ على رائحتها منعشة. امسح الختم المطاطي حول الباب على الغسالات ذات التحميل الأمامي بعد الغسيل. # '''قم بقياس المنظفات الخاصة بك:''' اقرأ دليل تعليمات الجهاز للتأكد من استخدام النوع الصحيح وكمية المنظفات لجهازك. # '''لا تفرط في تحميل الجهاز:''' استخدم الكمية المناسبة من الماء لحجم الحمل واغسل العناصر الثقيلة أو الضخمة في أحمال صغيرة. # '''أضف مقلاة بالتنقيط أسفل الغسالة:''' تلك إضافة مهمة في غرفة الغسيل، حيث يمكن أن يحدث تسرب المياه ويضر بالأرضيات الموجودة تحت الغسالة. === '''صيانة غسالات ال جي:''' === صيانة غسالات ال جي تقدم قطع غيار أصلية وخدمة عالية الجودة لعملائها. توفر الشركة حلولًا تقنية متميزة وتسهيل الوصول إلى الصيانة المعتمدة للغسالات. للجميع منتجات ال جي تعتبر منتجات عالية الجودة وموثوقة.<blockquote class="wp-block-quote"></blockquote>إصلاح الغسالات هو أمر يحتاجه العديد من الأشخاص في المنزل. نظرًا لحدوث العديد من الأعطال في الغسالات، يجب معرفة كيفية إصلاحها بشكل صحيح. في النهاية، يمكنك الحفاظ على أداء غسالتك وتجنب الأعطال باتباع هذه النصائح والإجراءات الوقائية. '''مشكلة عدم تصريف المياه من الغسالة:''' هذه المشكلة تعتبر واحدة من أكثر المشاكل شيوعًا في الغسالات. غالبًا ما تكون مشكلة طرمبة صرف المياه. إذا انتهت الغسالة من تصريف المياه ولا تستكمل دورة العصر، فإنك بحاجة إلى خدمة إصلاح غسالة تساعدك في استعادة عملها الصحيح بصرف المياه بشكل صحيح. '''توقف الغسالة عن العمل فجأة:''' إذا كانت الغسالة تتوقف فجأة عن العمل، يمكنك طلب خدمة إصلاح غسالة. يجب أن تتحقق من توصيل الكهرباء إلى الغسالة قبل طلب الخدمة. '''عدم تنزيل الصابون على الملابس:''' هذه المشكلة تحدث غالبًا بسبب مشكلة في صنبور تغذية الماء. يجب التحقق من حالة صنبور المياه والتأكد من سلامته. إذا كانت المشكلة تتكرر، فيمكنك الاتصال بخدمة صيانة الغسالات الأوتوماتيك. '''عدم سحب المياه داخل الغسالة:''' هذا العطل يمكن أن يحدث بسبب عدم توصيل الماء بشكل صحيح أو وجود انسداد في مدخل الماء. يمكنك التواصل مع صيانة الغسالات لحل هذه المشكلة. '''عدم دوران الغسالة أثناء الغسيل:''' هذا المشكلة تحدث بسبب الحمل الزائد من الملابس. يجب توزيع الحمل بالتساوي داخل الغسالة لتجنب هذا المشكلة. صيانة غسالات دايو تعتبر واحدة من أفضل الخدمات في مكة، حيث تقدم قطع غيار أصلية وفريق عمل محترف لإصلاح الغسالات بجميع أنواعها. لذا، إذا كنت تواجه أيًا من هذه المشاكل مع غسالتك، يمكنك الاتصال بخدمات صيانة الغسالات المحترفة في مكة لحل المشكلة وإعادة الغسالة للعمل بكفاءة.<blockquote class="wp-block-quote"></blockquote> ----مشكلتها ما تصرف الموية من الغسالة. تعد هذه المشكلة الأساسية من أكثر الأعطال التي يمكن أن تحدث في الغسالة، '''ولكن''' صيانة الغسالات الأوتوماتيك تكون بسبب طرمبة صرف الماء الخاصة بالغسالة. المفروض بعد الانتهاء من تصريف المياه ولا تقوم باستكمال دورة العصر وتكون في الوضع الخاص بالتنشيف وتقف تماما عن العمل، '''لذلك''' أنت بحاجة إلى شركة إصلاح غسالات تساعدك على إعادة عملها الصحيح بصرف الماء من غسالة الملابس. توقف غسالة الملابس عن العمل فجأة. يمكنك طلب خدمة إصلاح غسالات في حالة إذا كانت الغسالة لا تقوم بالعمل. وذلك في حالة إذا استمرت المشكلة أو أنك لا تعرف السبب الأساسي. ولكن عليك التأكد من وصول الكهرباء إلى الغسالة. غسالة الملابس ماتنزل الصابون على الملابس. هذه مشكلة تواجه العملاء بشكل دائم. '''لذلك''' يجب التحقق من الصنبور الخاص بتغذية الماء والتأكد منه. وإذا تكررت المشكلة فيمكنك الاتصال بصيانة غسالات فل أوتوماتيك. الغسالة ما تسحب الموية لداخل الغسالة. يعتبر هذا العطل من المشاكل المتكررة للعملاء والمستخدم يمكن أن تحدث بسبب عدم وجود ماء في الصنبور الخاص بالماء أو بسبب وجود انسداد في مدخل الماء. ويمكنك التواصل معنا لصيانة الغسالات الأوتوماتيك بمكة. الغسالة ما تدور وقت الغسيل. '''أكثر''' أعطال صيانة الغسالات المتكررة بكثرة وتكون بسبب الحمل الزائد من الملابس على الحوض الداخلي للغسالة. '''وكثيرًا''' ما يواجه مهندس الغسالات الأوتوماتيك هذه المشكلة. '''لذا''' من الأفضل لك كعميل أو مستخدم أن تتصل بنا لصيانة غسالة الملابس. '''اقراء عن [https://almaher-est.com/%d8%ba%d8%b3%d8%a7%d9%84%d8%a9-%d8%a7%d9%84%d9%85%d9%84%d8%a7%d8%a8%d8%b3/ غسالة الملابس]''' == '''صيانة غسالات دايو''' == صيانة غسالة دايو بمكة نحن نتشرف بخدمتكم. تعتبر شركة صيانة غسالات دايو من أفضل شركات صيانة غسالات أوتوماتيك على مستوى المملكة العربية السعودية. حيث يتوفر بها كافة الأجهزة والأدوات المستخدمة في صيانة غسالات دايو بجدة. == '''قطع غيار الغسالات الأوتوماتيك''' == نحن شركة متخصصة في تقديم خدمات صيانة وإصلاح الأجهزة المنزلية، ومن بين هذه الأجهزة الغسالات والنشافات. نوفر لكم قطع غيار أصلية وعالية الجودة للغسالات والنشافات، بحيث يمكنكم استبدال قطع التالفة بسهولة ويسر واستعادة أداء الجهاز كما كان في البداية. نحرص في شركتنا على توفير خدمة مميزة وعالية الجودة للعملاء، ومن ضمن هذه الخدمات خدمة ضمان الإصلاح المعتمد. فإذا قمتم بطلب إصلاح غسالة أوتوماتيك في مكة، يمكنكم الاعتماد على ضمان الإصلاح المقدم منا. نحن نضمن لكم تصليح الغسالة بطريقة صحيحة وفعالة، وإعادة الجهاز للعمل بكفاءة عالية. بالإضافة لذلك، فإن فروعنا متواجدة في عدة مناطق، حيث يمكنكم الحصول على قطع الغيار اللازمة بسهولة، كما يمكنكم زيارة أقرب فرع لكم لتكونوا على اطلاع دائم بأحدث المنتجات والعروض التي نقدمها. نحن نعتبر رضاكم وراحتكم هما أولويتنا، ونعمل بجد لتلبية احتياجاتكم وتوفير أفضل الخدمات لكم. اتصلوا بنا الآن للحصول على خدمة إصلاح وصيانة الغسالات والنشافات بأعلى جودة وبأسعار مناسبة. == '''مراكز صيانة غسالات ال جي''' == في الوقت الحالي، بات بإمكانك الآن طلب خدمة صيانة غسالة الصحون من مركز الصيانة المتواجد في مكة. يمكنك القيام بذلك عن طريق الاتصال بخدمة العملاء المتوفرة في الموقع أو بإرسال رسالة عبر تطبيق الواتساب. هل تبحث عن حلاً لمشاكل غسالتك؟ لا داعي للقلق، فبفضل فريق الصيانة المهرة الذي يملك خبرة واسعة في هذا المجال، يمكنهم توفير الخدمة المناسبة لغسالتك وإصلاح أي عطل قد تعاني منه. مع خدمة الصيانة التي يقدمها مركز الصيانة بمكة، يمكنك الاعتماد على تقنيينا الماهرين الذين سيعملون على إصلاح غسالتك بأفضل الطرق الممكنة. بغض النظر عما إذا كنت تواجه مشكلات في الأداء أو المياه أو الكهرباء أو أي عنصر آخر، يمكن لفريق الصيانة تحديد المشكلة وتقديم الحل الأمثل. لا تتردد في حجز خدمة صيانة الغسالة عبر الموقع الإلكتروني الخاص بنا. يمكنك اختيار موعد مناسب يناسبك لزيارة فني الصيانة المتخصص إلى منزلك وإصلاح غسالتك على الفور. نحن ملتزمون بتقديم خدمة عالية الجودة وضمان رضا عملائنا الكرام. نحن ندرك أهمية غسالة الصحون في حياتك اليومية وأهميتها في توفير الوقت والجهد. لذا، فإن كفاءة غسالتك تعد من أولوياتنا. احجز الآن واستمتع بتجربة غسيل سهلة وفعالة مع غسالتك المُصلحة بأيدي خبراء الصيانة. نحن نتطلع إلى خدمتك وتلبية احتياجاتك الملحة في مجال صيانة غسالة الصحون. اتصل بنا الآن للحصول على المساعدة التي تحتاجها وتستحقها. ---- == '''صيانة غسالات سامسونج في مكة''' == حقاً، تفسير منهجنا لتقديم خدمات الصيانة يتمحور حول تلبية احتياجات عملائنا في أي مكان في المملكة. نحن نفهم أهمية الغسالات في حياتك اليومية وكفاءتها في تنظيف الملابس، ولذلك نحرص على توفير صيانة عالية الجودة لغسالات سامسونج بأقل وقت ممكن وبأسعار معقولة. تعتبر فروعنا ورش صيانة متخصصة مجهزة بأحدث التقنيات والأدوات اللازمة لإصلاح وصيانة غسالات سامسونج بكفاءة عالية. فرق الفنيين لدينا ذو خبرة ومهارة عالية في مجال الصيانة ويوفرون خدمة عملاء ممتازة، حيث يتعاملون مع جميع أنواع الأعطال المحتملة ويقدمون حلول فعالة وسريعة. بغض النظر عن مشكلة غسالتك، سواء كانت مشكلة في التشغيل أو تسرب المياه أو أي عطل آخر، يمكنك أن تثق بأن فرقنا ستقوم بتشخيص المشكلة بدقة وإصلاحها بشكل فعال. نحن نهتم بتسليم غسالتك في حالة ممتازة وضمان عمر أطول لها. بالإضافة إلى ذلك، نحرص على توفير خدمة عملاء استثنائية. فإذا كانت تواجهك أي أسئلة أو استفسارات فيما يتعلق بصيانة غسالتك، يمكنك التواصل معنا وسيكون فريقنا سعيدًا بتقديم المساعدة وتقديم التوجيه اللازم. '''اقراء ايضا [https://almaher-est.com/%d8%b5%d9%8a%d8%a7%d9%86%d8%a9-%d8%ba%d8%b3%d8%a7%d9%84%d8%a7%d8%aa-%d8%b3%d8%a7%d9%85%d8%b3%d9%88%d9%86%d8%ac-%d8%aa%d9%88%d8%b4%d9%8a%d8%a8%d8%a7-%d9%88%d8%a7%d8%b1%d9%8a%d8%b3%d8%aa%d9%88%d9%86/ صيانة غسالات سامسونج، توشيبا، واريستون]''' نحن متواجدون في جميع أنحاء المملكة، لذا لن يكون هناك أي مشكلة في العثور على أقرب فرع لك. قم بزيارتنا اليوم للاستفادة من خدمة صيانة غسالات سامسونج ذات الجودة العالية والموثوق بها.  
En fonction de la longueur de la porte d'entrée, mesurer la longueur du auvent à couper.  +, Le auvent fait 70 mm de large plus 10 mm pour la pliure. Tracer les lignes de coupe, et la ligne de pliure à 10 mm du bord.  +, <div class="icon-instructions idea-icon"> <div class="icon-instructions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">Pour passer plus facilement le auvent dans les glissières, j'ai coupé un léger biais au bord. cf. photo 2</div> </div> Mes portes sont à glissières mais cela fonctionne également avec des portes classiques. Pour que l'auvent soit à la bonne hauteur, il suffit que la bande de pliure soit plus grande que les 10 mm proposés.  +,
En fonction de la longueur de la porte d'entrée, mesurer la longueur du auvent à couper.  +, Le auvent fait 70 mm de large plus 10 mm pour la pliure. Tracer les lignes de coupe, et la ligne de pliure à 10 mm du bord.  +, <div class="icon-instructions idea-icon"> <div class="icon-instructions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">Pour passer plus facilement le auvent dans les glissières, j'ai coupé un léger biais au bord. cf. photo 2</div> </div> Mes portes sont à glissières mais cela fonctionne également avec des portes classiques. Pour que l'auvent soit à la bonne hauteur, il suffit que la bande de pliure soit plus grande que les 10 mm proposés.  +,
En premier vous devez aller sur le site de '''wikifab''' et rechercher la photo (projet) de l'avion. Quand vous l'avez trouver, cliqué dessus et scroller vers le bas, vous verrez l'icône télécharger.  +, Ensuite placer votre plaque dans la laser et bloquer votre plaque avec des grande vis pour qu'elle bouge pas pendant l'impression.  +, Avant d'assembler, assurer vous d'avoir retirer le plastique de protection sur vos pièces.Puis prévoir de colle pour plexiglas au cas ou votre maquette à du mal à bien se fixer.  +,
B
Dans un premier temps, il vous faudra imprimer les pièces à l'aide des fichiers donnés en pièce jointe.  +, Glissez-le avec les bornes des relais vers l'extérieur (avec les pas de vis accessible) Lorsqu'il est positionné, percez quatre trous au travers de la coque alignés avec ceux de la carte à l'aide du fer à souder Passez les quatre vis à travers le bas de la base Fixer les à l'aide d'un boulon pour maintenir la carte en place Avec trois à six fils, câbler comme montré sur la figure 2.14 (seulement trois seront nécessaire pour l'expérience de base, mais vous pouvez câbler les quatre relais si vous le souhaiter)  +, Le porte carte Arduino nous servira d'intermédiaire entre la base et la carte Arduino Positionnez le porte carte Arduino en butée au fond de la base <div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Attention, en perçant les deux pièces (base et porte carte Arduino) avec le fer à souder, ne collez pas les pièces, ce qui pourrait les souder entre elles, rendant l'accès au relais impossible</div> </div> Faîtes passer les fils du relais Velleman sur le côté du porte carte Arduino Vissez les quatre vis cruciformes pour fixer le porte carte Positionnez la carte Arduino pour que ses branchements d'alimentation et de connexion soient devant les espaces prévus à cet effet dans la base Percez deux trous (suffisant pour le maintien de la carte) sur le côté de la carte n'étant pas en butée sur la base Vissez les deux vis cruciforme pour immobiliser la carte  +,
Assemblage du fond avec le support pour le micro-contrôleur et de la colle à bois  +, Le circuit imprimé “B3” est à faire soi-même suivant cette technique : [http://reso-nance.org/wiki/materiel/pcb-diy/accueil Circuits imprimés DIY]. Il y aura deux versions, une traversante (celle actuelle) et une pour composants de surfaces. Pdf à imprimer : [[File:b3-v3.pdf]]  +, Découpe laser du contreplaqué de la boite (en rouge la gravure) Fichier : [http://reso-nance.org/wiki/_media/projets/b3/b3_v3-cp-3mm.dxf b3_v3-cp-3mm.dxf]  +,
Assemblage du fond avec le support pour le micro-contrôleur et de la colle à bois  +, Le circuit imprimé “B3” est à faire soi-même suivant cette technique : [http://reso-nance.org/wiki/materiel/pcb-diy/accueil Circuits imprimés DIY]. Il y aura deux versions, une traversante (celle actuelle) et une pour composants de surfaces. Pdf à imprimer : [[File:b3-v3.pdf]]  +, Découpe laser du contreplaqué de la boite (en rouge la gravure) Fichier : [http://reso-nance.org/wiki/_media/projets/b3/b3_v3-cp-3mm.dxf b3_v3-cp-3mm.dxf]  +,
17h d'impression pour le troisieme etage qui contient : -Un capteur d'humidité -Un servomoteur -Une led  +
<nowiki><div class="mw-highlight mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">// Variables qui ne peuvent être modifiées,</span><br /><span class="kr">const</span> <span class="kr">int</span> <span class="n">buttonPin</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span> <span class="c1">// Bouton poussoir </span><br /><span class="kr">const</span> <span class="kr">int</span> <span class="n">ledPin</span> <span class="o">=</span> <span class="mi">7</span><span class="p">;</span> <span class="c1">// Anneau NeoPixel Ring 12 LED RGB</span><br /><br /><br /><span class="c1">// Bibliothèque urilisée pour écran OLED</span><br /><span class="cp">#include</span> <span class="cpf"><Adafruit_SSD1306.h></span><span class="cp"></span><br /><br /><span class="c1">// =======================</span><br /><span class="c1">// Paramètrages écran OLED</span><br /><span class="c1">// =======================</span><br /><span class="cp">#define nombreDePixelsEnLargeur 128 </span><span class="c1">// Taille de l'écran OLED, en pixel, au niveau de sa largeur</span><br /><span class="cp">#define nombreDePixelsEnHauteur 64 </span><span class="c1">// Taille de l'écran OLED, en pixel, au niveau de sa hauteur</span><br /><span class="cp">#define brocheResetOLED -1 </span><span class="c1">// Reset de l'OLED partagé avec l'Arduino (d'où la valeur à -1, et non un numéro de pin)</span><br /><span class="cp">#define adresseI2CecranOLED 0x3C </span><span class="c1">// Adresse de "mon" écran OLED sur le bus i2c (généralement égal à 0x3C ou 0x3D)</span><br /><span class="n">Adafruit_SSD1306</span> <span class="nf">ecranOLED</span><span class="p">(</span><span class="n">nombreDePixelsEnLargeur</span><span class="p">,</span> <span class="n">nombreDePixelsEnHauteur</span><span class="p">,</span> <span class="o">&</span><span class="nf">Wire</span><span class="p">,</span> <span class="n">brocheResetOLED</span><span class="p">);</span><br /><br /><span class="c1">// ================</span><br /><span class="c1">// Image à afficher</span><br /><span class="c1">// ================</span><br /><span class="cp">#define largeurDeLimage 128 </span><span class="c1">// Largeur de l'image à afficher, en pixels</span><br /><span class="cp">#define hauteurDeLimage 64 </span><span class="c1">// Hauteur de l'image à afficher, en pixels</span><br /><br /><span class="kr">const</span> <span class="kr">unsigned</span> <span class="kr">char</span> <span class="n">imageAafficher</span> <span class="p">[]</span> <span class="kr">PROGMEM</span> <span class="o">=</span> <span class="p">{</span><br /> <span class="c1">// Logo SPACE FLAN (image BITMAP / LCD Assistant / Editeur de texte / https://passionelectronique.fr/ecran-oled-i2c-arduino/)</span><br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x07</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xfc</span><span class="p">,</span> <span class="mh">0x03</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf0</span><span class="p">,</span> <span class="mh">0xf0</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xe0</span><span class="p">,</span> <span class="mh">0xf0</span><span class="p">,</span> <span class="mh">0x0f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xc4</span><span class="p">,</span> <span class="mh">0x73</span><span class="p">,</span> <span class="mh">0x83</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x0e</span><span class="p">,</span> <span class="mh">0x77</span><span class="p">,</span> <span class="mh">0x03</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xef</span><span class="p">,</span> <span class="mh">0x06</span><span class="p">,</span> <span class="mh">0xf7</span><span class="p">,</span> <span class="mh">0x39</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x06</span><span class="p">,</span> <span class="mh">0x63</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x30</span><span class="p">,</span> <span class="mh">0xe0</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xfc</span><span class="p">,</span> <span class="mh">0x26</span><span class="p">,</span> <span class="mh">0x73</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xe0</span><span class="p">,</span> <span class="mh">0xe4</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf8</span><span class="p">,</span> <span class="mh">0xe6</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xe6</span><span class="p">,</span> <span class="mh">0x67</span><span class="p">,</span> <span class="mh">0x1f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xe3</span><span class="p">,</span> <span class="mh">0xec</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xe6</span><span class="p">,</span> <span class="mh">0x67</span><span class="p">,</span> <span class="mh">0x87</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xc7</span><span class="p">,</span> <span class="mh">0xcc</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0x77</span><span class="p">,</span> <span class="mh">0xe3</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xcc</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0x33</span><span class="p">,</span> <span class="mh">0xf1</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0xd9</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0x33</span><span class="p">,</span> <span class="mh">0xfc</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0x99</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0x33</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xfc</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x99</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x3b</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf9</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x9a</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf9</span><span class="p">,</span> <span class="mh">0x19</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x1f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf3</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xb2</span><span class="p">,</span> <span class="mh">0x77</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x79</span><span class="p">,</span> <span class="mh">0x19</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf3</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x32</span><span class="p">,</span> <span class="mh">0x67</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x39</span><span class="p">,</span> <span class="mh">0x1d</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x32</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0x39</span><span class="p">,</span> <span class="mh">0x9d</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xef</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x74</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0x3d</span><span class="p">,</span> <span class="mh">0x8c</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0x64</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0x3d</span><span class="p">,</span> <span class="mh">0x8c</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf7</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0x64</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0x3c</span><span class="p">,</span> <span class="mh">0x8e</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf3</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0x64</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0x3c</span><span class="p">,</span> <span class="mh">0x86</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0xf3</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xfc</span><span class="p">,</span> <span class="mh">0xed</span><span class="p">,</span> <span class="mh">0xef</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0xbc</span><span class="p">,</span> <span class="mh">0xc6</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0xf9</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xbf</span><span class="p">,</span> <span class="mh">0xfc</span><span class="p">,</span> <span class="mh">0xc9</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0xbc</span><span class="p">,</span> <span class="mh">0xc7</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0xf9</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0xf1</span><span class="p">,</span> <span class="mh">0xc9</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9e</span><span class="p">,</span> <span class="mh">0xc7</span><span class="p">,</span> <span class="mh">0x1f</span><span class="p">,</span> <span class="mh">0xf9</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0xe3</span><span class="p">,</span> <span class="mh">0xc9</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9e</span><span class="p">,</span> <span class="mh">0xc3</span><span class="p">,</span> <span class="mh">0x8f</span><span class="p">,</span> <span class="mh">0xfd</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0xc7</span><span class="p">,</span> <span class="mh">0xdb</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9e</span><span class="p">,</span> <span class="mh">0x63</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xfd</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0x8f</span><span class="p">,</span> <span class="mh">0x93</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9e</span><span class="p">,</span> <span class="mh">0x63</span><span class="p">,</span> <span class="mh">0xf3</span><span class="p">,</span> <span class="mh">0xfd</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0x1f</span><span class="p">,</span> <span class="mh">0x93</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9e</span><span class="p">,</span> <span class="mh">0x63</span><span class="p">,</span> <span class="mh">0xf9</span><span class="p">,</span> <span class="mh">0xfd</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0x93</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9e</span><span class="p">,</span> <span class="mh">0x63</span><span class="p">,</span> <span class="mh">0xfc</span><span class="p">,</span> <span class="mh">0xfd</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x7e</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0xb7</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x73</span><span class="p">,</span> <span class="mh">0xfc</span><span class="p">,</span> <span class="mh">0xfd</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x7c</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xa7</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x33</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0x7d</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x7c</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x87</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x33</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0x7d</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x79</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x87</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x33</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x3d</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x79</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0x23</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x3d</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x7b</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0x07</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x9d</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x73</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xbf</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0x8f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x9d</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x33</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xe3</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xc9</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x87</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf0</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xc1</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf8</span><span class="p">,</span> <span class="mh">0xfc</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xcc</span><span class="p">,</span> <span class="mh">0x3e</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf2</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xc0</span><span class="p">,</span> <span class="mh">0x7c</span><span class="p">,</span> <span class="mh">0x9f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf7</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xc0</span><span class="p">,</span> <span class="mh">0x0f</span><span class="p">,</span> <span class="mh">0x01</span><span class="p">,</span> <span class="mh">0xfc</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf7</span><span class="p">,</span> <span class="mh">0x8f</span><span class="p">,</span> <span class="mh">0xe0</span><span class="p">,</span> <span class="mh">0x00</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0xee</span><span class="p">,</span> <span class="mh">0x67</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf7</span><span class="p">,</span> <span class="mh">0x8f</span><span class="p">,</span> <span class="mh">0xfd</span><span class="p">,</span> <span class="mh">0xe0</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0xc3</span><span class="p">,</span> <span class="mh">0x37</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf7</span><span class="p">,</span> <span class="mh">0x27</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x93</span><span class="p">,</span> <span class="mh">0xb3</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf7</span><span class="p">,</span> <span class="mh">0x64</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xfb</span><span class="p">,</span> <span class="mh">0x99</span><span class="p">,</span> <span class="mh">0x99</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0xe4</span><span class="p">,</span> <span class="mh">0x69</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xcb</span><span class="p">,</span> <span class="mh">0xdd</span><span class="p">,</span> <span class="mh">0xcc</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xfe</span><span class="p">,</span> <span class="mh">0x0c</span><span class="p">,</span> <span class="mh">0x0b</span><span class="p">,</span> <span class="mh">0x3c</span><span class="p">,</span> <span class="mh">0x47</span><span class="p">,</span> <span class="mh">0x89</span><span class="p">,</span> <span class="mh">0xcc</span><span class="p">,</span> <span class="mh">0xe6</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0x1c</span><span class="p">,</span> <span class="mh">0x13</span><span class="p">,</span> <span class="mh">0x30</span><span class="p">,</span> <span class="mh">0xc7</span><span class="p">,</span> <span class="mh">0x9d</span><span class="p">,</span> <span class="mh">0xec</span><span class="p">,</span> <span class="mh">0x77</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xfd</span><span class="p">,</span> <span class="mh">0xf3</span><span class="p">,</span> <span class="mh">0x73</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0x9c</span><span class="p">,</span> <span class="mh">0xe0</span><span class="p">,</span> <span class="mh">0x73</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf9</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0x67</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0xdc</span><span class="p">,</span> <span class="mh">0xe3</span><span class="p">,</span> <span class="mh">0x7f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf3</span><span class="p">,</span> <span class="mh">0xe2</span><span class="p">,</span> <span class="mh">0x6f</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0xc6</span><span class="p">,</span> <span class="mh">0xe3</span><span class="p">,</span> <span class="mh">0x3f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf3</span><span class="p">,</span> <span class="mh">0xe0</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0xc6</span><span class="p">,</span> <span class="mh">0x7b</span><span class="p">,</span> <span class="mh">0xbf</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xec</span><span class="p">,</span> <span class="mh">0x4f</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0xce</span><span class="p">,</span> <span class="mh">0x79</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xcc</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0xc7</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0x7d</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xdd</span><span class="p">,</span> <span class="mh">0xcf</span><span class="p">,</span> <span class="mh">0xc7</span><span class="p">,</span> <span class="mh">0xef</span><span class="p">,</span> <span class="mh">0x0f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf9</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0xef</span><span class="p">,</span> <span class="mh">0x0f</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xdf</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf1</span><span class="p">,</span> <span class="mh">0xc7</span><span class="p">,</span> <span class="mh">0xe7</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xf9</span><span class="p">,</span> <span class="mh">0xc7</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <br /> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><span class="p">,</span> <span class="mh">0xff</span><br /><span class="p">};</span><br /><br /><span class="c1">// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 1040)</span><br /><span class="kr">const</span> <span class="kr">int</span> <span class="n">epd_bitmap_allArray_LEN</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span><br /><br /><span class="c1">//******************************** Routine pour afficheur LCD **************************</span><br /><br /><span class="cp">#if (SSD1306_LCDHEIGHT != 64)</span><br /><span class="cp">#endif</span><br /><br /><br /><span class="c1">// ANNEAU RING LED 12 PIXELS</span><br /><span class="cp">#include</span> <span class="cpf"><Adafruit_NeoPixel.h></span><span class="cp"></span><br /><span class="cp">#define PIN 7</span><br /> <br /><span class="c1">// Parameter 1 = number of pixels in strip</span><br /><span class="c1">// Parameter 2 = pin number (most are valid)</span><br /><span class="c1">// Parameter 3 = pixel type flags, add together as needed:</span><br /><span class="c1">// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)</span><br /><span class="c1">// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)</span><br /><span class="c1">// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)</span><br /><span class="c1">// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)</span><br /><span class="n">Adafruit_NeoPixel</span> <span class="n">strip</span> <span class="o">=</span> <span class="n">Adafruit_NeoPixel</span><span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="n">PIN</span><span class="p">,</span> <span class="n">NEO_GRB</span> <span class="o">+</span> <span class="n">NEO_KHZ800</span><span class="p">);</span><br /><br /><br /><span class="c1">// Module sonore wtv020m01</span><br /><span class="c1">// boolean déclare une variable de type binaire</span><br /><span class="kr">boolean</span> <span class="n">buttonWasUp</span> <span class="o">=</span> <span class="kr">true</span><span class="p">;</span><br /><span class="kr">boolean</span> <span class="n">ledEnabled</span> <span class="o">=</span> <span class="kr">false</span><span class="p">;</span><br /><br /><span class="kr">const</span> <span class="kr">int</span> <span class="n">clockPin</span> <span class="o">=</span> <span class="mi">6</span><span class="p">;</span> <span class="c1">// clockpin sur la broche 6</span><br /><span class="kr">const</span> <span class="kr">int</span> <span class="n">dataPin</span> <span class="o">=</span> <span class="mi">9</span><span class="p">;</span> <span class="c1">// datapin sur la broche 9</span><br /><span class="kr">const</span> <span class="kr">int</span> <span class="n">resetPin</span> <span class="o">=</span> <span class="mi">3</span><span class="p">;</span> <span class="c1">// resetpin sur la broche 3</span><br /><br /><span class="kr">const</span> <span class="kr">unsigned</span> <span class="kr">int</span> <span class="n">VOLUME_7</span> <span class="o">=</span> <span class="mh">0xFFF7</span><span class="p">;</span> <span class="c1">//unsigned = variable entière non signée</span><br /><br /><span class="kr">const</span> <span class="kr">unsigned</span> <span class="kr">int</span> <span class="n">PLAY_PAUSE</span> <span class="o">=</span> <span class="mh">0xFFFE</span><span class="p">;</span><br /><span class="kr">const</span> <span class="kr">unsigned</span> <span class="kr">int</span> <span class="n">STOP</span> <span class="o">=</span> <span class="mh">0xFFFF</span><span class="p">;</span><br /><br /> <br /><span class="kr">void</span> <span class="nb">setup</span><span class="p">()</span> <br /><span class="p">{</span><br /><br /> <span class="nf">Serial</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="mi">9600</span><span class="p">);</span> <span class="c1">//Initialise la communication entre le PC et Arduino</span><br /> <br /><br /> <span class="c1">// Initialisation de l'écran OLED</span><br /> <span class="k">if</span><span class="p">(</span><span class="o">!</span><span class="n">ecranOLED</span><span class="p">.</span><span class="nf">begin</span><span class="p">(</span><span class="n">SSD1306_SWITCHCAPVCC</span><span class="p">,</span> <span class="n">adresseI2CecranOLED</span><span class="p">))</span><br /> <span class="k">while</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span> <span class="c1">// Arrêt du programme (boucle infinie) en cas d'échec de l'initialisation</span><br /> <br /><br /> <span class="c1">// Affichage d'une image au centre de l'écran</span><br /> <span class="n">ecranOLED</span><span class="p">.</span><span class="n">clearDisplay</span><span class="p">();</span> <span class="c1">// Effaçage de la mémoire tampon de l'écran OLED</span><br /><br /> <span class="n">ecranOLED</span><span class="p">.</span><span class="n">drawBitmap</span><span class="p">(</span><br /> <span class="p">(</span><span class="n">ecranOLED</span><span class="p">.</span><span class="nf">width</span><span class="p">()</span> <span class="o">-</span> <span class="n">largeurDeLimage</span> <span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">,</span> <span class="c1">// Position de l'extrême "gauche" de l'image (pour centrage écran, ici)</span><br /> <span class="p">(</span><span class="n">ecranOLED</span><span class="p">.</span><span class="nf">height</span><span class="p">()</span> <span class="o">-</span> <span class="n">hauteurDeLimage</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">,</span> <span class="c1">// Position de l'extrême "haute" de l'image (pour centrage écran, ici)</span><br /> <span class="n">imageAafficher</span><span class="p">,</span><br /> <span class="n">largeurDeLimage</span><span class="p">,</span><br /> <span class="n">hauteurDeLimage</span><span class="p">,</span><br /> <span class="n">WHITE</span><span class="p">);</span> <span class="c1">// "couleur" de l'image</span><br /><br /> <span class="n">ecranOLED</span><span class="p">.</span><span class="nf">display</span><span class="p">();</span> <span class="c1">// Transfert de la mémoire tampon à l'écran OLED, pour affichage</span><br /> <br /><br /><br /><span class="p">{</span> <br /> <span class="c1">// LedPin en sortie</span><br /> <span class="nf">pinMode</span><span class="p">(</span><span class="n">ledPin</span><span class="p">,</span> <span class="kr">OUTPUT</span><span class="p">);</span><br /> <span class="c1">// Bouton poussoir en entrée</span><br /> <span class="nf">pinMode</span><span class="p">(</span><span class="n">buttonPin</span><span class="p">,</span> <span class="kr">INPUT</span><span class="p">);</span><br /><span class="p">}</span><br /><br /><span class="p">{</span><br /> <span class="n">strip</span><span class="p">.</span><span class="nf">begin</span><span class="p">();</span><br /> <span class="n">strip</span><span class="p">.</span><span class="n">setBrightness</span><span class="p">(</span><span class="mi">255</span><span class="p">);</span> <span class="c1">//adjust brightness here, maximum à 255</span><br /> <span class="n">strip</span><span class="p">.</span><span class="n">show</span><span class="p">();</span> <span class="c1">// Initialize all pixels to 'off'</span><br /><span class="p">}</span><br /><br /> <span class="nf">pinMode</span><span class="p">(</span><span class="n">clockPin</span><span class="p">,</span> <span class="kr">OUTPUT</span><span class="p">);</span><br /> <span class="nf">pinMode</span><span class="p">(</span><span class="n">dataPin</span><span class="p">,</span> <span class="kr">OUTPUT</span><span class="p">);</span><br /> <span class="nf">pinMode</span><span class="p">(</span><span class="n">resetPin</span><span class="p">,</span> <span class="kr">OUTPUT</span><span class="p">);</span><br /><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">clockPin</span><span class="p">,</span> <span class="kr">HIGH</span><span class="p">);</span> <span class="c1">// aucune différence si je le met en HIGH ou LOW</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">dataPin</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /><br /> <span class="c1">// reset the module (si les 2 lignes dessous retirer le son ne s'allume qu'une fraction de secondes)</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">resetPin</span><span class="p">,</span> <span class="kr">HIGH</span><span class="p">);</span><br /> <span class="nf">delay</span><span class="p">(</span><span class="mi">100</span><span class="p">);</span><br /> <br /><span class="n">sendCommand</span><span class="p">(</span><span class="n">VOLUME_7</span><span class="p">);</span> <span class="c1">// Empéche le son de se répèter, si enlevé le son est en boucle</span><br /> <br /> <span class="p">}</span><br /> <br /><span class="kr">void</span> <span class="nb">loop</span><span class="p">()</span> <br /><span class="p">{</span><br /><br /><br /> <span class="c1">// Programme de lumière LED de 12 secondes </span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">84</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">84</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">84</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">84</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">84</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">84</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">84</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">84</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">84</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">84</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">255</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Blanc</span><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rouge</span><br /> <br /><br /> <span class="n">colorWipe</span><span class="p">(</span><span class="n">strip</span><span class="p">.</span><span class="n">Color</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Eteindre</span><br /> <br /> <span class="k">while</span> <span class="p">(</span><span class="mi">1</span><span class="p">);</span><br /><span class="p">}</span><br /> <br /><span class="c1">// Remplir les points l’un après l’autre avec une couleur (si supprimé, système de points ne fonctionne plus)</span><br /><span class="kr">void</span> <span class="nf">colorWipe</span><span class="p">(</span><span class="kr">uint32_t</span> <span class="n">c</span><span class="p">,</span> <span class="kr">uint8_t</span> <span class="n">wait</span><span class="p">)</span><br /><span class="p">{</span><br /> <span class="k">for</span><span class="p">(</span><span class="kr">uint16_t</span> <span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span><span class="o"><</span><span class="n">strip</span><span class="p">.</span><span class="n">numPixels</span><span class="p">();</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span><br /> <span class="n">strip</span><span class="p">.</span><span class="n">setPixelColor</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">c</span><span class="p">);</span><br /> <span class="n">strip</span><span class="p">.</span><span class="n">show</span><span class="p">();</span><br /> <span class="nf">delay</span><span class="p">(</span><span class="n">wait</span><span class="p">);</span><br /> <span class="p">}</span><br /><span class="p">}</span><br /> <br /><span class="kr">uint32_t</span> <span class="nf">Wheel</span><span class="p">(</span><span class="kr">byte</span> <span class="n">WheelPos</span><span class="p">)</span> <span class="c1">// je ne sais pas à quoi ça sert </span><br /><br /> <span class="p">{</span><br /> <span class="c1">// lecture son "0000.wav"</span><br /> <span class="n">sendCommand</span><span class="p">(</span><span class="mh">0x0001</span><span class="p">);</span><br /> <span class="p">}</span><br /><br /><span class="kr">void</span> <span class="nf">sendCommand</span><span class="p">(</span><span class="kr">int</span> <span class="n">addr</span><span class="p">)</span> <span class="p">{</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">clockPin</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /> <span class="nf">delay</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span><br /> <span class="k">for</span> <span class="p">(</span><span class="kr">int</span> <span class="n">i</span><span class="o">=</span><span class="mi">15</span><span class="p">;</span> <span class="n">i</span><span class="o">>=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span><span class="o">--</span><span class="p">)</span><br /> <span class="p">{</span> <br /> <span class="nf">delayMicroseconds</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span><br /> <span class="k">if</span><span class="p">((</span><span class="n">addr</span><span class="o">>></span><span class="n">i</span><span class="p">)</span><span class="o">&</span><span class="mh">0x0001</span> <span class="o">></span><span class="mi">0</span><span class="p">)</span><br /> <span class="p">{</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">dataPin</span><span class="p">,</span> <span class="kr">HIGH</span><span class="p">);</span><br /> <span class="c1">//Serial.print(1);</span><br /> <span class="p">}</span><br /> <span class="k">else</span><br /> <span class="p">{</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">dataPin</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /> <span class="c1">// Serial.print(0);</span><br /> <span class="p">}</span><br /> <span class="nf">delayMicroseconds</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">clockPin</span><span class="p">,</span> <span class="kr">HIGH</span><span class="p">);</span><br /> <span class="nf">delayMicroseconds</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span><br /> <br /> <span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">></span><span class="mi">0</span><span class="p">)</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">dataPin</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /> <span class="k">else</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">dataPin</span><span class="p">,</span> <span class="kr">HIGH</span><span class="p">);</span><br /> <span class="nf">delayMicroseconds</span><span class="p">(</span><span class="mi">50</span><span class="p">);</span><br /> <br /> <span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">></span><span class="mi">0</span><span class="p">)</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">clockPin</span><span class="p">,</span> <span class="kr">LOW</span><span class="p">);</span><br /> <span class="k">else</span><br /> <span class="nf">digitalWrite</span><span class="p">(</span><span class="n">clockPin</span><span class="p">,</span> <span class="kr">HIGH</span><span class="p">);</span><br /> <span class="nf">delay</span><span class="p">(</span><span class="mi">20</span><span class="p">);</span> <br /> <span class="p">}</span><br /> <br /> <span class="p">}</span><br /></pre></div></nowiki>  , Passer deux couches de résine effet métal argenté sur la structure  +, - Découpe au laser des deux plaques de MDF 3mm - Découpe à la scie sauteuse de la plaque de Corian 3mm  +,
Test de la Bentolux en conditions réels et présentation de l' objet final.  +, découpe des éléments constitutifs de la Bentolux parametrage de la découpeuse pour contreplaqué 3mm puis pour plexiglass 3mm <br/>Au moins 3 essais car mauvaise cotes et découpe trop puissante car erreur sur la préparartion du fichier  +, D' abord réflexion sur le programme utilisé par l' anneau LED et la station météo afin de récuperer les infos sur l' écran ssd1306 du capteur BME 280 Ensuite réflexion sur le programme qui pilotera le ruban LED de la veilleuse et le micro qui déclenchera l'allumage de celle-ci Fusion et test du programme <br/>  +,
Pour la balle nous avons imprimé la pièce en creux.  +, Voir le code Arduino dans l'onglet Fichier de ce tuto.  +, Nous avons assemblé des bâtons en bois avec des planches recyclées.  +,
Il suffit de faire glisser le fond sur les 2 longueurs (coté gauche et droit), puis de les maintenir le temps d'emboiter les 2 largeurs (face avant et arriéré). Fixez ensuite les 24 guides dans les trous destinés à accueillir les barres de jeu, utilisez 3 vis à bois Ø4 x 16mm pour chaque.  +, Pour 1 joueur : faire correspondre la partie avant et le dos du joueur de chaque côté de la barre, et les fixer à l'aide de 3 vis et boulonsØ6 x 12mm. Répétez cette opération pour les autres joueurs et pour chaque équipe, à vous de les placer selon votre guise.  +, Sanglez le babyfoot sur une table, c'est prêt, à vous de jouer !<div class="icon-instructions idea-icon"> <div class="icon-instructions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">N'oubliez pas d'acheter une balle en liège !</div> </div>  +,
Il suffit de faire glisser le fond sur les 2 longueurs (coté gauche et droit), puis de les maintenir le temps d'emboiter les 2 largeurs (face avant et arriéré). Fixez ensuite les 24 guides dans les trous destinés à accueillir les barres de jeu, utilisez 3 vis à bois Ø4 x 16mm pour chaque.  +, Pour 1 joueur : faire correspondre la partie avant et le dos du joueur de chaque côté de la barre, et les fixer à l'aide de 3 vis et boulonsØ6 x 12mm. Répétez cette opération pour les autres joueurs et pour chaque équipe, à vous de les placer selon votre guise.  +, Sanglez le babyfoot sur une table, c'est prêt, à vous de jouer !<div class="icon-instructions idea-icon"> <div class="icon-instructions-icon"><i class="fa fa-lightbulb-o"></i></div> <div class="icon-instructions-text">N'oubliez pas d'acheter une balle en liège !</div> </div>  +,
Démontez la latte centrale arrière de la seconde palette  +, Coupez en 2 la seconde palette en son centre à l'aide de la scie sauteuse. Puis reclouer les lattes serrées.  +, Avec du papier de verre, poncer les côtés.  +,
Démontez la latte centrale arrière de la seconde palette  +, Coupez en 2 la seconde palette en son centre à l'aide de la scie sauteuse. Puis reclouer les lattes serrées.  +, Avec du papier de verre, poncer les côtés.  +,
*Imprimante 3D (Pla ou PolySmooth / colle ou laque / Tournevis très fin / Spatule) *Laser (plexiglas couler opaque de couleur, colle pour plastique type BOSTIK 1220) *Plotter de découpe (vinyle de la même couleur que votre impression 3D) *Logiciels (Fusion 360, Insckape, Cura, DrawCut Lite)   +, PRÉPARATION DU FICHIER 3D ET IMPRESSION : <br/> *Pour cela rendez-vous sur internet ou sur votre magnifique ordinateur pour trouver une image en PNG (c'est à dire qui n'a pas de fond). <br/><div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Dans mon cas j'ai choisis celle-ci: (PHOTO 1)</div> </div><br/> *Veillez également à ne pas prendre de photo trop détaillée car il sera difficile par la suite d'en faire quelque chose d'exploitable. <br/><div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">par exemple: (PHOTO 2)</div> </div> INSCKAPE: <br/> *Ouvrir le logiciel *sur la barre en haut cliquer sur fichier *ouvrir *sélectionnez votre image *OK *cliquez ensuite sur votre image *sur la barre en haut cliquez sur chemin *vectoriser un objet matriciel (une fenêtre s'ouvre) *sélectionner seuil de luminosité et mettez à jour l'image *valider *quitter la petite fenêtre *cliquez sur l'image et déplacer la de côté *cliquez sur votre ancienne image *supprimez la *sélectionnez votre image vectorisé *sur la barre en haut mettez en X et Y 0.000 <br/><div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Photo une fois le paramétrage terminer (PHOTO 3)</div> </div><br/> *Enregistrez ensuite votre image en svg. FUSION 360: <br/> *Ouvrir le logiciel *sur la barre en haut cliquez sur esquisse *cliquez sur la face basse du plan *sur la barre en haut sélectionnez la forme polygone circonscrit. Il à comme côte 50 mm et 8 arêtes *validez votre esquisse *insérez ensuite votre fichier SVG et placer le à l'intérieur au centre de votre esquisse *sélectionnez toutes les faces de votre image sauf l'esquisse du dessous *sur la barre en haut cliquez sur extrusion et monter le de +3 mm *Faîtes de même pour votre esquisse mais de -3 mm <br/><div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Photo une fois le paramétrage terminer (PHOTO 4)</div> </div><br/> *exportez ensuite votre fichier en STL sur votre bureau. CURA: <br/> *Ouvrir le logiciel *Dans un premier temps rentrez dans le logiciel le type d'imprimante que vous allez utiliser. *importez votre fichier STL *modifiez sa taille X et Y = 50 / Z = 6 *Vous avez donc le choix entre le PLA et le POLYSMOOTH. <br/><div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Personnellement j'ai choisis polySmooth pour pouvoir le passer au polisher et lui donner un aspect brillant (PHOTO 5).</div> </div><br/> *Au niveau des paramètres j'ai choisis : 0.2 mm de hauteur de couche / 20 % de remplissage / 60 de vitesse / et en support une Jupe. <br/><div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Photo une fois imprimer et avant le polisher (PHOTO 6)</div> </div> <br/>  , INSCKAPE: <br/> *Créer un polygone a 8 sommets de 60 sur 60 mm et mettez le en X et Y à 0.000 mm. *Faîtes attention à ce qu'il soit bien parallèle aux bords de votre document. *Dupliquer le 2 fois. *Sélectionnez le premier dupliqué et rentrez 65 mm en X et 0.000 mm en Y. *Sélectionnez le troisième et rentrez 5 mm en X/Y et 50 mm en H/L. *Grouper le premier polygone et celui qui est à l'intérieur. Une fois grouper dupliquer le. *Sélectionnez la forme dupliqué et rentrez 130 en X et 0 en Y. *Sélectionnez toutes vos formes *Aller dans objet *Aller dans Fond et Contour *Effacer le fond s'il y en a un et mettre un contour en aplat (ROUGE à 255 et 100 % d'opacité) <br/><div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">Photo une fois le paramétrage terminer (PHOTO 7)</div> </div><br/> *Enregistrez sous votre document en pdf (C'est le format qui passe le mieux sur la machine laser). CORELDRAW: *Ouvrez le logiciel et importez votre fichier pdf. *Sélectionnez un polygone extérieur ainsi que celui à l'intérieur. Les grouper et vérifier s'ils font bien 60 sur 60 mm . Faîtes de même pour les 2 autres. *Sélectionnez toutes vos formes et regroupez les. En haut il y a un petit logo en forme de stylo plume. cliquez dessus et sélectionnez "Hairline" ou "ligne très fine". *Attention, la taille de votre page (L,H) doit être la même que celle de vos formes regroupés. Seulement rajoutez 2 mm pour prévoir une marge. *Toujours avec la même sélection, appuyer sur P (Cela centrera votre sélection au centre de la page). *Cliquez sur imprimer et préférences. Attention à bien rentrer à nouveau la taille de votre page. *Vous pouvez ensuite lancer le logiciel de découpe de la laser (dans mon cas JobControl).<br/> <div class="icon-instructions info-icon"> <div class="icon-instructions-icon"><i class="fa fa-info-circle"></i></div> <div class="icon-instructions-text">En ce qui concerne l'utilisation de la machine laser je vous conseil de demander directement à quelqu'un sur place de vous montrer comment l'utiliser car en fonction des différents lieux ou vous vous trouverez l'utilisation ne sera pas forcément la même.</div> </div><div class="icon-instructions caution-icon"> <div class="icon-instructions-icon"><i class="fa fa-exclamation-triangle"></i></div> <div class="icon-instructions-text">Attention néanmoins à bien choisir du plexiglas couler OPAQUE car vous allez coller vos pièces entre elles par la suite. Après découpe veillez à ne récupérer que les polygone de 60 mm. Prenez la face pleine et collez les autres pièces dessus de façon à former un badge creux (PHOTO 8).</div> </div> Ne manque plus que le plotter pour avoir le plus beau des badges !  ,