Compteur de chopes pour la Saint-Patrick – Construisez votre propre tracker de bière avec Circuito.io
Composants et fournitures
| Composant | Quantité |
|---|---|
| Résistance de force (FSR) 0,5″ SparkFun | 1 |
| Mini bouton poussoir SparkFun | 1 |
| Arduino UNO | 1 |
| Afficheur série 7 segments rouge SparkFun | 1 |
| Mini haut-parleur piézo 12 mm 2,048 kHz SparkFun | 1 |
Applications et services en ligne
- circuito.io
- Arduino IDE
À propos du projet
Idée
Déterminons une fois pour toutes – qui est le plus rapide à boire sa chope ?
Pour la Saint-Patrick, nous vous offrons : Le Chug Meter. Maintenant, on peut savoir qui boit le plus vite ! *Buvez avec modération*
Conseil : commencez à boire après avoir construit le compteur.
Comment assembler le circuit
Le circuit est simple :
- FSR (capteur de force)
- Bouton poussoir
- Haut-parleur piézo
- Afficheur 7 segments
Le lien magique vous redirige vers circuito.io avec les composants pré-sélectionnés.
Modifications possibles
- Remplacer l'afficheur 7 segments par un écran LCD.
- Remplacer le FSR par une diode IR.
- Ajouter une LED RVB.
- Laissez libre cours à votre imagination – c'est la Saint-Patrick !
Après avoir cliqué sur Generate, suivez les 3 parties : nomenclature (BoM), guide de câblage pas à pas, et code.
Étapes suivantes
- Remplacez le code exemple de circuito.io par le code ci-joint. Copiez-le dans l'onglet Firmware du code généré. Ainsi, les bibliothèques des composants restent intactes, seule la fonction principale change.
- Collez le FSR sous le dessous de bière. Quand la chope est soulevée (force libérée), le chronomètre démarre. Quand elle est reposée, le chronomètre s'arrête ; le bouton remet à zéro.
- Imprimez en 3D le boîtier de l'afficheur 7 segments.
- Commencez à boire (avec modération) !
Code
Code pour Chug Meter
Remplacez les fonctions setup() et loop() du code circuito.io par ce qui suit :
int start_flag = 0;
bool glassState = 0;
long finalTime, time0;
int timer;
void setup() {
Serial.begin(9600);
Serial.println("start");
pushButton.init();
s7s.clearDisplay();
s7s.setBrightness(255);
s7s.setDecimals(0b00010000);
s7s.writeInt(0);
}
void loop() {
float fsrForce = fsr.getForce();
Serial.print(" Force: ");
Serial.print(fsrForce);
Serial.println(" [g]");
bool pushButtonVal = pushButton.onPress();
Serial.println(pushButtonVal);
// Reset avec bouton
if (pushButtonVal == 1) {
start_flag = 0;
glassState = 0;
s7s.writeInt(0);
time0 = millis();
}
// État initial
if (start_flag == 0) {
if (fsrForce > 50) { // Chope posée
glassState = 1;
s7s.writeInt(0);
time0 = millis();
}
else if (fsrForce < 50 && glassState) { // Chope soulevée
finalTime = millis() - time0;
start_flag = 1;
}
}
// Chronomètre en cours
else if (start_flag == 1) {
if (fsrForce < 100) { // En train de boire
finalTime = (millis() - time0) / 10;
s7s.writeInt(finalTime);
}
else { // Chope reposée, fin
start_flag = 2;
finalTime = (millis() - time0) / 10;
s7s.writeInt(finalTime);
piezoSpeaker.playMelody(piezoSpeakerHoorayLength, piezoSpeakerHoorayMelody, piezoSpeakerHoorayNoteDurations);
delay(500);
}
}
// Affichage temps final jusqu'à reset
else {
s7s.writeInt(finalTime);
}
}
Joyeuse Saint-Patrick ! Buvez responsable !
Processus de fabrication
- Design pour la Fabrication (DFM) : Guide pratique pour ingénieurs et designers
- Isabellenhütte Présente IEM-DCC : Compteur DC Calibré pour Facturation Précise Charge Rapide VE
- SIGHT : Lunettes intelligentes pour autonomiser les aveugles
- Préparez-vous pour la Journée de la Fabrication 2018 : Célébrez l'innovation et les opportunités de carrière
- Hommage à ceux qui ont donné leur vie pour notre liberté
- Journée MFG 2021 : Votre invitation à explorer l'événement phare de la fabrication
- Manette de jeu USB Arduino DIY – Construisez votre propre gamepad haute performance
- Costume nuage DIY : Bandeau LED, Arduino Nano et pièces SparkFun
- Choisir le bon débitmètre : guide pratique et fiable