Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Construire une Tirelire Intelligente : Contrôler un Accepteur de Pièces avec Arduino Nano

Composants et fournitures

Arduino Nano R3 × 1
Accepteur de pièces (Coin Acceptor) × 1
Afficheur LED 4 digits TM1637 × 1

Applications et services en ligne

À propos de ce projet

Le but de ce projet est d'écrire le code pour contrôler un accepteur de pièces avec Arduino, afin de l'intégrer dans d'autres projets. Mon objectif initial était de construire une tirelire consciente du solde pour ma fille.

Code

Contrôle de l'accepteur de pièces avec Arduino

// Mario's Ideas
// Contrôle accepteur de pièces avec Arduino
#include <Arduino.h>
#include <TM1637Display.h>
#include <EEPROM.h>

// Broches du module (broches numériques)
#define CLK 3
#define DIO 4
TM1637Display display(CLK, DIO);

// Variable pour mesurer les intervalles entre impulsions
int i = 0;
// Nombre d'impulsions détectées
int impulsCount = 0;
// Somme de toutes les pièces insérées
float total_amount = 0;

void setup() {
  Serial.begin(9600);
  display.setBrightness(0x0f);
  // Interruption sur broche D2 (interruption 0) sur front descendant
  attachInterrupt(0, incomingImpuls, FALLING);
  EEPROM.get(0, total_amount);
  display.clear();
}

void incomingImpuls() {
  impulsCount++;
  i = 0;
}

void loop() {
  i++;
  Serial.print("i=");
  Serial.print(i);
  Serial.print(" Impulses:");
  Serial.print(impulsCount);
  Serial.print(" Total:");
  Serial.println(total_amount);

  // Après 30 boucles sans nouvelle impulsion, on considère la pièce validée
  if (i >= 30 && impulsCount == 1) {
    total_amount += 2.0; // 2€
    impulsCount = 0;
    EEPROM.put(0, total_amount);
  }
  if (i >= 30 && impulsCount == 2) {
    total_amount += 1.0; // 1€
    impulsCount = 0;
    EEPROM.put(0, total_amount);
  }
  if (i >= 30 && impulsCount == 3) {
    total_amount += 0.5; // 0,50€
    impulsCount = 0;
    EEPROM.put(0, total_amount);
  }
  if (i >= 30 && impulsCount == 4) {
    total_amount += 0.2; // 0,20€
    impulsCount = 0;
    EEPROM.put(0, total_amount);
  }
  if (i >= 30 && impulsCount == 5) {
    total_amount += 0.1; // 0,10€
    impulsCount = 0;
    EEPROM.put(0, total_amount);
  }

  // Affichage sur 4 digits avec virgule
  if (total_amount < 10)
    display.showNumberDecEx(total_amount * 10, 0b10000000, true, 2, 2);
  else
    display.showNumberDecEx(total_amount * 10, 0b00100000, false, 4, 0);
}

Schémas

Schéma de câblage disponible dans le projet original.

Processus de fabrication

  1. Centre de contrôle d'alimentation Arduino : N-FET, P-FET, Relais et RTC
  2. Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
  3. Contrôleur d'humidificateur DIY avec Arduino et relais – Installation haute tension sécurisée
  4. Contrôler 2 moteurs pas-à-pas avec Arduino Nano et joystick – Tutoriel Visuino
  5. ThimbleKrox : Contrôle Souris au Doigt avec Arduino Micro et MPU-6050
  6. Mesure précise du rayonnement solaire avec Arduino UNO et shield Ethernet
  7. Système de contrôle de cafard DIY avec Arduino – Construisez-le pour moins de 30 €
  8. Contrôle à distance d'une voiture avec Arduino Uno et Bluetooth : Guide pas à pas
  9. Contrôle de ventilateur PWM 4 broches 25 kHz avec Arduino Uno – Construction, code et test