Difference between revisions of "Circuitpython"

From Sketching with Hardware at LMU Wiki
Jump to navigation Jump to search
Line 56: Line 56:
  
 
Copy the library folders into the library folder on the USB drive (CIRCUITPY).
 
Copy the library folders into the library folder on the USB drive (CIRCUITPY).
 +
 +
[[File:Cp08-lib.png|x250px]]
 +
[[File:Cp09-lib02.png|x250px]]
  
 
Now you can use the libraries, e.g. for reading the accelerometer using the adafruit_lsm6ds library.
 
Now you can use the libraries, e.g. for reading the accelerometer using the adafruit_lsm6ds library.

Revision as of 10:05, 22 June 2024

Introduction and step by step tutorial from Adafruit

Installing CircuitPython

Go to circuitpython.org/downloads and download the version for your board.

For the Raspberry PI Pico connect the board to the computer and the folder RPI-RP2 shows ups in your file system. For the Arduino Nano Connect RP2040 force the bootloder mode to upload the .uf2 file. Copy the .uf2 into the folder of the board.

Cp01.png Cp02.png

Now you should be able to connect to the board and use the editor.

If you need more help, here is a more detailed description on the installation process at adafruit.com

CircuitPy Drive

After installing CircuitPython on the board and reconnecting the board, it should show up as a USB drive on your computer with the name CircuitPy.

Here you can directly access the code you write and data you safe from your programs.

Cp05-usb-drive.png

As the board is a USB drive do not just unplug it - use "safe remove" feature of your OS.

Cp06-safe-remove.png Cp07-safe-remove.png

Running your first CircuitPython Program

In the file system of the board (that shows up as USB Drive CIRCUITPY) there is a file code.py.

To write your program, open code.py and edit it with your code. Once you safe it, it will be automatically excuted. The file name must be code.py or main.py.

Try it out with the following program. Just use any editor and open code.py. Replace it with the following code and you should see the LED flash. Changes the sleep times. Each time you safe it the new program will be active:

 1 # write on serial line and blink onbaord LED
 2 import board
 3 import digitalio
 4 import time
 5 
 6 led = digitalio.DigitalInOut(board.LED)
 7 led.direction = digitalio.Direction.OUTPUT
 8 
 9 while True:
10     led.value = False
11     time.sleep(0.8)
12     led.value = True
13     time.sleep(0.2)

Using Libraries

Here is an example of how to use libraries, in this case to read the accelerometer of the Arduino Nano Connect RP2024.

Download the library (in this case it is in the zip from Adafruit, see Download Project Bundle).

Copy the library folders into the library folder on the USB drive (CIRCUITPY).

Cp08-lib.png Cp09-lib02.png

Now you can use the libraries, e.g. for reading the accelerometer using the adafruit_lsm6ds library.


 1 # SPDX-FileCopyrightText: Copyright (c) 2020 Bryan Siepert for Adafruit Industries
 2 #
 3 # SPDX-License-Identifier: MIT
 4 import time
 5 import board
 6 from adafruit_lsm6ds.lsm6dsox import LSM6DSOX
 7 
 8 i2c = board.I2C()  # uses board.SCL and board.SDA
 9 # i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
10 sensor = LSM6DSOX(i2c)
11 
12 while True:
13     print("Acceleration: X:%.2f, Y: %.2f, Z: %.2f m/s^2" % (sensor.acceleration))
14     print("Gyro X:%.2f, Y: %.2f, Z: %.2f radians/s" % (sensor.gyro))
15     print("")
16     time.sleep(0.5)

for more details see: on how to use the onboard IMU of the Arduino Nano RP2040 Connect (LSM6DSOXTR)

Install the Mu Editor

Follow the instructions for installting the Mu Editor.

  • Install it on your system
  • On first start up select CircuitPython as Mode

Cp3-mu.png

  • Test if it works in the CircuitPython REPL console

Cp4-mu.png