Ви не увійшли.
Сторінки 1
Спасибо, за ссылку. Пока что вроди старый преподаватель нашел окна в своем графике. От почтового робота форума пришло сообщение от "Михаила" с предложением. Поэтому дальше адрессую сообщение ему - вы не оставили своих контактных данных, продублируйте, пожалуйста, чтобы как-то с вами связатся.
Образование у меня инженерное. Но учеба закончилась более 15 лет назад и работаю я совершенно в другом направлении. Откровенно говоря, можна в курс и немного основ физики добавлять))) На уровне хобби покупал себе лазерные чпу, 3дпринтеры - иногда в гараже помастерить чето люблю. Но всем своим поделкам хотелось бы добавить иногда какой-то динамики - движение, света, поэтому периодически смотрел в сторону МК. Некоторое время работал уже с преподавателем, но у него немного разрыв по работе, поэтому обучение остановили. Работали 2-3 часа в неделю. 200 грн/час. Вот стартовые вам предоставил, дальше жду комментариев и предложений.
Я же все ясно написал в первом посте. Я не сильно люблю самообучение - нет структурированности, набора ДЗ; кому как, но я больше приверженец курсов, вебинаров, репетитора. Люблю я учится) А почему акцент именно на "Взрослых", да потому-что интернет завален кучей обьявлений от всяких типа школ робототехники, академий и прочей хрени (ребенок в одну из таких ходит, поэтому знаю о чем говорю) именно ДЛЯ ДЕТЕЙ, типа от 10 до 14 лет и при этом с личным присутсвием. А вот чтоб личный преподаватель, да еще и опытный, да и еще дистанционно по skype или viber, вот тут уже возникли проблемы. Поэтому и решил спросить на профильном форуме, но судя по отписавшимся явно не по адрессу написал.
Дамс, "дотепники"... юмор на уровне упоротого СТОшника... А по делу, все на самообучении?
Здраствуйте!
Посоветуйте онлайн курсы или преподавателя по программированию, реализации проэктов на базе Arduino и именно для взрослых, а то еще для детей вариантов куча, а с взрослыми дело туго обстоит.
без обид, но ваш вопрос это всё равно что " научите меня программировать".
на форумах этому не научат, для этого есть книжки, интернет.
здесь только могут что то подсказать или посоветовать.
Без обид, абсолютно согласен, так и учу по книжке Jeremy Blum'а, по видеоурокам всяких самоделкиных и еще больше по примерам готовых проэктов. В интернете видел готовый проэкт, его логика мне понятна https://m.geektimes.ru/post/258348/, но мне хотелось чтобы управление было на кнопках и с дисплеем. Запуск работы по датчику тоже делал, там как-то проблем не было, а тут почему-то все виснет(
здравствуйте, я занимаюсь робототехникой, чпу системами, сервоприводы изготавливаю сам....из любых моторчиков...энкодеры тоже...
изготавливаю с нуля платы и любую электронику... сварочные покрасочные работы тоже не проблема....свой цех со всем оборудованием...есть плазменный с чпу и фрезерный с чпу станки.....так что эту гирлянду изготовить вообще не проблема...из подручных дешевых моторчиков...пишите на почту будем договариваться........
А портфолио или примеры ваших работ можна глянуть?
Здраствуйте, ребята.
Помогите разрабратся как написать код рабочий код. Делаю устройство включения нагрузки по таймеру. Устройство имеет lcd дисплей, 4 кнопки - 2 повышают/понижают период включения нагрузки, 2 повышают/понижают время работы нагрузки и собственно саму нагрузку.
С вводом параметров и последующим их выводом на дисплей разобрался, но как заставить устройство работать по этим введеным параметрам никак не могу понять. Вот набросок скетча, при включении процедуры включения нагрузки просто виснут кнопки и ничего не работает. Прошу не судить строго, программирование контроллеров, да и вообще программирование как таковое только начал изучать. Кто-то может сказать - купи розетку с таймером и не мучайся - отвечу - согласен, уже купил несколько )), но чтоб удоволетворить свое самолюбие и для работы над последующими устройствами хотелось бы решить задачу до конца)
Начал подумывать, возможно переделать схему на работу не по периодам, а по таймеру реальных часов, примеров скетчей по таким схемам вроди как побольше, чтобы разобратся.
Код
"
//Include the LCD library and initialize:
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
//Pin Connections
const int TimeOfWorkUP_Butt =11;
const int TimeOfWorkDOWN_Butt =10;
const int PeriodEveryUP_Butt =9;
const int PeriodEveryDOWN_Butt =8;
const int Nasos =13;
//Variables for debouncing
boolean lastDownWorkButton = LOW;
boolean currentDownWorkButton = LOW;
boolean lastUpWorkButton = LOW;
boolean currentUpWorkButton = LOW;
boolean lastDownPeriodButton = LOW;
boolean currentDownPeriodButton = LOW;
boolean lastUpPeriodButton = LOW;
boolean currentUpPeriodButton = LOW;
int worktime = 10; //Время работы нагрузки в процедуре
int periodevery = 12; //Период между запусками работы нагрузки в процедуре
int worktimereal; // Время работы нагрузки
int periodeveryreal; // Период между запусками работы нагрузки
/*// Процедура работы насоса
void water()
{
digitalWrite(Nasos, HIGH); // start work
delay(worktimereal);
digitalWrite(Nasos, LOW); // stop work
delay(periodeveryreal);
}*/
void setup()
{
pinMode(Nasos, OUTPUT);
digitalWrite(Nasos, LOW);
//Set up the LCD's number of columns and rows
lcd.begin(16, 2);
//Make custom characters
lcd.createChar(0, degree);
lcd.createChar(1, fan_off);
lcd.createChar(2, fan_on);
//Print a static message to the LCD
lcd.setCursor(0,0);
lcd.print("Workevery:");
lcd.setCursor(14,0);
lcd.print("hr");
lcd.setCursor(0,1);
lcd.print("Worktime:");
lcd.setCursor(13,1);
lcd.print("min");
}
//A debouncing function that can be used by multiple buttons
boolean debounce(boolean last, int pin)
{
boolean current = digitalRead(pin);
if (last != current)
{
delay(5);
current = digitalRead(pin);
}
return current;
}
void loop()
{
//Debounce both buttons
currentDownWorkButton = debounce(lastDownWorkButton, TimeOfWorkDOWN_Butt);
currentUpWorkButton = debounce(lastUpWorkButton, TimeOfWorkUP_Butt);
currentDownPeriodButton = debounce(lastDownPeriodButton, PeriodEveryDOWN_Butt);
currentUpPeriodButton = debounce(lastUpPeriodButton, PeriodEveryUP_Butt);
//Понижения значения периода работы
periodevery = constrain(periodevery, 1, 24);
if (lastDownPeriodButton== LOW && currentDownPeriodButton == HIGH)
{
periodevery--;
}
//Повыщение значения периода работы
else if (lastUpPeriodButton== LOW && currentUpPeriodButton == HIGH)
{
periodevery++;
}
//Print start time
lcd.setCursor(11,0);
lcd.print(periodevery);
lcd.print(" ");
lastDownPeriodButton = currentDownPeriodButton;
lastUpPeriodButton = currentUpPeriodButton;
//Понижение значения времени работы нагрузки
worktime = constrain(worktime, 1, 60);
if (lastDownWorkButton== LOW && currentDownWorkButton == HIGH)
{
worktime--;
}
//Повышение значения времени работы нагрузки
else if (lastUpWorkButton== LOW && currentUpWorkButton == HIGH)
{
worktime++;
}
//Print work time
lcd.setCursor(10,1);
lcd.print(worktime);
lcd.print(" ");
lastDownWorkButton = currentDownWorkButton;
lastUpWorkButton = currentUpWorkButton;
//Рабочий процесс
/* worktimereal = worktime*1000*100;
periodeveryreal = periodevery*1000*60;*/
/* water ();*/
}
"
vvr, большое спасибо, сработало)
Здраствуйте!
Arduino, да и вообще программирование, начинаю только изучать, поэтому не судите строго) И так кратко и схеме - имеются 4 кнопки: 2 меняют один параметр вверх/вниз, 2 меняют второй параметр вверх/вниз. Все работает, все хорошо, но на экране при смене параметра с двухзначного на однозначный, например с 10 на 9, девятка отображается неккоректно. Помогите разобратся из-за чего это и как решить.
Часть кода, видео и, кому удобней, фото прилагаю.
https://www.youtube.com/watch?v=QFmDDGEOO-4
//Turn down the work time
worktime = constrain(worktime, 5, 60);
if (lastDownWorkButton== LOW && currentDownWorkButton == HIGH)
{
worktime--;
}
//Turn up the work time
else if (lastUpWorkButton== LOW && currentUpWorkButton == HIGH)
{
worktime++;
}
//Print work time
lcd.setCursor(10,1);
lcd.print(worktime);
lastDownWorkButton = currentDownWorkButton;
lastUpWorkButton = currentUpWorkButton;
Сторінки 1