Faire clignoter une lumière avec un Framboise Pi n’est pas nouveau – c’est la première chose que de nombreux fabricants font avec leur premier Raspberry Pi. Mohammad Reza Sharifi pousse l’idée plus loin non seulement en contrôlant une LED, mais en actionnant une ampoule à l’aide de gestes de la main et de boutons virtuels pour allumer ou éteindre la lumière.
Ce n’est pas la première fois que nous couvrons le travail de Sharifi sur Raspberry Pi. Plus récemment, il a créé un projet qui utilise une manette PlayStation 4 pour faire fonctionner un drone. Il s’est également attaqué à des projets gestuels de la main dans le passé, y compris celui-ci voiture robotique qui repose sur des signaux manuels pour la direction et le contrôle.
control_light_bulb_using_virtual_buttons de r/raspberry_pi
Dans une vidéo de démonstration partagée par Sharifi, nous pouvons voir une caméra fixée sur sa main avec des lignes tracées pour montrer où le Pi a identifié la forme de la main. Deux boutons virtuels sont superposés sur le flux de la caméra. Avec l’aide de Node-Red, un langage de programmation piloté par les événements, et de certains algorithmes de vision par ordinateur, le Pi est capable de déterminer quand la main s’est déplacée en position et sélectionne le bouton correspondant avec une « pression » virtuelle. Cela permet d’allumer ou d’éteindre l’ampoule en fonction du bouton sélectionné.
Il ne faut pas beaucoup de matériel pour créer ce projet, mais cela demandera un peu d’effort du côté logiciel. Vous aurez besoin d’un Raspberry Pi 3B+ ou Raspberry Pi 4 et d’une caméra externe compatible de votre choix. Si vous souhaitez faire fonctionner un appareil comme une lampe ou un ventilateur, vous aurez besoin d’un relais pour le contrôler avec le Raspberry Pi mais surtout de la connaissance pour travailler en toute sécurité avec des tensions plus élevées.
Sharifi explique qu’OpenCV et Python ont été utilisés pour construire le système de détection des gestes de la main. Il s’appuie sur la bibliothèque Cvzone pour déterminer la forme de la main en mesurant la distance entre les doigts et son emplacement par rapport à l’alimentation de la caméra. S’il détecte qu’un bouton virtuel a été appuyé, une commande est relayée pour déclencher le Raspberry Pi GPIO en utilisant le protocole MQTT et Node-Red.
Si vous souhaitez construire vous-même un système similaire, la meilleure chose à faire est d’explorer le fil de discussion original partagé sur Reddit par Sharifi. Il contient une vidéo de démonstration du projet en action ainsi que des commentaires avec des détails supplémentaires sur le fonctionnement du projet. Nous vous recommandons également de consulter notre liste des meilleurs projets Raspberry Pi pour des créations plus inspirantes de la communauté des fabricants.