| Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) | |
|
+68Рифат leshka.16 720x576 alekseevih A.N.Pilichev bonusssss Daimos_kz Sergey egonja andre9223 кек Константин 2010 Andrey_DV_KYV Александр_1 val_33 moveo Алексей 170271 RusLang_1995 Саня Greck Admiror Evgeny Konst DJkey22 Артур fineobjects.ru kent1541 Galwer Кулибин88 Вадим Serega552 sten1986 spazma IgorBorNN AKern ShOleg AlexByr zemepan xlkxlk Из Сибири Александр martynoff Vancer Alex13 Гайдар DEMFER Илья Кулибин Олега viktor1983 Max228 Shuraley portaid gind1 ALEXPCB shuhran Sovest yury_fayuk ptaha999 sser Дмитрий Москаленко rf68 snooker22 Pusistik Фархат Артёмм Константин kildeath Участников: 72 |
|
Автор | Сообщение |
---|
IgorBorNN
Сообщения : 116 Дата регистрации : 2017-07-15
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Пт Июл 21, 2017 9:21 pm | |
| Сереж, а есть разница какую арду использовать, нано или уно ? | |
|
| |
sser Admin
Сообщения : 1034 Дата регистрации : 2013-02-08 Возраст : 50 Откуда : Нижний Новгород
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Вс Июл 23, 2017 11:27 pm | |
| | |
|
| |
IgorBorNN
Сообщения : 116 Дата регистрации : 2017-07-15
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Пн Июл 24, 2017 9:53 am | |
| Привет Сереж !!! Скорей всего ты куда то ездил отдыхать в выходные, я прям заждался !!! Я нашел скетч который очень хорошо работает на драйвер двигателей, который сразу управляет при движении и поворотами, но он только для драйвера, а как к нему прилепить кнопку и передатчики из твоего скутча не знаю. - Код:
-
// Motor A int enA = 9; int in1 = 8; int in2 = 7; // Motor B int enB = 3; int in3 = 5; int in4 = 4; // Joystick Input int joyVert = A0; // Vertical int joyHorz = A1; // Horizontal // Motor Speed Values - Start at zero int MotorSpeed1 = 0; int MotorSpeed2 = 0; // Joystick Values - Start at 512 (middle position) int joyposVert = 512; int joyposHorz = 512; void setup() { // Set all the motor control pins to outputs pinMode(enA, OUTPUT); pinMode(enB, OUTPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT);
// Start with motors disabled and direction forward
// Motor A
digitalWrite(enA, LOW); digitalWrite(in1, HIGH); digitalWrite(in2, LOW);
// Motor B
digitalWrite(enB, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); }
void loop() {
// Read the Joystick X and Y positions joyposVert = analogRead(joyVert); joyposHorz = analogRead(joyHorz);
// Determine if this is a forward or backward motion // Do this by reading the Verticle Value // Apply results to MotorSpeed and to Direction
if (joyposVert < 460) {
// This is Backward // Set Motor A backward
digitalWrite(in1, LOW); digitalWrite(in2, HIGH);
// Set Motor B backward
digitalWrite(in3, LOW); digitalWrite(in4, HIGH);
//Determine Motor Speeds // As we are going backwards we need to reverse readings
joyposVert = joyposVert - 460; // This produces a negative number joyposVert = joyposVert * -1; // Make the number positive
MotorSpeed1 = map(joyposVert, 0, 460, 0, 255); MotorSpeed2 = map(joyposVert, 0, 460, 0, 255);
}
else if (joyposVert > 564)
{ // This is Forward // Set Motor A forward
digitalWrite(in1, HIGH); digitalWrite(in2, LOW);
// Set Motor B forward
digitalWrite(in3, HIGH); digitalWrite(in4, LOW);
//Determine Motor Speeds
MotorSpeed1 = map(joyposVert, 564, 1023, 0, 255); MotorSpeed2 = map(joyposVert, 564, 1023, 0, 255);
}
else {
// This is Stopped
MotorSpeed1 = 0; MotorSpeed2 = 0;
}
// Now do the steering // The Horizontal position will "weigh" the motor speed // Values for each motor
if (joyposHorz < 460)
{
// Move Left // As we are going left we need to reverse readings
joyposHorz = joyposHorz - 460; // This produces a negative number joyposHorz = joyposHorz * -1; // Make the number positive
// Map the number to a value of 255 maximum
joyposHorz = map(joyposHorz, 0, 460, 0, 255); MotorSpeed1 = MotorSpeed1 - joyposHorz; MotorSpeed2 = MotorSpeed2 + joyposHorz;
// Don't exceed range of 0-255 for motor speeds
if (MotorSpeed1 < 0)MotorSpeed1 = 0; if (MotorSpeed2 > 255)MotorSpeed2 = 255;
}
else if (joyposHorz > 564)
{
// Move Right // Map the number to a value of 255 maximum
joyposHorz = map(joyposHorz, 564, 1023, 0, 255); MotorSpeed1 = MotorSpeed1 + joyposHorz; MotorSpeed2 = MotorSpeed2 - joyposHorz;
// Don't exceed range of 0-255 for motor speeds
if (MotorSpeed1 > 255)MotorSpeed1 = 255; if (MotorSpeed2 < 0)MotorSpeed2 = 0;
}
// Adjust to prevent "buzzing" at very low speed
if (MotorSpeed1 < 8)MotorSpeed1 = 0; if (MotorSpeed2 < 8)MotorSpeed2 = 0;
// Set the motor speeds
analogWrite(enA, MotorSpeed1); analogWrite(enB, MotorSpeed2);
}
С Уважением Игорь !
Последний раз редактировалось: IgorBorNN (Пн Июл 24, 2017 12:09 pm), всего редактировалось 2 раз(а) | |
|
| |
IgorBorNN
Сообщения : 116 Дата регистрации : 2017-07-15
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Пн Июл 24, 2017 11:00 am | |
| Кнопку приделал но только работает когда нажата при отпускании и св диод гаснет, щас дальше буду ковырять | |
|
| |
sser Admin
Сообщения : 1034 Дата регистрации : 2013-02-08 Возраст : 50 Откуда : Нижний Новгород
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Пн Июл 24, 2017 12:08 pm | |
| Примеров с кнопками полно, а чем мой скетч не понравился ? Может кнопку в моём скетче поставить ? | |
|
| |
IgorBorNN
Сообщения : 116 Дата регистрации : 2017-07-15
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Пн Июл 24, 2017 12:11 pm | |
| Случайно удалил...... (Админ) | |
|
| |
sser Admin
Сообщения : 1034 Дата регистрации : 2013-02-08 Возраст : 50 Откуда : Нижний Новгород
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Пн Июл 24, 2017 12:41 pm | |
| Если возникает нестабильность , можно шунтировать аналоговый вход конденсатором 0.68 МкФ на корпус. | |
|
| |
IgorBorNN
Сообщения : 116 Дата регистрации : 2017-07-15
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Пн Июл 24, 2017 12:42 pm | |
| Сереж, ты пожалуйста только без обид, я ведь тоже что то хочу помочь тебе, нужно находить оптимальную версию. | |
|
| |
sser Admin
Сообщения : 1034 Дата регистрации : 2013-02-08 Возраст : 50 Откуда : Нижний Новгород
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Пн Июл 24, 2017 12:47 pm | |
| Можно использовать любой скетч , не спорю , но программировать в Си не умею. Скетчи пишу через FLProg . Обиды не причём, но помочь с исправлениями в Си не смогу. | |
|
| |
IgorBorNN
Сообщения : 116 Дата регистрации : 2017-07-15
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Пн Июл 24, 2017 12:57 pm | |
| Кнопку я подцепил, все работает, осталось только передатчик и приемник подцепить, а это ужо сложно для меня. Буду думать | |
|
| |
IgorBorNN
Сообщения : 116 Дата регистрации : 2017-07-15
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Пн Июл 24, 2017 12:58 pm | |
| Вот скутч с кнопкой: - Код:
-
// Motor A
int enA = 9; int in1 = 8; int in2 = 7;
// Motor B
int enB = 3; int in3 = 5; int in4 = 4;
// Joystick Input
int joyVert = A0; // Vertical int joyHorz = A1; // Horizontal
// Motor Speed Values - Start at zero
int MotorSpeed1 = 0; int MotorSpeed2 = 0;
// Joystick Values - Start at 512 (middle position)
int joyposVert = 512; int joyposHorz = 512; int LED = 10; // Контакт 10 для подключения светодиода int BUTTON = 2; // Контакт 2 для подключения кнопки int tekButton = LOW; // Переменная для сохранения текущего состояния кнопки int prevButton = LOW; // Переменная для сохранения предыдущего состояния к нопки
boolean ledOn = false; // Текущее состояние светодиода (включен/выключен)
void setup() { // Сконфигурировать контакт светодиода как выход
pinMode (LED, OUTPUT);
// Сконфигурировать контакт кнопки как вход
pinMode (BUTTON, INPUT_PULLUP);
// Set all the motor control pins to outputs
pinMode(enA, OUTPUT); pinMode(enB, OUTPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT);
// Start with motors disabled and direction forward // Motor A digitalWrite(enA, LOW); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); // Motor B digitalWrite(enB, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); }
void loop() { tekButton=digitalRead(BUTTON); if (tekButton == LOW && prevButton == HIGH) { // нажатие кнопки – изменить состояние светодиода ledOn=!ledOn; digitalWrite(LED, ledOn); } prevButton=tekButton;
// Read the Joystick X and Y positions { joyposVert = analogRead(joyVert); joyposHorz = analogRead(joyHorz);
// Determine if this is a forward or backward motion // Do this by reading the Verticle Value // Apply results to MotorSpeed and to Direction } if (joyposVert < 460) { // This is Backward
// Set Motor A backward
digitalWrite(in1, LOW); digitalWrite(in2, HIGH);
// Set Motor B backward
digitalWrite(in3, LOW); digitalWrite(in4, HIGH);
//Determine Motor Speeds
// As we are going backwards we need to reverse readings
joyposVert = joyposVert - 460; // This produces a negative number joyposVert = joyposVert * -1; // Make the number positive
MotorSpeed1 = map(joyposVert, 0, 460, 0, 255); MotorSpeed2 = map(joyposVert, 0, 460, 0, 255);
} else if (joyposVert > 564) { // This is Forward
// Set Motor A forward
digitalWrite(in1, HIGH); digitalWrite(in2, LOW);
// Set Motor B forward
digitalWrite(in3, HIGH); digitalWrite(in4, LOW);
//Determine Motor Speeds
MotorSpeed1 = map(joyposVert, 564, 1023, 0, 255); MotorSpeed2 = map(joyposVert, 564, 1023, 0, 255);
} else { // This is Stopped
MotorSpeed1 = 0; MotorSpeed2 = 0;
}
// Now do the steering // The Horizontal position will "weigh" the motor speed // Values for each motor if (joyposHorz < 460) { // Move Left
// As we are going left we need to reverse readings
joyposHorz = joyposHorz - 460; // This produces a negative number joyposHorz = joyposHorz * -1; // Make the number positive
// Map the number to a value of 255 maximum
joyposHorz = map(joyposHorz, 0, 460, 0, 255);
MotorSpeed1 = MotorSpeed1 - joyposHorz; MotorSpeed2 = MotorSpeed2 + joyposHorz;
// Don't exceed range of 0-255 for motor speeds
if (MotorSpeed1 < 0)MotorSpeed1 = 0; if (MotorSpeed2 > 255)MotorSpeed2 = 255;
} else if (joyposHorz > 564) { // Move Right
// Map the number to a value of 255 maximum
joyposHorz = map(joyposHorz, 564, 1023, 0, 255);
MotorSpeed1 = MotorSpeed1 + joyposHorz; MotorSpeed2 = MotorSpeed2 - joyposHorz;
// Don't exceed range of 0-255 for motor speeds
if (MotorSpeed1 > 255)MotorSpeed1 = 255; if (MotorSpeed2 < 0)MotorSpeed2 = 0;
}
// Adjust to prevent "buzzing" at very low speed
if (MotorSpeed1 < 8)MotorSpeed1 = 0; if (MotorSpeed2 < 8)MotorSpeed2 = 0;
// Set the motor speeds
analogWrite(enA, MotorSpeed1); analogWrite(enB, MotorSpeed2);
} | |
|
| |
Фархат
Сообщения : 8 Дата регистрации : 2017-07-25
| Тема: Скетч для ардуино уно Вт Июл 25, 2017 10:30 am | |
| Добрый день! Помоги пожалуйста со скетчем! Дело в том, что нужно при изменении значения сопротивления переменным резистором (потенциометром) плавно изменялось время свечения светодиода от 80 мкс до 700 мкс при нажатии кнопки однократно! А вторым потенциометром плавно регулировалась яркость свечения этого светодиода! Кнопка без фиксации. Нужно собрать прибор для пробивки инфы на рентгеновскую пленку. В продаже таких приборов нет. | |
|
| |
sser Admin
Сообщения : 1034 Дата регистрации : 2013-02-08 Возраст : 50 Откуда : Нижний Новгород
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Вт Июл 25, 2017 11:10 am | |
| - Фархат пишет:
- от 80 мкс до 700 мкс
А может мс ,а не мкс ? | |
|
| |
Фархат
Сообщения : 8 Дата регистрации : 2017-07-25
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Вт Июл 25, 2017 11:22 am | |
| Да, конечно! Сам я только начинаю входить в тему ардуино. | |
|
| |
Фархат
Сообщения : 8 Дата регистрации : 2017-07-25
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Вт Июл 25, 2017 11:26 am | |
| В дополнение: предполагаю использовать ещё реле для управления внешним устройством (светодиодной матрицей на 220в). Как тогда использовать плавную регулировку яркости? | |
|
| |
sser Admin
Сообщения : 1034 Дата регистрации : 2013-02-08 Возраст : 50 Откуда : Нижний Новгород
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Вт Июл 25, 2017 11:47 am | |
| - Фархат пишет:
- Как использовать плавную регулировку яркости?
Нужна матрица с функцией регулировки яркости. Вот скетч. - Вложенные файлы
- rentgen.zip
- У вас нет прав скачивать вложенные файлы.
- (1 Кб) Скачиваний: 3
| |
|
| |
Фархат
Сообщения : 8 Дата регистрации : 2017-07-25
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Вт Июл 25, 2017 11:56 am | |
| Лучше наверное использовать 12 в матрицу, а яркость регулировать через LM ку? | |
|
| |
Фархат
Сообщения : 8 Дата регистрации : 2017-07-25
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Вт Июл 25, 2017 12:01 pm | |
| Спасибо Вам! Как придет оборудование сразу же проверю! | |
|
| |
sser Admin
Сообщения : 1034 Дата регистрации : 2013-02-08 Возраст : 50 Откуда : Нижний Новгород
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Вт Июл 25, 2017 12:13 pm | |
| C LM317 невозможно использовать с ШИМ , поэтому нужен полевик типа IRFZ44N . | |
|
| |
Фархат
Сообщения : 8 Дата регистрации : 2017-07-25
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Вт Июл 25, 2017 12:15 pm | |
| | |
|
| |
IgorBorNN
Сообщения : 116 Дата регистрации : 2017-07-15
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Ср Июл 26, 2017 9:55 pm | |
| Сереж ! Благодарю за помощь !!! Все сделал и все работает Ура !!! С Уважением Игорь ! | |
|
| |
sser Admin
Сообщения : 1034 Дата регистрации : 2013-02-08 Возраст : 50 Откуда : Нижний Новгород
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Ср Июл 26, 2017 10:40 pm | |
| Не за что. фото и видео не забыл? | |
|
| |
Фархат
Сообщения : 8 Дата регистрации : 2017-07-25
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Чт Июл 27, 2017 12:57 am | |
| Нет, не забыл. Жду когда придет плата. | |
|
| |
Фархат
Сообщения : 8 Дата регистрации : 2017-07-25
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Чт Июл 27, 2017 1:00 am | |
| Ой! Это предыдущий пост был. Я тоже не забыл! | |
|
| |
IgorBorNN
Сообщения : 116 Дата регистрации : 2017-07-15
| Тема: Re: Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) Сб Июл 29, 2017 9:21 am | |
| Привет Сережа!!! У меня к тебе просьба, все что касается газонокосилки на столе работает в нужном режиме, вот только в новом скетче не предусмотрено контроль питания 12 вольт, причем нет необходимости передавать сигнал на передатчик, достаточно сигналки на приемнике. Сереж пожалуйста напиши отдельный скетч чисто по контролю питания и все а я его вставлю в приемник. Ардуино и контроль питания на светодиод моргание 10.7 вольт и 10.2 и все. С Уважением Игорь! | |
|
| |
| Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать) | |
|