Delphi+arduino+шаговый двигатель 28BYJ-48 и драйвер ULN2003
- Войдите на сайт для отправки комментариев
Добрый день, уважаемые пользовали.
Приобрел шаговый двигатель 28BYJ-48 и драйвер ULN2003. Нашел скетч для двигателя, работает в Arduino IDE (без использования библиотеки <Stepper.h>). Попытался для управления шаговым двигателем написать простое приложение, на Delphi. В целом, приложение слушает порт (включает/выключает), шаговый двигатель откликается на это включение/отключение порта выполнением последней команды, запущенной с Arduino IDE.
Но вот с отправкой команд через com-port на драйвер шагового двигателя беда. Я пытался сделать это так: в некий txt документ писал код (копировал код из скетча). Например, этот:
int in1 = 2; int in2 = 3; int in3 = 4; int in4 = 5; const int dl = 5; void setup() { pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); } void loop() { digitalWrite( in1, HIGH ); digitalWrite( in2, HIGH ); digitalWrite( in3, LOW ); digitalWrite( in4, LOW ); delay(dl); digitalWrite( in1, LOW ); digitalWrite( in2, HIGH ); digitalWrite( in3, HIGH ); digitalWrite( in4, LOW ); delay(dl); digitalWrite( in1, LOW ); digitalWrite( in2, LOW ); digitalWrite( in3, HIGH ); digitalWrite( in4, HIGH ); delay(dl); digitalWrite( in1, HIGH ); digitalWrite( in2, LOW ); digitalWrite( in3, LOW ); digitalWrite( in4, HIGH ); delay(dl); }
Считываю с текстового документа в переменную tempSketch типа string информацию и пытаюсь передать командой
CommPortDriver1.SendString(tempSketch);
Но шаговый двигатель не отвечает взаимностью. И тут я подумал, что может быть надо предварительно как-то конвертировать текст из скетча?
Пожалуйста подскажите, как решить проблему передачи скетча через Delphi в драйвер шагового двигателя?
Пожалуйста подскажите, как решить проблему передачи скетча через Delphi в драйвер шагового двигателя?
Никак. Сначала скетч надо скомпилировать канпилятором С++. Потом, уже сканпилированный, загрузить загрущиком в память ардуино.
Но. В уже написанный, откомпилированный и загруженный скетч можно передавать ДАННЫЕ. Через объект Serial.
https://www.arduino.cc/reference/en/language/functions/communication/ser...
Какова основная идея этой эквилибристики с передачей исходного текста через Serial?
Хорошо. Выходит, GUI можно писать только на IDE под C++? На Delphi это сделать не получится?
Странно. Но ведь для мигания светодиодов достаточно каких-то примитивных команд.
На Delphi это сделать не получится?
Не получица. Не компилирует Delphi для AVR процессоров. А вот FreePascal для AVR есть. Но с ограничениями.
Воттута http://wiki.freepascal.org/AVR написана, как его поставить
Каких команд? Вам что-то приснилось, по-моему.
Каких команд? Вам что-то приснилось, по-моему.
Человек вообще не вдупляет как процессоры работают, и что они разные есть. Хорошо, если это не выпускник профильного ВУЗа.
DetSimen, sadman41, большое спасибо спасибо за ответы.
Тему можно закрывать. Вектор поисков теперь мне почти ясен. Во всяком случае, на худой конец, можно и черeз Arduino IDE просто запускать скетчи.
Каких команд? Вам что-то приснилось, по-моему.
Человек вообще не вдупляет как процессоры работают, и что они разные есть. Хорошо, если это не выпускник профильного ВУЗа.
Будьте спокойны, не выпускник профильного вуза :)
Во всяком случае, на худой конец, можно и черeз Arduino IDE просто запускать скетчи.
А можно поставить Visual Studio Community + Visual Micro. И работать в нормальной IDE, с подсветкой, intellisence, и другими Delphi-подобными плюшками, а не в этом сраном убожестве (Arduino IDE), чуть интеллектуальнее блокнота.
Спасибо за подсказку!
Выглядит примерно так
Тему можно закрывать. Вектор поисков теперь мне почти ясен. Во всяком случае, на худой конец, можно и черeз Arduino IDE просто запускать скетчи.
xucc - не в обиду, но уверен, что вы ничего не поняли. Последняя фраза совершенно бредовая, потому что "черeз Arduino IDE просто запускать скетчи" нельзя. И главное, это совершенно не нужно. Управлять шаговым двигателем из программы на Дельфи проще простого. И "вектор поиска" ваш смотрит совсем не туда.
DedSimen sadman41 - коллеги, кончайте клиенту мозг рушить. Вы же отлично понимаете, что ему нужно совсем не это и АВР Студия ему в его задаче не поможет.
Автор, передавайте в порт текстовые команды (типа протокол обмена), которые будут в ардуине разбираться и выполнять некие требуемые действия. GUI часть - на чем хотите.
b707, я не рушу, я в самом начале еще писал
В уже написанный, откомпилированный и загруженный скетч можно передавать ДАННЫЕ. Через объект Serial.
https://www.arduino.cc/reference/en/language/functions/communication/ser...
Но ТС думает, и спрашивал, как можно с помощью Delphi залить ТЕКСТ программы прямо в дуню.
Вот изначальный вопрос:
Я пытался сделать это так: в некий txt документ писал код (копировал код из скетча). Например, этот:
Считываю с текстового документа в переменную tempSketch типа string информацию и пытаюсь передать командой
Но шаговый двигатель не отвечает взаимностью. И тут я подумал, что может быть надо предварительно как-то конвертировать текст из скетча?
Пожалуйста подскажите, как решить проблему передачи скетча через Delphi в драйвер шагового двигателя?
ТС спрашивал, как можно с помощью Delphi залить ТЕКСТ программы прямо в дуню.
Он очевидно ничего не понимает в вопросе, поэтому и спрашивает глупость.
Он очевидно ничего не понимает в вопросе, поэтому и спрашивает глупость.
прям дубль моего сообщения #6
И работать в нормальной IDE, с подсветкой, intellisence, и другими Delphi-подобными плюшками, а не в этом сраном убожестве (Arduino IDE), чуть интеллектуальнее блокнота.
99.999 % здесь обитающих вполне устраивает сраная убогая среда ардуино, без всяких плюшек и подсветок)))))
а писать что то на тёмном фоне тоже не всем в кайф...
писать что то на тёмном фоне тоже не всем в кайф...
Привычка, со времен Борландовского ТurboС 3.1