Courir, courir, chaque jour, nous continuons à courir pour nous rendre au travail, à l’école et à l’université. Dans cette routine bien remplie, beaucoup d’entre nous n’ont même pas assez de temps pour prendre correctement leur petit-déjeuner. Alors, où trouvons-nous le temps de nettoyer nos maisons ? Même lorsque nous faisons le ménage, par paresse ou par manque de temps, nous jetons souvent tous les déchets dans la même poubelle sans séparer les déchets biodégradables et non biodégradables. Cela crée un problème plus important à l’avenir, car quelqu’un d’autre doit trier manuellement tous les déchets, ce qui demande du temps et des efforts supplémentaires. C’est beaucoup de travail inutile. Alors, pourquoi ne pas créer un système capable de détecter et de trier automatiquement les déchets selon qu’ils sont biodégradables ou non ?
C’est exactement ce sur quoi se concentre ce projet. Nous avons construit un système de tri des déchets Raspberry Pi avec CircuitDigest Cloud. Pour mener à bien ce projet, nous n’avons besoin que de quatre choses : un ordinateur portable, un Raspberry Pi, une caméra USB et un compte dans CircuitDigest Cloud. Sans plus attendre, entrons dans le vif du sujet et voyons comment rendre cela possible. Vous pouvez également consulter des projets d’IA similaires et des projets Raspberry Pi réalisés précédemment ici sur Circuit Digest.
Qu’est-ce qu’un système intelligent de tri des déchets utilisant Raspberry Pi ?
Avec un système de tri des déchets basé sur Raspberry Pi, une image des déchets capturée par une caméra USB peut être envoyée à une API de traitement d’image située dans le Cloud pour être classée comme biodégradables ou non biodégradables. Aucun apprentissage automatique entraîné n’est requis pour la classification puisque la classification est effectuée à l’aide d’un appel API. Cela rend également le didacticiel sur la création d’un système de tri des déchets basé sur Raspberry Pi très convivial pour les débutants, car vous n’avez pas besoin d’effectuer d’étiquetage de données ni de formation de modèle ; vous avez juste besoin d’un Raspberry Pi, d’une caméra USB et d’un appel API.
Système de tri des déchets utilisant le flux de travail Raspberry Pi
Le système commence par la caméra USB, qui capture en continu des données en direct. OpenCV est utilisé pour accéder à la caméra, afficher le flux vidéo en direct et capturer des images soit manuellement en appuyant sur la touche Espace en mode clavier, soit automatiquement après un intervalle de temps fixe en mode automatique. Après la capture, l’image est convertie au format JPEG à l’aide d’OpenCV pour une transmission facile. La bibliothèque Requests envoie ensuite l’image en toute sécurité à l’API CircuitDigest Cloud Waste Detection à l’aide d’une requête HTTPS POST avec la clé API. Le serveur cloud traite l’image à l’aide d’une détection de déchets basée sur l’IA et vérifie si elle est biodégradable ou non. Le résultat est ensuite renvoyé au système et affiché dans le terminal. Nous avons également réalisé un robot autonome de collecte et de tri des déchets alimenté par l’IA qui collecte et trie les déchets ; parcourez le projet pour plus de détails.
Composants requis
Les composants ci-dessous sont ceux utilisés pour construire ce système de tri des déchets Raspberry Pi à l’aide du didacticiel Raspberry Pi.
| S. Non | Composants | But |
| 1. | Raspberry Pi pi | Il s’agit du contrôleur principal de cette configuration pour le traitement. |
| 2. | Caméra USB | Utilisé pour capturer l’image pour le traitement |
| 3. | Carte MicroSD | Stocke le système d’exploitation Raspberry Pi et les fichiers de projet |
Schéma de circuit Tri des déchets à l’aide de Raspberry Pi
Le schéma de circuit ci-dessous montre que le Raspberry Pi est connecté à l’alimentation externe pour une alimentation suffisante et que la caméra USB est connectée au port USB de la carte Raspberry Pi. Le Raspberry Pi est connecté à distance à l’ordinateur portable.

Procédure étape par étape pour le système de tri des déchets utilisant Raspberry Pi
Contrairement à ESP32 ou Arduino, le code ne peut pas être flashé directement sur le Raspberry Pi à l’aide de l’IDE Arduino. Avant de lancer le projet, le Raspberry Pi doit être correctement configuré en installant le système d’exploitation sur une carte microSD. Ce processus est effectué à l’aide de Raspberry Pi Imager sur un ordinateur portable ou un PC. Tout d’abord, la carte microSD est insérée dans le système et, à l’aide de Raspberry Pi Imager, le système d’exploitation Raspberry Pi requis et les configurations initiales, telles que le Wi-Fi, le nom d’utilisateur, le mot de passe et les paramètres SSH, sont sélectionnés et installés. Une fois l’installation du système d’exploitation terminée, la carte SD est retirée et insérée dans l’emplacement pour carte mémoire du Raspberry Pi, et la carte est sous tension. Bien que la première configuration puisse sembler demander beaucoup de travail, elle est en réalité simple une fois terminée. Un guide détaillé étape par étape pour la configuration complète du Raspberry Pi est disponible dans le didacticiel de configuration complète du Raspberry Pi. Les façons de connecter le Raspberry Pi sont les suivantes :
- Connexion matérielle directe
La première méthode consiste à connecter des composants externes tels qu’un moniteur, un clavier et une souris directement au Raspberry Pi. Cela permet au Raspberry Pi de fonctionner comme un ordinateur de bureau normal et est principalement utile lors de la configuration initiale et pour le fonctionnement direct. - Utilisation de SSH (Secure Shell)
La deuxième méthode consiste à utiliser SSH, où le Raspberry Pi est accessible à distance depuis un autre ordinateur utilisant la même connexion réseau. Cette méthode permet un contrôle en ligne de commande sans avoir besoin d’un moniteur, d’un clavier ou d’une souris séparé connecté au Raspberry Pi. - Utiliser la visionneuse VNC
La troisième méthode consiste à utiliser VNC Viewer, qui permet d’accéder à distance au bureau graphique complet du Raspberry Pi depuis un autre ordinateur. Cela permet de contrôler le Raspberry Pi exactement comme si vous travailliez directement sur son propre écran, mais depuis un emplacement distant. Pour travailler sur la configuration à l’aide de VNC Viewer, vous pouvez vous référer à ce didacticiel VNC Viewer pour Raspberry Pi pour la procédure détaillée étape par étape.
Avant d’entrer dans l’IDE Thonny présent dans le bureau Raspberry Pi, vous avez d’abord besoin du code. Pour cela, suivez les étapes ci-dessous,
Configuration de l’API de détection des déchets CircuitDigest Cloud
Étape 1 :
Tout d’abord, vous devez créer un compte sur CircuitDigest Cloud. Si vous en avez déjà un, rendez-vous simplement sur le site CircuitDigest Cloud, faites défiler vers le bas, et vous y remarquerez la section de détection des déchets ; cliquez dessus et entrez.

Étape 2 :
Là, vous remarquerez la section d’essai de l’API, diverses options telles que l’image, les classes, la confiance, le résultat et une section de sélection du tableau avec ses codes pertinents. Premièrement, vous pouvez minimiser et maximiser le niveau de confiance en fonction de vos besoins, car la valeur de confiance définit le seuil de probabilité minimum pour la détection des déchets. Une valeur plus élevée entraîne des détections plus précises mais peut en manquer certaines, tandis qu’une valeur plus faible détecte plus d’objets mais avec moins de certitude.

Étape 3 :
Actuellement, pour essayer sans aucune carte microcontrôleur, vous devez prendre une photo contenant des déchets biodégradables et des déchets non biodégradables. Téléchargez-le dans la section image et cliquez sur Exécuter le test. En quelques secondes, vous obtiendrez le résultat avec la détection des déchets et leur décompte également.

Étape 4 :
Sous la page, vous pouvez voir la sélection du microcontrôleur. Actuellement, nous allons essayer ce système avec le Raspberry Pi. Cliquez sur le Raspberry Pi et le site Web vous donnera le code. Copiez simplement le code ; allez maintenant sur le bureau Raspberry Pi, cliquez sur Thonny IDE pour la programmation. Dans cela, collez le code copié après avoir effectué toutes les connexions correctes. Rien, connectez simplement la caméra USB au Raspberry Pi et exécutez le code ; c’est ça. Prenez n’importe quelle photo factice sur Internet contenant des déchets biodégradables et non biodégradables, ou vous pouvez la tester en temps réel en prenant une photo en temps réel en prenant un déchet biodégradable et non biodégradable à l’aide des touches du clavier. Vous pouvez le définir automatiquement en changeant le MODE = « clavier » dans le code, comme,
»Mode clavier
Dans ce mode, l’utilisateur capture l’image manuellement en appuyant sur la touche ESPACE du clavier. Il est principalement utilisé lorsque vous travaillez directement avec un moniteur ou via VNC Viewer.
»Mode automatique
Dans ce mode, le système capture automatiquement les images après un intervalle de temps fixe sans aucune interaction de l’utilisateur. Il est utile pour les applications de surveillance continue.
»Mode SSH
Dans ce mode, le programme s’exécute via l’accès au terminal à l’aide de SSH et capture automatiquement les images sans utiliser la fenêtre d’affichage OpenCV. Les résultats sont affichés directement dans le terminal.

L’image ci-dessous montre l’image capturée du Raspberry Pi. Parallèlement, vous pouvez voir les résultats de détection de l’image, où les déchets sont biodégradables ou non biodégradables. En dessous, le moniteur série affiche le résultat de détection, qui comprend le décompte et la valeur de confiance pour chaque élément identifié.
Explication du code pour le système de tri des déchets utilisant Raspberry Pi
Le code est écrit en Python pour la détection des déchets en temps réel à l’aide d’une caméra USB et de l’API CircuitDigest Cloud. OpenCV est utilisé pour capturer des images en direct et afficher le flux de la caméra sur l’écran. Le programme prend en charge le mode clavier pour la capture manuelle et le mode automatique pour la capture automatique d’images. L’image capturée est convertie au format JPEG pour une transmission facile. À l’aide de la bibliothèque Requests, l’image est envoyée en toute sécurité à l’API cloud via HTTPS. Le serveur traite l’image et renvoie le résultat de la détection des déchets au terminal.
import cv2
import requests
import time
import os
import sys
SERVER_URL = "https://www.raspberryme.cloud/api/v1/waste-detection/detect"
API_KEY = "YourApikey"
Cette section importe toutes les bibliothèques Python requises pour l’accès à la caméra, la communication API, le contrôle de synchronisation et la gestion du système. OpenCV est utilisé pour capturer des images à partir de la caméra USB, tandis que la bibliothèque Requests est utilisée pour envoyer l’image capturée à l’API CircuitDigest Cloud. L’URL du serveur et la clé API sont également définies ici pour le traitement de détection des déchets.
MODE = "keyboard"
AUTO_INTERVAL = 5
cap = cv2.VideoCapture(0, cv2.CAP_V4L2)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
Cette partie sélectionne le mode de fonctionnement du système, soit le mode clavier pour la capture manuelle, soit le mode automatique pour la capture automatique d’images après un intervalle fixe. La caméra USB est initialisée à l’aide d’OpenCV et la résolution est définie pour une capture d’image claire. L’intervalle automatique détermine la fréquence à laquelle les images sont capturées en mode automatique.
if not cap.isOpened():
print("Camera not found! Check USB camera connection.")
sys.exit()
Cette section vérifie si la caméra USB est correctement connectée et détectée par le Raspberry Pi. Si la caméra n’est pas disponible, le programme affiche un message d’erreur et arrête immédiatement l’exécution. Cela empêche le projet de s’exécuter sans entrée de caméra valide.
_, img_encoded = cv2.imencode('.jpg', frame, [cv2.IMWRITE_JPEG_QUALITY, 90])
img_bytes = img_encoded.tobytes()
response = requests.post(SERVER_URL, headers=headers,
files=files, timeout=15)
Cette partie capture l’image du flux de la caméra en direct et la convertit au format JPEG pour une transmission efficace. L’image est ensuite envoyée en toute sécurité à l’API CircuitDigest Cloud Waste Detection à l’aide d’une requête HTTPS POST. L’API traite l’image et classe les déchets comme biodégradables ou non biodégradables.
if response.status_code == 200:
safe_response = response.text.encode('utf-8', errors="replace").decode('utf-8')
print("Response:", safe_response)
Cette section gère la réponse reçue du serveur cloud après le traitement de l’image. Si la requête API réussit, le résultat s’affiche dans le terminal, indiquant la catégorie de déchet détectée. Cela aide l’utilisateur à identifier rapidement si les déchets sont biodégradables ou non.
Dépannage du système de tri des déchets utilisant Raspberry Pi
Problème 1 : Caméra non détectée
Si la caméra USB n’est pas détectée, le programme peut afficher « Caméra non trouvée » et cesser de fonctionner. Cela se produit généralement en raison d’une connexion USB lâche ou d’une sélection incorrecte de l’appareil photo. Reconnectez correctement la caméra et assurez-vous qu’elle est fermement fixée. Vous pouvez également essayer de remplacer cv2.VideoCapture(0) par cv2.VideoCapture(1) si un autre appareil photo est connecté.
Problème 2 : Expiration du délai de demande d’API
Parfois, l’image capturée peut ne pas être envoyée au serveur et le programme affiche une erreur de délai d’attente. Cela se produit généralement en raison d’une connexion Internet lente ou d’un accès réseau instable. Vérifiez si le Raspberry Pi est correctement connecté au Wi-Fi ou à Ethernet. L’augmentation de la valeur du délai d’attente dans la fonction de requête peut également aider à résoudre ce problème.
Problème 3 : Erreur de clé API non valide
Si la clé API est incorrecte, le serveur cloud rejettera la demande et la détection des déchets échouera. Cela peut se produire si la clé est mal copiée ou contient des espaces supplémentaires. Revérifiez la clé API du compte CircuitDigest Cloud et collez-la correctement dans le code. Assurez-vous qu’il n’y a aucun caractère manquant ou supplémentaire.
Problème 4 : Résultat de classification des déchets incorrect
Parfois, le système peut classer les déchets de manière incorrecte en raison d’un mauvais éclairage, d’une visibilité peu claire des objets ou d’un angle de caméra inapproprié. Des images floues et une faible qualité d’image peuvent également affecter la précision de la détection. Placez la caméra dans une position appropriée avec de bonnes conditions d’éclairage. L’augmentation de la résolution de la caméra peut également améliorer les résultats de classification.
Problème 5 : Le programme plante pendant l’exécution
Le programme peut s’arrêter soudainement en raison de bibliothèques Python manquantes ou d’erreurs de capture d’image. Cela se produit généralement lorsque OpenCV ou Requests ne sont pas installés correctement sur le Raspberry Pi. Assurez-vous que toutes les bibliothèques requises sont installées avant d’exécuter le projet. Redémarrer le Raspberry Pi et vérifier le flux de la caméra peut également aider à résoudre le problème.
Avantages et limites du système de tri des déchets avec Raspberry Pi
Le tableau suivant donne une idée claire des limites et des avantages du tri des déchets à l’aide du Raspberry Pi.
| S. Non | Avantages | Limites |
| 1. | Détecte automatiquement les déchets biodégradables et non biodégradables en temps réel | Nécessite une connexion Internet stable pour le traitement cloud |
| 2. | Réduit le travail manuel dans le tri des déchets | La précision de la détection dépend de la qualité de la caméra |
| 3. | Facile à mettre en œuvre à l’aide d’un Raspberry Pi et d’une caméra USB | Un mauvais éclairage peut affecter les résultats de la classification |
| 4. | Prend en charge les modes de capture d’image manuels et automatiques | L’utilisation de l’API Cloud peut avoir des limites quotidiennes ou mensuelles |
| 5. | Améliore la propreté et favorise une gestion intelligente des déchets | Un léger retard peut survenir en raison du temps de réponse de l’API |
Le principal avantage de cette configuration est que nous n’avons pas besoin de prendre des ensembles de données manuellement ou de les télécharger à partir d’Internet, ni d’étiqueter les objets ni de créer un modèle. Avec l’aide de CircuitDigest Cloud, nous flashons simplement le code et l’utilisons comme un modèle prêt à l’emploi. Cela fait gagner du temps, et avec ce temps, nous pouvons nous concentrer davantage sur d’autres modifications matérielles pour de futures améliorations. Cette méthode éliminera l’utilisation de sites Web de formation ML comme Edge Impulse et TensorFlow Lite. Non seulement nous avons créé un autre système de tri des déchets avec Arduino Uno Q, mais consultez le projet de système de tri automatique des déchets pour plus de détails.
Foire aux questions
⇥ Ce système fonctionne-t-il sans connexion Internet ?
Non, ce système nécessite une connexion Internet car l’image capturée est envoyée à l’API CircuitDigest Cloud pour le traitement de détection des déchets. Sans Internet, la détection ne fonctionnera pas.
⇥ Puis-je utiliser n’importe quelle caméra USB pour ce projet ?
Oui, la plupart des webcams USB standard peuvent être utilisées avec le Raspberry Pi pour ce projet. Cependant, l’utilisation d’une caméra de meilleure qualité améliore la clarté de l’image et la précision de la classification.
⇥ À quoi servent le mode clavier et le mode automatique ?
Le mode clavier permet à l’utilisateur de capturer manuellement une image en appuyant sur la touche ESPACE. Le mode automatique capture automatiquement les images après un intervalle de temps fixe, ce qui le rend utile pour les applications de surveillance continue des déchets.
⇥ Comment puis-je améliorer la précision du tri des déchets ?
Vous pouvez améliorer la précision en plaçant la caméra dans des conditions d’éclairage appropriées et en gardant les déchets clairement visibles devant la caméra. L’augmentation de la résolution de l’image contribue également à de meilleurs résultats de classification.
⇥ Ce système peut-il détecter différents types de déchets en même temps ?
Le système classe principalement les déchets en catégories biodégradables et non biodégradables en fonction de l’image capturée. Il aide les utilisateurs à identifier le type de déchet correct pour une élimination appropriée.
⇥ Pourquoi Raspberry Pi est-il utilisé pour ce projet ?
Raspberry Pi est utilisé car il peut exécuter en douceur la communication Python, OpenCV et API basée sur Internet. Il fournit suffisamment de puissance de traitement pour gérer la capture d’images et les déchets basés sur le cloud. une ségrégation efficace.
⇥ Ce système peut-il être utilisé dans les lieux publics et les industries ?
Oui, ce projet peut être utilisé dans des lieux publics comme les centres commerciaux, les parcs et les gares, ainsi que dans les usines et industries. Il contribue à améliorer le tri des déchets et prend en charge des systèmes de gestion des déchets plus propres et plus intelligents.
Tri des déchets Raspberry Pi GitHub
Obtenez la base de code complète pour un système de tri des déchets alimenté par l’IA. Utilisez Raspberry Pi, la vision par ordinateur et CircuitDigest Cloud pour automatiser le tri des déchets. Suivez le guide et donnez vie à votre projet de recyclage intelligent.
Projets Raspberry Pi associés


Détection de mouvement CCTV avec alarme utilisant OpenCV sur Raspberry Pi
Dans cet article, nous apprendrons comment exploiter la puissance d’OpenCV et créer un système de détection de mouvement Raspberry Pi sur nos images de vidéosurveillance en direct. Si une activité est détectée sur une caméra, notre Raspberry Pi passera automatiquement à l’écran de cette caméra particulière et mettra en évidence quelle activité a eu lieu, tout cela en temps réel avec seulement 1,5 seconde de décalage.

Contrôle de servomoteur avec Raspberry Pi
Nous couvrirons toutes les fonctionnalités de base du Raspberry Pi dans ces tutoriels. Dans chaque tutoriel, nous aborderons l’une des fonctions du Pi. Dans ce tutoriel, nous allons contrôler un servomoteur avec un Raspberry Pi. Avant de passer au servo, parlons du PWM car la notion de contrôle d’un servomoteur en vient.
Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

