Microsoft's Jacdac (Joint Asynchronous Communications, Device Access and Control) ecosystem is an open-source hardware and software platform designed for developers and educators, aiming to simplify connectivity and communication among IoT devices. Jacdac adopts a modular design, facilitating seamless interconnection and collaboration among various sensors, actuators, and microcontrollers through standardized interfaces and protocols. The system supports plug-and-play functionality, eliminating the need for complex configurations, enabling users to rapidly build and test their IoT projects.
For users:
- Its unique interface (similar to Apple's Lightning connector experience) facilitates easy plugging, especially for young children.
- Modules use a bus protocol, allowing them to be connected on a single bus without the need to distinguish interfaces as traditionally required. This significantly reduces wiring complexity.
- The system supports plug-and-play functionality. In MicroCode, once modules are plugged in, corresponding icons appear, enhancing user experience.
Based on MicroCode's teaching and workshop experiences:
MicroCode and Jacdac module programming should be scheduled for the second phase. The first phase primarily focuses on becoming familiar with MicroCode and graphical programming for MicrobitV2. In the second phase, integrating Jacdac modules with simple materials can create projects suitable for young children.
To help everyone quickly get started with Jacdac modules, here are simple programs for all 7 types of modules to help understand their functions.
Jacdac Keycap ButtonType: Input Module
Function: Detects whether buttons are pressed or released
Programming Example:
When two mechanical buttons are connected, pressing mechanical button 1 and mechanical button 2 produce different sounds.
Type: Input Module
Function: Detects button press, left rotation, and right rotation feedback
Programming Example:
When rotated left or right, display different directional arrows on the LED matrix; when pressed, display a smiling face.
Type: Input Module
Function: Detects slider position (5 positions, 1~5)
Programming Example:
When the slider is moved to different positions, display different numerical values on the LED matrix.
Type: Input Module
Function: Detects brightness levels (5 levels, 1~5)
Programming Example:
When the magnet detects weak light intensity, display a crying face on the LED matrix; when the light sensor detects strong light intensity, display a smiling face.
Type: Input Module
Function: Detects magnetic field strength (5 levels, 1~5)
Programming Example:
When the magnet sensor detects a weak magnetic field, display a crying face on the LED matrix; when it detects a strong magnetic field, display a smiling face.
Type: Output Module
Function: Displays various colors or effects with RGB LEDs
Programming Example:
When pressing buttons A and B, display a rainbow effect and then turn off.
Type: Connector Module
Function: Extends and splits connections
Comments