Some tips and ideas to connect external hardware to your CPE!
- Resistors
- Breadboards
- External LED
- Push Button
- External power for Playground
- How to check sensor values
- External Switch 3 pins
- External Button 2 pins
- Force sensor
- Infrared communication
- Rotating Button
- Solid Core Wire
- Servo
- Servo with external power
- Distance Sensor
- Neopixel Strip
- DC Motors
- Solenoid (push/pull)
- Relais
- Other parts
- Where to buy
If you connect Power directly to Ground, you get a short circuit ⚡️⚡️⚡️ . A RESISTOR prevents short circuits by slowing down the flow of power.
A LED has almost no resistance by itself, that's why we use a resistor to prevent damage to the LED or the battery. Larger resistors will slow down the flow of power more! In this example, the LED will burn less bright, if you increase the resistor.
A breadboard provides an easy way to connect lots of tiny components together without soldering.
Je kan een breadboard gebruiken om externe electronica makkelijk aan te sluiten aan de playground. Gebruik een LED en een 220 Ohm weerstand. De weerstand zorgt dat je lampje niet beschadigt.
Let op dat het lange pootje van de LED naar de stroom gaat, en het korte pootje gaat naar GND. De weerstand mag wel aan beide kanten zitten.
Test of het lampje gaat branden door de rode draad rechtstreeks op de stroom (3.3V) van de playground aan te sluiten. De zwarte draad gaat naar GND>
Als dat werkt sluit je de rode draad aan op de A2 poort van de playground. Hier kan je met code stroom op zetten.
Als je meerdere LEDS wil aansturen kan je ze allemaal aan een eigen poort aansluiten. Ze kunnen wel de GND delen. Gebruik daarvoor het lange gootje van de breadboard.
The push button is just a way to send power through a wire, or block the power. When the button is pushed, power is allowed through to the wire that leads to A3. You can then use the digitalRead()
command to detect if the wire is powered.
forever(function () {
if (pins.A3.digitalRead()) {
light.setAll(0x00ff00)
} else {
light.setAll(0xff0000)
}
})
The playground express has a port for an external battery. If you use a rechargable Lithium Polymer battery, it will recharge if the playground is connected to USB. The batteries are 3.7 Volt. The amount of mAh (milli Ampere per hour) determines how long the battery lasts. Smaller batteries have less mAh.
NOTE: this does not power the crickit! If you have a crickit connected, you should use the crickit's external power.
Use USB pairing in Chrome to display sensor values from the CPE in the browser.
Put 3.3V on the first pin. The position of the switch will send power to the GND or to the A2 pin, depending on the position.
Gebruik digitalRead()
om te zien of de switch in positie 0 of 1 staat.
let switchValue = pins.A2.digitalRead()
Put power from 3.3V or VOUT on one of the pins. Connect the other pin to an input port to read if there is power or not. Do not forget to "pull down" the input pin, to avoid random results.
The force sensor measures how hard you push on the plate. Use a large resistor (10K Ohm). Connect the yellow wire to an analog port such as A1, and then you can read the value on the port
let force = pins.A1.analogRead()
console.log(`The force is ${force}`)
You can use infrared to send signals from one CPE to another CPE!
Connect the playground 3.3V and GND pads to the outer pins of the potentiometer. Connect the playground A3 pad to the middle pin of the potentiometer. Now, you can read the value of A3 by using the Analog read A3 block. This should be a number from 0 to 1024.
If you PAIR your playground in Chrome, you can show the value of the of A3 in the console. This way you can check if you really get a number between 0 and 1024. You can use the map function to convert this number to any value that you need. In this example code, the lights from 0 to 9 turn on by turning the knob. Makecode example.
let buttonValue = 0
forever(function () {
buttonValue = pins.A2.analogRead()
console.logValue("draaiknop", buttonValue)
light.graph(Math.map(buttonValue, 0, 1023, 0, 10), 10)
})
Met een rolletje solid core wire kan je een steviger prototype bouwen op je breadboard.
The servo is used for limited but precise movement. Most servos rotate a maximum of 360 degrees.
If your servo draws too much power, or if you need multiple servos, you can connect your servo to an external power source. Make sure the GND of the servo is both connected to the Playground and the ground of the external power.
Gebruik een 3 Volt RCW0001 ultrasonic distance sensor om afstanden te meten met de Playground Express.
- Sluit VCC aan op stroom
- Sluit GND aan op GND
- Sluit de TRIG aan op A3
- Sluit de ECHO aan op A2
De afstand sensor werkt door een geluid te sturen over de linker speaker, en dan met de rechter speaker te meten hoe lang het duurt voordat de echo terug komt.
Het inlezen van de pulse is niet beschikbaar in de crickit blocks, dus de sensor is aangesloten op de playground.
You can connect external Neopixel (RGB LED) strips to the Circuit Playground.
The CPE board can only power a limited amount of Neopixels. To reduce power usage you can:
- Reduce the brightness
- Don't light up all leds at the same time
- Use single colors instead of full white
If you can't do this or want to use LOTS of neopixels, you can use an external power source, for example a 5V 2Amp adapter. Be careful when connecting everything! 2Amps can damage your board or neopixels.
- Adafruit makecode neopixel documentation
- 📺 MakeCode Example and more types of connections
- Power usage explanation
The DC Motor can be used for wheels and other continuous motion. To move heavy objects you need a Geared DC motor. The gears are needed to convert fast motion to strong motion.
DC Motors use too much power for the Circuit Playground. You can solve this by using the Adafruit Crickit. The Crickit allows you to control two motors separately.
You can also connect dc motors to their own power source with a relais. The relais allows you to connect more than two motors.
The mosfet is another way to connect a DC motor to a playground.
Met een solenoid kan je een horizontale of verticale beweging maken. Deze solenoid is 5 Volt en kan je aansluiten op de Motor drive van de Crickit. (Sluit de solenoid niet rechtstreeks aan op de Playground!)
forever(function () {
crickit.drive1.analogWrite(1023)
pause(100)
crickit.drive1.analogWrite(0)
pause(500)
})
Met een relais kan je een extern circuit aan / uit zetten via de playground express. Dit kan handig zijn als je meer dan 3 ~ 5 Volt nodig hebt voor je externe apparaten.
Met de code digitalWrite()
kan je het relais laten schakelen tussen AAN en UIT.
In het volgende voorbeeld zie je een 9 Volt batterij waar 3 DC motoren op zijn aangesloten. De stroom die naar de 3 motoren gaat, kan je aan en uit zetten via het relais.
⚠️ Let op dat je geen hoge voltages aansluit (geen 220 Volt!!). Je kan jezelf ernstig bezeren. Hou het bij lage voltages (~3 tot ~12 volt) en apparaten die daarvoor bedoeld zijn.
- Lichtgevend draad 🤯
- Mini Infrared Motion Detector (PIR) for 3V
- On Off Switch
- Force sensor
- Air quality sensor
- Human Presence Sensor
- Soil Moisture sensor
- 🤖 Mini Pan and Tilt robot arm!
- ⚙️ Geared DC Motor