50 lines
1.0 KiB
C++
Executable File
50 lines
1.0 KiB
C++
Executable File
#ifndef SimpleExpressions_h
|
|
#define SimpleExpressions_h
|
|
#include <Adafruit_NeoPixel.h>
|
|
#ifdef __AVR__
|
|
#include <avr/power.h>
|
|
#endif
|
|
|
|
#include "Shapes.h"
|
|
#include "Sounds.h"
|
|
|
|
#define debug true
|
|
|
|
|
|
class SimpleExpressionsClass
|
|
{
|
|
public:
|
|
// General
|
|
void init(int mouthPin, int buzzerPin);
|
|
void initMouth(int mouthPin);
|
|
void initBuzzer(int buzzerPin);
|
|
|
|
// Mouths
|
|
void printMouth(int number, int r, int g, int b);
|
|
void writeMouth(const char mouthName[], int r, int g, int b);
|
|
|
|
void printMouth(int number);
|
|
void writeMouth(const char mouthName[]);
|
|
|
|
void clearMouth();
|
|
void showMouth();
|
|
|
|
void writeMouthGeneric(const int mouthArray[7][3]);
|
|
void writeMouthGeneric(const bool mouthArray[7], int r, int g, int b);
|
|
|
|
// Sounds
|
|
void _tone (float noteFrequency, long noteDuration, int silentDuration);
|
|
void bendTones (float initFrequency, float finalFrequency, float prop, long noteDuration, int silentDuration);
|
|
void playSound(int soundName);
|
|
|
|
|
|
private:
|
|
Adafruit_NeoPixel mouth;
|
|
void clearPixels();
|
|
int buzzerPin;
|
|
};
|
|
|
|
extern SimpleExpressionsClass SimpleExpressions;
|
|
|
|
#endif
|