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

Distributeur de Bonbons DIY avec Arduino : Construisez une Machine à Snacks Intelligente

Composants et fournitures

ComposantQuantité
Arduino UNO1
Servomoteur 180°1
Écran LCD 16x2 (I2C, blanc sur bleu)1
Bouton poussoir 12mm1
Shield PHPoC pour Arduino1
Capteur de distance IR1
Interrupteur d'alimentation (bouton)1
Plaque d'essai (breadboard)1

Outils nécessaires

Applications et services en ligne

À propos du projet

Le projet

Ce distributeur de bonbons automatique utilise seulement trois composants principaux : un capteur IR, un servomoteur et un bouton poussoir. Le projet se décompose en cinq étapes :

  1. Montage de l'Arduino Uno R3
  2. Programmation et configuration
  3. Fabrication du boîtier et des pièces mécaniques
  4. Installation de l'électronique
  5. Tests et mise en service

Le développement du code a été la partie la plus chronophage, nécessitant de nombreux essais-erreurs et recherches en ligne. Ce projet est une version simplifiée inspirée du distributeur avec Google Assistant de gatoninja236.

Fabrication du boîtier et des pièces mécaniques

La construction mécanique a pris une journée complète, avec plusieurs ajustements.

Étape 1 : Disposition des composants

Tous les composants sont d'abord câblés sur une plaque de carton pour valider le fonctionnement. Des fils de couleurs différentes facilitent le repérage.

Distributeur de Bonbons DIY avec Arduino : Construisez une Machine à Snacks Intelligente

Étape 2 : Conception du boîtier

Le boîtier est réalisé principalement en carton, avec une face arrière en acrylique transparent.

Distributeur de Bonbons DIY avec Arduino : Construisez une Machine à Snacks Intelligente

Étape 3 : Assemblage et découpes

Assemblage provisoire au ruban adhésif, puis découpes pour les composants :

Le distributeur intègre un système à étages pour que les bonbons ne tombent pas tous d'un coup.

Distributeur de Bonbons DIY avec Arduino : Construisez une Machine à Snacks Intelligente

Étape 4 : Intégration de l'électronique

La breadboard et l'Arduino sont superposés et fixés sur support acrylique pour gagner de la place.

Étape 5 : Câblage et fixation des composants

Installation de l'écran LCD, des boutons, puis du servomoteur. Un interrupteur d'alimentation sur batterie est ajouté à l'arrière.

Étape 6 : Résultat final

Distributeur de Bonbons DIY avec Arduino : Construisez une Machine à Snacks Intelligente

Code complet (Candy Dispenser.ino)

//------ BIBLIOTHÈQUES ------
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>

//------ CONFIGURATION ------
LiquidCrystal_I2C lcd(0x27, 16, 2);  // Adresse I2C 0x27, 16 colonnes, 2 lignes
Servo myservo;

int pos = 90;                 // Position initiale du servo (90°)
const int buttonCLK = 7;      // Bouton "Peu de bonbons" (horaire)
const int buttonAntiCLK = 6;  // Bouton "Beaucoup de bonbons" (anti-horaire)
const int avoidPin = 5;       // Capteur IR (détection gobelet)
int set = 0;                  // État de sélection (0=rien, 1=peu, 2=beaucoup)

void setup() {
  lcd.begin();
  lcd.clear();
  myservo.attach(9);          // Servo sur broche 9
  pinMode(buttonCLK, INPUT);
  pinMode(buttonAntiCLK, INPUT);
  pinMode(avoidPin, INPUT);
  Serial.begin(9600);
  lcd.backlight();

  // Écran de bienvenue
  lcd.setCursor(3, 0); lcd.print("Bienvenue au");
  lcd.setCursor(3, 1); lcd.print("Candy Land");
  delay(2000);
  lcd.clear();

  // Choix de la quantité
  lcd.setCursor(0, 0); lcd.print("Combien de");
  lcd.setCursor(0, 1); lcd.print("bonbons ?");
  lcd.setCursor(0, 0); lcd.print("Peu    Beaucoup");
  delay(5000);
}

void loop() {
  // --- GESTION DES BOUTONS ---
  if (digitalRead(buttonCLK) == HIGH) {       // Bouton "Peu"
    lcd.clear(); lcd.print("Placez le gobelet");
    delay(2000); lcd.clear();
    set = 1;
  }
  if (digitalRead(buttonAntiCLK) == HIGH) {   // Bouton "Beaucoup"
    lcd.clear(); lcd.print("Placez le gobelet");
    delay(2000); lcd.clear();
    set = 2;
  }

  // --- EXÉCUTION SELON CHOIX ---
  if (set == 1) IRCLK();      // Mode "Peu"
  if (set == 2) IRAntiCLK();  // Mode "Beaucoup"
}

// --- FONCTIONS SERVO ---
void TurnClockwise() {
  Serial.println("Bonbon type 1 distribué");
  CandyText1();
  for (pos = 90; pos < 180; pos += 1) {
    myservo.write(pos);
    delay(15);
  }
  if (pos == 180) {
    delay(2000);
    ThankYouText();
  }
}

void TurnAntiClockwise() {
  Serial.println("Bonbon type 2 distribué");
  CandyText2();
  for (pos = 90; pos < 180; pos += 1) {
    myservo.write(pos);
    delay(20);
  }
  if (pos == 180) {
    delay(3000);
    ThankYouText();
  }
}

// --- DÉTECTION GOBELET (CAPTEUR IR) ---
void IRCLK() {
  delay(1000);
  bool avoidVal = digitalRead(avoidPin);
  lcd.setCursor(0, 0); lcd.print("Detection gobelet");
  lcd.setCursor(0, 14); lcd.print("...");
  if (avoidVal == LOW) {  // Gobelet détecté (niveau bas)
    lcd.clear(); lcd.print("Gobelet place");
    delay(2000);
    TurnClockwise();
  }
}

void IRAntiCLK() {
  delay(1000);
  bool avoidVal = digitalRead(avoidPin);
  lcd.setCursor(0, 0); lcd.print("Detection gobelet");
  lcd.setCursor(0, 14); lcd.print("...");
  if (avoidVal == LOW) {
    lcd.clear(); lcd.print("Gobelet place");
    delay(2000);
    TurnAntiClockwise();
  }
}

// --- AFFICHAGES LCD ---
void CandyText1() {
  lcd.clear();
  lcd.setCursor(4, 0); lcd.print("Service");
  lcd.setCursor(1, 1); lcd.print("Peu bonbons");
}

void CandyText2() {
  lcd.clear();
  lcd.setCursor(4, 0); lcd.print("Service");
  lcd.setCursor(3, 1); lcd.print("Beaucoup");
}

void ThankYouText() {
  lcd.clear();
  lcd.setCursor(5, 0); lcd.print("Merci");
  lcd.setCursor(6, 1); lcd.print("!");
  delay(15);
  software_Reset();  // Redémarrage logiciel
}

void software_Reset() {
  asm volatile ("jmp 0");
}

Schéma de câblage

Suivez le code couleur des fils sur le schéma ci-dessous :

Distributeur de Bonbons DIY avec Arduino : Construisez une Machine à Snacks Intelligente

Processus de fabrication

  1. Le bâton de sucre d'orge : histoire, production et science de cette friandise de Noël
  2. Le Candy Corn : De la Tradition à la Production Moderne
  3. Jawbreaker : histoire, ingrédients et fabrication d'un bonbon dur classique
  4. Barbe à papa : du classique forain à la technologie de production moderne
  5. La Science Douce des Bonbons Gélifiés : De l'Histoire à la Production Moderne
  6. M&M's® : de l'invention à la production moderne
  7. Panneau commutateurs et LED pour Microsoft Flight Simulator 2020 basé sur Arduino
  8. Construire un Spybot Arduino piloté par Bluetooth
  9. FlickMote : Télécommande IR à gestes pour maison connectée