Arduino uno устами ребенка

[ Версия для печати ]
Добавить в Telegram Добавить в Twitter Добавить в Вконтакте Добавить в Одноклассники
Страницы: (5) 1 [2] 3 4 ... Последняя »  К последнему непрочитанному [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]
Les1920 14 ноя. 2016 г. в 21:56
Демон в коре  •  На сайте 12 лет
0
Baldy
То что дска это дает понятно. Но зачем в теле это ?
Baldy 14 ноя. 2016 г. в 21:59
Землянин  •  На сайте 10 лет
0
Les1920
Хз, код из сети, другого нет, но раз рабочий, то все пользуют, буду сравниванть переменные часов дальше- может заработает наконец.
Les1920 14 ноя. 2016 г. в 22:06
Демон в коре  •  На сайте 12 лет
1
Baldy
тебе проще одним if обойтись
if (время>=время включения&время<время выключения)
{
дергаем ножку порта в 1
записываем состояние необходимых переменных
}
else
{
дергаем ножку порта 0
}
Alexlab 14 ноя. 2016 г. в 22:11
Ярила  •  На сайте 11 лет
0
Дела на АВРках простенькие приборчики на ассемблере... тут купил ардуину за 300 рублей... понял, что жил зря.
Les1920 14 ноя. 2016 г. в 22:14
Демон в коре  •  На сайте 12 лет
0
Alexlab
Цитата
Дела на АВРках простенькие приборчики на ассемблере... тут купил ардуину за 300 рублей... понял, что жил зря.

Пф....asm редко кто юзает уже
WinAVR CodeVision AVR куча бейсиков всяких и даж паскаль есть как язык.
Плюс у друины только один это возможность программировать ее через USB, без применения доп оборудования.
Но для меня на этом все и закончилось.

Это сообщение отредактировал Les1920 - 14 ноя. 2016 г. в 22:16
registerfree 14 ноя. 2016 г. в 22:26
Шутник  •  На сайте 11 лет
1
Цитата (Baldy @ 14.11.2016 - 21:06)

Вот в этом блоке надо что то придумать, типа операции сравнения больше-меньше, но что то не получается.
if (setMinClockOff == minute && setHorClockOff == hour
      && second == 0) digitalWrite(outPin, LOW);
  if (setMinClockOn == minute && setHorClockOn == hour
      && second == 0) digitalWrite(outPin, HIGH)


Попробуйте так:
Код


long timeOff = setHorClockOff * 3600 + setMinClockOff *60;
long timeOn = setHorClockOn * 3600 + setMinClockOn * 60;
long timeCurent = hour* 3600 + minute *60 + second;

boolean isOn;
if(timeOn<=TimeOff)
{   // Если выключение позже включения, например 7:30 On, 9:45 Off
  isOn = timeCurent >= timeOn && timeCurent <TimeOff;
}
else
{ // Если выключение раньше включения, например 9:45 On, 7:40 Off(на следующий день)
isOn = timeCurrent<TimeOff || timeCurrent>=timeOn;
}
digitalWrite(outPin, isOn);




Это сообщение отредактировал registerfree - 14 ноя. 2016 г. в 22:35
Baldy 14 ноя. 2016 г. в 22:29
Землянин  •  На сайте 10 лет
1
Цитата
Плюс у друины только один это возможность программировать ее через USB, без применения доп оборудования.

Не только- дешевые шилды с обвязкой буквально за копейки, куча библиотек под перифирию- датчики, дисплеи, тачскрины, блютус модули. Бери и собирай что хошь.
А с голой Мегой задолбаешься платы изготавливать и паять. Хотя по деньгам еще дешевле выйдет.
Gdialex 14 ноя. 2016 г. в 22:31
Ярила  •  На сайте 10 лет
1
Цитата (ra9mli @ 14.11.2016 - 21:29)
Не знаю почему минусят тему, по мне так лучше бы наоборот раскручивали таких молодых в пример другим балбесам, которые днями сидят в своих онлайн игрулях и ни хрена не делают.
От меня зеленка.

Слишком дорогое удовольствие, если что серьезное ваять. А ерунду - интереса не хватит.
Les1920 14 ноя. 2016 г. в 22:32
Демон в коре  •  На сайте 12 лет
0
Baldy
Цитата
дешевые шилды с обвязкой буквально за копейки

Их и на меге можно заюзать....
Цитата
куча библиотек под перифирию- датчики, дисплеи, тачскрины, блютус модули

Библиотеки да согласен, на других языках много ручками писать приходится
Цитата
А с голой Мегой задолбаешься платы изготавливать и паять. Хотя по деньгам еще дешевле выйдет.

Не так чтоб задолбаешся. Но иногда нужно моноблочное устройство.
Les1920 14 ноя. 2016 г. в 22:33
Демон в коре  •  На сайте 12 лет
0
Gdialex
Цитата
Слишком дорогое удовольствие, если что серьезное ваять. А ерунду - интереса не хватит.

Короче пора валить на STM32 dont.gif
Ancifero 14 ноя. 2016 г. в 22:33
Продам гараж  •  На сайте 13 лет
0
Цитата (Лягух @ 14.11.2016 - 23:38)
Ардуино - это что-то типа мини-компа?
Помню одно время много было разговоров про какой-то другой с трудным названием.

Рашбери Пи?
Nightt 14 ноя. 2016 г. в 22:39
Хохмач  •  На сайте 14 лет
0
Klopsikys
девочку на танцы, фитнес или курсы актерского мастерства еще отправьте. стесняется она у вас. вырастет- спасибо скажет
Долбоносик 14 ноя. 2016 г. в 22:44
Балагур  •  На сайте 14 лет
0
То есть если я вообще ничего не понимаю в программировании то для меня это все дремучий лес,так?
Les1920 14 ноя. 2016 г. в 22:49
Демон в коре  •  На сайте 12 лет
1
Цитата (Долбоносик @ 14.11.2016 - 22:44)
То есть если я вообще ничего не понимаю в программировании то для меня это все дремучий лес,так?

Абсолютно дремучий.
Для винды проще, скомпилил-запустил все видно
А тут скомпилил-загрузил в мк-нихрена не работает lol.gif
Azazelius 14 ноя. 2016 г. в 22:50
Шутник  •  На сайте 15 лет
1
Цитата (Les1920 @ 14.11.2016 - 21:14)
Пф....asm редко кто юзает уже
WinAVR CodeVision AVR куча бейсиков всяких и даж паскаль есть как язык.
Плюс у друины только один это возможность программировать ее через USB, без применения доп оборудования.
Но для меня на этом все и закончилось.

ты не прав.
Baldy 14 ноя. 2016 г. в 22:54
Землянин  •  На сайте 10 лет
0
Цитата
Короче пора валить на STM32

Из за DMA?
Les1920 14 ноя. 2016 г. в 22:55
Демон в коре  •  На сайте 12 лет
0
Цитата (Azazelius @ 14.11.2016 - 22:50)
Цитата (Les1920 @ 14.11.2016 - 21:14)
Пф....asm редко кто юзает уже
WinAVR CodeVision AVR куча бейсиков всяких и даж паскаль есть как язык.
Плюс у друины только один это возможность программировать ее через USB, без применения доп оборудования.
Но для меня на этом все и закончилось.

ты не прав.

Может и не прав но WinAVR и CodeVision намного мне более понятны и просты.
а WinAVR еще и шустро работает.
Les1920 14 ноя. 2016 г. в 22:57
Демон в коре  •  На сайте 12 лет
0
Цитата (Baldy @ 14.11.2016 - 22:54)
Цитата
Короче пора валить на STM32

Из за DMA?

Не просто два комплекта лежат lol.gif
Ну и своих плюшек у них много. В том числе и очень низкое потребление
VikMan 14 ноя. 2016 г. в 22:59
Юморист  •  На сайте 12 лет
2
Цитата (Baldy @ 14.11.2016 - 21:06)
Вот в этом блоке надо что то придумать, типа операции сравнения больше-меньше, но что то не получается.
if (setMinClockOff == minute && setHorClockOff == hour
      && second == 0) digitalWrite(outPin, LOW);
  if (setMinClockOn == minute && setHorClockOn == hour
      && second == 0) digitalWrite(outPin, HIGH)

Простите я тут с Java колокольни подзайду.
А почему такое жесткое сравнение ?
Почему сразу не сравнить что время находится в диапазоне включения ?
Что-то вроде:
if (setMinClockOff >= minute && setHorClockOff >= hour && setMinClockOn <= minute && setHorClockOn <= hour) {
digitalWrite(outPin, HIGH);
} else {
digitalWrite(outPin, LOW);
}


Не пинайте если что, ардуино не трогал, не знаю как оно там. Я думаю в теплице точность до секунд не важна ))). Так после включение и вхождения в цикл он будет определять диапазон а не точное время включения.

Это сообщение отредактировал VikMan - 14 ноя. 2016 г. в 22:59
Baldy 14 ноя. 2016 г. в 23:00
Землянин  •  На сайте 10 лет
0
Цитата (Долбоносик @ 14.11.2016 - 22:44)
То есть если я вообще ничего не понимаю в программировании то для меня это все дремучий лес,так?

Уроков для чайников хренова гора на ютубе. Там главное вникнуть в суть, а там само пойдет или поползет.. Ардуина проста тем, что при подключении библиотеки сразу вываливается пример ее использования. Подставляешь свои значения и вперед. Есть графические среды - но у меня они чего то не вызвали восторга.
Baldy 14 ноя. 2016 г. в 23:02
Землянин  •  На сайте 10 лет
0
VikMan
Завтра залью- отпишу, если компилятор проглотит.
pwal 14 ноя. 2016 г. в 23:02
Шутник  •  На сайте 11 лет
0
Цитата (Baldy @ 15.11.2016 - 01:06)
Кстати, пользуясь случаем хочу решить одну засаду- собирал суточный таймер для включения полива в теплицу по времени на часах реального времени DS1307 в общем все работает, кроме очень неприятного момента- при выключении питания ( читай перезапуска МК), происходит выключение устройства, потому что значение переменных жестко приравнивается к установленным, а надо бы диапазон задать, чтоб включение происходило при нахождении в этом диапазоне.

EEPROM - тут твое счастье с переменными)))
VikMan 14 ноя. 2016 г. в 23:02
Юморист  •  На сайте 12 лет
0
Цитата (Baldy @ 14.11.2016 - 23:02)
VikMan
Завтра залью- отпишу, если компилятор проглотит.

За синтаксис не ручаюсь но идея я думаю ясна.
Azazelius 14 ноя. 2016 г. в 23:05
Шутник  •  На сайте 15 лет
0
Цитата (Baldy @ 14.11.2016 - 20:06)
Вот в этом блоке надо что то придумать, типа операции сравнения больше-меньше, но что то не получается.
if (setMinClockOff == minute && setHorClockOff == hour
      && second == 0) digitalWrite(outPin, LOW);
  if (setMinClockOn == minute && setHorClockOn == hour
      && second == 0) digitalWrite(outPin, HIGH)

мдя... Начинай с большего Год потом месяц потом календарное число часы минута секунды....

Для твоего случая, включить что-то если

ели час лежит в диапазоне от часON до часOff то
<p>ели мин лежит в диапазоне от минON до минOff то
<p> <p>ели секлежит в диапазоне от секON до секkOff то
<p> <p> <p>вкл что-то
иначе гасим что-то

Это сообщение отредактировал Azazelius - 14 ноя. 2016 г. в 23:07
megajaba 14 ноя. 2016 г. в 23:06
Ярила  •  На сайте 13 лет
0
Цитата (Baldy @ 14.11.2016 - 22:54)
Цитата
Короче пора валить на STM32

Из за DMA?

как минимум - из-за того что он быстрее в разы, больше возможностей, и уже чуть не дешевле чем avr...
Понравился пост? Еще больше интересного в Телеграм-канале ЯПлакалъ!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 18619
0 Пользователей:
Страницы: (5) 1 [2] 3 4 ... Последняя » [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]

 
 



Активные темы






Наверх