Project in progress
Maximo

Maximo © GPL3+

Maximo is a multi-purpose project made for ensuring security in homes and has other special features.

  • 141 views
  • 1 comment
  • 0 respects

Components and supplies

Apps and online services

About this project

Introduction

Maximo is a project made for ensuring security in our homes. Maximo is also known as Multimo(Multipurpose-Maximo). This project can be fixed to our doors. If any object goes less than 10 cm, the buzzer and the led will be switched on as an indication. We have programmed it with some designs. Each mode can be activated with the switch panel.

It takes 11 seconds for it to start functioning. It has 4 different modes for each purpose. they are:

  • Maximo. - This is the starting mode of the project. Temperature is displayed in this mode. If the temperature is more than 30 degree Celsius, it will be displayed 'HOT' in the LCD with yellow indication. If the temperature less than 27 degree Celsius, it will be displayed cold with blue indication. If the temperature is not as the conditions given above, it will be displayed as normal with green indication.

  • Secure. - This is the main mode of this project. If any object comes less than 10 cm, it will display 'Danger' with buzzer and indication. If the object is more than 10 cm, it will be displayed 'Safe' with green indication.

  • Special. - This is the mode where distance is shown with no restriction. The acceleration is also shown here in X-axis and Y-axis. Yellow is the indication.

  • Booting - This is not a mode. This is an extra add-on we just added for design.

  • Standby. - Standby mode.

You just have to buy the materials listed and assemble it onto a bread board or a PCB to use it. The code is also given here. We are going to introduce a new version of Maximo - Maximo V.6.8.9 and Maximo 10. If you can help me in that project please comment below.

I hope so you can enjoy it. If you are having any doubts, please comment me.

Groot

Code

MaximoArduino
Upload it to Arduino Uno board.
/*

 
 The circuit:
 LCD RS pin to digital pin 12
 LCD Enable pin to digital pin 11
 LCD D4 pin to digital pin 5
 LCD D5 pin to digital pin 4
 LCD D6 pin to digital pin 3
 LCD D7 pin to digital pin 2
 LCD R/W pin to ground
 10K potentiometer:
 ends to +5V and ground
 wiper to LCD VO pin (pin 3)
 10K poterntiometer on pin A0
 
 
 */

// include the library code:
#include <LiquidCrystal.h>


const int rs = 5, en = 6, d4 =7, d5 = 8, d6 = 9, d7 = 10;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);


byte groot[8] = {
  0b00000,
  0b00000,
  0b00000,
  0b01010,
  0b00000,
  0b00000,
  0b01110,
  0b00000,
};
byte celsius[8] = {
  0b10100,
  0b10100,
  0b11100,
  0b00000,
  0b00000,
  0b00000,
  0b00000,
  0b00000,
};
byte happy[8] = {
  0b00000,
  0b01010,
  0000000,
  0b10001,
  0b11111,
  0b00000,
  0b00000,
  0b00000,
};
byte sad[8] = {
  0b00000,
  0b01010,
  0000000,
  0b00000,
  0b11111,
  0b10001,
  0b00000,
  0b00000,
};

const int temPin = A0;
const int xpin = A1;
const int ypin = A2;
const int switch1 = A3;
const int switch2 = A4;
const int switch3 = A5;
const int trigPin = 3;
const int echoPin = 4;
const int yellowLed = 11;
const int blueLed =12;
const int greenLed = 13;
const int buzzer = 2;
int swtch1;
int swtch2;
int swtch3;
long duration;
int distance;
float temperature;
int xaxis;
int yaxis;

void setup() {
  pinMode(temPin, INPUT);
  pinMode(xpin, INPUT);
  pinMode(ypin, INPUT);
  pinMode(switch1, INPUT_PULLUP);
  pinMode(switch2, INPUT_PULLUP);
  pinMode(switch3, INPUT_PULLUP);
  pinMode(echoPin, INPUT);
  pinMode(trigPin, OUTPUT);
  pinMode(yellowLed, OUTPUT);
  pinMode(blueLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
  pinMode(buzzer, OUTPUT);
  lcd.begin(16, 2);
  lcd.createChar(0, groot);
  lcd.createChar(1, celsius);
  lcd.createChar(2, happy);
  lcd.setCursor(0, 0);
  lcd.clear();
  delay(1000);
  lcd.setCursor(8, 0);
  lcd.write(byte(0));
  lcd.setCursor(0, 1);
  lcd.write("0101010101010101");
  delay(5000);
  lcd.clear();
  lcd.write("Loading");
  lcd.setCursor(0, 1);
  lcd.write("Commands...");
  delay(5000);
  lcd.clear();
  Serial.begin(9600);

}

void loop() {
  temperature = (5.0 * analogRead(temPin) * 100.0) / 1024;
  swtch1 = digitalRead(switch1);
  swtch2 = digitalRead(switch2);
  swtch3 = digitalRead(switch3);
  xaxis = analogRead(xpin);
  yaxis = analogRead(ypin);

  Serial.print(swtch1);
  Serial.print("  ");
  Serial.print(swtch2);
  Serial.print("  ");
  Serial.println(swtch3);

  if (swtch1 == 0 && swtch == 1 && swtch3 == 1) {
    lcd.clear();
    lcd.print("Maximo.");
    lcd.setCursor(0, 1);
    lcd.print(temperature);
    delay(500);
    if (temperature > 31) {
      lcd.clear();
      lcd.print("Maximo.");
      digitalWrite(yellowLed, HIGH);
      digitalWrite(blueLed, LOW);
      digitalWrite(buzzer, LOW);
      digitalWrite(greenLed, LOW);
      lcd.setCursor(13, 0);
      lcd.print("Hot");
      lcd.setCursor(0, 1);
      lcd.print(temperature);
    }
    else if (temperature < 26) {
      lcd.clear();
      lcd.print("Maximo.");
      digitalWrite(yellowLed, LOW);
      digitalWrite(blueLed, HIGH);
      digitalWrite(buzzer, LOW);
      digitalWrite(greenLed, LOW);
      lcd.setCursor(12, 0);
      lcd.print("Cold");
      lcd.setCursor(0, 1);
      lcd.print(temperature);
    }
  }
  else if (swtch1 == 1 && swtch == 0 && swtch3 == 1) {
    lcd.clear();
    lcd.print("Secure.");
    lcd.setCursor(14, 1);
    lcd.print(distance);
    delay(500);
    digitalWrite(yellowLed, LOW);
    digitalWrite(blueLed, LOW);
    digitalWrite(buzzer, LOW);
    digitalWrite(greenLed, HIGH);
    lcd.setCursor(1, 1);
    lcd.print("Safe");
    if (distance < 10) {
      lcd.clear();
      lcd.print("Secure");
      lcd.setCursor(1, 1);
      lcd.print("Danger");
      lcd.setCursor(13, 1);
      lcd.print(distance);
      digitalWrite(yellowLed, HIGH);
      digitalWrite(buzzer, HIGH);
      digitalWrite(greenLed, LOW);
      digitalWrite(blueled, HIGH);
      digitalWrite(buzzer, HIGH);
      delay(100);
      digitalWrite(blueled, LOW);
      digitalWrite(buzzer, LOW);
      delay(100);

    }
    else {
      lcd.clear();
      lcd.print("Secure.");
      digitalWrite(yellowLed, LOW);
      digitalWrite(blueLed, LOW);
      digitalWrite(buzzer, LOW);
      digitalWrite(greenLed, HIGH);
      lcd.setCursor(13, 1);
      lcd.print(distance);
    }
  }
  else if (swtch1 == 1 && swtch == 1 && swtch3 == 0) {
    lcd.clear();
    lcd.print("Special.");
    lcd.setCursor(0, 1);
    lcd.print(xaxis);
    lcd.setCursor(12, 0);
    lcd.print(yaxis);
    lcd.setCursor(11, 1);
    lcd.print(temperature);
    delay(500);
    digitalWrite(yellowLed, HIGH);
    digitalWrite(blueLed, LOW);
    digitalWrite(buzzer, LOW);
    digitalWrite(greenLed, LOW);
  }
  else if (swtch1 == 0 && swtch == 0 && swtch3 == 0) {
    digitalWrite(yellowLed, LOW);
    digitalWrite(blueLed, LOW);
    digitalWrite(buzzer, LOW);
    digitalWrite(greenLed, LOW);
    lcd.clear();
    lcd.print("Standby");
  }
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2;



}

Schematics

Schematic Of Maximo
I used a version powered with external power supply. But this Diagram is the internal one. If there is any mistake, please notify me.
maximo_2UkfqYawDA.fzz

Comments

Similar projects you might like

Android App-Based Home Automation System Using IOT

Project tutorial by Team Autoshack

  • 46,124 views
  • 22 comments
  • 132 respects

Buzzer Alarm System With Help Of Arduino

by ONYX

  • 59,438 views
  • 10 comments
  • 38 respects

Morse Code Communication Using Arduino

Project tutorial by Jalal_Mansoori

  • 10,104 views
  • 17 comments
  • 30 respects

The Welcome Gadget

Project tutorial by Kutluhan Aktar

  • 4,170 views
  • 1 comment
  • 10 respects

Electronic Safe with Arduino

Project showcase by chummer1010

  • 34,619 views
  • 30 comments
  • 67 respects

Probability | Autonomous Rover

Project in progress by UniverseRobotics

  • 15,660 views
  • 19 comments
  • 75 respects
Add projectSign up / Login