| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> Python Programming >> Content
    Cómo hacer un osciloscopio en Python
    osciloscopios se utilizan para medir los intervalos de los diferentes tipos de ondas y señales eléctricas. Sus lecturas ayudan a proporcionar los investigadores dentro de penetración en la frecuencia y la fuerza de las ondas emitidas por los dispositivos eléctricos y otras fuentes . Para el hardware en un osciloscopio a trabajar , que debe ser conectado a un programa de software que interpreta las lecturas y los muestra en una gráfica . Instrucciones
    1

    Abra una aplicación de edición de código o usar una aplicación de edición de texto como TextEdit en Mac OS X o el Bloc de notas de Microsoft Windows. Crear un documento nuevo a la casa de la secuencia de comandos del osciloscopio Python.
    2

    Definir los parámetros que se utilizarán en el guión , así como las dos bibliotecas de Python necesarios para la secuencia de comandos con el siguiente código :

    import os , sysimport Imageimport serialimport pygameimport tiempo

    de pyBusPirateLite.UART importación * de pyBusPirateLite.BitBang import *
    3

    Define la velocidad de datos y utilizar la función de impresión para que el programa para graficar las entradas realizadas por el osciloscopio :

    DATA_RATE = 5720,0 # medidas /segundo ( experimenticaly estimado) DEFAULT_TIME_SCALE = RES_X /DATA_RATE # tiempo predeterminado en segundos para hacer una ventana fillpygame . init () pb = UART ( BUS_PIRATE_DEV , 115200 ) print " Entrando binmode : " si bp.BBmode ( ): print "OK . " else : print " . failed" sys.exit ()
    4

    Definir los parámetros de la ventana de la aplicación mediante la función pygame.display :
    ventana

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

    Crear la secuencia de comandos para el propio osciloscopio mediante la definición de los parámetros que se escribirán en el gráfico y proporcionar argumentos a favor de la x y el eje y :

    bp.port.write ("\\ x15 " ), mientras que 1 : parcela = { } { } = tensión MaxV = 0minv = 100time_scale = DEFAULT_TIME_SCALE * time_divprev_voltage = 0measure = 0 , si ( trig_mode = NO_SYNC !) : para k en el rango ( 1,2000 ) : prev_voltage = voltagemeasure bp.response = ( 2 , True) voltaje = ord ( medida [ 0 ] ) << 8voltage = Tensión + ord ( medida [ ,"1 ] ) Voltaje = ( voltage/1024.0 ) * 6.6 # creciente slopeif ( (tensión > = trigger_level ) y ( prev_voltage < (tensión * TRIG_CAL ) ) y ( trig_mode RISING_SLOPE == ) ) : BREAKSi ( (voltaje < trigger_level ) y (tensión > 0.01 ) y ( prev_voltage > tensión /TRIG_CAL ) y ( trig_mode FALLING_SLOPE == ) ) : breakfor i in range ( RES_X ) : para k en el rango ( time_div - 1 ) : # ignorando ( time_div - 1 ) muestras para lograr resolutionbp.response momento adecuado ( 2 , verdadera medida) = bp.response ( 2 , True) voltaje = ord ( medida [ 0 ] ) << 8voltage = Tensión + ord ( medida [ 1 ] ) Voltaje = ( voltage/1024.0 ) * 6.6plot [ i ] = voltagefor i in range ( 1 , RES_X ) : si parcela [ i ]> MaxV : MaxV = parcela [ i ] si parcela [ i ] < minv : minv = parcela [ ,"i ] y = ( RES_Y ) - parcela [ i ] * ( RES_Y /MAX_VOLTAGE ) - offsetX = ipx = i- 1 ; py = ( RES_Y ) - parcela [i- 1 ] * ( RES_Y /MAX_VOLTAGE ) - OFFSETpygame.draw . line ( ventana , línea, ( px, py) , (x, y)) = trig_y RES_Y - trigger_level * ( RES_Y /MAX_VOLTAGE ) pygame.draw.line ( ventana, trig_color , ( 0 , trig_y ) , ( RES_X , trig_y ) )
    6

    Finalizar el osciloscopio mediante la definición de los parámetros para la interfaz gráfica de usuario del osciloscopio :

    # # GUI) font = pygame.font.Font (Ninguno, 19 ) text_max_voltage = fuente . 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 ( " Tiempo de realización: 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 )

    Previous :

    next :
      Artículos relacionados
    ·¿Cuáles son las ventajas de Python 
    ·Cómo averiguar qué versión de Python que tienes 
    ·Instalación no root de módulos de Python 
    ·Cómo eliminar todas las cartas de una lista en Python 
    ·Funciones estáticas en Python 
    ·Cómo al perfil de Python 
    ·Cómo quitar Camino De argv [ 0 ] en Python 
    ·¿Qué tan difícil es el diseño de una GUI en Python 
    ·Cómo comprobar si existe un archivo y eliminarlo en Py…
    ·Cómo: ScrollArea en Python 
      Artículos destacados
    ·Cómo utilizar LINQ to XML 
    ·Cómo calcular la resolución de la pantalla con Java S…
    ·Cómo analizar una cadena de entrada para contar cartas…
    ·Cómo hacer un archivo JS 
    ·Cómo crear una macro VBA 
    ·Cómo configurar el enlace en VB 6.0 
    ·Cómo acceder al cuadro combinado en una consulta 
    ·Cómo cambiar el contenido de un iFrame con JavaScript 
    ·Cómo copiar un valor de un doble en un entero en Java 
    ·Cómo insertar jQuery 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com