diff --git a/Mapping/motortest_first.ino b/Mapping/motortest_first.ino deleted file mode 100644 index 075cb02..0000000 --- a/Mapping/motortest_first.ino +++ /dev/null @@ -1,136 +0,0 @@ - -//very crude libraries with objects for motor and tandrive system (2 motors no steering) -//tandrive is an object that you attach the motor objects you make bellow made some functions -//in hope it will be more easier to read etc. - -#include "Motorz.h"; -#include "tankdrive.h"; -#include -#include - -#define SONAR_PIN 10 -#define SERVO_PIN 9 -#define MAX_DISTANCE 200 //max sonar dinstance according to the type of sensor i use Hc-SR04 - -NewPing sonar(SONAR_PIN,SONAR_PIN, MAX_DISTANCE); -Servo myservo; - - - -int GetDistances(); - -int i; -int enr=5; // enable pin for motor r (must be pwm) -int in1=4; // pin for one of the two connections of the mottor -int in2=3;// other connection (these two are digital pins) -// depends on how you end up wiring and placing the motors it will spin a certain way -// and another way when you reverse the voltage , direct holds (0,1) depending on how you -// wired the motor to go "forwards" what ever that means for your project -int directr=0; -int enl=6; -int in3=7; -int in4=8; -int directl=0; - -char buffer1[(sizeof(char)+sizeof(unsigned long))*sizeof(char)+1]; - - char a; - unsigned long runforsmth; -Motorz motorR(enr,in1,in2,directr); -Motorz motorL(enl,in3,in4,directl); - -TankDrive mytank(&motorR,directr,&motorL,directl); - -void setup(){ - Serial.begin(9600); - motorR.SetSpeed(80); //im using diffrent motors (trying to simulate wheels so i figure things out ) - motorL.SetSpeed(80); // so that explains the diffrent speed in each motor - pinMode(LED_BUILTIN, OUTPUT); -} - - -void loop(){ - - digitalWrite(LED_BUILTIN,LOW); -} -void serialEvent() { - while (Serial.available()) { - Serial.readBytes(buffer1,sizeof(buffer1)); - sscanf( buffer1, "%c%lu",&a, &runforsmth); - run_for_millis(&mytank,a,runforsmth); - /*if(a=='L'){ - digitalWrite(LED_BUILTIN, HIGH); - delay(runforsmth); - }*/ - } -} -int GetDistances(){ - int pos; - int maxdist[2]; - int temp; - myservo.attach(SERVO_PIN); - maxdist[0]=-1; - - for (pos = 20; pos <= 160; pos += 1) { // goes from 0 degrees to 180 degrees - // in steps of 1 degree - myservo.write(pos); - temp=sonar.ping_cm(); - Serial.print("Distance:"); - Serial.print(temp); - Serial.print(" Angle:"); - Serial.println(pos); - - if(temp>maxdist[0]){ - maxdist[0]=temp; - maxdist[1]=pos; - } - delay(55); - } - for (pos = 160; pos >=20; pos -= 1) { // goes from 0 degrees to 180 degrees - myservo.write(pos); - delay(5); - } - myservo.detach(); - - if(maxdist[1]<70){ - return -1; - } - - else if(maxdist[1]>110){ - return 1; - } - - else return 0; - -} -void run_for_millis(TankDrive *tank,char ch,unsigned long timetorun){ - - unsigned long count; - switch(ch){ - case 'L': - count=millis(); - do{ - tank->TurnLeft();} - while(millis()-count<=timetorun); - tank->Stop(); - break; - - case 'F': - count=millis(); - do{ - tank->MoveForward();} - while(millis()-count<=timetorun); - tank->Stop(); - break; - case 'R': - count=millis(); - do{ - tank->TurnRight();} - while(millis()-count<=timetorun); - tank->Stop(); - break; - } - - - -}