Louise Kraffe
/
test_led_rgb
just a test to export
Revision 0:b098b6e14465, committed 2021-11-17
- Comitter:
- arkhadium
- Date:
- Wed Nov 17 13:22:26 2021 +0000
- Commit message:
- test for rgb led
Changed in this revision
diff -r 000000000000 -r b098b6e14465 NeoPixel.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NeoPixel.lib Wed Nov 17 13:22:26 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/MightyPork/code/NeoPixel/#a81364d9a67b
diff -r 000000000000 -r b098b6e14465 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Nov 17 13:22:26 2021 +0000 @@ -0,0 +1,133 @@ +#include "mbed.h" +#include "neopixel.h" // Bibliothèque pour les LED's neopixel WS2812 + +#define nb_led 3 // Nombre de LED utiliser +#define tension_min 0.265f // Tension min de la pile égale à 0.9V +#define tension_max 0.455f // Tension max de la pile égale à 1.55V +#define tension_non_alcaline 0.6f // Tension d'une pile qui dépasse les 2V donc ce n'est pas alcaline +#define mode_max 5 // Nombre de mode +#define cycle_nb 10 // Le nombre de charge et décharge au meme temps + +uint32_t rouge = 0xFF0000; +uint32_t jaune = 0xFFFF00; +uint32_t vert = 0x00FF00; // Pour allumer les LED's +uint32_t bleu = 0x0000FF; +uint32_t violet = 0xFF00FF; +uint32_t non_couleur = 0x000000; + +float adj_lum = 0.05f; // Adjustement de l'intensité lumineuse +float mes_pile = 0; // Mesurer la tension de la pile +int mode = 0; // Initialiser le mode + +PwmOut charge(D9); // Pin PWM charge +NeoPixelOut neoPixel(D11); // Pin DIN LED +Pixel pixels[nb_led]; // Fonction pour allumer les LED's +DigitalIn BP(D5, PullDown); // Bouton poussoir +AnalogIn mes(A0); // Mesure la tension de la pile +int etat_BP = 0; +//Fonctions +void init(); // Fonction pour Initialiser +void changement_mode(); // Fonction pour changer le mode +void led_init(float adj_lum); // Fonction pour initialiser les LED's +void led_reset(); +void eteindre_led(int led); // Fonction pour étaindre les LED's +void led_controlle(int led, uint32_t color); // Fonction pour controller les LED's + +int main() +{ + init(); + //led_reset(); + + while (1) { + + switch(etat_BP) { + + case 0 : + if (BP) { + wait_ms(50); + changement_mode(); + etat_BP ++; + + } + break; + + case 1 : + if (!BP) { + + wait_ms(50); + etat_BP ++; + } + break; + + case 2 : + etat_BP = 0; + break; + + default : + etat_BP = 0; + break; + } + } +} + + +void init() +{ + led_init(adj_lum); +} +void changement_mode() +{ + mode++; + + switch(mode) { + case 0: + //led_reset(); + break; + case 1: + led_controlle(1, jaune); + break; + case 2: + led_controlle(2, bleu); + break; + case 3: + led_controlle(3, rouge); + break; + case 4: + led_controlle(3, non_couleur); + break; + default: + //led_reset(); + mode = 0; + break; + } + wait_ms(10); +} + +//////////////////////////////////// LED //////////////////////////////////// +void led_init(float adj_lum) +{ + wait_ms(20); // wait for HSE to stabilize + neoPixel.global_scale = adj_lum; // Adjust brightness + neoPixel.normalize = false; // Equalize brightness to make r + g + b = 255 +} + +void led_reset() +{ + for(int i=1; i==4; i++) { + //pixels[i].hex = non_couleur; + led_controlle(i,jaune); + } +} + +void led_controlle(int led, uint32_t color) +{ + + pixels[led-1].hex = color; + neoPixel.send(pixels, nb_led); +} + +void eteindre_led(int led) +{ + + +} \ No newline at end of file
diff -r 000000000000 -r b098b6e14465 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Nov 17 13:22:26 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file