Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define trigPin 11
- #define echoPin 12
- #define greenLED 9 // PWM PIN 9
- #define redLED 6 // PWM PIN 6
- #define yellowLED 3 // PWM PIN 3
- #define potentiometer 5
- #define pneumatic 2
- int v1 = 1;
- int v1_speed = 1;
- float v2 = 1;
- float v2_speed = 0.2;
- boolean pneumaticState = true;
- long pneumaticDelay = 0; //keep track of the last time the pneumatic has been activated
- long senseDelay = 0;
- void setup() {
- Serial.begin(115200);
- pinMode(pneumatic, OUTPUT);
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- // nothing happens in setup
- }
- void loop() {
- //GREEN PWM////////////////////
- analogWrite(greenLED, v1);
- if (v1 <= 0 || v1 >= 255)
- v1_speed = -v1_speed;
- v1 += v1_speed;
- //RED PWM////////////////////
- analogWrite(redLED, v2);
- if (v2 <= 0 || v2 >= 255)
- v2_speed = -v2_speed;
- v2 += v2_speed;
- /*
- if (millis() > senseDelay) {
- senseDistance()logWrite(yellowLED, senseDistance());
- senseDelay = millis() + 500;
- }
- */
- analogWrite(yellowLED, analogRead(potentiometer) / 4);
- if(millis() > pneumaticDelay) {
- pneumaticState = !pneumaticState;
- digitalWrite(pneumatic, pneumaticState);
- pneumaticDelay = millis() + 2500;
- }
- delay(5);
- }
- int senseDistance() {
- long duration, distance;
- digitalWrite(trigPin, LOW);
- delayMicroseconds(20);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(20);
- digitalWrite(trigPin, LOW);
- delayMicroseconds(20);
- duration = pulseIn(echoPin, HIGH);
- distance = (duration / 2) / 29.1;
- Serial.print("Distance: ");
- Serial.println(distance);
- return distance;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement