Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Testing the DC Motors
- //Define Pins
- //Motor A
- int enableA = 4;
- int pinA1 = 6;
- int pinA2 = 5;
- int sensor0 = 0;
- int sensorVal0;
- int statusCache;
- int lastStatus;
- void setup() {
- Serial.begin (9600);
- //configure pin modes
- pinMode (enableA, OUTPUT);
- pinMode (pinA1, OUTPUT);
- pinMode (pinA2, OUTPUT);
- //open cache
- //enabling motor A
- Serial.println ("Enabling Motor A");
- digitalWrite (enableA, HIGH);
- Serial.println ("Opening...");
- digitalWrite (enableA, HIGH);
- digitalWrite (pinA1, HIGH);
- digitalWrite (pinA2, LOW);
- delay(850); //calculated time for opening
- Serial.println ("Standby...");
- Serial.println ("Waiting for interaction...");
- digitalWrite (pinA1, LOW);
- digitalWrite (pinA2, LOW);
- statusCache = 1; //set status to open
- lastStatus = 1;
- //wait for 5s to let everything settle
- delay (5000);
- }
- void loop() {
- statusCache = getSensorVal();
- Serial.print ("Status: ");
- Serial.println (statusCache);
- if (statusCache == 1 && lastStatus != 1) {
- // open
- Serial.println ("Opening...");
- digitalWrite (enableA, HIGH);
- digitalWrite (pinA1, HIGH);
- digitalWrite (pinA2, LOW);
- delay(850); //calculated time for opening
- Serial.println ("Standby...");
- Serial.println ("Waiting for interaction...");
- digitalWrite (pinA1, LOW);
- digitalWrite (pinA2, LOW);
- lastStatus = 1;
- }
- if (statusCache == 0 && lastStatus != 0) {
- Serial.println ("Closing...");
- digitalWrite (enableA, HIGH);
- digitalWrite (pinA1, LOW);
- digitalWrite (pinA2, HIGH);
- delay (850);
- digitalWrite (enableA, LOW);
- lastStatus = 0;
- }
- delay (250); //delay 1/4 of second
- }
- //read sesnor val and returns if to close or to open
- int getSensorVal () {
- int stat;
- //read analog sensor
- sensorVal0 = analogRead(sensor0);
- //print sensor value
- Serial.println (sensorVal0);
- if ((sensorVal0 < 700) || (sensorVal0 > 1010))
- stat = 0; //to close
- else
- stat = 1; //open
- return stat;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement