from analogio import AnalogIn import usb_hid from adafruit_hid.keyboard import Keyboard from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS from adafruit_hid.keycode import Keycode from adafruit_debouncer import Debouncer import touchio # Which player 1 or 2? # TBD - allow this to change on-the-fly # player = 1 # Directional pad pins need pull-ups enabled # right_pin = DigitalInOut(board.D7) right_pin.direction = Direction.INPUT right_pin.pull = Pull.UP right = Debouncer(right_pin) left_pin = DigitalInOut(board.D9) left_pin.direction = Direction.INPUT left_pin.pull = Pull.UP left = Debouncer(left_pin) up_pin = DigitalInOut(board.D13) up_pin.direction = Direction.INPUT up_pin.pull = Pull.UP up = Debouncer(up_pin) down_pin = DigitalInOut(board.D10)
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT import time import board import busio from digitalio import DigitalInOut from adafruit_esp32spi import adafruit_esp32spi from adafruit_ntp import NTP # If you are using a board with pre-defined ESP32 Pins: esp32_cs = DigitalInOut(board.ESP_CS) esp32_ready = DigitalInOut(board.ESP_BUSY) esp32_reset = DigitalInOut(board.ESP_RESET) # If you have an externally connected ESP32: # esp32_cs = DigitalInOut(board.D9) # esp32_ready = DigitalInOut(board.D10) # esp32_reset = DigitalInOut(board.D5) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) print("Connecting to AP...") while not esp.is_connected: try: esp.connect_AP(b"WIFI_SSID", b"WIFI_PASS") except RuntimeError as e: print("could not connect to AP, retrying: ", e) continue
Author: Brent Rubell for Adafruit Industries """ import os import threading import time import subprocess import busio from digitalio import DigitalInOut, Direction, Pull import board # Import thte SSD1306 module. import adafruit_ssd1306 # Import Adafruit TinyLoRa from adafruit_tinylora.adafruit_tinylora import TTN, TinyLoRa # Button A btnA = DigitalInOut(board.D5) btnA.direction = Direction.INPUT btnA.pull = Pull.UP # Button B btnB = DigitalInOut(board.D6) btnB.direction = Direction.INPUT btnB.pull = Pull.UP # Button C btnC = DigitalInOut(board.D12) btnC.direction = Direction.INPUT btnC.pull = Pull.UP # Create the I2C interface. i2c = busio.I2C(board.SCL, board.SDA)
masterLEDFrequency = 5000 masterLEDDutyCycle = 10000 # LED Vars red_led_pwm = pulseio.PWMOut(board.D9, frequency=masterLEDFrequency, duty_cycle=0) green_led_pwm = pulseio.PWMOut(board.D5, frequency=masterLEDFrequency, duty_cycle=0) blue_led_pwm = pulseio.PWMOut(board.D10, frequency=masterLEDFrequency, duty_cycle=0) # Status / Heartbeat LED init status_led = DigitalInOut(board.D13) status_led.direction = Direction.OUTPUT # dictionary for keys pressed key_pressed_dict = {} # this will be used for storing remote devices when programming # will hold the header codes and keys programmed (which are the decoded NEC codes) remote_programming_dict = {} # I think the diodes are in backwards? (Need verification) # Swapped rows and columns # only works when rows and columns are swapped # I think I just misunderstood what constitutes a row and a column # Anyways, this works # Row D6 is now enabled/initialized yet
import time import math import board from analogio import AnalogIn from digitalio import DigitalInOut, Direction import displayio import terminalio from adafruit_bitmap_font import bitmap_font from adafruit_display_text import label import adafruit_ili9341 analog_in = AnalogIn(board.A1) blue = DigitalInOut(board.D7) blue.direction = Direction.OUTPUT green = DigitalInOut(board.D6) green.direction = Direction.OUTPUT red = DigitalInOut(board.D5) red.direction = Direction.OUTPUT green.value = True blue.value = True red.value = True def get_voltage(pin): return (pin.value * 3.3) / 65536 spi = board.SPI() tft_cs = board.D10 tft_dc = board.D9
Wiring Check, Pi Radio w/RFM9x Learn Guide: https://learn.adafruit.com/lora-and-lorawan-for-raspberry-pi Author: Brent Rubell for Adafruit Industries """ import time import busio from digitalio import DigitalInOut, Direction, Pull import board # Import the SSD1306 module. #import adafruit_ssd1306 # Import the RFM9x radio module. import adafruit_rfm9x import serial, string CS = DigitalInOut(board.CE1) RESET = DigitalInOut(board.D25) spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO) # spi.max_speed_hz=5000000 # while not spi.try_lock(): # pass # spi.try_lock() # spi.configure(baudrate=433000000, phase=0, polarity=0) rfm9x = adafruit_rfm9x.RFM9x(spi, CS, RESET, 915.0, baudrate=1000000) rfm9x.tx_power = 20 prev_packet = None msg_count = 0; output = " " ser = serial.Serial('/dev/ttyACM0', 115200, 8, 'N', 1, timeout=1)
# Get wifi details and more from a secrets.py file try: from secrets import secrets except ImportError: print("WiFi secrets are kept in secrets.py, please add them there!") raise try: import json as json_module except ImportError: import ujson as json_module print("ESP32 SPI simple web server test!") # SAM32 board ESP32 Setup dtr = DigitalInOut(board.DTR) esp32_cs = DigitalInOut(board.TMS) #GPIO14 esp32_ready = DigitalInOut(board.TCK) #GPIO13 esp32_reset = DigitalInOut(board.RTS) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset, gpio0_pin=dtr, debug=False) #esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) # pylint: disable=line-too-long status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2)
# Set all the port B pins to input, with pullups! for pin in port_b_pins: pin.direction = Direction.INPUT pin.pull = Pull.UP # Set up to check all the port B pins (pins 8-15) w/interrupts! mcp.interrupt_enable = 0xFF00 # INTerrupt ENable top 8 bits # If intcon is set to 0's we will get interrupts on # both button presses and button releases mcp.interrupt_configuration = 0x0000 # interrupt on any change # Or, we can ask to be notified CONTINUOUSLY if a pin goes LOW (button press) # we won't get an IRQ pulse when the pin is HIGH! # mcp.interrupt_configuration = 0xFF00 # notify pin value # mcp.default_value = 0xFF00 # default value is 'high' so notify whenever 'low' # connect the IRQ B pin to D4 irq_b = DigitalInOut(board.D4) while True: if not irq_b.value: print("IRQ B went off") for num, button in enumerate(port_b_pins): if not button.value: print("Button #", num, "pressed!") # turn on matching port A pin port_a_pins[num].value = True # turn LED on! else: port_a_pins[num].value = False # turn LED off
# CircuitPlaygroundExpress_DigitalIO import time import board from digitalio import DigitalInOut, Direction, Pull led = DigitalInOut(board.D13) led.direction = Direction.OUTPUT button = DigitalInOut(board.BUTTON_A) button.direction = Direction.INPUT button.pull = Pull.DOWN while True: if button.value: # button is pushed led.value = True else: led.value = False time.sleep(0.01)
from digitalio import DigitalInOut, Direction, Pull import board import time max = 4 start = time.monotonic() photo = DigitalInOut(board.D2) photo.direction = Direction.INPUT photo.pull = Pull.UP photo_state = False last_state = False value = 0 limit = 0 while True: photo_state = photo.value if photo_state and not last_state: value = value + 1 # print("# of interrupts:") # print(value) last_state = photo_state remaining = max + start - time.monotonic() if remaining <= 0: print("# of interrupts:", (value)) max += 4 value = 0
import time import board from digitalio import DigitalInOut, Direction, Pull switch = DigitalInOut(board.SLIDE_SWITCH) switch.direction = Direction.INPUT switch.pull = Pull.UP led = DigitalInOut(board.D13) led.direction = Direction.OUTPUT button_a = DigitalInOut(board.BUTTON_A) button_b = DigitalInOut(board.BUTTON_B) button_a.direction = Direction.INPUT button_a.pull = Pull.DOWN button_b.direction = Direction.INPUT button_b.pull = Pull.DOWN while True: if (switch.value and button_a.value) or (not switch.value and button_b.value): led.value = True else: led.value = False time.sleep(0.01)
import time import board import busio from digitalio import DigitalInOut, Direction import adafruit_fingerprint import serial led = DigitalInOut(board.D13) led.direction = Direction.OUTPUT #uart = busio.UART(board.TX, board.RX, baudrate=57600) # If using with a computer such as Linux/RaspberryPi, Mac, Windows with USB/serial converter: #import serial #uart = serial.Serial("/dev/ttyUSB0", baudrate=57600, timeout=1) # If using with Linux/Raspberry Pi and hardware UART: #import serial uart = serial.Serial("/dev/ttyS0", baudrate=57600, timeout=1) finger = adafruit_fingerprint.Adafruit_Fingerprint(uart) ################################################## def get_fingerprint(): """Get a finger print image, template it, and see if it matches!""" print("Waiting for image...") while finger.get_image() != adafruit_fingerprint.OK: pass print("Templating...") if finger.image_2_tz(1) != adafruit_fingerprint.OK:
# CONFIGURATION PLAY_SOUND_ON_CHANGE = True NEOPIXELS_ON_CHANGE = False TIME_BETWEEN_QUERY = 0 # in seconds # Some data sources and JSON locations to try out # Github stars! You can query 1ce a minute without an API key token DATA_SOURCE = "https://api.github.com/repos/adafruit/circuitpython" if 'github_token' in settings: DATA_SOURCE += "?access_token=" + settings['github_token'] DATA_LOCATION = ["stargazers_count"] uart = busio.UART(board.TX, board.RX, timeout=0.1) resetpin = DigitalInOut(board.D5) rtspin = DigitalInOut(board.D9) # Create the connection to the co-processor and reset esp = adafruit_espatcontrol.ESP_ATcontrol(uart, 115200, run_baudrate=115200, reset_pin=resetpin, rts_pin=rtspin, debug=True) esp.hard_reset() # Create the I2C interface. i2c = busio.I2C(board.SCL, board.SDA) # Attach a 7 segment display and display -'s so we know its not live yet display = segments.Seg7x4(i2c)
import audiocore import board import audiobusio import neopixel from digitalio import DigitalInOut, Direction, Pull import time import random import math print("starting") btn = DigitalInOut(board.GP17) btn.pull = Pull.UP pixelCount = 7 HID = DigitalInOut(board.GP22) HID.direction = Direction.INPUT pixels = neopixel.NeoPixel(board.GP21, pixelCount, brightness = .6, auto_write=False) wave_file_selected = open("ContestantSelected.wav", "rb") wave_selected = audiocore.WaveFile(wave_file_selected) wave_file_approaches = open("ContestantApproaches.wav", "rb") wave_approaches = audiocore.WaveFile(wave_file_approaches) wave_file_psst = open("psst.wav", "rb") wave_psst = audiocore.WaveFile(wave_file_psst) wave_file_secret = open("secret.wav", "rb") wave_secret = audiocore.WaveFile(wave_file_secret)
import microcontroller import board import neopixel import time import random from adafruit_circuitplayground import cp from digitalio import DigitalInOut, Direction, Pull leftButton = DigitalInOut(board.A2) leftLED = DigitalInOut(board.A3) rightButton = DigitalInOut(board.A5) rightLED = DigitalInOut(board.A4) leftButton.direction = Direction.INPUT leftButton.pull = Pull.UP leftButtonPressed = False leftButtonPrevious = False rightButton.direction = Direction.INPUT rightButton.pull = Pull.UP rightButtonPressed = False rightButtonPrevious = False leftLED.direction = Direction.OUTPUT leftLED.value = False rightLED.direction = Direction.OUTPUT rightLED.value = False pongGameActive = 1 pongGameWinner = 0
from digitalio import Direction from adafruit_espatcontrol import adafruit_espatcontrol # Get wifi details and more from a secrets.py file try: from secrets import secrets except ImportError: print("WiFi secrets are kept in secrets.py, please add them there!") raise # With a Particle Argon RX = board.ESP_TX TX = board.ESP_RX resetpin = DigitalInOut(board.ESP_WIFI_EN) rtspin = DigitalInOut(board.ESP_CTS) uart = busio.UART(TX, RX, timeout=0.1) esp_boot = DigitalInOut(board.ESP_BOOT_MODE) esp_boot.direction = Direction.OUTPUT esp_boot.value = True print("ESP AT commands") esp = adafruit_espatcontrol.ESP_ATcontrol( uart, 115200, reset_pin=resetpin, rts_pin=rtspin, debug=False ) print("Resetting ESP module") esp.hard_reset() first_pass = True
# fading led import time #pylint: disable-msg=import-error import board #pylint: disable-msg=import-error import pulseio #pylint: disable-msg=import-error from digitalio import DigitalInOut, Direction #pylint: disable-msg=import-error #set up pwm (pulse) pwm_leds = board.D0 pwm = pulseio.PWMOut(pwm_leds, frequency=1000, duty_cycle=0) digital_leds = DigitalInOut(board.D2) #led pin number digital_leds.direction = Direction.OUTPUT #declare led as output brightness = 0 #led is off at first fade_amount = 1285 #how much the led will change at a time counter = 0 while True: pwm.duty_cycle = brightness #send to LED as PWM level brightness = brightness + fade_amount #change the brightness for next loop print(brightness) #reverse direction at the end of the cycle if brightness <= 0: fade_amount = -fade_amount counter += 1 elif brightness >= 65535: fade_amount = -fade_amount
# # NOTE: pick the import that matches the interface being used # from adafruit_pn532.i2c import PN532_I2C #from adafruit_pn532.spi import PN532_SPI #from adafruit_pn532.uart import PN532_UART # I2C connection: i2c = busio.I2C(board.SCL, board.SDA) # Non-hardware #pn532 = PN532_I2C(i2c, debug=False) # With I2C, we recommend connecting RSTPD_N (reset) to a digital pin for manual # harware reset reset_pin = DigitalInOut(board.D6) # On Raspberry Pi, you must also connect a pin to P32 "H_Request" for hardware # wakeup! this means we don't need to do the I2C clock-stretch thing req_pin = DigitalInOut(board.D12) pn532 = PN532_I2C(i2c, debug=False, reset=reset_pin, req=req_pin) # SPI connection: #spi = busio.SPI(board.SCK, board.MOSI, board.MISO) #cs_pin = DigitalInOut(board.D5) #pn532 = PN532_SPI(spi, cs_pin, debug=False) # UART connection #uart = busio.UART(board.TX, board.RX, baudrate=115200, timeout=100) #pn532 = PN532_UART(uart, debug=False) ic, ver, rev, support = pn532.get_firmware_version()
# Write your code here :-) import time import board import adafruit_midi import usb_midi from digitalio import DigitalInOut, Direction, Pull from adafruit_debouncer import Debouncer midi = adafruit_midi.MIDI(midi_out=usb_midi.ports[1], out_channel=0) midi2 = adafruit_midi.MIDI(midi_out=usb_midi.ports[1], out_channel=1) x = 0 pin = DigitalInOut(board.D10) pin.direction = Direction.INPUT pin.pull = Pull.UP switch = Debouncer(pin) pin2 = DigitalInOut(board.D12) pin2.direction = Direction.INPUT pin2.pull = Pull.UP switch2 = Debouncer(pin2) while True: switch.update() switch2.update() if switch.rose: midi.note_off(0, 1) print('Switch 1 Just pressed') x = 1 if switch.fell:
from adafruit_midi.note_on import NoteOn from adafruit_debouncer import Debouncer from analogio import AnalogIn midi = adafruit_midi.MIDI(midi_out=usb_midi.ports[1], out_channel=0) def make_debouncable(pin): switch_io = DigitalInOut(pin) switch_io.direction = Direction.INPUT switch_io.pull = Pull.UP return switch_io leds = [ DigitalInOut(board.D22), DigitalInOut(board.D30), DigitalInOut(board.D36), DigitalInOut(board.D42), DigitalInOut(board.D48), DigitalInOut(board.D23), DigitalInOut(board.D31), DigitalInOut(board.D37) ] for led in leds: led.direction = Direction.OUTPUT buttons = [ Debouncer(make_debouncable(board.D26)), Debouncer(make_debouncable(board.D34)),
import adafruit_bme280 import adafruit_ds3231 import eclockhw import eclocknet import eclockui ALTITUDE_ADJUSTMENT = 10.5 tpl5111 = eclockhw.PowerSwitch(board.D5) i2c = busio.I2C(board.SCL, board.SDA) rtc = adafruit_ds3231.DS3231(i2c) bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c, address=0x76) battery = eclockhw.Battery(board.VOLTAGE_MONITOR) display = eclockui.Display() net = eclocknet.NetCache(cs=DigitalInOut(board.D13), ready=DigitalInOut(board.D11), reset=DigitalInOut(board.D12)) font = terminalio.FONT #bitmap_font.load_font("/cantarell-18.bdf") if net.seconds_since_last_refresh(rtc) > 3600: net.refresh(rtc) temperature = rtc.temperature voltage = battery.voltage() clk = rtc.datetime if clk.tm_hour < 12: am_pm = "am" else: am_pm = "pm"
def make_debouncable(pin): switch_io = DigitalInOut(pin) switch_io.direction = Direction.INPUT switch_io.pull = Pull.UP return switch_io
import board import pulseio import time import mapping from digitalio import DigitalInOut, Direction from adafruit_hid.keyboard import Keyboard clk = DigitalInOut(board.D4) #Send some pulses, needed so the Model M starts sending scancodes clk.direction = Direction.OUTPUT clk.value = False time.sleep(0.006) clk.value = True time.sleep(0.006) clk.value = False time.sleep(0.006) clk.direction = Direction.INPUT kbd = Keyboard() pulses = pulseio.PulseIn(board.D3, maxlen=12, idle_state=True) pulses.resume() while True: if not clk.value: time.sleep(0.005) pulses.pause() a = tuple([int(pulses[pulse] / 80) for pulse in range(1, len(pulses))]) if not a: pass elif a in mapping.modifiers: #if we pressed a modifer, well press it
# Draw a black filled box to clear the image. draw.rectangle((0, 0, width, height), outline=0, fill=0) font0 = ImageFont.load_default() font_height=14 font = ImageFont.truetype('/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf', font_height) font2 = ImageFont.truetype('/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf', 12) font_height2=12 image2 = Image.open('robot1.ppm') image3 = Image.open('arm1.ppm') image4 = Image.open('arm2.ppm') cur=0 images=[image2,image3,image4] moveDelay=0.15 # Input pins: button_A = DigitalInOut(board.D5) button_A.direction = Direction.INPUT button_A.pull = Pull.UP button_B = DigitalInOut(board.D6) button_B.direction = Direction.INPUT button_B.pull = Pull.UP button_L = DigitalInOut(board.D27) button_L.direction = Direction.INPUT button_L.pull = Pull.UP button_R = DigitalInOut(board.D23) button_R.direction = Direction.INPUT button_R.pull = Pull.UP
#import adafruit_dotstar as dotstar #status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) #Uncomment below for Particle Argon# #status_light = None # Get wifi details and more from a secrets.py file try: from secrets import secrets except ImportError: print("WiFi secrets are kept in secrets.py, please add them there!") raise # With a Metro or Feather M4 uart = busio.UART(board.TX, board.RX, timeout=0.1) resetpin = DigitalInOut(board.D5) rtspin = DigitalInOut(board.D6) # With a Particle Argon """ RX = board.ESP_TX TX = board.ESP_RX resetpin = DigitalInOut(board.ESP_WIFI_EN) rtspin = DigitalInOut(board.ESP_CTS) uart = busio.UART(TX, RX, timeout=0.1) esp_boot = DigitalInOut(board.ESP_BOOT_MODE) from digitalio import Direction esp_boot.direction = Direction.OUTPUT esp_boot.value = True """
SPRITESHEET_FOLDER = "/bmps" DEFAULT_FRAME_DURATION = 0.1 # 100ms AUTO_ADVANCE_LOOPS = 3 FRAME_DURATION_OVERRIDES = { "three_rings1-sheet.bmp": 0.15, "hop1-sheet.bmp": 0.05, "firework1-sheet.bmp": 0.03, } # --- Display setup --- matrix = Matrix(bit_depth=4) sprite_group = displayio.Group(max_size=1) matrix.display.show(sprite_group) # --- Button setup --- pin_down = DigitalInOut(board.BUTTON_DOWN) pin_down.switch_to_input(pull=Pull.UP) button_down = Debouncer(pin_down) pin_up = DigitalInOut(board.BUTTON_UP) pin_up.switch_to_input(pull=Pull.UP) button_up = Debouncer(pin_up) auto_advance = True file_list = sorted([ f for f in os.listdir(SPRITESHEET_FOLDER) if (f.endswith(".bmp") and not f.startswith(".")) ]) if len(file_list) == 0: raise RuntimeError("No images found")
import board from digitalio import DigitalInOut, Direction, Pull from analogio import AnalogIn from adafruit_motor import servo import neopixel import busio import audioio import pwmio import simpleio from adafruit_esp32spi import adafruit_esp32spi import adafruit_esp32spi.adafruit_esp32spi_requests as requests # keyboard support from adafruit_hid.keyboard import Keyboard from adafruit_hid.keycode import Keycode esp32_cs = DigitalInOut(board.ESP_CS) esp32_ready = DigitalInOut(board.ESP_BUSY) esp32_reset = DigitalInOut(board.ESP_RESET) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) # One pixel connected internally! dot = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Built in red LED led = DigitalInOut(board.D13) led.direction = Direction.OUTPUT # Analog audio output on A0, using two audio files audio = audioio.AudioOut(board.A0) audiofiles = ["rimshot.wav", "laugh.wav"]
# Import NeoPixel Library import neopixel # Import Adafruit IO REST Client from adafruit_io.adafruit_io import RESTClient # Get wifi details and more from a secrets.py file try: from secrets import secrets except ImportError: print("WiFi secrets are kept in secrets.py, please add them there!") raise # ESP32 Setup esp32_cs = DigitalInOut(board.D9) esp32_ready = DigitalInOut(board.D10) esp32_reset = DigitalInOut(board.D5) spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) """Use below for Most Boards""" status_light = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.2) # Uncomment for Most Boards """Uncomment below for ItsyBitsy M4""" #status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) wifi = adafruit_esp32spi_wifimanager.ESPSPI_WiFiManager( esp, secrets, status_light) """ # PyPortal ESP32 Setup esp32_cs = DigitalInOut(board.ESP_CS) esp32_ready = DigitalInOut(board.ESP_BUSY)
#JSON_POST_URL = "http://localhost:8001/api/user" #JSON_POST_URL = "http://localhost:8001/api/reading" #JSON_POST_URL = "http://192.168.1.254:8001/api/reading" #JSON_POST_URL = "http://64.227.0.108:8002/api/reading" JSON_POST_URL = "http://157.245.241.239:8002/api/reading" # esp32 import adafruit_esp32spi.adafruit_esp32spi_socket as socket from adafruit_esp32spi import adafruit_esp32spi #import adafruit_requests as requests from adafruit_esp32spi import adafruit_esp32spi_wifimanager esp32_cs = DigitalInOut(board.D11) esp32_ready = DigitalInOut(board.D12) esp32_reset = DigitalInOut(board.D9) esp_spi = busio.SPI(board.SCK, board.MOSI, board.MISO) esp = adafruit_esp32spi.ESP_SPIcontrol(esp_spi, esp32_cs, esp32_ready, esp32_reset) led = digitalio.DigitalInOut(board.D13) led.direction = digitalio.Direction.OUTPUT # status_light = dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1, brightness=0.2) # Uncomment below for an externally defined RGB LED import adafruit_rgbled from adafruit_esp32spi import PWMOut
import neopixel led = neopixel.NeoPixel(board.NEOPIXEL, 1) led[0] = [255, 255, 50] led.brightness = 0.01 ################### set up BMX160 through I2C ################### i2c = busio.I2C(board.SCL1, board.SDA1) bmx = bmx160.BMX160_I2C(i2c) time.sleep(0.05) ################### set up SD card through SPI ################### spi = busio.SPI(board.SCK, MISO=board.MISO, MOSI=board.MOSI) cs_sd = DigitalInOut(board.CS_SD) sdcard = adafruit_sdcard.SDCard(spi, cs_sd) # Use the filesystem as normal. Files are under "/sd" vfs = storage.VfsFat(sdcard) storage.mount(vfs, "/sd") sys.path.append("/sd") #################### SET UP THE FILE (new one if one already exists) #################### filename = '/sd/sensordata1.csv' badname = True while badname: try: with open(filename) as f: # Set a new filename, since this one already exists