Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<arduinoPlatform.h>
- #include<tasks.h>
- #include<interrupts.h>
- #include<stdio.h>
- #include<serial.h>
- #include <pwm.h>
- #include<data.h>
- extern serial Serial;
- #define SW 7
- #define SPEED_SLOW 150
- #define SPEED_FAST 50
- int rotationSpeed = SPEED_SLOW,
- i = 26,
- j = 33;
- bool reversed = false;
- void setup()
- {
- for(int i = 26; i <= 33; i++){
- pinMode(i, OUTPUT);
- }
- pinMode(SW, INPUT);
- }
- /*
- -- Ovakvom realizacijom loop funkcije postizem prividnu sinhronizaciju:
- -- odziv i izvrsenje akcije definisane za SWITCH je spalo na 0-150 [ms],
- -- a inicijalno je bilo u rasponu 0-600 [ms]
- */
- void loop()
- {
- if(digitalRead(SW)){
- rotationSpeed = SPEED_FAST;
- }else{
- rotationSpeed = SPEED_SLOW;
- }
- if(i < j && !reversed){
- if(i != 26 && j != 33){
- digitalWrite(i - 1, LOW);
- digitalWrite(j + 1, LOW);
- }
- digitalWrite(i++, HIGH);
- digitalWrite(j--, HIGH);
- delay(rotationSpeed);
- }else{
- if(!reversed){
- reversed = true;
- i = 29;
- j = 30;
- }
- if(i == 26 && j == 33){
- reversed = false;
- }
- if(i == 26){
- digitalWrite(i, LOW);
- }
- if(i > 26)
- digitalWrite(i, LOW);
- digitalWrite(j, LOW);
- digitalWrite(--i, HIGH);
- digitalWrite(++j, HIGH);
- delay(rotationSpeed);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment