Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino-Based Automatic Cooker with Temperature Control and Servo-Operated Ingredient Dispensers

View and Edit Project In Cirkit DesignerImage of Arduino-Based Automatic Cooker with Temperature Control and Servo-Operated Ingredient Dispensers

Automatic Cooker Circuit Documentation

Summary

This document provides a detailed overview of the Automatic Cooker circuit. The circuit includes various components such as a temperature sensor, heater element, multiple servo motors, a DC motor, a relay, an LCD display, and an Arduino UNO microcontroller. The circuit is designed to automate the cooking process by controlling the heating, stirring, and dispensing of ingredients.

Component List

  1. Temperature Sensor

    • Description: Measures the temperature of the cooking environment.
    • Pins: Temp GND Black, Temp VDD Red, Temp DQ Data Yellow
  2. Heater Element

    • Description: Provides heat to the cooking environment.
    • Pins: VCC, GND
  3. Micro Servo 9G

    • Description: Controls the opening of ingredient containers.
    • Pins: GND, +5V, PWM
  4. Potentiometer

    • Description: Used to adjust the heating element.
    • Pins: GND, Output, VCC
  5. DC Mini Metal Gear Motor

    • Description: Stirs the ingredients.
    • Pins: IN1, IN2
  6. 240v Power Source

    • Description: Provides power to the heater element.
    • Pins: Live, Neutral
  7. Battery 12v

    • Description: Provides power to the circuit.
    • Pins: +, -
  8. 12v Relay

    • Description: Controls the heater element.
    • Pins: NO, COM, NC, IN, DC-, DC+
  9. L298N DC Motor Driver

    • Description: Drives the DC motor.
    • Pins: OUT1, OUT2, 12V, GND, 5V, OUT3, OUT4, 5V-ENA-JMP-I, 5V-ENA-JMP-O, +5V-J1, +5V-J2, ENA, IN1, IN2, IN3, IN4, ENB
  10. Resistor

    • Description: Used in the temperature sensor circuit.
    • Pins: pin1, pin2
    • Properties: Resistance: 200 Ohms
  11. 16x2 I2C LCD

    • Description: Displays information.
    • Pins: GND, VCC, SDA, SCL
  12. 8 Push Button Board PCB

    • Description: Provides user input.
    • Pins: K1, K2, K3, K4, K5, K6, K7, K8, GROUND
  13. Arduino UNO

    • Description: Microcontroller that controls the entire circuit.
    • Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0, A1, A2, A3, A4, A5, SCL, SDA, AREF, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0

Wiring Details

Temperature Sensor

Heater Element

Micro Servo 9G

Potentiometer

DC Mini Metal Gear Motor

240v Power Source

Battery 12v

12v Relay

L298N DC Motor Driver

Resistor

16x2 I2C LCD

8 Push Button Board PCB

Arduino UNO

Code Documentation

/*
 * Automatic Cooker
 * This code controls an automatic cooker with the following features:
 * - Four servo motors to open ingredient containers
 * - A DC motor to stir the ingredients
 * - A heater element controlled by a relay and potentiometer
 * - A temperature sensor to monitor and control the heating process
 * - The cooking process lasts 15 minutes with specific timings for each step
 */

#include <Servo.h>

// Pin definitions
const int servoPins[4] = {2, 3, 4, 5};
const int relayPin = 7;
const int tempSensorPin = A0;
const int motorEnablePin = 8;
const int motorIn1Pin = 9;
const int motorIn2Pin = 10;

// Servo objects
Servo servos[4];

// Timing variables
unsigned long startTime;

void setup() {
  // Initialize serial communication
  Serial.begin(9600);

  // Initialize servos
  for (int i = 0; i < 4; i++) {
    servos[i].attach(servoPins[i]);