| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Programmation Python >> Content
    Comment faire un oscilloscope en Python
    Les oscilloscopes sont utilisés pour mesurer les intervalles de différents types de vagues et des signaux électriques . Leurs lectures aident à fournir des chercheurs au sein de comprendre la fréquence et l'intensité des ondes émises par les appareils électriques et d'autres sources . Pour le matériel dans un oscilloscope à travailler , il doit être relié à un programme logiciel qui interprète les mesures et les affiche dans un graphe . Instructions
    1

    Ouvrez une application d'édition de code ou d'utiliser une application d'édition de texte tel que TextEdit sous Mac OS X ou Bloc-notes dans Microsoft Windows. Créez un nouveau document pour abriter le script de l'oscilloscope Python.
    2

    définir les paramètres qui seront utilisés dans le script , ainsi que les deux bibliothèques Python nécessaires pour le script en utilisant le code suivant : Photos

    import os , sysimport Imageimport serialimport pygameimport temps

    de pyBusPirateLite.UART import * à partir de pyBusPirateLite.BitBang import *
    3

    Définir le débit de données et utiliser la fonction d'impression pour permettre au programme de graphique les entrées faites par l'oscilloscope :

    DATA_RATE = 5720,0 # mesures /seconde ( estimé experimenticaly ) DEFAULT_TIME_SCALE = RES_X /DATA_RATE # temps par défaut en secondes pour faire une fenêtre fillpygame . init () pb = UART ( BUS_PIRATE_DEV , 115200 ) print " Entrer binmode : " si bp.BBmode () : print " OK. " else : print " . échoué" sys.exit ()
    4

    définir les paramètres de la fenêtre de l'application en utilisant la fonction de pygame.display : fenêtre


    = pygame.display.set_mode ( ( RES_X , RES_Y ) ) background = (0,0 , 0) = ligne ( 0,255,0 ) trig_color = ( 100,100,0 )
    5

    créer le script de l'oscilloscope lui-même en définissant les paramètres qui seront écrites sur le graphique et fournissant des arguments pour le x et y- axe :

    bp.port.write ("\\ x15" ) while 1: complot = {} {} = tension maxv = 0minv = 100time_scale = DEFAULT_TIME_SCALE * time_divprev_voltage = 0measure = 0; si ( trig_mode = NO_SYNC ! ): pour k in range ( 1,2000 ) : prev_voltage = voltagemeasure = bp.response (2 , True) tension = ord ( mesure [0]) << 8voltage = tension + ord ( mesure [ ,"1] ) = tension ( voltage/1024.0 ) * 6.6 # hausse slopeif ( (tension > = trigger_level ) et ( prev_voltage < (tension * TRIG_CAL ) ) et ( trig_mode == RISING_SLOPE ) ) : breakif ( (tension < trigger_level ) et (tension > 0,01) et ( prev_voltage > tension /TRIG_CAL ) et ( trig_mode == FALLING_SLOPE ) ) : breakfor i in range ( RES_X ): pour k in range ( time_div - 1): # ignorant ( time_div -1 ) échantillons pour atteindre resolutionbp.response de l'heure (2 , True) = mesure bp.response (2 , True) = tension ord ( mesure [0]) << 8voltage = tension + ord ( mesure [ 1] ) = tension ( voltage/1024.0 ) * 6.6plot [i] = voltagefor i in range (1, RES_X ) : si complot [ i ]> maxv : maxv = plot [ i ] si complot [ i ] < minv : minv = plot [ ,"i ] y = ( RES_Y ) - terrain [ i ] * ( RES_Y /MAX_VOLTAGE ) - OFFSETx = IPX = i-1 ; py = ( RES_Y ) - terrain [i- 1 ] * ( RES_Y /MAX_VOLTAGE ) - OFFSETpygame.draw . La ligne ( fenêtre , une ligne, ( px , py) , (x, y ) ) = trig_y RES_Y - trigger_level * ( RES_Y /MAX_VOLTAGE ) pygame.draw.line ( fenêtre , trig_color , ( 0 , trig_y ) , ( RES_X , trig_y ) )
    6

    finaliser l' oscilloscope en définissant les paramètres de l'interface utilisateur graphique de l'oscilloscope :

    # # GUI) font = pygame.font.Font (None , 19) = text_max_voltage police . render ( "Max : % f V "% maxv , 1, (255, 255, 255 ) ) = text_min_voltage font.render ( "Min : % f V "% minv , 1, (255, 255, 255 ) ) text_time_scale = font.render ( " Délai: de % f" % time_scale , 1, (255, 255, 255 ) ) = text_maxv_Rect text_max_voltage.get_rect () text_minv_Rect = text_min_voltage.get_rect () text_time_scale_Rect = text_time_scale.get_rect () text_maxv_Rect . x = 10text_maxv_Rect.y = 10text_minv_Rect.x = 10text_minv_Rect.y = 30text_time_scale_Rect.x = 10text_time_scale_Rect.y = 50window.blit ( text_max_voltage , text_maxv_Rect ) window.blit ( text_min_voltage , text_minv_Rect ) window.blit ( text_time_scale , text_time_scale_Rect )

    Previous :

    next :
      articles connexes
    ·Comment fusionner un tableau en Python 
    ·Comment compiler du code Python 
    ·Comment découper une liste en Python 
    ·Comment obtenir un Python à courir à partir CMD 
    ·Mise en miroir une image verticalement et horizontaleme…
    ·Comment redéfinir equals en Python 
    ·Comment utiliser une double boucle For sur Python 
    ·Comment lire un flotteur binaire avec Python 
    ·Comparaisons insensible à la casse en Python 
    ·Comment manipuler des fichiers XLS avec Python 
      articles en vedette
    ·Comment faire un fichier JS 
    ·Comment utiliser des décimales dans Visual Basic 
    ·Comment utiliser Sélectionnez Où faire correspondre s…
    ·Comment obtenir la source d'un élément d' image en ut…
    ·Comment inverser une instruction if pour réduire gigog…
    ·Simple base de données MySQL PHP Tutorial 
    ·Quel est Msgina.dll 
    ·Comment écrire dans un fichier binaire d'un code de l'…
    ·Comment analyser XML en VBScript 
    ·Comment créer un Tracker Pixels en PHP 
    Copyright © Connaissances Informatiques http://fr.wingwit.com