Editing Circuitpython

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 12: Line 12:
  
 
If you need more help, here is a [https://learn.adafruit.com/welcome-to-circuitpython/installing-circuitpython more detailed description on the installation process at adafruit.com]
 
If you need more help, here is a [https://learn.adafruit.com/welcome-to-circuitpython/installing-circuitpython more detailed description on the installation process at adafruit.com]
 
On the download site there is also a webbased download process - where the browser makes a serial connection to the board.
 
  
 
= CircuitPy Drive =
 
= CircuitPy Drive =
Line 76: Line 74:
 
         print("On")
 
         print("On")
 
</syntaxhighlight>
 
</syntaxhighlight>
 
= Using Libraries =
 
Here are examples of how to use libraries.
 
 
== accelerometer of the Arduino Nano Connect RP2024 ==
 
How to read the accelerometer of the Arduino Nano Connect RP2024.
 
 
Download the library (in this case it is in the zip from Adafruit, see [https://learn.adafruit.com/circuitpython-on-the-arduino-nano-rp2040-connect/accelerometer-gyroscope Download Project Bundle]).
 
 
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.
 
 
 
<syntaxhighlight lang="python" line='line'>
 
# SPDX-FileCopyrightText: Copyright (c) 2020 Bryan Siepert for Adafruit Industries
 
#
 
# SPDX-License-Identifier: MIT
 
import time
 
import board
 
from adafruit_lsm6ds.lsm6dsox import LSM6DSOX
 
 
i2c = board.I2C()  # uses board.SCL and board.SDA
 
# i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
 
sensor = LSM6DSOX(i2c)
 
 
while True:
 
    print("Acceleration: X:%.2f, Y: %.2f, Z: %.2f m/s^2" % (sensor.acceleration))
 
    print("Gyro X:%.2f, Y: %.2f, Z: %.2f radians/s" % (sensor.gyro))
 
    print("")
 
    time.sleep(0.5)
 
</syntaxhighlight>
 
 
for more details see: [https://learn.adafruit.com/circuitpython-on-the-arduino-nano-rp2040-connect/accelerometer-gyroscope on how to use the onboard IMU of the Arduino Nano RP2040 Connect (LSM6DSOXTR)]
 
  
 
== Keyboard emulator ==
 
== Keyboard emulator ==
 
[https://learn.adafruit.com/circuitpython-essentials/circuitpython-hid-keyboard-and-mouse for more details on the mouse and keyboard emulator see the Adafruit page]
 
 
We have also an [[KeyboardEmulator | example, where the IMU of the Arduino Nano Connect RP2040 is read and strings are send to the computer]].
 
 
 
<syntaxhighlight lang="python" line='line'>
 
<syntaxhighlight lang="python" line='line'>
 
# SPDX-FileCopyrightText: 2018 Kattni Rembor for Adafruit Industries
 
# SPDX-FileCopyrightText: 2018 Kattni Rembor for Adafruit Industries
Line 158: Line 114:
 
         keyboard_layout.write("Hi There")  # ...Print the string
 
         keyboard_layout.write("Hi There")  # ...Print the string
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
= 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 [https://learn.adafruit.com/circuitpython-on-the-arduino-nano-rp2040-connect/accelerometer-gyroscope Download Project Bundle]).
 +
 +
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.
 +
 +
 +
<syntaxhighlight lang="python" line='line'>
 +
# SPDX-FileCopyrightText: Copyright (c) 2020 Bryan Siepert for Adafruit Industries
 +
#
 +
# SPDX-License-Identifier: MIT
 +
import time
 +
import board
 +
from adafruit_lsm6ds.lsm6dsox import LSM6DSOX
 +
 +
i2c = board.I2C()  # uses board.SCL and board.SDA
 +
# i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
 +
sensor = LSM6DSOX(i2c)
 +
 +
while True:
 +
    print("Acceleration: X:%.2f, Y: %.2f, Z: %.2f m/s^2" % (sensor.acceleration))
 +
    print("Gyro X:%.2f, Y: %.2f, Z: %.2f radians/s" % (sensor.gyro))
 +
    print("")
 +
    time.sleep(0.5)
 +
</syntaxhighlight>
 +
 +
for more details see: [https://learn.adafruit.com/circuitpython-on-the-arduino-nano-rp2040-connect/accelerometer-gyroscope on how to use the onboard IMU of the Arduino Nano RP2040 Connect (LSM6DSOXTR)]
  
 
= Finding your PIN names - Pin mapping script =
 
= Finding your PIN names - Pin mapping script =
Line 163: Line 153:
 
CircuitPython uses it own names which makes it easier to use the same code on different boards. But this requires you to first find out which PINs on your physical board map to the logical pins in the program code.  
 
CircuitPython uses it own names which makes it easier to use the same code on different boards. But this requires you to first find out which PINs on your physical board map to the logical pins in the program code.  
  
There is a [https://learn.adafruit.com/circuitpython-essentials/circuitpython-pins-and-modules pin mapping scriptt avaiable for this at Adafruit]. You can download the [https://learn.adafruit.com/circuitpython-essentials/circuitpython-pins-and-modules project bundel there]. Here is the script, too. And below are the mappings for the Arduino Nano Connect RP2024 and the Raspberry Pi Pico
+
There is a [https://learn.adafruit.com/circuitpython-essentials/circuitpython-pins-and-modules pin mapping scriptt avaiable for this at Adafruit]. You can download the [https://learn.adafruit.com/circuitpython-essentials/circuitpython-pins-and-modules project bundel there]. Here is the script, too:
  
 
<syntaxhighlight lang="python" line='line'>
 
<syntaxhighlight lang="python" line='line'>
Line 238: Line 228:
 
== CircuitPython Pin Mapping for Raspberry PI Pico ==
 
== CircuitPython Pin Mapping for Raspberry PI Pico ==
  
<syntaxhighlight lang="python" line='line'>
+
 
board.A0 board.GP26 board.GP26_A0 (GPIO26)
 
board.A1 board.GP27 board.GP27_A1 (GPIO27)
 
board.A2 board.GP28 board.GP28_A2 (GPIO28)
 
board.A3 board.VOLTAGE_MONITOR (GPIO29)
 
board.GP0 (GPIO0)
 
board.GP1 (GPIO1)
 
board.GP10 (GPIO10)
 
board.GP11 (GPIO11)
 
board.GP12 (GPIO12)
 
board.GP13 (GPIO13)
 
board.GP14 (GPIO14)
 
board.GP15 (GPIO15)
 
board.GP16 (GPIO16)
 
board.GP17 (GPIO17)
 
board.GP18 (GPIO18)
 
board.GP19 (GPIO19)
 
board.GP2 (GPIO2)
 
board.GP20 (GPIO20)
 
board.GP21 (GPIO21)
 
board.GP22 (GPIO22)
 
board.GP23 board.SMPS_MODE (GPIO23)
 
board.GP24 board.VBUS_SENSE (GPIO24)
 
board.GP25 board.LED (GPIO25)
 
board.GP3 (GPIO3)
 
board.GP4 (GPIO4)
 
board.GP5 (GPIO5)
 
board.GP6 (GPIO6)
 
board.GP7 (GPIO7)
 
board.GP8 (GPIO8)
 
board.GP9 (GPIO9)
 
</syntaxhighlight>
 
  
 
= Install the Mu Editor =
 
= Install the Mu Editor =

Please note that all contributions to Sketching with Hardware at LMU Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see My wiki:Copyrights for details). Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)