| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> Python Programming >> Content
    Come fare un oscilloscopio in Python
    Oscilloscopi sono utilizzati per misurare gli intervalli di diversi tipi di onde e segnali elettrici . Le loro letture aiutano a fornire ai ricercatori all'interno spaccato la frequenza e la forza delle onde emesse da apparecchi elettrici e da altre fonti . Per l'hardware in un oscilloscopio per lavorare , ha bisogno di essere collegato ad un programma software che interpreta le letture e li visualizza in un grafico . Istruzioni
    1

    Aprire un editor di codice o di utilizzare un editor di testo come TextEdit in Mac OS X o il Blocco note di Microsoft Windows . Creare un nuovo documento per ospitare la sceneggiatura dell'oscilloscopio Python .
    2

    definire i parametri che verranno utilizzati nello script , così come le due librerie Python necessari per lo script utilizzando il seguente codice :

    import os , sysimport Imageimport serialimport pygameimport tempo

    da pyBusPirateLite.UART import * from pyBusPirateLite.BitBang import *
    3

    Definire la velocità dei dati e utilizzare la funzione di stampa per consentire al programma di grafico gli ingressi effettuati dal oscilloscopio :

    DATA_RATE = 5720,0 # misure /secondo ( stimato experimenticaly ) DEFAULT_TIME_SCALE = RES_X /DATA_RATE # tempo predefinito in secondi per fare una finestra fillpygame . init ( ) bp = UART ( BUS_PIRATE_DEV , 115200 ) print "Inserire binmode : " , se bp.BBmode ( ) : print " OK . " else : print " . fallito" sys.exit ( )

    4

    Definire i parametri per la finestra dell'applicazione utilizzando la funzione pygame.display :
    finestra

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

    creare lo script per l'oscilloscopio se stessa definendo i parametri che verranno scritti sul grafico e di fornire argomenti per la x e y -axis :

    bp.port.write ( " \\ x15 " ) , mentre 1 : trama = { } tensione = { } MaxV = 0minv = 100time_scale = DEFAULT_TIME_SCALE * time_divprev_voltage = 0measure = 0 ; se ( trig_mode = NO_SYNC ! ) : per k in range ( 1,2000 ) : prev_voltage = voltagemeasure bp.response = ( 2 , True) tensione = ord ( misura [ 0 ] ) << 8voltage = tensione + ord ( misura [ ,"1 ] ) Tensione = ( voltage/1024.0 ) * 6.6 # aumento slopeif ( (tensione > = trigger_level ) e ( prev_voltage < (tensione * TRIG_CAL ) ) e ( trig_mode == RISING_SLOPE ) ) : breakif ( (tensione < trigger_level ) e (tensione > 0.01) e ( prev_voltage > tensione /TRIG_CAL ) e ( trig_mode == FALLING_SLOPE ) ) : breakfor i in range ( RES_X ) : per k in range ( time_div - 1 ) : # ignorando ( time_div - 1 ) campioni per ottenere una corretta resolutionbp.response tempo ( 2 , True) misura = bp.response ( 2 , True) tensione = ord ( misura [ 0 ] ) << 8voltage = tensione + ord ( misura [ 1 ] ) Tensione = ( voltage/1024.0 ) * 6.6plot [ i] = voltagefor i in range ( 1 , RES_X ) : se plot [ i] > MaxV : MaxV = plot [ i] se plot [ i] < MINV : MINV = plot [ ,"i] y = ( RES_Y ) - terreno [ i] * ( RES_Y /MAX_VOLTAGE ) - OFFSETx = IPX = i- 1 ; py = ( RES_Y ) - terreno [ i- 1 ] * ( RES_Y /MAX_VOLTAGE ) - OFFSETpygame.draw . linea (finestra , linea , ( px , py ) , ( x , y) ) = trig_y RES_Y - trigger_level * ( RES_Y /MAX_VOLTAGE ) pygame.draw.line (finestra , trig_color , ( 0 , trig_y ) , ( RES_X , trig_y ) ) economici 6

    Finalizza l'oscilloscopio definendo i parametri per l'interfaccia grafica utente dell'oscilloscopio :

    # # GUI ) font = pygame.font.Font ( None, 19) text_max_voltage = carattere . 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 ( " Tempo d'azione: % f s" % 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 ) per

    Previous :

    next :
      Articoli Correlati
    ·Come importare i propri moduli in Python 
    ·Come fare un bot IRC da zero in Python 
    ·Come fare un inserimento Ordina in Python 
    ·Come utilizzare Python con mod_wsgi 
    ·Come trovare l' indice di una stringa in Python 
    ·Metodi di tela Python 
    ·Come aggiungere una variabile a se stesso in Python 
    ·Come sostituire Python Indicazioni 
    ·Come estrarre l'utilizzo della CPU Con Python 
    ·Come risolvere l' IP in Python 
      Articoli in evidenza
    ·Come convertire un numero intero in un carattere in C +…
    ·Come utilizzare un'istruzione condizionale in JQuery 
    ·Motivi per PHP CSS Non Emissione correttamente 
    ·Come attivare il pulsante Disattiva modulo in Javascrip…
    ·Come collegare due forme tramite PHP 
    ·Errore Java PID : 236 
    ·Progetto VBA non verrà aggiornata 
    ·Come Reindicizza una tabella heap 
    ·Come utilizzare un loop infinito 
    ·Come impostare le associazioni Tasto di scelta Con Visu…
    Copyright © Conoscenza Informatica http://it.wingwit.com