рдХрдВрдкреНрдпреВрдЯрд░ рдФрд░ рднреМрддрд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдмреАрдЪ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдлрд╝реЗрд╕



рдЕрдореЗрд░рд┐рдХреА рдЗрдВрдЬреАрдирд┐рдпрд░ рд░рд┐рдЪрд░реНрдб рд╡рд╛рд░реНрдбрд▓реЛ рдиреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк pyMCU рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд╣ "рдХрдВрдкреНрдпреВрдЯрд░ рдФрд░ рднреМрддрд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рд░рд▓ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдлрд╝реЗрд╕" рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред

рдореМрдЬреВрджрд╛ рдкрд╛рдпрдерди рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рдмреЛрд░реНрдб рд╕реНрд╡рд╛рдпрддреНрдд рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ "рд╕рдВрд╡реЗрджреА рдЕрдВрдЧ" рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдирд┐рдпрдВрддреНрд░рдХ рдбрд┐рдЬрд┐рдЯрд▓ рдФрд░ рдПрдирд╛рд▓реЙрдЧ рдХрдиреЗрдХреНрдЯрд░ рд╕реЗ рд▓реИрд╕ рд╣реИ, рддрд╛рдХрд┐ рдЖрдк рдЗрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рд╕реЗрдВрд╕рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХреЗрдВред рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рдирд╛ред

рдПрд▓рд╕реАрдбреА рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ

рдЖрдк рдХрд┐рд╕реА рднреА рд╕рд░рд▓ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рддрд╛рд░ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд░реНрддрдорд╛рди рдореМрд╕рдо рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рддрд╛рдкрдорд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдкрд╛рдпрдерди-рд╡реЗрджрд░-рдПрдкреАрдЖрдИ рдФрд░ рдкрд╛рдЗрд╡рд╛рдкреА рдореЙрдбреНрдпреВрд▓ред



рдХреЛрдб
import pymcu import time import pywapi mb = pymcu.mcuModule() # Initialize mcu find first available module mb.lcd() # Initialize the LCD time.sleep(1) # Wait for LCD to Initialize google_result = pywapi.get_weather_from_google('10001') # Use Google as weather source with zip code 10001 mb.lcd(1,google_result['current_conditions']['condition']) # Display current conditions on first line of LCD time.sleep(0.1) # Small delay between next LCD command mb.lcd(2,'Temp ' + google_result['current_conditions']['temp_f'] + ' F') # Display Temperature on second line of LCD 


рдкреНрд░рдХрд╛рд╢ рдпрдВрддреНрд░ рд╕реЗ рдкреНрд░рдХрд╛рд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдПрдХ рдЧреНрд░рд╛рдл рдХрд╛ рдирд┐рд░реНрдорд╛рдг




рдХреЛрдб
 import os,sys, subprocess, time, shutil, glob import pymcu import numpy as np import matplotlib matplotlib.use('GTKAgg') # do this before importing pylab import matplotlib.pyplot as plt mb = pymcu.mcuModule() fig = plt.figure() ax = fig.add_subplot(111) ax.set_ylim(-1.1, 1.1) ax.set_xlim(0, 5) ax.grid() def animate(): tstart = time.time() # for profiling data = [0]*100 background = fig.canvas.copy_from_bbox(ax.bbox) for i in np.arange(1,1000): ax.clear() ax.grid() dt = float(mb.analogRead(4)) / 1024.0 data.append(dt) if len(data) > 100: data.pop(0) ax.plot(data) fig.canvas.draw() # redraw the canvas raise SystemExit import gobject print 'adding idle' gobject.idle_add(animate) print 'showing' plt.show() 


рдХреИрдорд░рд╛ рд▓реЗрдВрд╕ рдирд┐рдпрдВрддреНрд░рдг




рдХреЛрдб
 import pymcu import time fstops = {0:'0',0x8:'1',0xB:'1.1',0xC:'1.2',0xD:'1.2',0x10:'1.4',0x13:'1.6', \ 0x14:'1.8',0x15:'1.8',0x18:'2',0x1B:'2.2',0x1C:'2.5',0x1D:'2.5',0x20:'2.8', \ 23:'3.2',0x24:'3.2',0x25:'3.5',0x28:'4',0x2B:'4.5',0x2C:'4.5',0x2D:'5', \ 0x30:'5.6',0x33:'6.3',0x34:'6.7',0x35:'7.1',0x38:'8',0x3B:'9',0x3C:'9.5', \ 0x3D:'10',0x40:'11',0x43:'13',0x44:'13',0x45:'14',0x48:'16',0x4B:'18', \ 0x4C:'19',0x4D:'20',0x4E:'20',0x4F:'20',0x50:'22',0x53:'25',0x54:'27', \ 0x55:'29',0x58:'32',0x5A:'32',0x5B:'36',0x5C:'38',0x5D:'40',0x60:'45', \ 0x63:'51',0x64:'54',0x65:'57',0x68:'64',0x6B:'72',0x6C:'76',0x6D:'80',0x70:'91'} mb = pymcu.mcuModule() mb.lcd() print "Enable SPI" mb.spiEnable(1,100,0,0) # Init Lens lcheck = 0 while lcheck != 170: il = mb.spiTransfer([0,0xA,0,0xA,0], 400) lcheck = il[4] focalMin = 0 focalMax = 0 print "Init Lens" mb.lcd(1,'Init Lens ') il = mb.spiTransfer([0,0xA,0,0xA,0,0,0,0x80,0xA,0x98,1,0,0,0,0,0,0xB0,0,0,0,0xB0,0,0,0], 400) focalMin = (il[10] << 8) | il[11] focalMax = (il[12] << 8) | il[13] print "Focal", str(focalMin) + '-' + str(focalMax) print "F-Stop", str(fstops[int(il[21])]) + '-' + str(fstops[int(il[23])]) mb.lcd(1,'Focal ' + str(focalMin) + '-' + str(focalMax)) mb.lcd(2,'FStop ' + str(fstops[int(il[21])]) + '-' + fstops[int(il[23])]) time.sleep(2) # Wait and give some time to read the LCD mb.lcd() # Clear F-Stop (Full Open) print "Clear F-Stop" mb.lcd(1,'Clear F-Stop ') mb.spiTransfer([0x90,0,0,0,0xC,0x13,0x80,0x90,0,0,0xF,0xA,0],300) time.sleep(0.5) # F-Stop Full Close print "F-Stop Full Close" mb.lcd(1,'F-Stop Close ') mb.spiTransfer([0x13,0x58,0]) time.sleep(0.5) # Clear F-Stop (Full Open) print "Clear F-Stop" mb.lcd(1,'Clear F-Stop ') mb.spiTransfer([0x90,0,0,0,0xC,0x13,0x80,0x90,0,0,0xF,0xA,0],300) time.sleep(0.5) # Focus Test Far focusAmt = 100 print "Focus Test Far" mb.lcd(1,'Focus Test Far ') for x in range(20): mb.spiTransfer([0xA]) time.sleep(0.02) mb.spiTransfer([0x50,0x2F,0xE0,0,0,0xEA,0,0,0,0,0,0,0x44,0,focusAmt],300) time.sleep(0.02) mb.spiTransfer([0x90,0]) time.sleep(0.02) mb.spiTransfer([0xE,0]) time.sleep(0.1) # Focus Test Near focusAmt = 155 print "Focus Test Near" mb.lcd(1,'Focus Test Near ') for x in range(20): mb.spiTransfer([0xA]) time.sleep(0.02) mb.spiTransfer([0x50,0x2F,0xE0,0,0,0xE8,0,0,0,0,0,0,0x44,0xFF,focusAmt],300) time.sleep(0.02) mb.spiTransfer([0x90,0]) time.sleep(0.02) mb.spiTransfer([0xE,0]) time.sleep(0.1) mb.lcd(1,'Test Complete ') 

Source: https://habr.com/ru/post/In139132/


All Articles