def liveMode(enable=True): global led_stat if (enable): btn_flash = pin(0, pin.OUT) led_stat.on() log('liveMode') else: btn_flash = pin(0, pin.IN, pin.PULL_UP) led_stat.off() btn_flash.irq(handler=intr, trigger=pin.IRQ_FALLING) log('eventMode')
def readPin(pinNo): """ Read and return the pin value. """ pinNo = getMappedPin(pinNo) p = pin(pinNo, pin.IN) return p.value()
def writePin(pinNo, val): """ Write a value (0 or 1) to the pin. """ pinNo = getMappedPin(pinNo) p = pin(pinNo, pin.OUT) p.value(val)
def releaseServo(pinNo, override=False): if not override: servoPin = getMappedPin(pinNo) else: servoPin = pinNo servo = PWM(pin(servoPin)) servo.deinit()
def pinOn(pinNo): """ Set the pin as High and returns the new value """ pinNo = getMappedPin(pinNo) p = pin(pinNo, pin.OUT) p.on() return p.value()
def pinOff(pinNo): """ Set the pin as Low and returns the new value. """ pinNo = getMappedPin(pinNo) p = pin(pinNo, pin.OUT) p.off() return p.value()
def readPinPUP(pinNo): """ Read and return the pin value. Note: The pin is pulled up. """ pinNo = getMappedPin(pinNo) p = pin(pinNo, pin.IN, pin.PULL_UP) return p.value()
def togglePin(pinNo): """ Toggle the value (0 or 1) of the pin and return the new value. """ pinNo = getMappedPin(pinNo) p = pin(pinNo, pin.OUT) p.value(not (p.value())) return p.value()
def pinStateListener(pinNo, _listener=None, _trigger=pin.IRQ_RISING): """ sets a pin state change listener """ if _listener is not None: pinNo = getMappedPin(pinNo) p = pin(pinNo, pin.IN, pin.PULL_UP) p.irq(handler=_listener, trigger=_trigger) else: pass
def scan_i2c(): log('scanning i2c port') i2c = _i2c(scl=pin(1), sda=pin(2)) scans = i2c.scan() busy_led = pin(0, pin.OUT) if (len(scans) == 0): log("No I2C device found! Reset device..") busy_led.on() utime.sleep(2) busy_led.off() utime.sleep_ms(200) updateI2CState(I2C_NIL) else: log("i2c found:") for addr in scans: log(hex(addr)) busy_led.off() utime.sleep(1) updateI2CState(I2C_FOUND)
def runServo(pinNo, duty=None, override=False, freq=50): if not override: servoPin = getMappedPin(pinNo) else: servoPin = pinNo servo = PWM(pin(servoPin)) servo.freq(freq) if duty is not None: # limit the duty between 1 & 130 duty = min(130, max(0, int(duty))) servo.duty(duty) return servo else: #return the angle of the servo return servo.duty()
def runServoAngle(pinNo, angle=None, override=False, freq=50): if not override: servoPin = getMappedPin(pinNo) else: servoPin = pinNo servo = PWM(pin(servoPin)) servo.freq(freq) # limit the angle between 1 & 180 if angle < 0: angle = 0 elif angle > 180: angle = 180 mappedDuty = math.ceil(1 + 0.9277778 * angle - 0.00117284 * angle * angle) servo.duty(mappedDuty) return servo
def motrCtrl(motPin, mode): p1 = pin(4, pin.OUT) p2 = pin(5, pin.OUT) p3 = pin(0, pin.OUT) p4 = pin(2, pin.OUT) e1 = pin(14, pin.OUT) e2 = pin(12, pin.OUT) #p1 = pin(12, pin.OUT) #p2 = pin(14, pin.OUT) #p3 = pin(13, pin.OUT) #p4 = pin(15, pin.OUT) e1.value(1) e2.value(1) if (motPin == 1): if (mode == 0): p1.value(0) p2.value(0) elif (mode > 0): p1.value(1) p2.value(0) elif (mode < 0): p1.value(0) p2.value(1) elif (motPin == 2): if (mode == 0): p3.value(0) p4.value(0) elif (mode > 0): p3.value(1) p4.value(0) elif (mode < 0): p3.value(0) p4.value(1)
from machine import Pin as pin p1 = pin(16, pin.OUT) p2 = pin(14, pin.OUT) p3 = pin(12, pin.OUT) p4 = pin(13, pin.OUT) led = pin(15, pin.OUT) from time import sleep def loop_single(t=0.01, pin1=p1, pin2=p3, pin3=p2, pin4=p4): '''mind the inversion 1-3-2-4''' while True: pin1.high() pin2.low() pin3.low() pin4.low() sleep(t) pin1.low() pin2.high() pin3.low() pin4.low() sleep(t) pin1.low() pin2.low() pin3.high() pin4.low() sleep(t) pin1.low() pin2.low()
cxn.sendall('Connection Successful!%s'%(sendBack)) cxn.close() createServer() def intr(pin): global EV if not EV: EV = True global led_stat led_stat.on() main() led_stat.off() EV = False led_stat = pin(16, pin.OUT) def liveMode(enable=True): global led_stat if (enable): btn_flash = pin(0, pin.OUT) led_stat.on() log('liveMode') else: btn_flash = pin(0, pin.IN, pin.PULL_UP) led_stat.off() btn_flash.irq(handler=intr, trigger=pin.IRQ_FALLING) log('eventMode') #liveMode(False)
# Note: this only runs on the WiPy. See chapter text # for how to modify this to run on the Pyboard. # # Imports for the project import urtc import utime from machine import SPI, I2C, RTC as rtc, Pin as pin from ssd1306 import SSD1306_SPI as ssd # Setup SPI and I2C spi = SPI(0, SPI.MASTER, baudrate=2000000, polarity=0, phase=0) i2c = I2C(0, I2C.MASTER, baudrate=100000, pins=("P9", "P8")) # Setup the OLED : D/C, RST, CS oled_module = ssd(128, 32, spi, pin('P5'), pin('P6'), pin('P7')) # Setup the RTC rtc_module = urtc.DS1307(i2c) # # NOTE: We only need to set the datetime once. Uncomment these # lines only on the first run of a new RTC module or # whenever you change the battery. # (year, month, day, weekday, hour, minute, second, millisecond) #start_datetime = (2017,07,20,4,9,0,0,0) #rtc_module.datetime(start_datetime) # Return a string to print the day of the week def get_weekday(day):
def __init__(self): self._t = 0 self._p = 0 self._h = 0 i2c = machine.I2C(scl=machine.pin(MY_SCK), sda=machine.pin(MY_SDI)) self.bme = bme280.BME280(address=MY_BME280_ADDR, i2c=i2c)
import ds18x20 import machine import micropython as mp import onewire from boot import AP import utime # the wlan variable should carry over from boot.py TEMP_READ_PIN = 12 PUMP_PIN = 0 mp.const(TEMP_READ_PIN) mp.const(PUMP_PIN) dat = machine.Pin(TEMP_READ_PIN, machine.Pin.IN) pump_pin = machine.pin(PUMP_PIN, machine.Pin.OUT) # create the onewire object ds = ds18x20.DS18X20(onewire.OneWire(dat)) # scan for temp devices on the bus roms = ds.scan() print('found devices:', roms) def pump(time=10000, state="off"): if state == "on" and pump_pin.value()==0: pump_pin.value(1) def checktemp():
from machine import Pin as pin from machine import PWM import time db7 = pin(5, pin.OUT) db6 = pin(4, pin.OUT) db5 = pin(0, pin.OUT) db4 = pin(2, pin.OUT) rs = pin(12, pin.OUT) e = pin(14, pin.OUT) contrast = PWM(pin(13)) def write_data(data, prewait, rsval): time.sleep(prewait / 1000) e.value(1) db7.value(int(data[0])) db6.value(int(data[1])) db5.value(int(data[2])) db4.value(int(data[3])) rs.value(int(rsval)) time.sleep(.010) e.value(0) #print(db7.value(), db6.value(), db5.value(), db4.value(), " - ", rs.value()) def write(data): data = bytearray(data, "utf-8") for i in range(len(data)): sdata = data[i] sdata = str(bin(sdata))
import dht import machine d = dht.DHT22(machine.pin(4)) d.measure() t = d.temperature() d = d.humidity() print("temperatura") print(t) print("humidade") print(d)
#Nellie import machine Blue=machine.pin(21,machine.pin.OUT) Leaf=machine.pin(22.machine.pin.IN) red=machine.pin(23,machine.pin.OUT) lead=machine.pin(19,machine.pin.IN) Leaf.value() lead.value() while True: if leaf() ==1: Leaf.OFF() else: Leaf.on() if red()==1: Blue.off() #Jed import machine blue = machine.Pin(23, machine.Pin.OUT) green = machine.Pin(21, machine.Pin.OUT) redbutton = machine.Pin(22, machine.Pin.IN)
import machine import common import app pin_init = common.pin_init() pin_init.init() #ov=machine.ov2640() #lcd=machine.st7789() #ov.init() #lcd.init() #buf=bytearray(320*240*2) #test=machine.test() #test=test.init() test_gpio_pin_num = 15 fpioa = machine.fpioa() fpioa.set_function(test_gpio_pin_num, 63) test_pin = machine.pin(7, 0, 0) if test_pin.value() == 1: print('test') machine.test() #while(1): # ov.get_image(buf) # lcd.draw_picture_default(buf) # test.gpio() # run usr init.py file file_list = os.ls() for i in range(len(file_list)): if file_list[i] == '/init.py': import init # machine.ov2640()
def resetAllPins(): for pinNo in range(0, 9): pinNo = getMappedPin(pinNo) p = pin(pinNo, pin.OUT) p.off() return p.value()
import machine import time D6 = machine.Pin(12,machine.PIN.OUT) while True: d6.value(1) time.sleep(1000) d6.value(0) time.sleep(1000) import machine import time pin = machine.pin(4,machine.PIN.OUT) for i in range(0,10): pin.value(1) time.sleep(5) pin.value(0) time.sleep(5) #it stays on
import machine import time pin = machine.pin(16, machine.PIN.OUT) while True: pin.value(1) time.sleep(1) pin.value(0) time.sleep(1)
import machine import neopixel from utime import sleep_ms from led_controller import Controller LED_COUNT = 50 NP_PIN = 27 LOOP_SLEEP_MS = 250 np = neopixel.NeoPixel(machine.pin(NP_PIN), LED_COUNT) controller = Controller(LED_COUNT) def update_leds(): for i in range(LED_COUNT): np[i] = controller._leds[i].rgb np.write() def run_show(): while True: controller.event_loop() update_leds() sleep_ms(LOOP_SLEEP_MS)
import uos import os import machine import platform import board board_info = board.board_info() pin_init = platform.pin_init() pin_init.init() test_gpio_pin_num = 18 fpioa = machine.fpioa() fpioa.set_function(test_gpio_pin_num, 63) test_pin = machine.pin(7, 2, 0) lcd = machine.st7789() lcd.init() lcd.draw_string(116, 121, "Welcome to MaixPy") fpioa.set_function(board_info.LED_R, fpioa.GPIO0) fpioa.set_function(board_info.LED_B, fpioa.GPIO1) fpioa.set_function(board_info.LED_G, fpioa.GPIO2) if test_pin.value() == 0: print('test') machine.test()
# # Imports for the project import pyb import urtc from machine import SPI, Pin as pin from pyb import I2C from ssd1306 import SSD1306_SPI as ssd # Setup SPI and I2C spi = SPI(2, baudrate=8000000, polarity=0, phase=0) i2c = I2C(1, I2C.MASTER) i2c.init(I2C.MASTER, baudrate=500000) # Setup the OLED : D/C, RST, CS oled_module = ssd(128,32,spi,pin("Y4"),pin("Y3"),pin("Y5")) # Setup the RTC rtc_module = urtc.DS1307(i2c) # # NOTE: We only need to set the datetime once. Uncomment these # lines only on the first run of a new RTC module or # whenever you change the battery. # (year, month, day, weekday, hour, minute, second, millisecond) #start_datetime = (2017,07,20,4,9,0,0,0) #rtc_module.datetime(start_datetime) # Return a string to print the day of the week def get_weekday(day): if day == 1: return "Sunday" elif day == 2: return "Monday"
from machine import Pin as pin, PWM import utime, rf, os, ubinascii OFF = 0; ON = 1 LED_OFF = 1; LED_ON = 0 FORWARD = 1; BACK = 0 pwmRight = pin(14,pin.OUT) dirRight = pin(15,pin.OUT) pwmLeft = pin(12,pin.OUT) dirLeft = pin(0,pin.OUT) LED = pin(2,pin.OUT) LED.value(LED_OFF) def setRobotId(id): f = open("robot_id", 'w') f.write(str(id) + chr(10)) f.close() def executePacket(msgDict): print ("Executing:") for k in msgDict.keys(): print(" ", k, msgDict[k]) if msgDict["rightMotorDirction"] == "FORWARD": dirRight.value(FORWARD) else: dirRight.value(BACK) if msgDict["leftMotorDirction"] == "FORWARD": dirLeft.value(FORWARD) else: dirLeft.value(BACK) pwmRight.value(ON); pwmLeft.value(ON)
def resetBtnFlash(): btn_flash = pin(0, pin.OUT) btn_flash.off() print("starting EventLoop")