Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Project Documentation

Arduino Nano-Controlled Dual Motor Driver System with Pushbutton Interface

Image of Arduino Nano-Controlled Dual Motor Driver System with Pushbutton Interface

Circuit Documentation

Summary

This circuit integrates various components controlled by an Arduino Nano microcontroller to perform a set of functions. The circuit includes a motor driver (L298N) to control two DC Mini Metal Gear Motors, a MUX (Multiplexer) for signal routing, a boost converter (MT3608) to step up the voltage, and a power source consisting of two 18650 batteries. User inputs are captured through two pushbuttons, and a toggle switch is used to control the power flow from the batteries to the boost converter.

Component List

Microcontroller

  • Arduino Nano: A compact microcontroller board based on the ATmega328P, featuring digital and analog I/O pins.

Motor Driver

  • L298N DC Motor Driver: A module capable of driving two DC motors with control inputs for speed and direction.

Motors

  • DC Mini Metal Gear Motor: Two small DC motors with gear reduction for increased torque.

Power Management

  • Boost Converter MT3608: A step-up voltage regulator that boosts the input voltage to a higher level.
  • 2x 18650 Batteries: Lithium-ion rechargeable batteries providing the power source for the circuit.
  • Toggle Switch: A switch to control the connection between the batteries and the boost converter.

User Input

  • Pushbutton: Two simple pushbuttons used for user input.

Signal Routing

  • MUX (Multiplexer): A device that selects one of many input signals and forwards the selected input into a single line.

Wiring Details

Arduino Nano

  • Digital Pins:
    • D2 connected to Pushbutton 1
    • D3 connected to Pushbutton 2
    • D6 connected to L298N Motor Driver (ENB)
    • D7 connected to L298N Motor Driver (IN4)
    • D8 connected to L298N Motor Driver (IN3)
    • D9 connected to L298N Motor Driver (IN2)
    • D10 connected to L298N Motor Driver (IN1)
    • D11/MOSI connected to L298N Motor Driver (ENA)
  • Analog Pins:
    • A0 connected to MUX (SIG)
    • A1 connected to MUX (D)
    • A2 connected to MUX (C)
    • A3 connected to MUX (B)
    • A4 connected to MUX (A)
  • Power Pins:
    • 5V connected to MUX (V) and L298N Motor Driver (5V)
    • GND connected to Pushbuttons, MUX (G), and L298N Motor Driver (GND)

L298N DC Motor Driver

  • Motor Outputs:
    • OUT1 and OUT2 connected to Motor 1
    • OUT3 and OUT4 connected to Motor 2
  • Power Input:
    • 12V connected to Boost Converter (OUTPUT +)
    • GND connected to common ground

DC Mini Metal Gear Motor 1 & 2

  • Motor 1:
    • IN1 and IN2 connected to L298N Motor Driver (OUT1 and OUT2)
  • Motor 2:
    • IN1 and IN2 connected to L298N Motor Driver (OUT3 and OUT4)

Boost Converter MT3608

  • Input:
    • INPUT + connected to Toggle Switch (COM)
    • INPUT - connected to 18650 Batteries (gnd)
  • Output:
    • OUTPUT + connected to L298N Motor Driver (12V)
    • OUTPUT - connected to common ground

2x 18650 Batteries

  • Power Output:
    • vcc connected to Toggle Switch (L1)
    • gnd connected to common ground

Toggle Switch

  • Connections:
    • L1 connected to 18650 Batteries (vcc)
    • COM connected to Boost Converter (INPUT +)

Pushbutton 1

  • Connections:
    • Pin 2 connected to Arduino Nano (D2)
    • Pin 3 connected to common ground

Pushbutton 2

  • Connections:
    • Pin 2 connected to Arduino Nano (D3)
    • Pin 3 connected to common ground

MUX (Multiplexer)

  • Control Inputs:
    • A connected to Arduino Nano (A4)
    • B connected to Arduino Nano (A3)
    • C connected to Arduino Nano (A2)
    • D connected to Arduino Nano (A1)
  • Signal Output:
    • SIG connected to Arduino Nano (A0)
  • Power:
    • V connected to Arduino Nano (5V)
    • G connected to common ground

Documented Code

Arduino Nano Code (sketch.ino)

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Additional Notes (documentation.txt)

No additional code documentation provided.