Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void setup () {
- pinMode(9, OUTPUT); // LED1
- pinMode(8, OUTPUT); // LED2
- pinMode(6, OUTPUT); // LED3
- pinMode(12, OUTPUT); //LED4
- pinMode(1, OUTPUT); // LED5
- pinMode(0, OUTPUT); // LED6
- pinMode(10,OUTPUT);// Motors 1
- pinMode(11,OUTPUT);// Motors 2
- pinMode(4,OUTPUT);// Direction 1
- pinMode(2,OUTPUT);// Direction 2
- pinMode(5,INPUT);// Button 1
- digitalWrite(5,HIGH); // Button 1
- pinMode(13,INPUT);// Button 2
- digitalWrite(13,HIGH); // Button 2
- #define led1ON digitalWrite(1,HIGH);
- #define led1OFF digitalWrite(1,LOW);
- #define led2ON digitalWrite(0,HIGH);
- #define led2OFF digitalWrite(0,LOW);
- #define led3ON digitalWrite(12,HIGH);
- #define led3OFF digitalWrite(12,LOW);
- #define led4ON digitalWrite(6,HIGH);
- #define led4OFF digitalWrite(6,LOW);
- #define led5ON digitalWrite(8,HIGH);
- #define led5OFF digitalWrite(8,LOW);
- #define led6ON digitalWrite(9,HIGH);
- #define led6OFF digitalWrite(9,LOW);
- #define button1 !digitalRead(5)
- #define button2 !digitalRead(13)
- #define sen1 analogRead(A5) >150
- #define sen2 analogRead(A4) >150
- #define sen3 analogRead(A3) >150
- #define sen4 analogRead(A2) >150
- #define sen5 analogRead(A1) >150
- #define sen6 analogRead(A0) >150
- Serial.begin(9600);
- }
- void DriveForward (int leftS , int rightS) {
- analogWrite(10,abs(leftS-255));// Motors 1 (Kreisais)
- analogWrite(11,rightS);// Motors 2 (Labais)
- digitalWrite(2,HIGH); // Kreis� Motora Direction
- digitalWrite(4,LOW); }// Lab� Motora Direction
- void DriveBackward (int leftS , int rightS) {
- analogWrite(10,leftS);// Motors 1 (Kreisais)
- analogWrite(11,abs(rightS-255));// Motors 2 (Labais)
- digitalWrite(2,LOW); // Kreis� Motora Direction
- digitalWrite(4,HIGH); }// Lab� Motora Direction
- void DriveLeft (int leftS , int rightS) {
- analogWrite(10,leftS);// Motors 1 (Kreisais)
- analogWrite(11,rightS);// Motors 2 (Labais)
- digitalWrite(2,LOW); // Kreis� Motora Direction
- digitalWrite(4,LOW); }// Lab� Motora Direction
- void DriveRight (int leftS , int rightS) {
- analogWrite(10,abs(leftS-255));// Motors 1 (Kreisais)
- analogWrite(11,abs(rightS-255));// Motors 2 (Labais)
- digitalWrite(2,HIGH); // Kreis� Motora Direction
- digitalWrite(4,HIGH); // Lab� Motora Direction
- }
- int senstate = 0;
- int prevsenstate = 0;
- void loop(){
- if(sen1){led1ON;}else{led1OFF;}
- if(sen2){led2ON;}else{led2OFF;}
- if(sen3){led3ON;}else{led3OFF;}
- if(sen4){led4ON;}else{led4OFF;}
- if(sen5){led5ON;}else{led5OFF;}
- if(sen6){led6ON;}else{led6OFF;}
- if (button1){
- while(1){
- if(senstate != 1){prevsenstate = senstate;}
- if(sen1){led1ON;}else{led1OFF;}
- if(sen2){led2ON;}else{led2OFF;}
- if(sen3){led3ON;}else{led3OFF;}
- if(sen4){led4ON;}else{led4OFF;}
- if(sen5){led5ON;}else{led5OFF;}
- if(sen6){led6ON;}else{led6OFF;}
- if(sen1==0 && sen2==0 && sen3==0 && sen4==0 && sen5==0 && sen6==0){senstate = 1;}
- if(sen1==1 && sen2==0 && sen3==0 && sen4==0 && sen5==0 && sen6==0){senstate = 2;}
- if(sen1==0 && sen2==1 && sen3==0 && sen4==0 && sen5==0 && sen6==0){senstate = 3;}
- if(sen1==0 && sen2==0 && sen3==1 && sen4==0 && sen5==0 && sen6==0){senstate = 4;}
- if(sen1==0 && sen2==0 && sen3==0 && sen4==1 && sen5==0 && sen6==0){senstate = 5;}
- if(sen1==0 && sen2==0 && sen3==0 && sen4==0 && sen5==1 && sen6==0){senstate = 6;}
- if(sen1==0 && sen2==0 && sen3==0 && sen4==0 && sen5==0 && sen6==1){senstate = 7;}
- if(sen1==0 && sen2==0 && sen3==0 && sen4==0 && sen5==1 && sen6==1){senstate = 8;}
- if(sen1==0 && sen2==0 && sen3==0 && sen4==1 && sen5==1 && sen6==0){senstate = 9;}
- if(sen1==0 && sen2==0 && sen3==1 && sen4==1 && sen5==0 && sen6==0){senstate = 10;}
- if(sen1==0 && sen2==1 && sen3==1 && sen4==0 && sen5==0 && sen6==0){senstate = 11;}
- if(sen1==1 && sen2==1 && sen3==0 && sen4==0 && sen5==0 && sen6==0){senstate = 12;}
- if(sen1==1 && sen2==1 && sen3==1 && sen4==1 && sen5==1 && sen6==1){senstate = 13;}
- switch(senstate){
- case 1: DriveForward (230,230); // 000000
- break;
- case 2: DriveLeft (30,250); // 100000
- break;
- case 3: DriveLeft (20,250); // 010000
- break;
- case 4: DriveLeft (10,250); // 001000
- break;
- case 5: DriveRight (250,10); // 000100
- break;
- case 6: DriveRight (250,20); // 000010
- break;
- case 7: DriveRight (250,30); // 000001
- break;
- case 8: DriveRight (250,20); // 000011
- break;
- case 9: DriveRight (250,10); // 000110
- break;
- case 10: DriveForward (230,230); // 001100
- break;
- case 11: DriveLeft (20,250); // 011000
- break;
- case 12: DriveLeft(30,250); // 110000
- break;
- case 13: DriveForward(230,230); // 111111
- break;
- if (button2){
- if(sen1){led1ON;}else{led1OFF;}
- if(sen2){led2ON;}else{led2OFF;}
- if(sen3){led3ON;}else{led3OFF;}
- if(sen4){led4ON;}else{led4OFF;}
- if(sen5){led5ON;}else{led5OFF;}
- if(sen6){led6ON;}else{led6OFF;}
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement