Jump to content
Sign in to follow this  
zoom-0

arduino и джойстик. подскажите.

Recommended Posts

Posted (edited)

Всем здравствуйте. Народ, подскажите в таком деле.  Как заставить один мотор при управлении джойстиком изменять мощность и направление? 
Вся суть такая: собрал пульт на ардуино с передатчиком nrf24l01 ,на пульте есть два  джойстика - один джойстик управляет двумя серво по осям, на втором джойстике ось Х сервомотор поворота передних колес , а ось Y  это будет основной мотор, вот его не могу заставить крутиться как нужно. Это будет радиоуправляемая машина.  То есть от джойстика она должна ехать с регулировкой мощности (скорости ) вперед и назад от центральной точки джойстика. Пробовал  прописать :

...(joyY), 0, 1023, -255, 255)...      но в этом случае по шим ключ-мосфет  работает только от 0 в сторону +255 и то как-то не корректно. 

подскажите как правильно написать : если джойстик в среднем потожении (+- 5 градусов) мотор выключен, если в сторону +255 едем вперед, если в сторону -255 едем назад. 

Как правильно прописать команду если ,к примеру, я хочу вывести значения движения вперед на 6pin (шим) , а значения движения назад на 5pin (шим). Два этих выхода я подкину к драйверу двигателя.

 

{

if (digitalRead(joyY), 500, 520, 0, 0)

digitalWrite(6,LOW)

digitalWrite(5,LOW)

if (digitalRead(joyY), 521, 1023, 0, 255)

digitalWrite(6,0, 255)

digitalWrite(5,LOW)

if (digitalRead(joyY), 0, 499,0, 255)

digitalWrite(6,LOW)

digitalWrite(5,0, 255)

}         вот так верно будет ?

Edited by zoom-0

Share this post


Link to post
Share on other sites

спасибо за ответ, ( ничЁсе скока циферок в коде... каждое деление прописали...) но сделал немного по другому, у кого-то из скетча дернул кусок :

  if (recieved_data[0] >=128 && recieved_data[0] <=189)data = recieved_data[0], bspeed = map(data, 189, 128, 255, -255), backward(bspeed);
  if (recieved_data[0] >=201 && recieved_data[0] <=255)data = recieved_data[0], fspeed = map(data, 255, 201, 255, -255), forward(fspeed);
  if (recieved_data[0] >190 && recieved_data[0] <200)data = recieved_data[0], stop();

тоже поставил н-мост (но схема другая, тоже на 6 транзюках) и вот тут началось...

спаял... транзисторы сами немного открываются , двигатель покряхтывает, потом начинает крутиться , и все это при условии, что я никаких команд ему не даю. спаял три моста, менял резисторы. В разных мостах делал разные транзисторы. (кт816-817 / 805-837 / 972-973 ) результат всегда один - транзисторы открываются без сигнала и одна пара жутко греется. 

выпаял все из платы - собрал на макетке ( что бы легче резисторы подбирать ), а подбирать ничего не нужно ! на макетке работает идеально ! спаял снова на другой плате... и опять греется и сами открываются. плату помыл. не помогло. Плюнул на эстетичность, собрал опять , но уже на маленькой макетке, и макетку запихал в машину :). все работает.

 

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Сообщения

    • Чем-то на Кристину Асмус похожа. Та тоже ничего была, пока так неудачно замуж не вышла. 
    • Автор даже вопрос не сформулировал, очевидно сам понял пока подводил к вопросу - что любой будет звучать глупо. 
    • Ещё одни грабли, о которых лучше знать, чем не знать. С утра полез запаивать ОУ автопоиска по паузам - КР1401УД1. Итог: спалил. Почему спалил? - а потому что на плате ошибся с ключом. На её 4ю ногу приходит +15В (по дорожкам), на 11ю ногу - ноль (земля). А должно быть с точностью до наоборот!!! Что делать? - паять микросхему зеркально ключу. т.к. она счетверенная, то все остальные ноги, кроме питания, симметричны и работать будет как должно. Причина косяка: банальная невнимательность и инерция мышления. В подавляющем большинстве импортных счетверенных ОУ питание идёт именно так, как я нарисовал в плате-и для них это было бы правильно. Но - не для нашего операционного усилителя Нортона, у которого всё не так, как у остальных.
    • Блин,искал,но выдает поиск одни магазины, есть такой регулятор ,знаю для всевозможных тепловых прессов, думаю есть или нет возможность использования для нижнего подогрева или для паялтного фена  ,но вот как то просто методом тыка не очент хочется,нашел питание ,выход на нагреватель через стмистор,вот какой должен быть датчик температуры и куда . Если кто знает подскажите,если нет ,так фиг с ним 
    • Лишний нагрев КРЕНок 
    • Сделал себе 300-вольтовый пробник для светодиодов, преобразователь из Радио №3/1988 г., потом стабилизатор тока, ссылку на который давал Краб. Получилось очень даже не плохо, качает любые линейки.  
  • Покупай!

×
×
  • Create New...