Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Python Programming >> Content
    Hvordan lage et oscilloskop i Python
    Oscilloskop brukes til å måle intervaller av ulike typer bølger og elektriske signaler . Deres opplesninger bidra til å gi forskere innenfor innsikt i frekvens og styrke av bølger som sendes ut fra elektrisk utstyr og andre kilder. For maskinvaren i et oscilloskop til å arbeide , må den være koblet til et program som tolker målingene og viser dem i en graf. Instruksjoner
    en

    Åpne en kode redigering program eller bruke et tekstbehandlingsprogram som TextEdit i Mac OS X eller Notisblokk i Microsoft Windows. Opprett et nytt dokument for å huse manuset av Python oscilloskop .
    2

    Definer parameterne som skal brukes i skriptet , samt de to Python biblioteker som trengs for manuset ved hjelp av følgende kode : en

    import os , sysimport Imageimport serialimport pygameimport tid

    fra pyBusPirateLite.UART import * fra pyBusPirateLite.BitBang import *
    3

    Definer datahastighet og bruke print -funksjonen for å gjøre det mulig å fremstille innganger gjort av oscilloskop :

    DATA_RATE = 5720,0 # tiltak /sekund ( anslått experimenticaly ) DEFAULT_TIME_SCALE = RES_X /DATA_RATE # default tid i sekunder for å gjøre ett vindu fillpygame . init ( ) bp = UART ( BUS_PIRATE_DEV , 115200 ) print "Taste binmode : " hvis bp.BBmode ( ) : print " OK . " else: print " . feilet" sys.exit ( )

    4

    Definer parametrene for programvinduet ved å bruke pygame.display funksjon : en

    vindu = pygame.display.set_mode ( ( RES_X , RES_Y ) ) bakgrunn = (0,0 , 0 ) linje = ( 0,255,0 ) trig_color = ( 100,100,0 )
    5

    Lag manus til oscilloskop seg selv ved å definere parameterne som vil bli skrevet på grafen og gi argumenter for x-og y - akse:

    bp.port.write ( "\\ x15 ") mens en : plot = {} spenning = { } maxv = 0minv = 100time_scale = DEFAULT_TIME_SCALE * time_divprev_voltage = 0measure = 0 ; hvis ( trig_mode = NO_SYNC ! ) : for k in range ( 1,2000 ) : prev_voltage = voltagemeasure = bp.response ( 2 , sann) spenning = ord (mål [ 0 ] ) << 8voltage = spenning + ord ( mål [ ,"1 ] ) spenning = ( voltage/1024.0 ) * 6.6 # stigende slopeif ( (spenning > = trigger_level ) og ( prev_voltage < (spenning * TRIG_CAL ) ) og ( trig_mode == RISING_SLOPE ) ) : BREAKHvis ( (spenning < trigger_level ) og (spenning > 0.01 ) og ( prev_voltage > spenning /TRIG_CAL ) og ( trig_mode == FALLING_SLOPE ) ) : breakfor jeg er innen rekkevidde ( RES_X ) : for k in range ( time_div - 1 ): # ignorerer ( time_div - en ) prøver å oppnå riktig tid resolutionbp.response ( 2 , sann) mål = bp.response ( 2 , sann) spenning = ord (mål [ 0 ] ) << 8voltage = spenning + ord (mål [ 1 ] ) spenning = ( voltage/1024.0 ) * 6.6plot [ i] = voltagefor jeg er innen rekkevidde ( 1 , RES_X ) : Hvis tomten [ i] > maxv : maxv = tomten [i ] hvis tomten [ i] < minv : minv = tomten [ ,"i] y = ( RES_Y ) - plot [ i] * ( RES_Y /MAX_VOLTAGE ) - OFFSETx = ipx = i- en ; py = ( RES_Y ) - plot [i - 1 ] * ( RES_Y /MAX_VOLTAGE ) - OFFSETpygame.draw . linje ( vindu , linje , ( px, py ) , ( ​​x , y ) ) trig_y = RES_Y - trigger_level * ( RES_Y /MAX_VOLTAGE ) pygame.draw.line ( vindu , trig_color , ( 0 , trig_y ) , ( ​​RES_X , trig_y ) )
    6

    Sluttføre oscilloskop ved å definere parametrene for oscilloskop grafiske brukergrensesnitt : en

    # # GUI ) font = pygame.font.Font (Ingen, 19 ) text_max_voltage = font . 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 ( " tidsskala :% 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 )

    früher :

     Weiter:
      Relatert Artike
    ·Hvor å Utsikt Python Byte Kode 
    ·Slik installerer Python for Windows 
    ·Hvordan iterere over Linjer av fil i Python 
    ·Hvordan lage en High Low spill i Python 
    ·Hvordan bygge en Python Extension 
    ·Slik konverterer JSON til CSV i Python 
    ·Hva er Python Coding 
    ·Hvordan sortere Flere lister i Python 
    ·Hvordan lage en Tkinter Button Inaktive 
    ·Finne ut om en streng er en Palindrome i Python 
      Anbefalte artikler
    ·Hvordan sende PHP og HTML e-post fra en egen mal 
    ·Kan COBOL Vise en Hex verdi 
    ·Hvordan bruke Com-porter i Visual C 
    ·MySQL attributtyper 
    ·Hvordan legge Artikler Som PowerPoint i Joomla 
    ·Hvordan lage en sirkel i LabVIEW 
    ·Hvordan kjøre en URL Fra kode med VB.NET 
    ·Hvordan vite om en kontroll er deaktivert i en ListBox …
    ·Hva er en Python Directory 
    ·Hvordan lage Wave data fra buffere i VB6 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/