PAPIFAB 2024-2025 : Différence entre versions
(→afficheur LED - 4 digit display avec D1 mini) |
(→potentiometre lineaire sur esp32) |
||
Ligne 204 : | Ligne 204 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | ===potentiometre lineaire et bandeau de LED sur arduino UNO=== | ||
+ | <syntaxhighlight lang="Arduino" line> | ||
+ | #include <Adafruit_NeoPixel.h> | ||
+ | |||
+ | #define LED_PIN 6 // Broche à laquelle le ruban LED est connecté | ||
+ | #define NUM_LEDS 48 // Nombre de LEDs dans le ruban | ||
+ | #define POT_PIN A0 // Broche à laquelle le potentiomètre est connecté | ||
+ | |||
+ | Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800); | ||
+ | |||
+ | void setup() { | ||
+ | strip.begin(); | ||
+ | strip.show(); // Initialise toutes les LEDs à "off" | ||
+ | Serial.begin(9600); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | int potValue = analogRead(POT_PIN); // Lecture de la valeur du potentiomètre | ||
+ | int colorValue = map(potValue, 0, 710, 0, 255); // Conversion de la valeur en une plage de 0 à 255 | ||
+ | |||
+ | // Détermination de la couleur en fonction de la valeur du potentiomètre | ||
+ | int red = colorValue; | ||
+ | int green = 255 - colorValue; | ||
+ | int blue = (colorValue / 4); | ||
+ | |||
+ | // Application de la couleur sur toutes les LEDs | ||
+ | for(int i=0; i<strip.numPixels(); i++) { | ||
+ | strip.setPixelColor(i, strip.Color(red, green, blue)); | ||
+ | } | ||
+ | strip.show(); // Mise à jour du ruban LED | ||
+ | |||
+ | delay(100); // Petite pause avant la lecture suivante | ||
+ | } | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | ----ATTENTION ---- | ||
+ | il faut penser a mettre a jour la bibliotheque adafruit , de bien compter le nombre de led et d'alimenter le potentiometre en 3,3V et le ruban de led en 5V | ||
==codes== | ==codes== |
Version du 14 novembre 2024 à 10:54
PAPIFAB est un projet de la ville Brest.
Sommaire
PAPIFAB 14 novembre 2024 - ESCAPE GAME 2
/!\ les feuillles de présence !
Au programme : fabrication de dispositifs énigmlatiques numériques :
- Fausse Bombe à retardement
- console de potentiomètres linéaires
https://mypads2.framapad.org/p/papifab-2425-bm3f979m5
codes
=Afficheur LED 4 digit display avec ESP32
1 /* compte à rebours pour ESP32 ça marche !
2 afficher 4 digitledDisplay
3 source : https://www.instructables.com/Countdown-TimerMinutes-and-Seconds-With-Arduino-an/
4
5 */
6 #include <TM1637Display.h>
7
8
9 // Countdown Timer
10 const unsigned long COUNTDOWN_TIME = 300; // 5 minutes in seconds
11
12
13 // Pins for TM1637 display module
14 #define CLK_PIN 26
15 #define DIO_PIN 27
16
17
18 TM1637Display display(CLK_PIN, DIO_PIN);
19
20
21 unsigned long startTime;
22 unsigned long currentTime;
23 unsigned long elapsedTime;
24
25
26 void setup() {
27 display.setBrightness(7); // Set the brightness of the display (0-7)
28 display.clear(); // Clear the display
29 startTime = millis(); // Record the starting time
30 }
31
32
33 void loop() {
34 currentTime = millis(); // Get the current time
35 elapsedTime = (currentTime - startTime) / 1000; // Calculate elapsed time in seconds
36
37
38 if (elapsedTime <= COUNTDOWN_TIME) {
39 unsigned long remainingTime = COUNTDOWN_TIME - elapsedTime;
40
41
42 // Display remaining time in Minutes:Seconds format
43 unsigned int minutes = remainingTime / 60;
44 unsigned int seconds = remainingTime % 60;
45 display.showNumberDecEx(minutes * 100 + seconds, 0b01000000, true);
46
47
48 if (remainingTime == 0) {
49 // Start blinking when countdown reaches 00:00
50 while (true) {
51 display.showNumberDecEx(0, 0b01000000, true); // Display "00:00"
52 delay(500);
53 display.clear(); // Clear the display
54 delay(500);
55 }
56 }
57 }
58
59
60 delay(1000); // Wait for 1 second
61 }
afficheur LED - 4 digit display avec D1 mini
1 /*
2 Lolin (Wemos) D1 mini
3
4 _________________
5 / D1 mini \
6 |[ ]RST TX[ ]|
7 |[ ]A0 -GPIO RX[ ]|
8 - |[X]D0-16 5-D1[X]| SCL
9 SCK - |[ ]D5-14 4-D2[X]| SDA
10 CLK_PIN - MISO - |[X]D6-12 0-D3[X]|
11 DIO_PIN - MOSI - |[X]D7-13 2-D4[ ]| LED_BUILTIN
12 SS - |[ ]D8-15 GND[X]|
13 |[X]3V3 5V[ ]|
14 | +---+ |
15 |_______|USB|_______|
16
17
18
19 _______________________________________________________
20 |(O) _____ _____ _____ _____ (O)|
21 | |\\___//| |\\___//| |\\___//| |\\___//| |
22 |[ ]CLK| | | | | | | | | | | | | | | |CLK[X]|- vers D6
23 |[ ]DIO|//---\\| |//---\\| o |//---\\| |//---\\|DIO[X]|- vers D7
24 |[ ]GND|\\---//| |\\---//| o |\\---//| |\\---//|GND[X]|- vers GND
25 |[ ]5V | |___| | | |___| | | |___| | | |___| | 5V[X]|- vers 3V3
26 | |//___\\|o |//___\\|o |//___\\|o |//___\\|o |
27 |(O)_________________________________________________(O)|
28
29 Matériel :
30
31 ___
32 / ___ \
33 |_| | |
34 /_/
35 _ ___ _
36 |_| |___|_| |_
37 ___|_ _|
38 |___| |_|
39 Les petits Débrouillards - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
40 Antony Le Goïc-Auffret Août 2024
41 */
42 #include <TM1637Display.h>
43 // Broches pour le module TM1637 (afficheur 4 chiffre à leds 7 segments)
44 #define CLK_PIN D6
45 #define DIO_PIN D7
46 TM1637Display display(CLK_PIN, DIO_PIN);
47
48 const unsigned long COUNTDOWN_TIME = 300; // 5 minutes in seconds
49
50 unsigned long startTime;
51 unsigned long currentTime;
52 unsigned long elapsedTime;
53
54
55 void setup() {
56 // put your setup code here, to run once:
57 Serial.begin(9600);
58 display.setBrightness(7); // luminosité de l'afficheur (0-7)
59 display.clear(); // effacer l'afficheur
60 startTime = millis(); // Record the starting time
61 }
62
63 void loop() {
64 currentTime = millis(); // Get the current time
65 elapsedTime = (currentTime - startTime) / 1000; // Calculate elapsed time in seconds
66
67
68 if (elapsedTime <= COUNTDOWN_TIME) {
69 unsigned long remainingTime = COUNTDOWN_TIME - elapsedTime;
70
71
72 // Display remaining time in Minutes:Seconds format
73 unsigned int minutes = remainingTime / 60;
74 unsigned int seconds = remainingTime % 60;
75 display.showNumberDecEx(minutes * 100 + seconds, 0b01000000, true);
76
77
78 if (remainingTime == 0) {
79 // Start blinking when countdown reaches 00:00
80 while (true) {
81 display.showNumberDecEx(0, 0b01000000, true); // Display "00:00"
82 delay(500);
83 display.clear(); // Clear the display
84 delay(500);
85 }
86 }
87 }
88
89
90 delay(1000); // Wait for 1 second
91 }
codes
potentiometre lineaire sur esp32
1 // Déclaration de la broche du potentiomètre
2 const int potPin = 34; // Utilisation de la broche ADC1 pour ESP32
3
4 // Variable pour stocker la valeur lue
5 int potValue = 0;
6
7 void setup() {
8 // Initialisation de la communication série pour l'affichage des valeurs
9 Serial.begin(115200);
10 }
11
12 void loop() {
13 // Lecture de la valeur du potentiomètre
14 potValue = analogRead(potPin);
15 // Affichage de la valeur lue sur le moniteur série
16
17 Serial.println(potValue);
18
19 // Petite pause avant de lire la valeur suivante
20 delay(100);
21 }
potentiometre lineaire et bandeau de LED sur arduino UNO
1 #include <Adafruit_NeoPixel.h>
2
3 #define LED_PIN 6 // Broche à laquelle le ruban LED est connecté
4 #define NUM_LEDS 48 // Nombre de LEDs dans le ruban
5 #define POT_PIN A0 // Broche à laquelle le potentiomètre est connecté
6
7 Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);
8
9 void setup() {
10 strip.begin();
11 strip.show(); // Initialise toutes les LEDs à "off"
12 Serial.begin(9600);
13 }
14
15 void loop() {
16 int potValue = analogRead(POT_PIN); // Lecture de la valeur du potentiomètre
17 int colorValue = map(potValue, 0, 710, 0, 255); // Conversion de la valeur en une plage de 0 à 255
18
19 // Détermination de la couleur en fonction de la valeur du potentiomètre
20 int red = colorValue;
21 int green = 255 - colorValue;
22 int blue = (colorValue / 4);
23
24 // Application de la couleur sur toutes les LEDs
25 for(int i=0; i<strip.numPixels(); i++) {
26 strip.setPixelColor(i, strip.Color(red, green, blue));
27 }
28 strip.show(); // Mise à jour du ruban LED
29
30 delay(100); // Petite pause avant la lecture suivante
31 }
ATTENTION ----
il faut penser a mettre a jour la bibliotheque adafruit , de bien compter le nombre de led et d'alimenter le potentiometre en 3,3V et le ruban de led en 5V
codes
potentiometre lineaire sur arduino
1 // Déclaration de la broche du potentiomètre
2 const int potPin = A0;
3
4 // Variable pour stocker la valeur lue
5 int potValue = 0;
6
7 void setup() {
8 // Initialisation de la communication série pour l'affichage des valeurs
9 Serial.begin(9600);
10 }
11
12 void loop() {
13 // Lecture de la valeur du potentiomètre
14 potValue = analogRead(potPin);
15
16 // Affichage de la valeur lue sur le moniteur série
17 Serial.println(potValue);
18
19 // Petite pause avant de lire la valeur suivante
20 delay(100);
21 }
PAPIFAB 17 octobre 2024 - ESCAPE GAME 1
- Escape Game
- Faire sur wikidebrouillard la fiche Piezo : https://www.wikidebrouillard.org/wiki/Item:Buzzer
Pour la séance deux :
- Bombe : Damien, Brendan, Alex, Emmeline, Mathieu
- Potards : Nadia, Josselin voir avec pro Micro !!
Programme des PAPIFAB 2024-2025
- Septembre : 19 - accueil forum des u-sages ! Spygeon, l'OSS117 de la vidéosurveillance !
- Octobre : 17 ( car la semaine précédete c'est fête de la sience) - Escape Game 1/2
- Novembre : 14 - Escape Game 2/2
- Décembre : 19 - LEd et musique - des paillettes dans la vie !
- Janvier : 9 - visite du CERV (sous réserve de confirmation)
- Février : 6 - Expérimentation RV (casque au stang Alar, voir médiathèque).
- Mars : 6 - IA et éducation.
- Avril : 3 - Création et hébergement de site web. du html au CMS voir
- Mai : 15 - fabrication lowtech et numérique - base de lancement à électrovannes
- Juin : 12 - bilan et perspectives
Evénements dans le contexte
Septembre
- Mi-septembre Date butoir de l'appel à projet Médiation et Usages du Numérique (AAP MUN) ? (à confirmer). les projets de l'an passé : https://www.a-brest.net/rubrique308.html
- Mardi 17 septembre : Conférence Bastien Masse IA et éudcation + ateleir dans l'après-midi.
- samedi 21 et dimanche 22 : journée européenne du patrimoine
- Vendredi 27 septembre : nuit européenne des chercheuses et des chercheurs
- La comète Tsuchinshan-ATLAS pourrait être très brillante et visible à l'oeil nu fin septembre et début octobre.
Octobre
- Mercredi 9 octobre : soirée de lancement Super Brest
- Jeudi 10 au dimanche 13 octobre : village des sciences au Quartz - Fabuleux laboratoire
Novembre
- Samedi 9 Novembre : Open Bidouille, journée aux capucins
- A définir novembre - Plénière de l'AAP MUN.
- Vendredi 22, samedi 23 et dimanche 24 novembre : Super Brest #10 !
Mars
- 14 mars éclipse de lune visible en partie