MathWorks recently participated in Fab11, a week-long event in Boston that brought together Fab Lab managers from different parts of the world. During Fab11, the public could participate in Fab Fest, which brought together all types of innovators, and they were provided hands-on education and entertaining experiences.
Here are interesting application for the most common open source microcontroller and embedded computing boards, you can make your own version!
Raspberry Pi speaks
Different types of speech synthesizers are available to make the voice sound natural and intelligible. Synthesizer eSpeak uses the formant synthesis method that makes the voice more robotic than natural. Watch this video that takes you through the steps to get your Raspberry Pi to speak.
Simulink provides two options when communicating with low-cost hardware boards – normal and external mode. Both modes use automatic code generation to generate an “executable” that runs on the hardware. Normal mode lets you use the hardware independent of Simulink, whereas external mode enables debugging and tuning capabilities from the Simulink environment. External mode is used in this project, as we want to modify the inputs to the code that’s running on Pi from Simulink. We wanted to do the following:
- Include a virtual on/off switch to determine when the Raspberry Pi speaks.
- Change the text while the code is still running on Pi.
- Provide the ability to switch between a male and female robotic voice.
Wave your hand and play an instrument
A great interactive project for kids that was demonstrated at Fab Fest involved using Simulink to program an Arduino. Users could simply wave a hand on top of a distance measurement sensor to play Theremin-like music. The distance sensor measurements are filtered in the Arduino MEGA using a low-pass filter. These measurements are then converted into a frequency value at which the buzzer operates to create Theremin-like music.
External mode was used in this project to:
- Tune and design the low-pass filter parameters while the code was still running on the Arduino.
- Illustrate the performance of the low pass filter acting on the analog signals.
- Demonstrate the buzzer’s frequency of oscillation for different distance measurements.
Mobile robots are always fun maker projects. Simulink’s normal mode is used to generate code that’s deployed onto the projects Shy Pet and Zumo Line Follower. As the name suggests, Shy Pet is a robot that avoids all obstacles/human beings and hides away from them; the Zumo Line Follower follows a track using sensors.
The decision-making process of the Shy Pet can be visualized using the flow diagram shown in Figure 4. The “brain” (the Arduino Due, in this case) has incoming information from the “eyes” (an IR sensor) and “whiskers” (the tactile sensors), which detect the obstacles. In the case of tactile sensors, a complete set of scenarios in which the robot can encounter obstacles are considered (either one or both whiskers). The IR sensor/eye information was used to see if an obstacle was within a random threshold value to make decisions.