Programme qui permet de piloter un bandeau de LED ring (de la marque adafruit) en fonction du son qui provient d'un microphone externe. Programme fonctionnant sur un microcontrôleur DISCO-F746NG. Ce projet a était fait dans la cadre du cour d'interface de la Licence MECSE de l'IUT de Cachan.
Dependencies: TS_DISCO_F746NG mbed LCD_DISCO_F746NG BSP_DISCO_F746NG NeoPixel BUTTON_GROUP
test
Diff: main.cpp
- Revision:
- 0:35af280527cf
- Child:
- 1:83147f0d63ea
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Nov 23 01:27:04 2015 +0000 @@ -0,0 +1,58 @@ +//--------------------------------------------------------------- +// Demo program of Button class and ButtonGroup class +// +// 2015/11/23, Copyright (c) 2015 MIKAMI, Naoki +//--------------------------------------------------------------- + +#include "button_group.hpp" + +using namespace Mikami; + +TS_DISCO_F746NG ts_; +LCD_DISCO_F746NG lcd_; + +int main() +{ + const int Y0 = 5; + const int X1 = 50; + const int Y1 = 200; + + uint32_t backColor = 0xFF006A6C; // teal green + uint32_t inActive = backColor & 0xE0FFFFFF; // color for inactive button + lcd_.Clear(backColor); + + const int NUMBER_BUTTONS = 4; + string str[NUMBER_BUTTONS] = {"Button1", "Button2", "Button3", "Button4"}; + ButtonGroup bGroup(lcd_, ts_, 10, Y0, 66, 40, + LCD_COLOR_BLUE, backColor, NUMBER_BUTTONS, str, 5, 5, 3); + + Button reset(lcd_, ts_, 410, Y0, 60, 40, + LCD_COLOR_BLUE, backColor, "Reset", Font12); + reset.Draw(inActive, LCD_COLOR_GRAY); + + lcd_.SetTextColor(LCD_COLOR_WHITE); + while (true) + { + int num; + if (bGroup.GetTouchedNumber(num, LCD_COLOR_DARKBLUE)) + { + char str[20]; + lcd_.SetFont(&Font16); + lcd_.SetTextColor(LCD_COLOR_WHITE); + sprintf(str, "Button%d pressed", num+1); + lcd_.DisplayStringAt(X1, Y1, (uint8_t *)str, LEFT_MODE); + + reset.Redraw(); + } + + if (reset.Touched()) + { + bGroup.Redraw(num); + reset.Draw(inActive, LCD_COLOR_GRAY); + lcd_.SetFont(&Font16); + lcd_.DisplayStringAt(X1, Y1, (uint8_t *)" ", LEFT_MODE); + } + wait(0.5f); + } +} +