123
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: nightmare, Huntswarrior, Aleks_Crow 
Форум » Программирование микроконтроллеров AVR, PIC » Вопросы по програмированию » Arduino + дальномер Sharp (*icon-0*)
Arduino + дальномер Sharp
Отправлено 05.11.2011 - 12:341
БЛОГГЕР
340 сообщений
Мужчина
Добрый день, форумчане!
Дали мне на выходные платформу CraftDuino (ATmega328) погонять. Второй день радуюсь как ребёнок на НовыйГод biggrin Выдали мне только платформу и антистатический пакетик. До вчерашнего дня я дело, с такими "готовыми" вещами, не имел. Взял USB шнур от принтера, скачал ArduinoIDE. Для сравнения: Сочетание Bascom + Proteus или mega8 + програматор Громова + Uniprof + полгода = светодиодное моргало и пару не рабочих на практике проектов с ШИМ и серво приводами. Сочетание С (не знаю какой точно) + CraftDuino + USB шнур (вместо програматора) + один вечер личного времени = светодиодные моргалки, управление яркостью светиков по средствам ШИМ, управление сервой, измерение уровня освещёности (при помощи фоторезистора), подключил дальномер (данные с последних двух пунктов смотрел с компа biggrin ) Прогресс на лицо. Не зря Ардуину называют "быстрым стартом". Ушёл я от темы... Возвращаюсь...
У такого зверя как дальномер нелинейная зависимость выходного напр от расстояния до объекта. Оч хочется получить не скачущие цифры, а в полне конкретные сантиметры (выше точность и не нужна). Со вчерашнего вечера перекапываю сеть в поисках библиотек и формул. Дальномер GP2Y0A21YK0F (10-80см).
Из мною найденного:
Link - не нашёл где скачать библиотеку.
Link - скачал, установил, но показания там страшно брешут (мож я что сделал не так?)

Фото схемы:



Помогите мне не бросить всё это дело в дальний ящик happy


Прикрепление
4121134.jpg(222Kb)
Профиль Личное сообщение Дом. страница icq Skype
16
Отправлено 05.11.2011 - 23:082
Администраторы
3319 сообщений
Мужчина
Не бросай, а то опять заберут и не дадут снова ))

Да, дуино на то и дуино, чтобы быстро и легко, ну или медленно и легко tongue

Добавлено (05.11.2011, 23:08)
---------------------------------------------
Pe40rA,

-приведи примеры кода, использованных в этом проекте, вдруг кому интересно будет. С комментами.



Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
31
Отправлено 05.11.2011 - 23:403
БЛОГГЕР
340 сообщений
Мужчина
Вопрос про дальномер остаётся открытым.
Quote (S-T-A-L-K-E-R(А))
Не бросай, а то опять заберут и не дадут снова ))

Отдам, сам себе что-нибудь соберу! Могу развеять миф о том что код в С компактней чем в Bascom'е, жрут флэша оба одинакого много! А в остальном всё просто отлично!

Приводить в пример нечего cry Там обычный AnologRead... Попозже, когда научусь biggrin А пока подразню аудиторию, в придачу к Ардуине выклянчал RGB светодиод, вот что я с ним сделал:



Код:
Code

int value = 0; //переменная для хранения значения ШИМа

int Gled = 9;    // Зелёный - 9 цифровой выход
int Bled = 10;    // Синий - 10 цифровой выход
int Rled = 11;    // Красный - 11 цифровой выход

void setup() // как я понял, суда можно пихать всякие начальные настройки
               // процедуры типа setup и initialization
{   
    analogWrite(Gled, 200); // зажгём один светик
    analogWrite(Bled, 0); // чтобы получилось красивое свечение
    analogWrite(Rled, 0); // по кругу
}   

     
void loop() // бесконечный цикл
{   
    for(value = 0 ; value <= 200; value+=5) // постепенно зажигаем светодиод (от min до max)   
    {   
      analogWrite(Rled, value); //даём значение value на выход
      delay(30); //немножко потянем удовольствие                             
    }   
      for(value = 200; value >=0; value-=5) // постепенно тушим светик
    {   
      analogWrite(Gled, value);   
      delay(30);   
    }

      for(value = 0 ; value <= 200; value+=5)
    {   
      analogWrite(Bled, value);    
      delay(30);              
    }

      for(value = 200; value >=0; value-=5)   
    {   
      analogWrite(Rled, value);   
      delay(30);   
    }   

       for(value = 0 ; value <= 200; value+=5)
    {   
      analogWrite(Gled, value);    
      delay(30);              
    }

      for(value = 200; value >=0; value-=5)   
    {   
      analogWrite(Bled, value);   
      delay(30);   
    }   
}

Гигантское спасибо за предоставленные компоненты магазину RoboCraft.ru!!!


Профиль Личное сообщение Дом. страница icq Skype
16
Отправлено 06.11.2011 - 15:374
Начальная группа
1798 сообщений
Мужчина
Ответ на вопрос: http://roboforum.ru/wiki....B_SHARP


Профиль Личное сообщение Дом. страница icq Skype
37
Отправлено 08.11.2011 - 00:015
БЛОГГЕР
340 сообщений
Мужчина
Я натыкался на этот материал, но так и ни чего не понял, кроме графика зависимости. В конце линка есть ссыль на библиетеку 'Sharp.h" кот у меня и не заработала (точнее не давала никаких внятных результатов).
Жаль, но вопрос придётся отложить на неопределённый срок, пора возвращать Дуину cry


Профиль Личное сообщение Дом. страница icq Skype
16
Форум » Программирование микроконтроллеров AVR, PIC » Вопросы по програмированию » Arduino + дальномер Sharp (*icon-0*)
Страница 1 из 11
Поиск: