время

Тема в разделе "Arduino & Shields", создана пользователем Redn, 4 апр 2014.

  1. Redn

    Redn Гик

    ребят подскажите пожалусто я делаю робота у которого будет настроение которое уменьяшается каждую минуту на 1 бал всего 100 баллов как вот но если поставить delay(60000); то весь код застопорится а мне этого не надо как быть ?
     
  2. acos

    acos Официальный гик Администратор

  3. Redn

    Redn Гик

    а также если не сложно как напечатать русский текст в сериал ?
     
  4. Redn

    Redn Гик

    и почему char ok = 'Myrr ,Myrr ,Myrr =)'; он печатает только последний знак
     
  5. Megakoteyka

    Megakoteyka Оракул Модератор

    Потому что char ok[] = "Myrr ,Myrr ,Myrr =)";
    Почитайте о массивах и о разнице между одинарными кавычками и двойными.
     
  6. Redn

    Redn Гик

    извините я уже всех достал . но скажите как сделать чтобы при реском изменении растояния до объекта робот пугался .страх я зделал но вот эту систему 2 часа голову бъю об стену если нужен скетч то я выложу . использую дальномер HС_SR04 измерять растояние умею
     
  7. Megakoteyka

    Megakoteyka Оракул Модератор

    Осталось только измерить время и посчитать скорость, разделив расстояние на время :)
     
  8. Redn

    Redn Гик

    какой же я дурак не воспользовался простейший матиматекой пазор :confused:
     
  9. Redn

    Redn Гик

    скажите что я сделал не так страх постоянно растет

    #include <Ultrasonic.h>
    int l2,l1 = 0;
    char a;
    char w = '1';
    int lok,tok = 0;

    int reh = 0;
    int ns1 = 1000;

    int agresser = 0;
    int straxser = 0;
    float lip [7];
    int s;
    Ultrasonic rsc(12, 13);
    float sip[11];
    int lopt = 0;
    void dvis()
    {

    lip[0] = rsc.Ranging(CM);
    delay(100);
    lip[1] = rsc.Ranging(CM);
    lip[3] = lip[1] - lip[0];
    lip[4] = lip[3] / 10;
    lip[5] = lip[4] * 1000;





    }
    void strax ()
    {
    if(lip[5] > 2000)
    {

    straxser = straxser + 75;

    }
    else if(lip[5] > -2000)
    {

    straxser = straxser + 100;

    }
    else if(lip[5] > 5000)
    {
    straxser = straxser + 200;



    }
    else if(lip[5] > -5000)
    {
    straxser = straxser + 250;



    }
    else if(lip[5] > -500)
    {
    straxser = straxser + 25;



    }
    else if(lip[5] > 500)
    {
    straxser = straxser + 25;



    }
    }
    void ns ()
    {
    lok = millis();
    if(lok == tok)
    {


    tok = tok + 5000;
    ns1 = ns1 - 5;
    if(straxser > 0
    )
    {
    straxser = straxser - 100;
    }
    }


    }

    void setup()
    {
    Serial.begin(9600);
    }
    void loop()
    {
    ns();
    Serial.available();
    a = Serial.read();
    if(a == w)
    {
    Serial.println("Myrr ,Myrr ,Myrr =)");
    Serial.print("nastroenie :");
    Serial.println(ns1);
    Serial.print("strax :");
    Serial.println(straxser);

    ns1 = ns1 + 20;

    }

    strax();
    dvis();


    }
     
  10. Redn

    Redn Гик

    броблему решил но почемуто отказал работать millis
     
  11. Redn

    Redn Гик

    решено
     
    acos нравится это.