This blog post is about our current EV3 robot we're planning to use in the 2023/2024 FLL competition. Some features: 2 large motors for steering. 2 medium motors for attachments. 2 colour sensors for picking up the white and black lines, also used for line squaring. 1 gyro sensor. To enable attachments to be changed as quickly as possible we're using gravity to keep the gears connected, i.e. you don't need to fasten anything to the robot. Every attachment has 2x 12 tooth double bevel gear (part 32270) which comes in contact with the 2x 20 tooth double bevel gears (part 32269) on the robot. The medium motors are horizontally aligned on the robots, but we use 12 tooth double bevel gears to convert that to vertical alignments. These in turn are connected to 20 tooth double bevel gears, and the attachments in turn connect to these 20 tooth double bevel gears with their 12 tooth double bevel gears. The complete robot is modelled in Bricklink Studio 2 . You can download the rob
Using PiFmRds you can use your Raspberry Pi to send out FM radio signals. It's using a GPIO pin originally designed to generate spread-spectrum clock signals, but by modulating the clock frequency you can create FM radio signals. Note that the signal is a square wave, implying you'll transmit radio energy not only on the primary frequency but also on harmonics which could cause interference on other devices. Usually this will not be a problem because of the low power output, but you have been warned.
MPD is an excellent music player with various user interfaces on all types of devices. So the idea was to configure MPD to output to FM radio.
First of all you need to install PiFmRds. Make sure you can send FM radio using the sample files. For some reason stereo audio gave issues, so I'm using mono audio for the moment.
Secondly you need to have MPD installed and running. It implies you need to have some audio files in your library to play, plus you need a client. I'm using ncmpc from a SSH terminal and MPDroid from an Android device.
Then change /etc/mpd.conf as follows:
MPD is an excellent music player with various user interfaces on all types of devices. So the idea was to configure MPD to output to FM radio.
First of all you need to install PiFmRds. Make sure you can send FM radio using the sample files. For some reason stereo audio gave issues, so I'm using mono audio for the moment.
Secondly you need to have MPD installed and running. It implies you need to have some audio files in your library to play, plus you need a client. I'm using ncmpc from a SSH terminal and MPDroid from an Android device.
Then change /etc/mpd.conf as follows:
- mpd must be modified to run as root because PiFmRds needs to run as root. Just comment out the user "mpd" line.
- Add the following output section
audio_output {
type "pipe"
name "FM Radio 107.9MHz"
command "sox -t raw -b 16 -c 1 -r 44100 -e signed-integer - -t wav -b 16 -c 1 -r 44100 - | /home/pi/PiFmRds/src/pi_fm_rds -audio - 2>/var/log/mpd/pifmrds.log"
format "44100:16:1"
} - The idea is MPD will generate audio and pipe that to the command we've specified above. SoX is used to convert the raw audio to wav format. The wav audio then gets passed to pi_fm_rds which takes care of transmitting it over the FM waves. Any errors will we written to /var/log/mpd/pifmrds.log.
- For performance reasons remove all other audio_output sections.
The plan is to use mpc current to send the current song title over RDS, not implemented as yet,
Comments