NeoSliders Behaving Baddly

Breakout boards, sensors, other Adafruit kits, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
tigerbyte
 
Posts: 6
Joined: Tue Nov 27, 2018 5:00 am

NeoSliders Behaving Baddly

Post by tigerbyte »

I am trying to use two NeoSliders together, I cut A0 on one and left the other one uncut. When I plug them in individually they work as expected. One reports on 0x30 and the other reports on 0x31. If I plug them both in, it seems to report back a bunch of random addresses. plugging in a rotary in with one or the other they each report as expected, just the two addresses.

I used the I2C address example code from one of the learn guides, i dont remember which to observe the addresses changing.

Code: Select all

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2021.12.18 19:19:07 =~=~=~=~=~=~=~=~=~=~=~=
2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x15', '0x17', '0x18', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f', '0x67']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x11', '0x13', '0x14', '0x15', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f', '0x71']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x8', '0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x28', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x20', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f', '0x67']
I2C addresses found: ['0x8', '0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x8', '0x9', '0xa', '0xb', '0xc', '0xd', '0xe', '0xf', '0x10', '0x11', '0x12', '0x13', '0x14', '0x15', '0x16', '0x17', '0x18', '0x19', '0x1a', '0x1b', '0x1c', '0x1d', '0x1e', '0x1f', '0x20', '0x21', '0x22', '0x23', '0x24', '0x25', '0x26', '0x27', '0x28', '0x29', '0x2a', '0x2b', '0x2c', '0x2d', '0x2e', '0x2f', '0x30', '0x31', '0x32', '0x33', '0x34', '0x35', '0x36', '0x37', '0x38', '0x3a', '0x3b', '0x3c', '0x3d', '0x3e', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xa', '0xb', '0xe', '0xf', '0x12', '0x13', '0x14', '0x15', '0x18', '0x19', '0x1a', '0x1f', '0x20', '0x21', '0x22', '0x24', '0x25', '0x26', '0x28', '0x29', '0x2a', '0x2b', '0x2c', '0x2d', '0x2e', '0x2f', '0x30', '0x31', '0x32', '0x33', '0x35', '0x38', '0x3c', '0x3d', '0x3e', '0x3f', '0x48']
I2C addresses found: ['0x30']
I2C addresses found: ['0x30']
I2C addresses found: ['0x30']
I2C addresses found: []
I2C addresses found: []
I2C addresses found: []
I2C addresses found: ['0x31']
I2C addresses found: ['0x31']
I2C addresses found: ['0x31']
I2C addresses found: ['0x31']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: []
I2C addresses found: []
I2C addresses found: []
I2C addresses found: ['0x9', '0xb', '0xc', '0xd', '0xf', '0x10', '0x11', '0x13', '0x14', '0x15', '0x17', '0x19', '0x1b', '0x1c', '0x1d', '0x1f', '0x21', '0x23', '0x24', '0x25', '0x27', '0x29', '0x2b', '0x2c', '0x2d', '0x2f', '0x30', '0x31', '0x33', '0x34', '0x35', '0x37', '0x39', '0x3b', '0x3c', '0x3d', '0x3f']
I2C addresses found: ['0x8', '0x9', '0xa', '0xb', '0xc', '0xd', '0xe', '0xf', '0x10', '0x11', '0x12', '0x13', '0x14', '0x15', '0x16', '0x17', '0x18', '0x19', '0x1a', '0x1b', '0x1c', '0x1d', '0x1e', '0x1f', '0x20', '0x21', '0x22', '0x23', '0x24', '0x25', '0x26', '0x27', '0x28', '0x29', '0x2a', '0x2b', '0x2c', '0x2d', '0x2e', '0x2f', '0x30', '0x31', '0x32', '0x33', '0x34', '0x35', '0x36', '0x37', '0x38', '0x39', '0x3a', '0x3b', '0x3c', '0x3d', '0x3e', '0x3f']
I2C addresses found: ['0x30']
I2C addresses found: ['0x30']
I2C addresses found: ['0x30']
I2C addresses found: ['0x30']
I2C addresses found: ['0x30']
I2C addresses found: []
I2C addresses found: ['0x8', '0x9', '0xa', '0xb', '0xc', '0xd', '0xe', '0xf', '0x10', '0x11', '0x12', '0x13', '0x14', '0x15', '0x16', '0x17', '0x18', '0x19', '0x1a', '0x1c', '0x1d', '0x1e', '0x1f', '0x20', '0x21', '0x22', '0x23', '0x24', '0x25', '0x26', '0x27', '0x28', '0x29', '0x2a', '0x2b', '0x2c', '0x2d', '0x2e', '0x2f', '0x30', '0x31', '0x32', '0x33', '0x34', '0x35', '0x36', '0x37', '0x38', '0x39', '0x3a', '0x3b', '0x3c', '0x3d', '0x3e', '0x3f']
I2C addresses found: ['0x48']
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

Press any key to enter the REPL. Use CTRL-D to reload.

Adafruit CircuitPython 7.1.0-beta.3 on 2021-12-13; Adafruit PyPortal Titano with samd51j20
>>> 
soft reboot
I also tried with two different NeoSliders and the addressing worked the way i expect.

I have another issue with one of those two different sliders then the originals, where unless the slider is at one extreme or the other, its value bobbles up and down +-3, to deal with it for now i basically had to add a deadzone, but the other slider paired with it doesn't have this issue.

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: NeoSliders Behaving Baddly

Post by adafruit_support_carter »

Please post a photo of your setup showing how everything is connected with both sliders in use.

User avatar
danhalbert
 
Posts: 4613
Joined: Tue Aug 08, 2017 12:37 pm

Re: NeoSliders Behaving Baddly

Post by danhalbert »

Please also update to 7.1.0 final:

Code: Select all

Adafruit CircuitPython 7.1.0-beta.3 on 2021-12-13; Adafruit PyPortal Titano with samd51j20

User avatar
tigerbyte
 
Posts: 6
Joined: Tue Nov 27, 2018 5:00 am

Re: NeoSliders Behaving Baddly

Post by tigerbyte »

i originally had been doing this with 7.0.0 and had this issue and upgraded to 7.1.0 Beta 3 to see if it would resolve the issue. I actually plugged back everything in today again and now each device is detecting properly. not sure what changed, I had tried this previously as well.
WIN_20220110_15_37_53_Pro.jpg
WIN_20220110_15_37_53_Pro.jpg (265.34 KiB) Viewed 121 times
WIN_20220110_15_38_11_Pro.jpg
WIN_20220110_15_38_11_Pro.jpg (231.58 KiB) Viewed 121 times
WIN_20220110_15_49_39_Pro.jpg
WIN_20220110_15_49_39_Pro.jpg (184.22 KiB) Viewed 121 times
I am still having the other part of my issue, where the potentiometer in a lot of positions are giving varying values when they are not being changed.

User avatar
tigerbyte
 
Posts: 6
Joined: Tue Nov 27, 2018 5:00 am

Re: NeoSliders Behaving Baddly

Post by tigerbyte »

here is code and log showing the pots varying a lot without anything being touched.
Attachments
code.py
(9.04 KiB) Downloaded 4 times
puttytitano.log
(11.53 KiB) Downloaded 5 times

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: NeoSliders Behaving Baddly

Post by adafruit_support_carter »

p1 appears to be varying between ~756-760? So, several counts. That amount of variation is generally expected for an analog sensor. If you want to reduce that variation, you can average several readings.

User avatar
tigerbyte
 
Posts: 6
Joined: Tue Nov 27, 2018 5:00 am

Re: NeoSliders Behaving Baddly

Post by tigerbyte »

I do not experience this level of variance when reading a normal 10k pot on a analog pin. These seem to very depending where you are in the range of the pot. To me its sounds like these pots are low quality.

Im sorry, this is my first time working with seesaw or I2C and I am struggling enough with that alone the trying to deal with figuring out this too.

User avatar
danhalbert
 
Posts: 4613
Joined: Tue Aug 08, 2017 12:37 pm

Re: NeoSliders Behaving Baddly

Post by danhalbert »

I tried this out as well. First I tried a NeoSlider with a QT Py RP2040, and I got very stable readings.

Then I tried the same setup on a PyPortal Titano (SAMD51 base chip). Here I saw the jitter that you are seeing, a range of 3 or so. I did `displayio.release_display()` to see if turning off display refresh made a difference, but it did not.

Finally I tried a Metro M4 (SAMD51). As with the RP2040, there was no jitter.

My guess is that there is some noise being conducted along the STEMMA lines, from the Titano display or from the on-board ESP32 (which was not in use.) This noise is somehow getting into the Seesaw ADC.

I put some filtering caps on the I2C power lines, but that did not help. I scoped the power lines as well, and there is some noise, but its amplitude (about 30mv) is about the same on the RP2040 vs the Titano, though it's much more regular on the Titano (about 60Hz). However, I was not looking for HF RF, but much lower frequencies.

We can do some further experiments.

Test program (varied slightly between boards):

Code: Select all

import board,busio
from adafruit_seesaw.seesaw import Seesaw
from adafruit_seesaw.analoginput import AnalogInput

# NeoSlider Setup
i2c = busio.I2C(board.SCL, board.SDA)
neoslider = Seesaw(i2c, 0x30)
potentiometer = AnalogInput(neoslider, 18)

while True:
    print(potentiometer.value)

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: NeoSliders Behaving Baddly

Post by adafruit_support_carter »

The sources can be numerous, varied, and difficult to fully determine. But in general, seeing several counts of variance in the raw ADC values is just real world effects. If your use case can not tolerate a few counts of variance, then you'll need to either chase down the source in order to potentially remedy via hardware (can be a goose chase) or fix in software via averaging.

User avatar
tigerbyte
 
Posts: 6
Joined: Tue Nov 27, 2018 5:00 am

Re: NeoSliders Behaving Baddly

Post by tigerbyte »

Danhalbert out of the 4 of them i have, only one is stable, two are really bad +-3 and the last one is like +-1. i did also try this on a NRF52840 express feather and each slider does the same thing.

Carter, do you have some recommended code? I am trying to setup a low power device and so i am trying to monitor for input changes so that I am not refreshing things that have not changed.

Im sorry i am not a very advanced programmer, these are all learning projects for me trying to teach myself stuff and maybe make some neat things at the same time.

I am guessing that whatever was going on with all the addresses that were coming up was probably interference on the I2C line like you were mentioning. I though that the Seesaw board would be easier but so far it does not seem easier then just using an analog pin.

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: NeoSliders Behaving Baddly

Post by adafruit_support_carter »

Something like this:

Code: Select all

def read_slider(count=10, delay=0.01):
    reading = 0
    for _ in range(count):
        reading += potentiometer.value
        time.sleep(delay)
    return reading / count

User avatar
tigerbyte
 
Posts: 6
Joined: Tue Nov 27, 2018 5:00 am

Re: NeoSliders Behaving Baddly

Post by tigerbyte »

so i tried this, it did help but still getting changes a lot, I tried to do the filtering even after squashing the value down to a 255 range and it is greatly reduced.

I finally got I2C to work on my QT2040 and plugged one of my NeoSliders in to that, and even without averaging the values it is even more stable with just the raw value. adding the averaging code actually makes it worse. so I stopped calling that, called the squash code and converted to int and it is nearly completely stable on the QT2040 same cable same slider.

Same code and slider back to the Titano and NRF52 and its about 1/6 reads is off. I did not expect this to be so different with one slider being so stable on the Titano/NRF52 and another being so unstable.

The problem is that I really wanted to use BLE in my project. Do you know what I might be going on between the different controllers that i might be able to get other boards to work similar to what the RP2040 is doing?

Code: Select all

import time
import board
# import neopixel
from rainbowio import colorwheel
from adafruit_seesaw.seesaw import Seesaw
from adafruit_seesaw.analoginput import AnalogInput
import adafruit_seesaw.neopixel

i2c = board.I2C()

# NeoSlider Setup
neoslider = Seesaw(i2c, 0x30)
potentiometer = AnalogInput(neoslider, 18)
sliderPixels = adafruit_seesaw.neopixel.NeoPixel(neoslider, 14, 4)

# NeoSlider 2 Setup
neosliderTwo = Seesaw(i2c, 0x31)
potentiometerTwo = AnalogInput(neosliderTwo, 18)
sliderPixelsTwo = adafruit_seesaw.neopixel.NeoPixel(neosliderTwo, 14, 4)

def potentiometerSquash(value,max):
    """Scale the potentiometer values (0-1023) to the values (0-255)."""
    return value / 1023 * max


# def read_slider(count=10, delay=0.01):
#     reading = 0
#     for _ in range(count):
#         reading += potentiometerTwo.value
#         time.sleep(delay)
#     return reading / count

p2Old = -1
p1Old = -1

while True:
        p1 = int(potentiometerSquash(potentiometer.value,255))
        p2 = int(potentiometerSquash(potentiometerTwo.value,255))

        print(p1 , p2)
        if p2Old != p2 or p1Old != p1:
            if p2Old != p2:
                print("Change P2: ",p2)
                p2Old = p2
                sliderPixelsTwo.fill(colorwheel(int(potentiometerSquash(p2,255))))
            else:
                print("Change P1: ",p1)
                p1Old = p1
                sliderPixels.fill(colorwheel(int(potentiometerSquash(p1,255))))
All value changes were on purpose:

Code: Select all

191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
Traceback (most recent call last):
  File "code.py", line 38, in <module>
  File "adafruit_seesaw/analoginput.py", line 35, in value
  File "adafruit_seesaw/seesaw.py", line 253, in analog_read
  File "adafruit_seesaw/seesaw.py", line 461, in read
KeyboardInterrupt:

Code done running.
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

Press any key to enter the REPL. Use CTRL-D to reload.

Adafruit CircuitPython 7.1.0 on 2021-12-28; Adafruit QT2040 Trinkey with rp2040
>>>
>>>

>>>
soft reboot

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
191 96
Raw Change P2:  96
191 96
Raw Change P1:  191
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
191 96
190 96
Raw Change P1:  190
177 96
Raw Change P1:  177
158 96
Raw Change P1:  158
140 96
Raw Change P1:  140
127 96
Raw Change P1:  127
113 96
Raw Change P1:  113
100 96
Raw Change P1:  100
96 96
Raw Change P1:  96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 96
96 97
Raw Change P2:  97
96 100
Raw Change P2:  100
96 111
Raw Change P2:  111
96 124
Raw Change P2:  124
96 139
Raw Change P2:  139
96 155
Raw Change P2:  155
96 170
Raw Change P2:  170
96 179
Raw Change P2:  179
96 183
Raw Change P2:  183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
96 183
Traceback (most recent call last):
  File "code.py", line 38, in <module>
  File "adafruit_seesaw/analoginput.py", line 35, in value
  File "adafruit_seesaw/seesaw.py", line 253, in analog_read
  File "adafruit_seesaw/seesaw.py", line 461, in read
KeyboardInterrupt:

Code done running.

Press any key to enter the REPL. Use CTRL-D to reload.

Adafruit CircuitPython 7.1.0 on 2021-12-28; Adafruit QT2040 Trinkey with rp2040
>>>
Thank you guys for your help in figuring out what is going on here.

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Products from Adafruit”