cyber:bot Educator Workshop
Day 1
cyber:bot robot with Python & micro:bit Three-session Educator Workshop �March 3, 5, & 7 2025
This Slide Show
Zoom on one side
Editor on other side
Agenda and Goals
Goals & Learning Outcomes
Workshop Agenda
Monday
Wednesday
Friday
Discussion: is encouraged and appreciated!
Intros & Overviews
Got Brains?
Parallax Manufactures in the USA
Parallax Inc. Headquarters�599 Menlo Drive�Rocklin, California USA
Be the classroom they remember!
®
What’s a Microcontroller
cyber:bot Robot
BASIC Stamp
Boe-Bot Robot
Educational Robots
Hardware �Features
V2
V1
The BBC micro:bit
cyber:bot Robot
Student Lessons
Teacher Resources
cyber:bot
micro:bit
Upcoming
Workshops
On-demand
Workshops
https://www.parallax.com/�category/events/��…and scroll to the bottom of the page.
Getting Started, Languages, and Q&A
Kit: cyber:bot Robot Kit – with micro:bit
Tests: watch each video and following the checklist instructions:
Materials: cyber:bot Workshop Materials You'll Need
Python primer: Learn Python with the micro:bit
Getting Started
The Basics
Scripts make the micro:bit perform these five activities:
The Basics -all in one script
The Reset Button
Excerpts from:
Mid workshop break
We will resume at 8 minutes past the hour
Build and test your cyber:bot
bot(pin).write_digital(state) # set I/O pin to a state: high (1) or low (0)
state = bot(pin).read_digital() # pin gets state high (1) or low (0) from connected circuit
bot(pin).write_analog(level) # set pin voltage x 3.2227 mV (P20, P21) or
# PWM from 0 to 1024 us high time
level = bot(pin).read_analog(us) # pin measures voltage in level x 3.2227 V
bot(pin).pulse_out(us) # pin sends a pulse that lasts microseconds (us)
us = bot(pin).pulse_in() # pin measures pulse from device in microseconds (us)
reps = bot(pin).pulse_count(ms) # pin counts pulse repetitions (reps) during time period (ms)
us = bot(pin).rc_time(state) # pin measures time (us) for voltage to reach 1.65 V
# state is 1 if voltage starts above 1.65 V or 0 if below
bot(pin).tone(frequency, time) # pin sends tone at frequency (Hz) for time (ms)
state = bot(tx,rx).ir_detect(freq) # send freq to IR LED (tx pin), check IR state at rx pin
bot(pin).servo_angle(theta) # pin set/hold servo at angle in degrees
bot(pin).servo_speed(speed) # pin set/hold servo speed (-100 to 100)
bot(pin).accelerate(a) # pin set servo acceleration (a) to 1...200 / 50th sec
Other modules (see speaker notes) # feedback360, group_io, i2c_repeat, shift
# ping, qti, tv_remote
The Reset Button
# left_servo_CW.py
from cyberbot import *
bot(18).servo_speed(200)
# left_servo_CW.py
from cyberbot import *
bot(18).servo_speed(-200)
# left_servo_CW.py
from cyberbot import *
bot(18).servo_speed(0)
3.3 V
GND (0 V)
3.3 V
GND (0 V)
3.3 V
GND (0 V)
Overdrive speed counterclockwise
Overdrive speed clockwise
No rotation (after calibration)
Servo Direction
cyber:bot Assembly (Parts)
Center Mounted - with servos pressed up against the inside of the chassis and drive shafts closest to the center.
+ Original design intent
+ More like Roomba
+ Improved maneuvering
+ Looks cooler for social media posts
- Need eyeglass screwdriver to re-center
Front mounted - shown with servos pressed up against outside of chassis, and drive shafts toward the front.
+ Centering adjustments simplified
+ Offsets weight of Gripper & others.
+ Tail wheel never jumps at stops
- Maneuvering is clunkier
- Wheel slip during turns on some surfaces
Unplug power when you are done!
Homework Due Wednesday (Build the cyber:bot)
Servo horns are already removed from 900-00040 servos, so you can skip. Only required for 900-00008 servos.
cyber:bot Educator Workshop
Day 2
cyber:bot robot with Python & micro:bit Three-session Educator Workshop �March 3, 5, & 7 2025
This Slide Show
Zoom on one side
Editor on other side
Goals & Learning Outcomes
Workshop Agenda
Monday
Wednesday
Friday
Navigation
cyber:bot� Directions
Forward Motion
Opposite directions
for forward motion
We’ll be back at 5 past the hour
Challenge: follow a path using prior experiences
Finish
Start
Tip: prior slide may be the easiest starting point!
Circuits
Get Ready to Build Circuits
Blink a Light� Connect Wires
Blink a Light: Power & I/O
Blink a Light: LED
Light Emitting Diode (LED) Leads:
Blink a Light: Build & Code LED Circuit
# blink_light_p12.py
from cyberbot import *
while True:
bot(12).write_digital(1)
sleep(500)
bot(12).write_digital(0)
sleep(500)
Longer pin
Jumper wire
Blink a Light: Resistors
Blink a Light: How It Works
bot(12).write_digital(0) sets the pin to “output low” and connects the pin to ground.
bot(12).write_digital(1) sets the pin to “output high” and connects to the 3.3V power supply.
Pushbuttons
Pushbutton �Blinks Light �
Extra Parts
Pushbutton Blinks Light: � Inside The Pushbutton
Pushbutton: Add to Breadboard
Pushbuttons Script: Hold Button - Light On
# pin_8_button_LED.py
from cyberbot import *
while True:
if bot(8).read_digital() == 1:
bot(12).write_digital(1)
elif bot(8).read_digital() == 0:
bot(12).write_digital(0)
Pushbutton Circuit: How It Works
bot(8).read_digital() == 0 ...if voltage the circuit applies to the I/O pin is below 1.65 V.
bot(8).read_digital() == 1 ...if voltage the circuit applies to the I/O pin is above 1.65 V.
�
�Sounds
Place the Piezospeaker
The Tone Call
# sound_effect.py
from cyberbot import *
for freq in range (500, 3100, 100):
bot(22).tone(freq, 100)
The Reset Button
Notes from Frequencies
Happy Birthday!
happy_birthday.py
from cyberbot import *
bot(22).tone(2349.3, 125) #D for an eighth
bot(22).tone(2349.3, 62) #D for a sixteenth
bot(22).tone(2637.0, 250) #E for a quarter
bot(22).tone(2349.3, 250) #C for a quarter
bot(22).tone(3136.0, 250) #G for a quarter
bot(22).tone(2793.8, 500) #F for a half
Navigation with Sensors
cyber:bot Applications with Sensors
Touch Navigation w/ Whiskers
Touch Navigation: Assembled Circuit
Touch Navigation: Parts
(2) resistors, 220 Ω
(red-red-brown-gold)
(2) resistors, 10 kΩ (brown-black-orange-gold)
(2) 3-pin
headers
(2) Whiskers
Touch Navigation: Whiskers
Touch Navigation: Testing Circuit
Neither pressed.
Left �pressed.
Right �pressed.
Both �pressed.
Touch Navigation: Pressed / Not Pressed
Navigating by Touch
Example Script: roaming_with_whiskers.py
Homework Due Friday
Homework Due Friday: Build & Test Infrared Circuit
Infrared Light Signals
Build the IR Circuits - Parts
Parts List
(2) IR receivers
(2) IR LEDs (clear case)
(2) IR LED shield assemblies
(2) Resistors, 220 Ω (red-red-brown)
(2) Resistors, 2 kΩ (red-black-red)
(misc) Jumper wires
Build the IR Circuits - Infrared LED ID
Build the IR Circuits - Assemble the IR Headlights
Build the IR Circuits
IR Object Detection Circuit
longer
longer
Homework Due Friday
Homework Due Friday
Unplug power when you are done!
cyber:bot Educator Workshop
Day 3
cyber:bot robot with Python & micro:bit Three-session Educator Workshop �March 3, 5, & 7 2025
This Slide Show
Zoom on one side
Editor on other side
Goals & Learning Outcomes
Workshop Agenda
Monday
Wednesday
Friday
Infrared Light
Infrared Light Signals
Build the IR Circuits - Parts
Parts List
(2) IR receivers
(2) IR LEDs (clear case)
(2) IR LED shield assemblies
(2) Resistors, 220 Ω (red-red-brown)
(2) Resistors, 2 kΩ (red-black-red)
(misc) Jumper wires
Build the IR Circuits - Infrared LED ID
Build the IR Circuits - Assemble the IR Headlights
Build the IR Circuits
IR Object Detection Circuit
longer
longer
Test the IR Object Detectors
Faster IR Navigation
Unplug power when you are done!
Visible Light
Visible Light Following: Circuit Build
Visible Light Following: Circuit Build
Cyber:bot kit Sensor Apps
Apps 2nd micro:bit module
Cybersecurity
Some Chapters Available for MakeCode
Computer Science
Cybersecurity
On break from 3:55 to 4:05 PM Pacific Time
Cybersecurity: Malformed Packet Attacks & Defenses
Projects - for Class Pack
Also available as sold-separately add-ons
Line Follower
Included in:
Sold separately:
Infrared Remote Control
Included in:
Sold separately:
Roaming with the Ping))) Ultrasonic Sensor
Included in:
Sold separately:
More Projects
For parts sold separately, not included in Class packs
Tilt & Button Wirelessly Controlled Gripper
Sold Separately:
Also to accompany class 12-pack:
Feedback 360° Servos with Position & � Speed Control
Sold Separately:
Feedback 360° Servos + Gripper
Sold Separately:
Also to accompany class 12-pack:
Electronics Lessons
Educational Resources
Key Workshop Links
Python Editor online Python editor | |
Parallax Learn Tutorials - Cyberbot | |
BBC Microbit Python Documentation | |
BBC Python Getting Started | |
Micro:bit MakeIt:CodeIt Projects | |
CYBER.ORG | |
Parallax Educator Resources�Assessment, teaching guides, A-G | |
Make it Code it Projects at the BBC | |
Parallax cyber:bot product Choose individual or class packs | |
Parallax Workshops past & present |
Student Lessons
Teacher Resources
Workshops
Past, Present, Future, and Self-paced
Excerpts from:
BBC micro:bit MicroPython Documentation�https://microbit-micropython.readthedocs.io/en/latest/
CYBER.ORG micro:bit and cyber:bot Material
Products
Purchasing cyber:bot
Cyber:bot with micro:bit #32700
$279 ea. (qty 1-9)
$265.05 ea. (qty 10-19)
$251.10 ea. (qty 20+)
Cyber:bot 12-Pack Plus #32712
$3,995.00 (regular $4,670.95)
Boe-Bot with BASIC Stamp
Shield-Bot with Arduino
ActivityBot 360° with multicore Propeller
Conversion
possible conversion
possible conversion
Replacement Parts
Electrical & Electronic
Mechanical
Support
Thank You
Parallax Inc.
599 Menlo Drive, Ste 100
Rocklin, CA 95765
www.parallax.com
Learn.parallax.com
Main: (916) 624-8333
Educator Hotline: (916) 701-8625