/****************************************** PURPOSE: Makecourse Final project Sketch DEVELOPER: AUM PATEL DATE: 4/2019 *******************************************/ /************************************************************************************************************************************************************ LIBRARIES ************************************************************************************************************************************************************/ #include //Include the I2C library, this one is a standard Arduino package library #include //Arduino standard servo library #include //IR remote library /***************************************** ******************************************************************************************************************* PIN DEFINITIONS *************************************************************************************************************************************************************/ #define servopin 9 // Servo control lead pin #define echoPin 7 // Proximity sensor echo pin #define triggerPin 8 // Proximity sensor trigger pin int Motorpin = 10; // Motor pin int IR_IN = 11; // Infrared receiver output Pin int value; /************************************************************************************************************************************************************ INSTANTIATIONS ************************************************************************************************************************************************************/ IRrecv irrecv(IR_IN); //instantiate a IR receiver object decode_results results; //instantiate a decode_results object. This object is separate from the IR receiver. Servo myservo; // instantiate a Servo object named 'myservo' /************************************************************************************************************************************************************ SETUP ************************************************************************************************************************************************************/ void setup() { Serial.begin(9600); //start serial port //******* SERVO, MOTOR & REMOTE ********************************************* myservo.attach(servopin); // attaches the servo on pin 9 to the servo object irrecv.enableIRIn(); // Start the receiver pinMode(Motorpin, OUTPUT); analogWrite(Motorpin,0); //******* PROXIMITY SENSOR ************************************************* pinMode(echoPin, INPUT); //set pinmodes pinMode(triggerPin, OUTPUT); delay(500); //wait 1000msec //******* LED ************************************************************** pinMode(6, OUTPUT); //Red LED pinMode(5, OUTPUT); //Green LED digitalWrite(6, LOW); //Red LED OFF initially digitalWrite(5, LOW); //Green LED OFF initially } /************************************************************************************************************************************************************ LOOP ************************************************************************************************************************************************************/ void loop() { //******* PROXIMITY SENSOR ************************************************************** //****** REMOTE ************************************************************************** if (irrecv.decode(&results)) { //has a transmission been received? Serial.println(results.value); //If yes: interpret the received commands... if (results.value == 0xFF30CF){//1 is pressed myservo.write(135); value=115; ; } if (results.value == 0xFF18E7){//2 is pressed myservo.write(90); value=90; ; } if (results.value == 0xFF7A85){//3 is pressed myservo.write(45); value=65; ; } if (results.value == 0xFFA857){//+ is pressed value = value+5; myservo.write(value); ; } if (results.value == 0xFFE01F){//- is pressed value = value-5; myservo.write(value); ; } if (results.value == 0xFFC23D){// Pause/Play is pressed analogWrite(Motorpin,255); digitalWrite(6,HIGH); digitalWrite(5,LOW); ; } if (results.value == 0xFF906F){// EQ is pressed analogWrite(Motorpin,0); digitalWrite(6,LOW); digitalWrite(5,HIGH); ; } if (results.value == 0XFF6897){// 0 is pressed digitalWrite(triggerPin, HIGH); // make a 10usec pulse delayMicroseconds(10); digitalWrite(triggerPin, LOW); int distance = pulseIn(echoPin,HIGH); int D= distance/58; //the distance in [cm] is calculated by pulselength[usec]/58 "inch /148" Serial.println(D); delay(100); if (D >= 10 && D <= 30) { analogWrite(Motorpin, 255); digitalWrite(6,HIGH); digitalWrite(5,HIGH); } else if (D > 35 or D < 10) { analogWrite(Motorpin, 0); digitalWrite(6,LOW); digitalWrite(5,HIGH); } ; } irrecv.resume(); // Receive the next value } }