Hardware Reference
In-Depth Information
Naturally, there is a lot more scope here to support the deletion of individual recordings, and so on. But this
represents the idea.
N The Minerva system abstracts these ideas out into Minx, which eliminates the need for separate executables
for each Arduino application. Minerva will be covered in Chapter 7.
Note
Example: Arduino Interfacing
For the most part, Arduino is capable of indicating its status only through an LED, or maybe a small LCD text display.
The majority of the friendly home interfaces require larger screens, or speech output. For these, the Arduino generally
makes a request to a larger machine somewhere else in the house. However, with the ever-growing range of shields
on offer, and the introduction faster chips and more time to devote to more custom programming, other means of
interfacing it now possible from a humble Arduino.
N Many of the advanced software hacks require precise timing by using Fast PWM, which is activated by setting
the waveform generation mode bits to 011. Be aware that if the rest of your code uses this in its normal operation, you
will need to reliquish control to the library, which might include disabling other shields that use it. Similarly, you may also
need to also avoid the your normal poll-test-output loop in some cases.
Note
Speech synthesis
The use of speech, covered more fully in Chapter 5, is a double-edged sword. On one hand, it's the most natural form
of communication, that us humans have perfected over millennia. On the other, computerized speech still sounds like
a bad 60s B-movie and is unable to convey the nuances present in language, when spoken by a person.
But it is cool!
The most natural way for an Arduino to speak arbitrary text strings is to use a shield such as GinSing
( http://www.ginsingsound.com ) or Voicebox ( http://www.sparkfun.com/short/9799 ). Both are fairly equivalent in
terms of ability and cost, with GinSing winning out slightly due to its higher-rated power amplifier, and improved
16 Khz playback rate. For those wanting a pre-built shield, it also wins out over the Sparkfun offering. However,
the only test you need to run concerns the output—that is, which voice you prefer. Both are of the old school variety,
so listen to examples from both sites and choose accordingly.
N There is one notable example of speech synthesis with an unsheilded Arduino, https://code.google.com/p/
tinkerit/wiki/Cantarino , but this is primarily a tech demo, and it will take reasonable work to convert to anything else.
Note
Sound production
This can range in scope from simple beeps, to sample playback. It cannot support multiple sound sources, however,
because there is not enough processing power to manage real-time mixing of the sounds. If you like, there are some
proof of concept that use multiple speakers, but they are rarely good enough. Or, you could buy two Arduinos, but at
that point it's better to get a Raspberry Pi!
 
Search WWH ::




Custom Search