The Signals block on Crickit allows you to expand your general-purpose inputs and outputs (GPIO).
The Circuit Playground Express and Crickit combination is at left.
You may want to add buttons, LEDs, switches or simple sensors to your robot project. With Crickit, you get 8 x 'general purpose in/out' (GPIO) pins called signals. Each signal can be a digital input (button/switch), digital output (LED, for example), or analog input.
This lets you add a ton of external components easily, and its all handled by seesaw. Perfect when you have a Feather without analog inputs (like the ESP8266) or just need a ton of extra pins.
The signal pins are on a 3x8 female header, so you can poke wires directly in!
Using Signals in MakeCode
MakeCode has three blocks under the CRICKIT group to help you work with signals:
-
crickit digital read signal
allows you to read digital values in -
crickit analog read signal
reads a signal and provides an analog value from 0-1023 -
crickit digital write signal
allows you to write out to a signal line
Analog read returns a number so the block is rounded to place where a number may be used. Digital read is angled so it fits where a decision like if..then..else
blocks use. Write signal is a block of its own and will set a signal (Make it HIGH
/ 3.3 volts or LOW
/ 0 volts).
Here's an example wiring that goes with the code below.
We have two switch buttons, connected to signals #1 and #2, the other side of the buttons connect to ground
There's also two LEDs, connected to the signals #3 and #4 and the negative wires connected to ground. (All the 3.3V and Ground pins are connected together so you don't have to use the ones right next to the signal pin!)
Note the pull up resistors for the buttons. Seesaw does not allow enabling internal pullup or pulldown resistors at present. Also 330 ohm current limit resistors are shown for the LEDs.
Here is the MakeCode that reads the buttons on signal #1 and #2 and lights signal #3 and signal #4 if the corresponding button is pressed:
You can also read analog values like from a potentiometer or sensor.
Lets do a demonstration where the center tap of a potentiometer is hooked up to Signal #3 - don't forget to also connect one side of the potentiometer to 3.3V and the other side to ground.
And here is the example code. You can see we read the signal with crickit analog read signal
which returns a value from 0 to 1023.
For Crickit and Circuit Playground Express
The map
MATH function changes 0 to 1023 to 0 to 9. The graph
NEOPIXEL block will light the number of NeoPixels map
returns in rainbow colors.
Be sure the potentiometer is connected to Crickit Signal 3 and not one of the other Signal terminals.
For Crickit and micro:bit
The code displays a heart icon
on the micro:bit display. The brightness is changed by taking the reading from the potentiometer connected to Crickit Signal 3 (0 to 1023) and dividing by 4 to get a brightness
from 0 to 255. So the potentiometer is essentially a manual brightness control for the micro:bit LED array.
Page last edited March 08, 2024
Text editor powered by tinymce.