Thursday, April 11, 2019

8 week day 2

LCD code snippet
#include <Wire.h> #include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
const int tleft1 = 2; const int eleft1 = 3; const int tleft2 = 4; const int eleft2 = 5; const int tright1 = 6; const int eright1 = 7; const int tright2 = 8; const int eright2 = 9;
int buz=10; int m1=14; int m2=15; int m3=16; int m4=17;
// defines variables long durl1; int disl1; long durl2; int disl2; long durr1; int disr1; long durr2; int disr2; long duration; int distance;
String pos=""; void setup() { lcd.init(); // initialize the lcd lcd.init(); // Print a message to the LCD. lcd.backlight(); lcd.setCursor(0,0); lcd.print(" Smart "); lcd.setCursor(0,1); lcd.print(" Movable"); lcd.setCursor(0,2); lcd.print(" Road Divider"); lcd.setCursor(0,3); lcd.print(" Project");
pinMode(tleft1, OUTPUT); // Sets the trigPin as an Output pinMode(eleft1, INPUT); // Sets the echoPin as an Input pinMode(tleft2, OUTPUT); // Sets the trigPin as an Output pinMode(eleft2, INPUT); // Sets the echoPin as an Input pinMode(tright1, OUTPUT); // Sets the trigPin as an Output pinMode(eright1, INPUT); // Sets the echoPin as an Input pinMode(tright2, OUTPUT); // Sets the trigPin as an Output pinMode(eright2, INPUT); // Sets the echoPin as an Input pinMode(m1, OUTPUT); pinMode(m2, OUTPUT); pinMode(m3, OUTPUT); pinMode(m4, OUTPUT); pinMode(buz, OUTPUT); digitalWrite(m1,HIGH); digitalWrite(m2,HIGH); digitalWrite(m3,HIGH); digitalWrite(m4,HIGH); delay(2000); lcd.clear(); Serial.begin(9600); // Starts the serial communication } void loop() { // Clears the trigPin lcd.setCursor(0,0); lcd.print("Traffic Density:"); int disl1=ultrasonic(tleft1,eleft1); int disl2=ultrasonic(tleft2,eleft2); int disr1=ultrasonic(tright1,eright1); int disr2=ultrasonic(tright2,eright2); lcd.setCursor(0,1); lcd.print("L1"+String(disl1)+" || R1"+String(disr1)); lcd.setCursor(0,2); lcd.print("L2"+String(disl2)+" || R2"+String(disr2)); Serial.print("Left Side 1:"); Serial.println(disl1); Serial.print("Left Side 2:"); Serial.println(disl2); Serial.print("Right Side 1:"); Serial.println(disr1); Serial.print("Right Side 2:"); Serial.println(disr2); if(disl1<10&&disl2<10) { if(pos!="RIGHT") { Serial.println("Traffic detected on left side"); digitalWrite(buz,HIGH); delay(300); digitalWrite(buz,LOW); lcd.setCursor(0,3); lcd.print("Waiting.."); if(disr1>10&& disr2>10) {
digitalWrite(buz,HIGH);
delay(1000);
digitalWrite(buz,LOW);
Serial.println("Right Side is Free");
Serial.println("Moving Right");
lcd.setCursor(0,3);
lcd.print("Moving Right");
digitalWrite(m1,LOW);
digitalWrite(m2,LOW);
digitalWrite(m3,LOW);
digitalWrite(m4,LOW);

pos="RIGHT";
delay(1000);
}
} else { Serial.println("Already in Right!!!"); }
} if(disr1<10&&disr2<10) { if(pos!="LEFT") { Serial.println("Traffic detected on right side"); digitalWrite(buz,HIGH); delay(300); digitalWrite(buz,LOW); lcd.setCursor(0,3); lcd.print("Waiting.."); if(disl1>10&& disl2>10) {
digitalWrite(buz,HIGH);
lcd.setCursor(0,3);
lcd.print("Waiting..");
delay(1000); digitalWrite(buz,LOW); Serial.println("Left Side is Free"); Serial.println("Moving Left"); lcd.setCursor(0,3); lcd.print("Moving Left"); digitalWrite(m1,HIGH); digitalWrite(m2,HIGH); digitalWrite(m3,HIGH); digitalWrite(m4,HIGH);
pos="LEFT";
delay(1000);
}
}
else
{ Serial.println("Already in Left!!!"); }
} if(disr1<10&&disl2<10) { if(pos!="LEFT TILT") { Serial.println("Traffic detected on right side");
digitalWrite(buz,HIGH);
delay(300);
digitalWrite(buz,LOW);
lcd.setCursor(0,3);
lcd.print("Waiting..");
if(disl1>10&& disr2>10) {
digitalWrite(buz,HIGH);
delay(1000); digitalWrite(buz,LOW); Serial.println("Left Side is Free"); Serial.println("tilting Left"); lcd.setCursor(0,3); lcd.print("Tilting Left"); digitalWrite(m1,HIGH); digitalWrite(m2,HIGH); digitalWrite(m3,LOW); digitalWrite(m4,LOW); pos="LEFT TILT"; delay(1000); } } else { Serial.println("Already in Left Tilted!!!"); }
} if(disl1<10&&disr2<10) { if(pos!="RIGHT TILT") { Serial.println("Traffic detected on right side"); digitalWrite(buz,HIGH); delay(300); digitalWrite(buz,LOW); lcd.setCursor(0,3); lcd.print("Waiting.."); if(disr1>10&& disl2>10) {
digitalWrite(buz,HIGH);
delay(1000); digitalWrite(buz,LOW); Serial.println("Right Side is Free"); Serial.println("Tilting Right"); lcd.setCursor(0,3); lcd.print("Tilting Right"); digitalWrite(m1,LOW); digitalWrite(m2,LOW); digitalWrite(m3,HIGH); digitalWrite(m4,HIGH); pos="RIGHT TILT"; delay(1000); } } else { Serial.println("Already tilted right!!!"); }
} lcd.setCursor(0,3); lcd.print(" "); lcd.setCursor(7,3); lcd.print(pos); delay(1000); Serial.println(pos); Serial.println("<=================>"); lcd.clear(); }
int ultrasonic(int trigPin,int echoPin) { digitalWrite(trigPin, LOW); delayMicroseconds(2); // Sets the trigPin on HIGH state for 10 micro seconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Reads the echoPin, returns the sound wave travel time in microseconds duration = pulseIn(echoPin, HIGH); // Calculating the distance distance= duration*0.034/2; // Prints the distance on the Serial Monitor //Serial.print("Distance: "); //Serial.println(distance); return distance; }

8 weeks day 1

LCD
LCD (liquid crystal display) is the technology used for displays in notebook and other smaller computers. Like light-emitting diode (LED) and gas-plasma technologies, LCDs allow displays to be much thinner than cathode ray tube (CRT) technology.They use the same basic technology, except that arbitrary images are made up of a large number of small pixels, while other displays have larger elements. LCDs can either be normally on (positive) or off (negative), depending on the polarizer arrangement. For example, a character positive LCD with a backlight will have black lettering on a background that is the color of the backlight, and a character negative LCD will have a black background with the letters being of the same color as the backlight. Optical filters are added to white on blue LCDs to give them their characteristic appearance.

Thursday, April 4, 2019

7th weeks 1 days

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);
 
const int tleft1 = 2;
const int eleft1 = 3;
const int tleft2 = 4;
const int eleft2 = 5;
const int tright1 = 6;
const int eright1 = 7;
const int tright2 = 8;
const int eright2 = 9;

int buz=10;
int m1=14;
int m2=15;
int m3=16;
int m4=17;

// defines variables
long durl1;
int disl1;
long durl2;
int disl2;
long durr1;
int disr1;
long durr2;
int disr2;
long duration;
int distance;

String pos="";
void setup() {
  lcd.init();                      // initialize the lcd
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("    Smart ");
  lcd.setCursor(0,1);
  lcd.print("   Movable");
   lcd.setCursor(0,2);
  lcd.print(" Road Divider");
   lcd.setCursor(0,3);
  lcd.print(" Project");

pinMode(tleft1, OUTPUT); // Sets the trigPin as an Output
pinMode(eleft1, INPUT); // Sets the echoPin as an Input
pinMode(tleft2, OUTPUT); // Sets the trigPin as an Output
pinMode(eleft2, INPUT); // Sets the echoPin as an Input
pinMode(tright1, OUTPUT); // Sets the trigPin as an Output
pinMode(eright1, INPUT); // Sets the echoPin as an Input
pinMode(tright2, OUTPUT); // Sets the trigPin as an Output
pinMode(eright2, INPUT); // Sets the echoPin as an Input
pinMode(m1, OUTPUT);
pinMode(m2, OUTPUT);
pinMode(m3, OUTPUT);
pinMode(m4, OUTPUT);
pinMode(buz, OUTPUT);
digitalWrite(m1,HIGH);
digitalWrite(m2,HIGH);
digitalWrite(m3,HIGH);
digitalWrite(m4,HIGH);
delay(2000);
lcd.clear();
Serial.begin(9600); // Starts the serial communication
}
void loop() {
// Clears the trigPin
lcd.setCursor(0,0);
lcd.print("Traffic Density:");
int disl1=ultrasonic(tleft1,eleft1);
int disl2=ultrasonic(tleft2,eleft2);
int disr1=ultrasonic(tright1,eright1);
int disr2=ultrasonic(tright2,eright2);
lcd.setCursor(0,1);
lcd.print("L1"+String(disl1)+" || R1"+String(disr1));
lcd.setCursor(0,2);
lcd.print("L2"+String(disl2)+" || R2"+String(disr2));
Serial.print("Left Side 1:");
Serial.println(disl1);
Serial.print("Left Side 2:");
Serial.println(disl2);
Serial.print("Right Side 1:");
Serial.println(disr1);
Serial.print("Right Side 2:");
Serial.println(disr2);
if(disl1<10&&disl2<10)
{
  if(pos!="RIGHT")
    {
  Serial.println("Traffic detected on left side");
    digitalWrite(buz,HIGH);
    delay(300);
    digitalWrite(buz,LOW);
    lcd.setCursor(0,3);
    lcd.print("Waiting..");
  if(disr1>10&& disr2>10)
  {
   
    digitalWrite(buz,HIGH);
    delay(1000);
    digitalWrite(buz,LOW);
    Serial.println("Right Side is Free");
    Serial.println("Moving Right");
    lcd.setCursor(0,3);
    lcd.print("Moving Right");
    digitalWrite(m1,LOW);
    digitalWrite(m2,LOW);
    digitalWrite(m3,LOW);
    digitalWrite(m4,LOW);
   
    pos="RIGHT";
    delay(1000);
    }
  }
  else
  {
    Serial.println("Already in Right!!!");
  }
 
}
if(disr1<10&&disr2<10)
{
  if(pos!="LEFT")
    {
  Serial.println("Traffic detected on right side");
    digitalWrite(buz,HIGH);
    delay(300);
    digitalWrite(buz,LOW);
    lcd.setCursor(0,3);
    lcd.print("Waiting..");
  if(disl1>10&& disl2>10)
  {
   
    digitalWrite(buz,HIGH);
    lcd.setCursor(0,3);
    lcd.print("Waiting..");
  delay(1000);
  digitalWrite(buz,LOW);
    Serial.println("Left Side is Free");
    Serial.println("Moving Left");
    lcd.setCursor(0,3);
    lcd.print("Moving Left");
    digitalWrite(m1,HIGH);
    digitalWrite(m2,HIGH);
    digitalWrite(m3,HIGH);
    digitalWrite(m4,HIGH);
   
    pos="LEFT";
    delay(1000);
    }
    }
    else
  {
    Serial.println("Already in Left!!!");
  }
 
}
if(disr1<10&&disl2<10)
{
  if(pos!="LEFT TILT")
    {
  Serial.println("Traffic detected on right side");

    digitalWrite(buz,HIGH);
    delay(300);
    digitalWrite(buz,LOW);
    lcd.setCursor(0,3);
    lcd.print("Waiting..");
  if(disl1>10&& disr2>10)
  {
   
    digitalWrite(buz,HIGH);
  delay(1000);
  digitalWrite(buz,LOW);
    Serial.println("Left Side is Free");
    Serial.println("tilting Left");
    lcd.setCursor(0,3);
    lcd.print("Tilting Left");
    digitalWrite(m1,HIGH);
    digitalWrite(m2,HIGH);
    digitalWrite(m3,LOW);
    digitalWrite(m4,LOW);
    pos="LEFT TILT";
    delay(1000);
    }
    }
    else
  {
    Serial.println("Already in Left Tilted!!!");
  }
 
}
if(disl1<10&&disr2<10)
{
  if(pos!="RIGHT TILT")
    {
  Serial.println("Traffic detected on right side");
    digitalWrite(buz,HIGH);
    delay(300);
    digitalWrite(buz,LOW);
    lcd.setCursor(0,3);
    lcd.print("Waiting..");
  if(disr1>10&& disl2>10)
  {
   
    digitalWrite(buz,HIGH);
  delay(1000);
  digitalWrite(buz,LOW);
    Serial.println("Right Side is Free");
    Serial.println("Tilting Right");
    lcd.setCursor(0,3);
    lcd.print("Tilting Right");
    digitalWrite(m1,LOW);
    digitalWrite(m2,LOW);
    digitalWrite(m3,HIGH);
    digitalWrite(m4,HIGH);
pos="RIGHT TILT";
    delay(1000);
    }
    }
    else
  {
    Serial.println("Already tilted right!!!");
  }
 
}
lcd.setCursor(0,3);
lcd.print("           ");
lcd.setCursor(7,3);
lcd.print(pos);
delay(1000);
Serial.println(pos);
Serial.println("<=================>");
lcd.clear();
}

int ultrasonic(int trigPin,int echoPin)
{
  digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance= duration*0.034/2;
// Prints the distance on the Serial Monitor
//Serial.print("Distance: ");