SimpleExpressions: Make your robots cute and noisy
This library simply takes a 7 LED Circle module and a buzzer to do lots of funny things, see for yourself. The reason I made this was that I wanted to have a simple way to make combine mouths and sounds on this funny little Robots
You can buy these little ws2812 circles for a dollar or two at aliexpress and other china marketplaces and they are a really simple way to make some funny output. And a beeper or buzzer is available literally everywhere.
Internally the library uses the Adafruit NeoPixel Library, so make sure you have this one installed
The library can be installed manually (by unzipping and copying the files to the "libraries" directory) or using the Arduino Library installer, there is not to much to care about, just make sure the Adafruit NeoPixel Library is also installed.
The sound are taken from BQs Zowie. The Library supports all Arduino boards (that are compatible with the NeoPixel Library) and also the ESP8266 and ESP32
Just see the example how everything works together
SimpleExpressions.init(ledPin, buzzerPin); Initializes the library with the given pins
SimpleExpressions.clearMouth(); Clears the mouth and sets all pixels off
SimpleExpressions.printMouth(mouthNumber, red, green, blue); Prints a mouth by its number and using the given color, useful to iterate through all of them (use frameCount or colorFrameCount to determine the maximum number) (use without the colorvalues for multicolor mouths)
SimpleExpressions.writeMouth("cross", red, green, blue); Does basically the same but you can select the mouth by its name (use without the colorvalues for multicolor mouths)
SimpleExpressions.writeMouthGeneric(moutharray) Advanced: Write a mouth straight from your code with color values fo all of the pixels
SimpleExpressions.playSound(SOUND_NUMBER); Plays a sound by its number using the constants you can find below.
SimpleExpressions._tone(noteFrequency, noteDuration, silentDuration); Similar to the arduino tone function, but also working on ESP32 (using ledc)
SimpleExpressions.bendTones(note1Frequency, note2Frequency, prop, noteDuration, ilentDuration); Similar to the arduino tone function, but also working on ESP32 (using ledc)
Available mouth shapes
single color shapes
multi color shapes
PIRATES The complete PIRATES OF THE CARIBBEAN theme (highly experimental, but funny =P)
- If you have new Ideas for different shapes or multicolor shapes just write them down and create a pull request (Or if you are not familiar with git draw them and post an issue)
- Calculate frame count from arraysize
- Example for writeMouthGeneric()
- Currently I am happy with it, any Ideas? let me know