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

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);
+    }
+}
+