Хобби электроника

все то что можно спаять и собрать вручную с помощью паяльника и незамысловатого инструмента: -тут!
 
Реклама  ФорумФорум  КалендарьКалендарь  ЧаВоЧаВо  ПоискПоиск  РегистрацияРегистрация  ВходВход  

Поделиться | 
 

 Программирую Arduino на заказ (Беcплатно).

Предыдущая тема Следующая тема Перейти вниз 
На страницу : Предыдущий  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Следующий
АвторСообщение
IgorBorNN



Сообщения : 89
Дата регистрации : 2017-07-15

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Пт Июл 21, 2017 9:21 pm

Сереж, а есть разница какую арду использовать, нано или уно ?
Вернуться к началу Перейти вниз
Admin
Admin
avatar

Сообщения : 361
Дата регистрации : 2013-02-08
Возраст : 44
Откуда : Нижний Новгород

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Вс Июл 23, 2017 11:27 pm

Разницы нет.
Вернуться к началу Перейти вниз
http://sser.jimdo.com
IgorBorNN



Сообщения : 89
Дата регистрации : 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



Сообщения : 89
Дата регистрации : 2017-07-15

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Пн Июл 24, 2017 11:00 am

Кнопку приделал но только работает когда нажата при отпускании и св диод гаснет, щас дальше буду ковырять
Вернуться к началу Перейти вниз
Admin
Admin
avatar

Сообщения : 361
Дата регистрации : 2013-02-08
Возраст : 44
Откуда : Нижний Новгород

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Пн Июл 24, 2017 12:08 pm

Примеров с кнопками полно, а чем мой скетч не понравился ? Может кнопку в моём скетче поставить ?
Вернуться к началу Перейти вниз
http://sser.jimdo.com
IgorBorNN



Сообщения : 89
Дата регистрации : 2017-07-15

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Пн Июл 24, 2017 12:11 pm

Случайно удалил...... (Админ)
Вернуться к началу Перейти вниз
Admin
Admin
avatar

Сообщения : 361
Дата регистрации : 2013-02-08
Возраст : 44
Откуда : Нижний Новгород

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Пн Июл 24, 2017 12:41 pm

Если возникает нестабильность , можно шунтировать аналоговый вход конденсатором 0.68 МкФ на корпус.
Вернуться к началу Перейти вниз
http://sser.jimdo.com
IgorBorNN



Сообщения : 89
Дата регистрации : 2017-07-15

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Пн Июл 24, 2017 12:42 pm

Сереж, ты пожалуйста только без обид, я ведь тоже что то хочу помочь тебе, нужно находить оптимальную версию.
Вернуться к началу Перейти вниз
Admin
Admin
avatar

Сообщения : 361
Дата регистрации : 2013-02-08
Возраст : 44
Откуда : Нижний Новгород

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Пн Июл 24, 2017 12:47 pm

Можно использовать любой скетч , не спорю ,
 но программировать в Си не умею.
Скетчи пишу через FLProg .
 Обиды не причём, но помочь с исправлениями в Си не смогу.
Вернуться к началу Перейти вниз
http://sser.jimdo.com
IgorBorNN



Сообщения : 89
Дата регистрации : 2017-07-15

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Пн Июл 24, 2017 12:57 pm

Кнопку я подцепил, все работает, осталось только передатчик и приемник подцепить, а это ужо сложно для меня. Буду думать
Вернуться к началу Перейти вниз
IgorBorNN



Сообщения : 89
Дата регистрации : 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 мкс при нажатии кнопки однократно! А вторым потенциометром плавно регулировалась яркость свечения этого светодиода! Кнопка без фиксации. Нужно собрать прибор для пробивки инфы на рентгеновскую пленку. В продаже таких приборов нет.
Вернуться к началу Перейти вниз
Admin
Admin
avatar

Сообщения : 361
Дата регистрации : 2013-02-08
Возраст : 44
Откуда : Нижний Новгород

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Вт Июл 25, 2017 11:10 am

Фархат пишет:
от 80 мкс до 700 мкс
А может мс   ,а не мкс ?
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Фархат



Сообщения : 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в). Как тогда использовать плавную регулировку яркости?
Вернуться к началу Перейти вниз
Admin
Admin
avatar

Сообщения : 361
Дата регистрации : 2013-02-08
Возраст : 44
Откуда : Нижний Новгород

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Вт Июл 25, 2017 11:47 am

Фархат пишет:
Как  использовать плавную регулировку яркости?

Нужна матрица с функцией регулировки яркости.


Вот скетч.
Вложенные файлы
rentgen.zip
У вас нет прав скачивать вложенные файлы.
(1 Кб) Скачиваний: 3
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Фархат



Сообщения : 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

Спасибо Вам! Как придет оборудование сразу же проверю!
Вернуться к началу Перейти вниз
Admin
Admin
avatar

Сообщения : 361
Дата регистрации : 2013-02-08
Возраст : 44
Откуда : Нижний Новгород

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Вт Июл 25, 2017 12:13 pm

C LM317 невозможно использовать с ШИМ , поэтому нужен полевик типа IRFZ44N .
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Фархат



Сообщения : 8
Дата регистрации : 2017-07-25

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Вт Июл 25, 2017 12:15 pm

Ок. Я понял!
Вернуться к началу Перейти вниз
IgorBorNN



Сообщения : 89
Дата регистрации : 2017-07-15

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Ср Июл 26, 2017 9:55 pm

Сереж ! Благодарю за помощь !!! Все сделал и все работает Ура !!! С Уважением Игорь !
Вернуться к началу Перейти вниз
Admin
Admin
avatar

Сообщения : 361
Дата регистрации : 2013-02-08
Возраст : 44
Откуда : Нижний Новгород

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Ср Июл 26, 2017 10:40 pm

Не за что.
фото и видео не забыл?
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Фархат



Сообщения : 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



Сообщения : 89
Дата регистрации : 2017-07-15

СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   Сб Июл 29, 2017 9:21 am

Привет Сережа!!! У меня к тебе просьба, все что касается газонокосилки на столе работает в нужном режиме, вот только в новом скетче не предусмотрено контроль питания 12 вольт, причем нет необходимости передавать сигнал на передатчик, достаточно сигналки на приемнике. Сереж пожалуйста напиши отдельный скетч чисто по контролю питания и все а я его вставлю в приемник. Ардуино и контроль питания на светодиод моргание 10.7 вольт и 10.2 и все. С Уважением Игорь!
Вернуться к началу Перейти вниз
Спонсируемый контент




СообщениеТема: Re: Программирую Arduino на заказ (Беcплатно).   

Вернуться к началу Перейти вниз
 
Программирую Arduino на заказ (Беcплатно).
Предыдущая тема Следующая тема Вернуться к началу 
Страница 6 из 10На страницу : Предыдущий  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Следующий

Права доступа к этому форуму:Вы не можете отвечать на сообщения
Хобби электроника :: категория :: форум-
Перейти: