Таймер

inkleo
Offline
Зарегистрирован: 28.06.2017

Здравствуйте. Сразу предупреждаю: в Ардуино новичок, т.е. совсем, так что многое не понимаю. Мне нужно запихнуть в программу таймер. Через каждые пять секунд на ножки Ардуино должен подаваться импульс, который будет передаваться шаговому двигателю. Arduino Mega 2560. Не знаю, как должен выглядеть этот кусок программы. Помогите, пожалуйста.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

inkleo пишет:

Через каждые пять секунд на ножки Ардуино должен подаваться импульс, который будет передаваться шаговому двигателю. Arduino Mega 2560. Не знаю, как должен выглядеть этот кусок программы. Помогите, пожалуйста.

Имульск какой длительности? Если те же 5 секунд, то 

1. Берёте пример Blink (он есть в Вашем IDE)
2. Заменяете там 1000 на 5000 везде, где найдёте
3. Запускаете и радуетесь жизни.

inkleo
Offline
Зарегистрирован: 28.06.2017

Спасибо за ответ!

Blink - это мерцание светодиода же? Или, если будет подключён шаговой двигатель, импульс на него идти будет?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

inkleo пишет:

Спасибо за ответ!

Blink - это мерцание светодиода же? Или, если будет подключён шаговой двигатель, импульс на него идти будет?

Что подключите к пину на то и будет идти. Кстати, если нужен импульс какой-то другой длительности, то

1. Берёте пример Blink (он есть в Вашем IDE)
2. Заменяете там 1000 на 5000 везде, где найдёте
3. Вместо обоих digitalWrite прописываете
     digitalWrite(PIN, HIGH);
     delay(<длительность импульса>);
     digitalWrite(PIN, LOW);
4. Запускаете и радуетесь жизни.

 
inkleo
Offline
Зарегистрирован: 28.06.2017

Понял. Ещё раз спасибо)

bwn
Offline
Зарегистрирован: 25.08.2014

ЕвгенийП пишет:

Что подключите к пину на то и будет идти. Кстати, если нужен импульс какой-то другой длительности, то

1. Берёте пример Blink (он есть в Вашем IDE)
2. Заменяете там 1000 на 5000 везде, где найдёте
3. Вместо обоих digitalWrite прописываете
     digitalWrite(PIN, HIGH);
     delay(<длительность импульса>);
     digitalWrite(PIN, LOW);
4. Запускаете и радуетесь жизни.

Коварный, однако. Ждем развития сюжета.))))

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

bwn пишет:

Ждем развития сюжета.))))

https://vk.com/popkorn_na_dom

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017
#define  ONTIME 5000    // 5 секунд              включено
#define  OFFTIME  50    //  50 миллисекунд  выключено

extern TTimerList		TimerList;

THandle hTimerTick;

void setup()
{
 pinMode(PIN,OUTPUT);
digitalWrite(PIN,HIGH);
 hTimerTick = TimerList.Add(tmrTick,ONTIME);
}

void tmrTick(void)
{
 static bool state = true;
 state = !state;
 digitalWrite(PIN, state);
 TimerList.NewInterval(hTimerTick,  state ? OFFTIME : ONTIME);
}

сё.  длительности подставь свои

bwn
Offline
Зарегистрирован: 25.08.2014

DetSimen пишет:

#define  ONTIME 5000    // 5 секунд              включено
#define  OFFTIME  50    //  50 миллисекунд  выключено

extern TTimerList		TimerList;

THandle hTimerTick;

void setup()
{
 pinMode(PIN,OUTPUT);
digitalWrite(PIN,HIGH);
 hTimerTick = TimerList.Add(tmrTick,ONTIME);
}

void tmrTick(void)
{
 static bool state = true;
 state = !state;
 digitalWrite(PIN, state);
 TimerList.NewInterval(hTimerTick,  state ? OFFTIME : ONTIME);
}

сё.  длительности подставь свои

Ну вот, все кино испортил. Хотя еще не все потеряно, может и попкорн откушаем.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

откушаем, конечно, я думаю, куда деваться.  Сиди не сиди, начинать то надо. 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Нормально. Осталось определить как новичек это попытается скомпилировать. ;)

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Спросит, думаю

sandrmor
Offline
Зарегистрирован: 24.07.2017

Приветствую, сможете подсказать по вот такому http://arduino.ru/forum/programmirovanie/chastota-i-dlitelnost-impulsa-c... ?

sandrmor
Offline
Зарегистрирован: 24.07.2017

ребят подскажите как скомпилировать? ругается..((

sandrmor
Offline
Зарегистрирован: 24.07.2017

sandrmor пишет:

ребят подскажите как скомпилировать? ругается..((

Arduino: 1.8.3 (Windows 7), Плата:"Atmel atmega328p Xplained mini"
 
D:\Programms\Arduino\arduino-builder -dump-prefs -logger=machine -hardware D:\Programms\Arduino\hardware -hardware C:\Users\MOROZ\AppData\Local\Arduino15\packages -tools D:\Programms\Arduino\tools-builder -tools D:\Programms\Arduino\hardware\tools\avr -tools C:\Users\MOROZ\AppData\Local\Arduino15\packages -built-in-libraries D:\Programms\Arduino\libraries -libraries D:\Projects\libraries -fqbn=atmel-avr-xminis:avr:atmega328p_xplained_mini -vid-pid=0X03EB_0X2145 -ide-version=10803 -build-path C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023 -warnings=more -build-cache C:\Users\MOROZ\AppData\Local\Temp\arduino_cache_208710 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=D:\Programms\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Programms\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=D:\Programms\Arduino\hardware\tools\avr -verbose C:\Users\MOROZ\Desktop\Projects\test_diod\test_diod.ino
D:\Programms\Arduino\arduino-builder -compile -logger=machine -hardware D:\Programms\Arduino\hardware -hardware C:\Users\MOROZ\AppData\Local\Arduino15\packages -tools D:\Programms\Arduino\tools-builder -tools D:\Programms\Arduino\hardware\tools\avr -tools C:\Users\MOROZ\AppData\Local\Arduino15\packages -built-in-libraries D:\Programms\Arduino\libraries -libraries D:\Projects\libraries -fqbn=atmel-avr-xminis:avr:atmega328p_xplained_mini -vid-pid=0X03EB_0X2145 -ide-version=10803 -build-path C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023 -warnings=more -build-cache C:\Users\MOROZ\AppData\Local\Temp\arduino_cache_208710 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=D:\Programms\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Programms\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=D:\Programms\Arduino\hardware\tools\avr -verbose C:\Users\MOROZ\Desktop\Projects\test_diod\test_diod.ino
Using board 'atmega328p_xplained_mini' from platform in folder: C:\Users\MOROZ\AppData\Local\Arduino15\packages\atmel-avr-xminis\hardware\avr\0.6.0
Using core 'arduino' from platform in folder: D:\Programms\Arduino\hardware\arduino\avr
Detecting libraries used...
"D:\Programms\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10803 -DARDUINO_AVR_ATMEL_ATMEGA328P_XMINI -DARDUINO_ARCH_AVR   "-ID:\Programms\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Users\MOROZ\AppData\Local\Arduino15\packages\atmel-avr-xminis\hardware\avr\0.6.0\variants\atmega328p-xmini" "C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\sketch\test_diod.ino.cpp" -o "nul"
"D:\Programms\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10803 -DARDUINO_AVR_ATMEL_ATMEGA328P_XMINI -DARDUINO_ARCH_AVR   "-ID:\Programms\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Users\MOROZ\AppData\Local\Arduino15\packages\atmel-avr-xminis\hardware\avr\0.6.0\variants\atmega328p-xmini" "-ID:\Projects\libraries\Arduino--master" "C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\sketch\test_diod.ino.cpp" -o "nul"
Using cached library dependencies for file: C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\sketch\uTimerList.cpp
Using cached library dependencies for file: D:\Projects\libraries\Arduino--master\uTimerList.cpp
Generating function prototypes...
"D:\Programms\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10803 -DARDUINO_AVR_ATMEL_ATMEGA328P_XMINI -DARDUINO_ARCH_AVR   "-ID:\Programms\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Users\MOROZ\AppData\Local\Arduino15\packages\atmel-avr-xminis\hardware\avr\0.6.0\variants\atmega328p-xmini" "-ID:\Projects\libraries\Arduino--master" "C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\sketch\test_diod.ino.cpp" -o "C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\preproc\ctags_target_for_gcc_minus_e.cpp"
"D:\Programms\Arduino\tools-builder\ctags\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\preproc\ctags_target_for_gcc_minus_e.cpp"
Компиляция скетча...
"D:\Programms\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -Wall -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10803 -DARDUINO_AVR_ATMEL_ATMEGA328P_XMINI -DARDUINO_ARCH_AVR   "-ID:\Programms\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Users\MOROZ\AppData\Local\Arduino15\packages\atmel-avr-xminis\hardware\avr\0.6.0\variants\atmega328p-xmini" "-ID:\Projects\libraries\Arduino--master" "C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\sketch\test_diod.ino.cpp" -o "C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\sketch\test_diod.ino.cpp.o"
Используем предварительно скомпилированный файл: C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\sketch\uTimerList.cpp.o
Compiling libraries...
Compiling library "Arduino--master"
Используем предварительно скомпилированный файл: C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\libraries\Arduino--master\uTimerList.cpp.o
Compiling core...
Using precompiled core
Linking everything together...
"D:\Programms\Arduino\hardware\tools\avr/bin/avr-gcc" -Wall -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p  -o "C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023/test_diod.ino.elf" "C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\sketch\test_diod.ino.cpp.o" "C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\sketch\uTimerList.cpp.o" "C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023\libraries\Arduino--master\uTimerList.cpp.o" "C:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023/..\arduino_cache_208710\core\core_atmel-avr-xminis_avr_atmega328p_xplained_mini_424f4d34b68794ad16606666b5b240d5.a" "-LC:\Users\MOROZ\AppData\Local\Temp\arduino_build_140023" -lm
ldscripts/avr5.xn:17: nonconstant expression for length
 
collect2.exe: error: ld returned 1 exit status
 
Используем библиотеку Arduino--master в папке: D:\Projects\libraries\Arduino--master (legacy)
exit status 1
Ошибка компиляции для платы Atmel atmega328p Xplained mini.