Résolu sur le forum : Borne Wallbox Pulsar Plus 7,4 kW sur abonnement 6 kVA : quel délestage avant accord copro (urgent)Ma panne diagnostiquée — réponse sous 48 h29 €

Programmer le pcDuino : Fichiers : L’appui sur un BP ajoute une ligne dans un fichier texte.

Électroniquemis à jour le 23 avril 2023

Le pcDuino est un système informatique open source qui offre aux utilisateurs une variété de possibilités de programmation. Il est très facile à utiliser et peut être utilisé pour créer des applications et des programmes complexes. Dans cet article, nous allons examiner comment le pcDuino peut être utilisé pour programmer un fichier texte en ajoutant une ligne lorsqu’un bouton poussoir (BP) est appuyé. Nous verrons également comment le fichier texte peut être modifié et comment le programme peut être mis à jour.

Programmer le pcDuino : Fichiers : L’appui sur un BP ajoute une ligne dans un fichier texte.

Ce que l’on va faire ici

  • Dans ce code, l’appui sur un bouton poussoir va permettre d’enregistrer une ligne dans un fichier texte, à l’emplacement de son choix sur le système. Ce code ouvre les bases de datalogging sur évènements capteurs.
  • Vous remarquerez la simplicité du code obtenu.

Pré-requis

  • un mini-PC (pcDuino conseillé) avec système Lubuntu opérationnel. Voir si besoin la page d’accueil du pcDuino
  • Langage Python (2.7) et l’IDE Pyduino ou l’éditeur Geany installés. Voir si besoin : Logiciel pour développer avec Pyduino
  • ma librairie pyDuino installée : voir si besoin : Télécharger et installer Pyduino sur le pcDuino

Schéma fonctionnel

  • L’entrée numérique déclenche l’écriture dans le fichier texte.

Matériel nécessaire

Système

  • Le pcDuino seul

E/S

  • une plaque d’essai pour montage sans soudures,
  • des straps,
  • un bouton poussoir pour CI,

Instructions de montage

  • Connecter un bouton poussoir entre la broche 2 (configurée en entrée avec rappel au plus) et le 0V

Le montage à réaliser

Le fichier *.py

Copier/coller ce code dans l’éditeur Geany :

#!/usr/bin/python
# -*- coding: utf-8 -*-

# exemple pyDuino – par X. HINAULT – www.mon-club-elec.fr
# Juin 2013 – Tous droits réservés – GPLv3
# voir : https://github.com/sensor56/pyDuino

# Ajout d’une ligne dans un fichier lors appui sur un BP

from pyduino import * # importe les fonctions Arduino pour Python

# entete declarative
BP=2  # declare la broche a utiliser
APPUI=LOW # valeur broche lors appui

filepath=«  » # variable globale chemin fichier

ÉlectroniqueChamp électrique : les notions fondamentales expliquées simplement

#— setup —
def setup():

        global filepath # variable globale

        # configuration du BP
        pinMode(BP,PULLUP) # met la broche en entree avec rappel au plus actif
        Serial.println(« La broche « +str(BP)+ » est en entree avec rappel au plus actif ! »)

        # configuration fichier a utiliser
        path=homePath()+ dataPath(TEXT)  # chemin du répertoire à utiliser
        filename=« test.txt » # nom du fichier
        filepath=path+filename # chemin du fichier

        print (« Fichier utilise : «  + filepath )

# — fin setup —

# — loop —
def loop():

        if digitalRead(BP)==APPUI : # si appui BP

                # pas a pas :
                «  » »
                dataFile=open(filepath,’a’) # ouvre le fichier en ecriture pour ajout
                dataFile.write(« Appui BP :  » + nowdatetime() + »\n« )
                dataFile.close()
                «  » »

ÉlectroniqueBien chauffer son atelier d’électronique : confort, sécurité et continuité de travail

                # ajout dans fichier en 1 ligne
                appendDataLine(filepath, « Appui BP : «  + nowdatetime())

                # message console
                Serial.println (« Ajout ligne : « + « Appui BP : «  + nowdatetime() + » dans fichier «  + filepath)

                delay (250) # anti-rebond

# — fin loop —

#— obligatoire pour lancement du code —
if __name__==« __main__ »: # pour rendre le code executable
        setup() # appelle la fonction main
        while not noLoop: loop() # appelle fonction loop sans fin
 

Ce code est également disponible ici : https://raw.github.com/sensor56/pyduino-exemples/master/SD/FileAppendAppuiBp.py

Utilisation

  • Vérifier au préalable que le répertoire utilisé existe sur le système et le créer graphiquement au besoin.
  • Appuyer sur le bouton exécuter dans Geany
  • Une fenêtre de Terminal vide doit apparaître : lors d’un appui sur le bouton poussoir, un message indique qu’une ligne est ajoutée dans le fichier texte :
  • On peut fermer ou non le programme est ouvrir le fichier texte séparément à partir de Geany ou autres éditeur de texte, voire même du navigateur et constaté que le fichier contient bien les lignes ajoutées.
  • Simple et efficace.

Discussion technique

  • Ici, la CPU est trop sollicitée par la boucle loop() donc, on pourra utiliser plutôt un Timer pour lire le BP à intervalle occasionnel plutôt qu’en boucle permanente.

Donnez votre avis

Soyez le 1er à noter cet article
ou bien laissez un avis détaillé


Partagez cet article maintenant !


Ça ne règle pas votre cas ?

Décrivez la panne sur le forum, avec une photo si vous pouvez : les membres qui ont eu la même répondent, et le sujet reste pour les suivants.

Avatar photoAvatar photoAvatar photoAvatar photoAvatar photoRejoindre les 54 membres — gratuit, 44 pannes résolues

Dans le même tiroir

Réagissez à cet article

La lettre du club

Une lettre par mois, accrochée au panneau

Les sujets du forum résolus dans le mois, un guide, un chiffre qu’on peut vérifier chez soi. Rien d’autre, jamais plus souvent — et on se désabonne d’un clic.

Ce qu’il y a dedans

Votre adresse

Une lettre par mois. Désabonnement en un clic.

Partagez votre réaction