Publié le 28 juillet 2019 - par

Un indicateur de charge CPU/RAM à LED pour le Raspberry Pi

Frédéric habite en Haute-Vienne (87). Il a découvert le Raspberry Pi il y a seulement quelques mois. Comme beaucoup, il a commencé par du Retropie et du RecalBox ! Et puis il a commencé à utiliser son RasPi comme PC d’appoint et à bidouiller…

Indicateur de charge CPU et de RAM pour Raspberry Pi

Pas de bol, il est maintenant contaminé et a commencé à découvrir l’électronique grâce à sa framboise  🙂 Du coup je crois qu’il a définitivement rejoint les rangs des makers et on sait tous que c’est comme pour les scouts : « Maker un jour, maker toujours !« 

Une vidéo sur twitter

C’est une vidéo sur Twitter qui a attiré mon attention.

J’ai demandé à Frédéric s’il voulait partager sa réalisation avec les lecteurs du blog et il a accepté.

Soyez indulgent(e)s, c’est sa toute première réalisation mais c’est déjà un beau projet qui regroupe de l’électronique, du Python et un Raspberry Pi. Comme quoi un débutant passionné peut créer des réalisations intéressantes

Le schéma

Cliquez pour agrandir

Le schéma de base est classique. Un transistor est commandé sur sa base par une sortie GPIO et allume une LED quand le GPIO passe à 1.

La partie haute du schéma s’occupe de la RAM (GPIO 12 = Broche 32 etc.) et la partie basse affiche l’état du CPU

Le programme

Voici le début du programme Python de Frédéric. Pour cause d’incompatibilité d’humeur entre WordPress et les indentations de Python, vous le voyez sous forme d’une image mais vous pouvez télécharger le code source en cliquant sur ce lien.

Le montage

Frédéric a choisi une plaquette Veroboard pour monter son afficheur. Bien entendu tout type de support conviendra, depuis la breadboard pour tester le montage jusqu’à un CI sur mesure.

Il ne reste qu’à connecter tout ça sur les ports GPIO du Raspberry Pi

Et à l’habiller pour lui donner belle allure.

Conclusion

Une réalisation pour démarrer avec l’électronique. Il y a un peu de tout :

  • identifier les valeurs de résistances
  • lire un schéma
  • Souder les composants et les fils
  • allumer des LED (le HelloWorld du Maker)
  • Écrire un programme en Python

 

Si vous parcourez le programme, vous verrez qu’il est « propre ». Lancé dans un terminal il se termine avec CTRL + C et arrête proprement l’utilisation des GPIO.

Vous pouvez aussi lancez ce script automatiquement au démarrage du Raspberry Pi pour être informé en temps réel de l’utilisation des ressources de votre framboise.

Merci à Frédéric pour ce partage et bonne continuation avec le RasPi 😉

 

 

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

9 réflexions au sujet de « Un indicateur de charge CPU/RAM à LED pour le Raspberry Pi »

    1. Bud 'Robert' Spencer

      Parce que les GPIO n’ont pas vocation à driver des leds. Un montage comme ça sans les transistors, c’est 30 à 40 mA de pompé au travers du soc et sur l’étage de régulation du PI. Avec les transistors c’est à peine 1mA sur le SoC et aucune conso sur la régule si on prend soin de câbler les anodes des leds en amont (sur le 5v ou une source extérieure). C’est donc un bon choix fait par l’auteur (meme si il y en avait d’autres plus simple).

      Coté code, il y a beaucoup à redire, mais je ne veux pas jeter la pierre à un débutant. Ceci dit, si l’auteur le souhaite, il peut poster une demande dans la rubrique Python du forum (ou pour un autre langage si ça le tente) et je me ferais un plaisir de lui expliquer comment il peut réduire de 80% la taille de son code tout en consommant moins de ressources et pour un meilleurs résultat (tout ça gardant une approche très basic du problème, c’est a dire sans poo ou de librairies compliqués. Juste du raisonnement logique).

      Répondre
  1. Dodo

    Bonjour, ce schema comporte des transistors car au debut je souhaitais que si une led s allume, les precedentes aussi. Il fallait donc que l alim soit détachée des gpios. Puis j ai galéré 😅 et ai fais ce montage avec leds « indépendantes ». Mais c est vrai que l on peut se passer de transistors.

    Répondre
    1. Bud 'Robert' Spencer

      J’ai écrit 80%, mais c’est à la louche au premier coup d’œil. Cela dit, je pense que 80% me laisse encore de la marge . Si je ne rentre pas trop tard ce soir j’écrirais un topic sur le forum pour ça. Je ferais peut-être en 2 fois parce que le but n’est pas d’écrire un bout de code (ca il y en a pour 10 minutes) mais surtout de l’expliquer, sinon ça ne sert a rien.

      Répondre
  2. Frédéric

    @Bud ‘Robert’ Spencer cela m interresse, j ai « su » programmer un peu mieux que ça, mais ayant une mémoire courte et n ayant pas programmer depuis longtemps, j ai oublié pas mal de trucs. J ai même dû demander a google comment créer une variable, c est dire! Sinon avec des listes, des boucles foreach, il y a moyen de faire qqch. Mais je suis curieux d apprendre, donc de lire votre topic. Cdlt

    Répondre
    1. Bud 'Robert' Spencer

      J’ai commencé. J’espère ne pas avoir fait trop compliqué pour que cela soit compréhensible par ceux qui débutent. Je continuerais demain si je ne rentre pas trop tard du boulot. Pour les itérations dans des listes, c’est vrai que c’est très utile mais je vais déjà tenir ma promesse d’optimiser ce programme de façon très simple et ensuite, je monterais d’un cran 😉
      Le post ce trouve ici : https://forums.framboise314.fr/viewtopic.php?f=38&t=5397

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.