اطلاعیه

Collapse
No announcement yet.

یکی میتونه برام برنامه ی ماشین کنترلی بسازه ؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    یکی میتونه برام برنامه ی ماشین کنترلی بسازه ؟

    سلام من l298n دارم برد uno اگه میشه یکی برام برنامشو بنویسه که بتونم سرعت هم کنترل کنم ماژول بلوتوث هم دارم همه وصلا و درست کار میکنن فقط برنامه ندارم من گشتم تو یوتوب ولی نفهمیدم دقیقا پین ها به چی وصله
    این الان همون چیزیه که من میخوام https://www.youtube.com/watch?v=klrDAzK0jKY&t=137s لامپ اینا مهم نیس همون موتور عقبش که قابلیت تنظیم سرعت داره برام مهمه
    اینم لینک سایتش





    دقیق مشخص نیست که چطوری به ال 298 وصله

    کد:
    [FONT=Yekan]/*[/FONT] * Created by Vasilakis Michalis // 12-12-2014 ver.2
     * Project: Control RC Car via Bluetooth with Android Smartphone
     * More information at www.ardumotive.com
     */
     
    //L293 Connection   
      const int motorA1  = 5;  // Pin  2 of L293
      const int motorA2  = 6;  // Pin  7 of L293
      const int motorB1  = 10; // Pin 10 of L293
      const int motorB2  = 9;  // Pin 14 of L293
    //Leds connected to Arduino UNO Pin 12
      const int lights  = 12;
    //Buzzer / Speaker to Arduino UNO Pin 3
      const int buzzer = 3 ;   
    //Bluetooth (HC-06 JY-MCU) State pin on pin 2 of Arduino
      const int BTState = 2;
    //Calculate Battery Level
      const float maxBattery = 8.0;// Change value to your max battery voltage level! 
      int perVolt;                 // Percentage variable 
      float voltage = 0.0;         // Read battery voltage
      int level;
    // Use it to make a delay... without delay() function!
      long previousMillis = -1000*10;// -1000*10=-10sec. to read the first value. If you use 0 then you will take the first value after 10sec.  
      long interval = 1000*10;       // interval at which to read battery voltage, change it if you want! (10*1000=10sec)
      unsigned long currentMillis;   //unsigned long currentMillis;
    //Useful Variables
      int i=0;
      int j=0;
      int state;
      int vSpeed=200;     // Default speed, from 0 to 255
    
    
    void setup() {
        // Set pins as outputs:
        pinMode(motorA1, OUTPUT);
        pinMode(motorA2, OUTPUT);
        pinMode(motorB1, OUTPUT);
        pinMode(motorB2, OUTPUT);
        pinMode(lights, OUTPUT); 
        pinMode(BTState, INPUT);    
        // Initialize serial communication at 9600 bits per second:
        Serial.begin(9600);
    }
     
    void loop() {
      //Stop car when connection lost or bluetooth disconnected
    //     if(digitalRead(BTState)==LOW) { state='S'; }
    
    
      //Save income data to variable 'state'
        if(Serial.available() > 0){     
          state = Serial.read();   
        }
      
      //Change speed if state is equal from 0 to 4. Values must be from 0 to 255 (PWM)
        if (state == '0'){
          vSpeed=0;}
        else if (state == '1'){
          vSpeed=100;}
        else if (state == '2'){
          vSpeed=180;}
        else if (state == '3'){
          vSpeed=200;}
        else if (state == '4'){
          vSpeed=255;}
     	  
      /***********************Forward****************************/
      //If state is equal with letter 'F', car will go forward!
        if (state == 'F') {
        	analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
            analogWrite(motorB1, 0);      analogWrite(motorB2, 0); 
        }
      /**********************Forward Left************************/
      //If state is equal with letter 'G', car will go forward left
        else if (state == 'G') {
        	analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);  
            analogWrite(motorB1, 200);    analogWrite(motorB2, 0); 
        }
      /**********************Forward Right************************/
      //If state is equal with letter 'I', car will go forward right
        else if (state == 'I') {
          	analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0); 
            analogWrite(motorB1, 0);      analogWrite(motorB2, 200); 
        }
      /***********************Backward****************************/
      //If state is equal with letter 'B', car will go backward
        else if (state == 'B') {
        	analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed); 
            analogWrite(motorB1, 0);   analogWrite(motorB2, 0); 
        }
      /**********************Backward Left************************/
      //If state is equal with letter 'H', car will go backward left
        else if (state == 'H') {
        	analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed); 
            analogWrite(motorB1, 200); analogWrite(motorB2, 0); 
        }
      /**********************Backward Right************************/
      //If state is equal with letter 'J', car will go backward right
        else if (state == 'J') {
        	analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed); 
            analogWrite(motorB1, 0);   analogWrite(motorB2, 200); 
        }
      /***************************Left*****************************/
      //If state is equal with letter 'L', wheels will turn left
        else if (state == 'L') {
        	analogWrite(motorA1, 0);   analogWrite(motorA2, 0); 
            analogWrite(motorB1, 200); analogWrite(motorB2, 0); 
        }
      /***************************Right*****************************/
      //If state is equal with letter 'R', wheels will turn right
        else if (state == 'R') {
        	analogWrite(motorA1, 0);   analogWrite(motorA2, 0); 
            analogWrite(motorB1, 0);   analogWrite(motorB2, 200); 		
        }
      /************************Lights*****************************/
      //If state is equal with letter 'W', turn leds on or of off
        else if (state == 'W') {
          if (i==0){  
             digitalWrite(lights, HIGH); 
             i=1;
          }
          else if (i==1){
             digitalWrite(lights, LOW); 
             i=0;
          }
          state='n';
        }
      /**********************Horn sound***************************/
      //If state is equal with letter 'V', play (or stop) horn sound
        else if (state == 'V'){
          if (j==0){  
             tone(buzzer, 1000);//Speaker on 
             j=1;
          }
          else if (j==1){
             noTone(buzzer);    //Speaker off 
             j=0;
          }
          state='n';  
        }
      /************************Stop*****************************/
      //If state is equal with letter 'S', stop the car
        else if (state == 'S'){
            analogWrite(motorA1, 0);  analogWrite(motorA2, 0); 
            analogWrite(motorB1, 0);  analogWrite(motorB2, 0);
        }
      /***********************Battery*****************************/
      //Read battery voltage every 10sec.
        currentMillis = millis();
        if(currentMillis - (previousMillis) > (interval)) {
           previousMillis = currentMillis; 
           //Read voltage from analog pin A0 and make calibration:
           voltage = (analogRead(A0)*5.015 / 1024.0)*11.132;
           //Calculate percentage...
           perVolt = (voltage*100)/ maxBattery;
           if      (perVolt<=75)               { level=0; }
           else if (perVolt>75 && perVolt<=80) { level=1; }    //        Battery level
           else if (perVolt>80 && perVolt<=85) { level=2; }    //Min ------------------------   Max
           else if (perVolt>85 && perVolt<=90) { level=3; }    //    | 0 | 1 | 2 | 3 | 4 | 5 | >
           else if (perVolt>90 && perVolt<=95) { level=4; }    //    ------------------------
           else if (perVolt>95)                { level=5; }   
           Serial.println(level);    
        }
        
    }

    اینم کدیه که تو اون هست

    #2
    پاسخ : یکی میتونه برام برنامه ی ماشین کنترلی بسازه ؟

    این که تو برنامش سرعت هم لحاظ شده

    دیدگاه

    لطفا صبر کنید...
    X