Показано с 1 по 10 из 67

Древовидный режим

oops1 Парктронник 13.02.2011, 23:58
Chip Re: Парктронник 14.02.2011, 01:05
oops1 Re: Парктронник 14.02.2011, 01:13
Chip Re: Парктронник 14.02.2011, 01:27
oops1 Re: Парктронник 14.02.2011, 02:33
zhserg Re: Парктронник 14.02.2011, 09:08
oops1 Re: Парктронник 14.02.2011, 10:32
zhserg Re: Парктронник 14.02.2011, 21:53
oops1 Re: Парктронник 14.02.2011, 22:34
zhserg Re: Парктронник 15.02.2011, 11:12
oops1 Re: Парктронник 14.02.2011, 22:54
Chip Re: Парктронник 15.02.2011, 01:28
oops1 Re: Парктронник 15.02.2011, 13:13
zhserg Re: Парктронник 15.02.2011, 15:10
KostqN Re: Парктронник 15.02.2011, 14:01
oops1 Re: Парктронник 15.02.2011, 15:08
oops1 Re: Парктронник 16.02.2011, 01:42
zhserg Re: Парктронник 16.02.2011, 15:08
zhserg Re: Парктронник 16.02.2011, 16:14
oops1 Re: Парктронник 16.02.2011, 19:11
zhserg Re: Парктронник 16.02.2011, 20:00
oops1 Re: Парктронник 16.02.2011, 21:08
zhserg Re: Парктронник 16.02.2011, 21:43
oops1 Re: Парктронник 16.02.2011, 22:01
zhserg Re: Парктронник 16.02.2011, 22:05
Chip Re: Парктронник 16.02.2011, 22:31
oops1 Re: Парктронник 16.02.2011, 22:44
oops1 Re: Парктронник 16.02.2011, 23:22
SBorovkov Re: Парктронник 16.02.2011, 23:15
SBorovkov Re: Парктронник 17.02.2011, 01:38
oops1 Re: Парктронник 20.02.2011, 00:04
oops1 Re: Парктронник 20.02.2011, 01:06
oops1 Re: Парктронник 20.02.2011, 17:22
zhserg Re: Парктронник 20.02.2011, 17:30
oops1 Re: Парктронник 20.02.2011, 20:35
Chip Re: Парктронник 20.02.2011, 21:59
St@rz Re: Парктронник 20.02.2011, 22:05
St@rz Re: Парктронник 03.03.2011, 19:50
Chip Re: Парктронник 03.03.2011, 21:10
St@rz Re: Парктронник 03.03.2011, 21:24
Chip Re: Парктронник 03.03.2011, 21:18
oops1 Re: Парктронник 03.03.2011, 22:14
St@rz Re: Парктронник 03.03.2011, 22:16
Chip Re: Парктронник 03.03.2011, 22:47
oops1 Re: Парктронник 03.03.2011, 23:04
zhserg Re: Парктронник 02.04.2011, 23:20
Chip Re: Парктронник 03.04.2011, 02:45
zhserg Re: Парктронник 04.04.2011, 22:20
zhserg Re: Парктронник 08.04.2011, 14:45
s705 Re: Парктронник 08.04.2011, 15:22
oops1 Re: Парктронник 10.04.2011, 03:08
zhserg Re: Парктронник 13.04.2011, 09:06
oops1 Re: Парктронник 13.04.2011, 09:55
zhserg Re: Парктронник 13.04.2011, 10:13
zhserg Re: Парктронник 14.04.2011, 20:10
oops1 Re: Парктронник 13.04.2011, 10:16
zhserg Re: Парктронник 13.04.2011, 10:23
oops1 Re: Парктронник 13.04.2011, 10:27
zhserg Re: Парктронник 13.04.2011, 10:31
oops1 Re: Парктронник 14.04.2011, 22:13
oops1 Re: Парктронник 18.04.2011, 08:17
zhserg Re: Парктронник 18.04.2011, 12:28
oops1 Re: Парктронник 18.04.2011, 13:58
zhserg Re: Парктронник 18.04.2011, 17:53
oops1 Re: Парктронник 18.04.2011, 21:16
zhserg Re: Парктронник 18.04.2011, 21:24
oops1 Re: Парктронник 18.04.2011, 22:13
Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    Местный
    Регистрация
    04.08.2009
    Возраст
    44
    Сообщений
    184
    Вес репутации
    233

    По умолчанию Re: Парктронник

    Работа двигается потихоньку осталось решить два вопроса

    1. Это у меня не работает функция Serial.Write(), приходится использовать Serial.print(), вот что она выводит.
    1е число содержит бит-флаг-- есть препятствие и номер датчика
    2е число расстояние до препятствия в сантиметрах
    PHP код:
    137 255 0 0 ------
    ------
    138 255 0 0 ------
    ------
    136 255 0 0 ------
    ------
    139 255 0 0 ------
    ------
    137 255 0 0 ------
    ------ 
    2. Адаптировать плугин из центрифуги под ардуно.


    Все оказалось настолько просто что у меня возник вопрос почему ни кто это ранее не делал ?

    Собственно скетч.
    PHP код:
    #include <TimerOne.h>

    #define LEDPIN 13        // Вывод светодиода
    #define BTNPIN 2 

    #define BUFFER_LENGTH 100

    volatile uint16_t startImpuls;
    volatile uint16_t lengthImpuls;
    volatile uint16_t timerCount=0;

    byte buffPos 0;
    byte Buffer[BUFFER_LENGTH];

    byte packet[4];
    byte posInPacket=0;

    byte startBYTE 15;

    void setup()
    {  
    /*
        LOW — вызов прерывания всякий раз, когда на порту низкий уровень напряжения;
        CHANGE – прерывание вызывается при изменении значения на входе;
        RISING – вызов прерывания при изменении уровня напряжения с низкого (LOW) на высокое(HIGH)
        FALLING – вызов прерывания при изменении уровня напряжения с высокого (HIGH) на низкое (LOW)
      */
      
    startImpuls=0;
      
    lengthImpuls=0;
      
      
    pinMode(BTNPININPUT);  
      
      for(
    int i=0iBUFFER_LENGTHi++)
        
    Buffer[i]=0;
        
      
    Serial.begin(115200);
      
      
    Timer1.initialize(20);
      
    Timer1.attachInterrupt(callback);  // attaches callback() as a timer overflow interrupt

      
    attachInterrupt(0fireUpRISING);
    }
    void callback() {  timerCount++; }

    void loop()
    {
      if (
    lengthImpuls 0)
      {
        
    uint16_t temp=0;
        
    uint16_t li lengthImpuls;
        
    lengthImpuls=0;
        
        
    //--------------------------//
        // получена приамбула "1 1 1 1"
        
    if (li >50 && li <60)
        {
           
    posInPacket =0;
        }
        
    // Расчитываю позицию массиве
        
    temp posInPacket 8;
        
    uint16_t bitPos posInPacket;
        
    // Разворачиваю позицию для метода bitSet(x,n)
        
    bitPos bitPos;
        if (
    bitPos >= 8)
        {
          
    bitPos =  posInPacket - (8*temp);
        }
       
        
    // Получен "0"
        
    if (li >&& li <6)
        {
          
    posInPacket ++;
        }

         
    // Получен "1"
        
    else if (li >10 && li <15)
        {
          
    bitSet(packet[temp],bitPos);
          
    posInPacket ++;
        }
        
    //digitalWrite(13,LOW);
        // Отправить пакет "большему брату"
        
    if (posInPacket 15)
        {
          
    detachInterrupt(0);
          
    Serial.println("------");

          for(
    int i=0i<4i++)
          {
            
    Serial.print(packet[i], DEC);
            
    Serial.print(" ");
            
    packet[i]=0;
          }
          
    Serial.println("------");
          
    posInPacket 0;
          
    attachInterrupt(0fireUpRISING);
        }
        
        
    //--------------------------//
      
    }
     }

    // Функция обработки прерывания на подъем
    void fireUp()
    {

      
    detachInterrupt(0);
      
    startImpuls timerCount;
      
    attachInterrupt(0fireDownFALLING);
    }

    // Функция обработки прерывания на подъем
    void fireDown()
    {
      
    detachInterrupt(0);
      
    lengthImpuls timerCount startImpuls;
      
    startImpuls=0;
      
    timerCount=0;
      
    attachInterrupt(0fireUpRISING);

    Последний раз редактировалось oops1; 20.02.2011 в 00:12.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •