| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> Python Programming >> Content
    Hvordan laver man et oscilloskop i Python
    Oscilloskoper bruges til at måle intervaller af forskellige former for bølger og elektriske signaler. Deres aflæsninger bidrage til at give forskere inden indsigt i hyppigheden og styrken af ​​bølger, der udsendes fra elektriske enheder og andre kilder . For hardwaren i et oscilloskop til at arbejde, skal det være forbundet til et program, der fortolker aflæsninger og viser dem i grafen . Instruktioner
    1

    Åbn en kode redigering program eller bruge en tekst redigering program som TextEdit i Mac OS X eller Notesblok i Microsoft Windows. Opret et nyt dokument til at huse scriptet af Python oscilloskop .
    2

    Definer de parametre , der skal bruges i scriptet , samt de to Python biblioteker, der kræves for scriptet ved at bruge følgende kode : Hej

    import OS, sysimport Imageimport serialimport pygameimport tid

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

    Definer data rate og bruge print funktion til at aktivere programmet til grafen indgangene foretaget af oscilloskop :

    DATA_RATE = 5720,0 # foranstaltninger /sekund ( anslået experimenticaly ) DEFAULT_TIME_SCALE = RES_X /DATA_RATE # default i sekunder til at gøre et vindue fillpygame . init () bp = UART ( BUS_PIRATE_DEV , 115200 ) print " Indtastning binmode : " hvis bp.BBmode (): print " OK". ellers : print " . mislykkedes" sys.exit () < br >
    4

    Definer parametre for programvinduet ved at bruge pygame.display funktionen : Hej

    vindue = pygame.display.set_mode ( ( RES_X , RES_Y ) ) baggrund = ( 0,0 , 0) linie = ( 0,255,0 ) trig_color = ( 100,100,0 )
    5

    Opret manuskriptet til oscilloskopet selv ved at definere de parametre, der vil blive skrevet på grafen og give argumenter for x og y -aksen : Hej

    bp.port.write ( "\\ x15 " ), mens 1: plot = {} spænding = {} maxv = 0minv = 100time_scale = DEFAULT_TIME_SCALE * time_divprev_voltage = 0measure = 0; hvis ( trig_mode = NO_SYNC !) : for k i området ( 1,2000 ) : prev_voltage = voltagemeasure = bp.response (2, sand) spænding = ORD (foranstaltning [0] ) << 8voltage = spænding + ORD (foranstaltning [ ,"1] ) spænding = ( voltage/1024.0 ) * 6,6 # stigende slopeif ( (spænding > = trigger_level ), og ( prev_voltage < (spænding * TRIG_CAL ) ), og ( trig_mode == RISING_SLOPE ) ) : BREAKHvis ( (spænding < trigger_level ) og (spænding > 0,01 ), og ( prev_voltage > spænding /TRIG_CAL ), og ( trig_mode == FALLING_SLOPE ) ) : breakfor i i området ( RES_X ) : for k i intervallet ( time_div - 1) : # ignorerer ( time_div -1 ) prøver at opnå ordentlig tid resolutionbp.response (2, sand) mål = bp.response (2, sand) spænding = ORD (foranstaltning [0] ) << 8voltage = spænding + ORD (foranstaltning [1] ) spænding = ( voltage/1024.0 ) * 6.6plot [i] = voltagefor i i området (1, RES_X ): hvis plot [i] > maxv : maxv = plot [i ], hvis plot [i] < minv : minv = plot [ ,"i] y = ( RES_Y ) - plot [i] * ( RES_Y /MAX_VOLTAGE ) - OFFSETx = ipx = i -1 , py = ( RES_Y ) - plot [i- 1 ] * ( RES_Y /MAX_VOLTAGE ) - OFFSETpygame.draw . line ( vindue , linje (px , py ) , (x, y) ) trig_y = RES_Y - trigger_level * ( RES_Y /MAX_VOLTAGE ) pygame.draw.line ( vinduet trig_color , (0, trig_y ) ( RES_X , trig_y ) )
    6

    Færdiggør oscilloskop ved at definere parametrene for oscilloskopet grafiske brugerflade : Hej

    # # GUI) font = pygame.font.Font (None , 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 ( " Tidshorisont : % 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 )

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan konstateres kompatibilitet med Python 
    ·The Pass Funktion i Python 
    ·Sådan kører Java Apps Fra Python 
    ·Hvordan til at indtaste tal i Python 
    ·Hvad er forskellen mellem den Dot notation & Arrow Nota…
    ·Sådan Konverter Epoch i Python 
    ·Sådan Test for Intersect af to linjer i Python 
    ·Sådan Edit PYD filer 
    ·Python Canvas Metoder 
    ·Sådan Indrykning en Python fil 
      Anbefalede Artikler
    ·Sådan Luk Web Bruger Kontrol 
    ·Sådan får du en LAN -id og Domain Brug VBA 
    ·Sådan oprettes en vokal Optælling Anvendelse i Visual…
    ·Sådan Indsæt billeder med NetBeans 
    ·Sådan Konverter en CSV-fil til en graf i Python 
    ·Sådan vises Object Navne i Matlab 
    ·Sådan fjernes elementer fra et Array i PHP 
    ·Fordele ved Deklarativ Programmering 
    ·Hvordan man skriver metoder i pseudokode 
    ·Hvad er Alpha Blending 
    Copyright © Computer Viden http://www.computerdk.com