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

Arduino UNO-Based Tilt and IR Sensor Controlled DC Motor System

View and Edit Project In Cirkit DesignerImage of Arduino UNO-Based Tilt and IR Sensor Controlled DC Motor System

Circuit Documentation

Summary

This circuit involves an Arduino UNO microcontroller interfacing with various sensors and a motor driver to control a DC gear motor. The sensors include two IR sensors and a tilt sensor. The motor driver used is an L298N DC motor driver. The Arduino reads the sensor inputs and controls the motor based on the sensor states.

Component List

Arduino UNO

L298N DC Motor Driver

Gearmotor DC / Motorreductor

IR Sensor (x2)

Tilt Sensor

Wiring Details

Arduino UNO

L298N DC Motor Driver

Gearmotor DC / Motorreductor

IR Sensor (1)

IR Sensor (2)

Tilt Sensor

Code Documentation

Arduino UNO Code

const int ir1 = 6;
const int ir2 = 7;
const int tilt = 2;
const int in1 = 3;
const int in2 = 4;
const int in3 = 5;

bool IsTilt = 0;
bool OnlyOneIR = 0;

void setup() {
  pinMode(ir1, INPUT);
  pinMode(ir2, INPUT);
  pinMode(tilt, INPUT);

  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  
  Serial.begin(9600);
}

void loop() {
  int ir1State = digitalRead(ir1);
  int ir2State = digitalRead(ir2);
  int tiltState = digitalRead(tilt);

  IsTilt = (tiltState == 1);
  OnlyOneIR = (ir1State == 1 && ir2State == 1);

  Serial.print("IR1 State: ");
  Serial.print(ir1State);

  Serial.print("  IR2 State: ");
  Serial.print(ir2State);

  Serial.print("  Tilt State: ");
  Serial.print(tiltState);

  Serial.print("  IsTilt: ");
  Serial.print(IsTilt);

  Serial.print("  OnlyOneIR: ");
  Serial.println(OnlyOneIR);

  if (IsTilt && OnlyOneIR) {
    digitalWrite(in1, HIGH);
    digitalWrite(in2, LOW);
  } else {
    digitalWrite(in1, LOW);
    digitalWrite(in2, LOW);
  }

  delay(500);
}

IR Sensor Code

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

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

This documentation provides a comprehensive overview of the circuit, including a summary, detailed component list, wiring details, and the code used in the microcontroller.