SHOW:
|
|
- or go back to the newest paste.
| 1 | # This is a sample Python script. | |
| 2 | ||
| 3 | # Press Shift+F10 to execute it or replace it with your code. | |
| 4 | # Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings. | |
| 5 | ||
| 6 | ||
| 7 | def print_hi(name): | |
| 8 | # Use a breakpoint in the code line below to debug your script. | |
| 9 | print(f'Hi, {name}') # Press Ctrl+F8 to toggle the breakpoint.
| |
| 10 | ||
| 11 | ||
| 12 | # Press the green button in the gutter to run the script. | |
| 13 | if __name__ == '__main__': | |
| 14 | print_hi('PyCharm')
| |
| 15 | ||
| 16 | # See PyCharm help at https://www.jetbrains.com/help/pycharm/ | |
| 17 | __version__ = '1.0' # declare the app version. Will be used by buildozer | |
| 18 | ||
| 19 | from kivy.app import App # for the main app | |
| 20 | from kivy.uix.floatlayout import FloatLayout # the UI layout | |
| 21 | from kivy.uix.label import Label # a label to show information | |
| 22 | from plyer import accelerometer # object to read the accelerometer | |
| 23 | from kivy.clock import Clock # clock to schedule a method | |
| 24 | ||
| 25 | ||
| 26 | class UI(FloatLayout): # the app ui | |
| 27 | def __init__(self, **kwargs): | |
| 28 | super(UI, self).__init__(**kwargs) | |
| 29 | self.lblAcce = Label(text="Accelerometer: ") # create a label at the center | |
| 30 | self.add_widget(self.lblAcce) # add the label at the screen | |
| 31 | try: | |
| 32 | accelerometer.enable() # enable the accelerometer | |
| 33 | # if you want do disable it, just run: accelerometer.disable() | |
| 34 | Clock.schedule_interval(self.update, 1.0 / 24) # 24 calls per second | |
| 35 | except: | |
| 36 | self.lblAcce.text = "Failed to start accelerometer" # error | |
| 37 | ||
| 38 | def update(self, dt): | |
| 39 | txt = "" | |
| 40 | try: | |
| 41 | txt = "Accelerometer:\nX = %.2f\nY = %.2f\nZ = %2.f " % ( | |
| 42 | accelerometer.acceleration[0], # read the X value | |
| 43 | accelerometer.acceleration[1], # Y | |
| 44 | accelerometer.acceleration[2]) # Z | |
| 45 | except: | |
| 46 | txt = "Cannot read accelerometer!" # error | |
| 47 | self.lblAcce.text = txt # add the correct text | |
| 48 | ||
| 49 | ||
| 50 | class Accelerometer(App): # our app | |
| 51 | def build(self): | |
| 52 | ui = UI() # create the UI | |
| 53 | return ui # show it | |
| 54 | ||
| 55 | ||
| 56 | if __name__ == '__main__': | |
| 57 | Accelerometer().run() # start our app |