J'ai décidé de faire une télécommande pour mes trains imprimés en 3D, principalement parce que mon fils a du mal avec l'interface du smartphone et ensuite (et probablement plus important) c'était amusant. :)
Cette petite boîte basée sur NodeMCU peut bien sûr être utilisée pour n'importe quel autre usage, j'ai inclus un projet Arduino qui est un scanner de réseau wifi (également visible sur une des photos). Cet exemple peut être utile si vous voulez continuer à développer ce projet et par exemple intégrer un menu où vous pouvez choisir entre plusieurs cibles différentes.
Cette télécommande fonctionne avec le logiciel standard de l'Hectorrail 141 et envoie ses commandes avec des requêtes HTTP GET et ignore pratiquement la réponse. Ce n'est certainement pas le moyen le plus efficace de communiquer entre deux NodeMCU, mais cela laisse la possibilité de se connecter aux trains avec votre smartphone ou tablette ainsi qu'avec cette télécommande.
J'ai découvert lors de l'assemblage que la boîte est sérieusement difficile à serrer, donc soyez prudent lorsque vous soudez les pieds des boutons et pliez-les pour qu'ils prennent un minimum d'espace. J'ai inclus deux versions de la face arrière, une si vous voulez utiliser des cellules individuelles et une si vous voulez utiliser un pack de batteries. Je suggère fortement cette dernière, même si vous achetez des piles AAA rechargeables individuelles, je recommande de les souder dans un pack. Construire une baie de batterie avec des cellules détachées n'est pas aussi simple qu'il y paraît pour obtenir une bonne connexion. Si j'en construis un autre, j'utiliserai un pack de batteries soudé et je percerai un trou pour un connecteur de charge sur le côté pour ne pas avoir à dévisser la face arrière.
Matériel nécessaire :
NodeMCU - Une carte de développement qui contient un micro contrôleur Wifi ESP8266. Celui-ci peut généralement être trouvé assez bon marché sur eBay, Whish ou Alibaba, il suffit de comparer la photo au schéma pour voir que c'est la bonne version. https://en.wikipedia.org/wiki/NodeMCU
Écran OLED avec connexion I2c 4 fils et contrôleur SH1106.
http://www.heltec.cn//OLED_Sepecification.pdf
A la page 4 de ce PDF vous avez un aperçu, j'utilise celui en bas à droite, 1,3" SH1106 contrôlé 4 fils version monochrome. Il est vendu à notre quincaillerie locale Kjell&Co : https://www.kjell.com/se/sortiment/el-verktyg/elektronik/optokomponenter/led-lcd-displayer/luxorparts-oled-display-for-arduino-1-3--p87946?gclid=EAIaIQobChMIuuWojpiA3wIV0qiaCh07cQFDEAYYASABEgLA9_D_BwE&gclsrc=aw.ds
NOTE ! vous devez installer une extension de bibliothèque pour l'environnement Arduino, consultez la page Hectorrail 141 pour les instructions : https://www.thingiverse.com/thing:2575667
6pcs Buttons - Cherchez sur ebay "Tactile PCB push button". Il devrait être avec une longueur moyenne du bouton, mais si vous achetez les longs, vous pouvez les couper jusqu'à ce qu'ils fonctionnent bien. NE PAS ! coller le cadre du bouton au corps principal avant d'avoir testé que les boutons fonctionnent !
1pcs 5-10kOhm potentiomètre. Celui utilisé ici est un plastique traditionnel avec un long bouton qui a été coupé à environ 6-7mm de longueur. Le filetage est de 3/8" mais j'ai juste percé le trou à 10mm dans le corps, car le filetage est trop fin pour fonctionner.
Interrupteur d'alimentation : J'ai utilisé un interrupteur à bascule super-minuscule pour ce projet et je ne le trouve pas, donc je vous recommande d'expérimenter un peu ici et si vous ne trouvez pas un petit interrupteur à bascule qui fonctionne avec les pièces de bouton incluses, agrandissez simplement le trou et mettez un interrupteur à bascule à la place.
NOTE ! le fichier zip "esp8266-OLED-master" contient la librairie pour l'écran OLED, il doit être placé dans le dossier libraries de votre installation Arduino IDE, par exemple :
C:Program Files (x86)Arduinolibraries
Les deux autres répertoires du projet peuvent être placés où vous le souhaitez.