#26 Re: Програмування Arduino » Помогите амбициозному новичку! » 2018-03-03 16:33:21

А чего там сложного. Заплатил-получил. Сложности вылазят, если на халяву, да еще если заказчик туп.Вот тогда это гнилой заказ.

#27 Re: Програмування Arduino » счетчик нажатий » 2018-02-15 18:55:14

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

const int buttonPin = 2; //  кнопка (+)
const int button1Pin = 3; //кнопка (-)
bool button_old = 1; // предыдущее значение button0
bool button1_old = 1; // предыдущее значение button1
int count = 0;         // переменная для подсчета нажатий на кнопку
void setup() {
  Serial.begin(9600);
  pinMode(buttonPin, INPUT_PULLUP);
  pinMode(button1Pin, INPUT_PULLUP);
}
void loop() {
  bool button = digitalRead(buttonPin);
  if (!button && button_old) {
    button_old = 0;
    delay(10);// ждем чтобы дребезг прошел
    count = count + 1;
    if (count >= 10) count = 0;
    Serial.println(count);
  }
  if (button && !button_old) {
    button_old = 1;
    delay(10);// ждем чтобы дребезг прошел
  }

  bool button1 = digitalRead(button1Pin);
  if (!button1 && button1_old) {
    button1_old = 0;
    delay(10);// ждем чтобы дребезг прошел
    count = count - 1;
    if (count < 0) count = 10;
    Serial.println(count);
  }
  if (button1 && !button1_old) {
    button1_old = 1;
    delay(10);// ждем чтобы дребезг прошел
  }
}
/*Скетч использует 2436 байт (7%) памяти устройства. Всего доступно 30720 байт.
  Глобальные переменные используют 190 байт (9%) динамической памяти, оставляя 1858 байт для локальных переменных. Максимум: 2048 байт.
*/

#28 Re: Програмування Arduino » Кинетический дождь заказ » 2018-02-05 18:41:40

DP пише:

От софта до харда. Помимо цены за труд нужно ориентироваться по стоимости комплектующих.
Город Львов, но можно удаленно до монтажа. С перспективой дальнейших заказов.

Собирите мне гитару с пакетом оригинальных песен на ней. Стоимость работы за труд ориентируйтесь на стоимость древисины в моем районе.

#29 Re: Програмування Arduino » разработка Меню на LCD1602 и экодере. » 2018-02-01 07:03:15

NoName пише:

да есть недочеты, приличный метролог мигом заметит "косяки"
с другой стороны Вы хоть один ГОСТ написали? )

Напьешься будешь https://www.youtube.com/watch?v=rZsQfssZxMs
Посадят писать - будешь писать. На любом предприятии есть всякие инструкции служебные записки -- внутрений документооборот. И ГОСТЫ пишут не только литераторы , а скорее совсем не литераторы. Так что не надо меня написанием ГОСТов пугать. И так регулярно подобную "литературу" приходится читать и расписываться в ознакомлении. Слава богу, что на русском.

#30 Re: Програмування Arduino » разработка Меню на LCD1602 и экодере. » 2018-01-31 18:26:15

Нормальное явление. То что написано на мове, читать не обязательно. Так как там смысла нет. Потому что на ней пишут те кто или мовой не владеет и/или темой. Плохо то что документооборот идет на ней.

#32 Re: Програмування Arduino » Помогите пожалуйста написать скетч.(Умный кран для фильтрований воды) » 2018-01-25 23:49:32

Selen пише:

@ Green
@ qwone

как говориться, языком  .... не мешки ворочить.  Я и не спорю что новичек. Нигде не учился все что знаю то брал из инета. Пишу как могу. А вы вместо того чтоб критиковать чужую работу , взяли да помогли человеку ,для вас "ВЕЛИКИХ ГУРУ"  это ведь на коленке 2 минуты и это без преувиличения ), а нет по обсуждать как бабки на базаре - медом не корми )

Что бы сделать проект надо пройти 4 этапа: 1-составить ТЗ; 2- спроектировать программу;3- написать код; 4-залить скетч и протестировать получившее. И это скорее всего не пройдет сразу и желательно пройти еще один круг 1->2->3->4 а потом еще и еще. Сложность работы с новичками не в написании кода, а в долгом расжевывании что там и как. Которое занимает не 2 минуты а как минимум 2 недели. И потом это начинает подбешивать. Потому что новичку кажется что вам нравится общаться с гением как он и вам банально нечего делать еще. И этот гений даже литературу читать не будет, весь минимув вы обязаны рассказать ему в ваших постах на форуме.
ПС: Да что мне вас учить. Раз взялись за проект, то помогите довести этот проект до конца. И поздравляю вас со звание ГУРУ, который делает все за 2 минуты.

#33 Re: Програмування Arduino » Помогите пожалуйста написать скетч.(Умный кран для фильтрований воды) » 2018-01-25 18:32:47

Green пише:

У ЛЮДЕЙ это всё дефайнами определяется. Безо всякой переделки.

Ну это у людей. А вот новички, как правило, не люди. Они тупят по черному.

#34 Re: Програмування Arduino » Помогите пожалуйста написать скетч.(Умный кран для фильтрований воды) » 2018-01-24 19:09:02

Рувим пише:

Вот что у меня вышло. Почему-то пока работает не коректно. все собрал на коленке конечно.

Разумеется так и будет. Очень сложный алгоритм при отсутсвии минимальных знаний дает такой эффект.

#35 Re: Програмування Arduino » Помогите пожалуйста написать скетч.(Умный кран для фильтрований воды) » 2018-01-20 22:32:50

Разберешься в настройке.

//**/
unsigned long mill;// переменная для millis()
typedef void (*pDo)() ;// тип -функция обработчик
//------Cl_Led----------------------
// класс светодиод
class Cl_Led {
  protected:
    const byte pin;
    bool led;
    unsigned long past, time;
    byte state; //0 выкл/ 1 вкл / 2 мигать
    /*установить в состояние*/
    void stand(byte state_) {
      past = mill;
      state = state_;
      switch (state) {
        case 0: // выкл
          digitalWrite(pin, led = LOW);
          break;
        case 1: // вкл
          digitalWrite(pin, led = HIGH);
          break;
        case 2:// мигать
          digitalWrite(pin, led = !led);
          break;
        case 3:// короткое выключение
          digitalWrite(pin, led = LOW);
          break;
        case 4:// короткое включение
          digitalWrite(pin, led = HIGH);
          break;
      }
    }
  public:
    /*конструктор*/
    Cl_Led(byte pin_): pin(pin_) {}
    /*инициализация-вставить в setup()*/
    void init() {
      pinMode(pin, OUTPUT);
      OFF();
    }
    /*работа-вставить в loop()*/
    void run() {
      if (state == 2 && mill - past >= time)stand(2);
      if (state == 3 && mill - past >= time)stand(1);
      if (state == 4 && mill - past >= time)stand(0);
    }
    /*включить*/
    void ON() {
      stand(1);
    }
    /*коротко включить*/
    void ON(unsigned long time_) {
      time = time_;
      stand(4);
    }
    /*выключить*/
    void OFF() {
      stand(0);
    }
    /*коротко выключить*/
    void OFF(unsigned long time_) {
      time = time_;
      stand(3);
    }
    /*мигать*/
    void blink(unsigned long time_ = 200) {
      time = time_;
      stand(2);
    }
};
//------Cl_Btn----------------------
// класс кнопка
class Cl_Btn {
  protected:
    const byte pin;
    pDo Do;//обработчик
    bool bounce = 0;
    bool btn = 1, oldBtn;
    unsigned long past;
  public:
    /*конструктор*/
    Cl_Btn(byte pin_, pDo Do_): pin(pin_), Do(Do_) {}
    /*инициализация-вставить в setup()*/
    void init() {
      pinMode(pin, INPUT_PULLUP);
    }
    /*работа-вставить в loop()*/
    void run() {
      bool newBtn = digitalRead(pin);
      if (!bounce && newBtn != btn) {
        bounce = 1;
        past = mill;
      }
      if (bounce && mill - past >= 10) {
        bounce = 0 ;
        oldBtn = btn;
        btn = newBtn;
        if (!btn && oldBtn) Do();
      }
    }
};
//-----компоновка----------------------
Cl_Led Led(/*пин*/13);
void DoBtn1() {
  Led.ON(200);
  Serial.println("DoBtn1");
}
void DoBtn2() {
  Led.OFF(200);
  Serial.println("DoBtn2");
}
void DoBtn3() {
  Led.blink();
  Serial.println("DoBtn3");
}
Cl_Btn Btn1(/*пин*/2,/*обработчик*/DoBtn1);
Cl_Btn Btn2(/*пин*/3,/*обработчик*/DoBtn2);
Cl_Btn Btn3(/*пин*/4,/*обработчик*/DoBtn3);
//-----main----------------------
void setup() {
  Serial.begin(9600);
  Led.init();
  Btn1.init();
  Btn2.init();
  Btn3.init();
}
void loop() {
  mill = millis();
  Led.run();
  Btn1.run();
  Btn2.run();
  Btn3.run();
}

/*Скетч использует 2858 байт (9%) памяти устройства. Всего доступно 30720 байт.
  Глобальные переменные используют 251 байт (12%) динамической памяти, оставляя 1797 байт для локальных переменных. Максимум: 2048 байт.
*/

#36 Re: Програмування Arduino » RGB Arduino EEPROM (ПОМОГИТЕ) » 2018-01-12 18:46:10

А у вас программа не той системы. Нужна другая система. На это вы долго будете блох из программы вычухивать.

#37 Re: Програмування Arduino » Гирлянда на основе Mega 2560 + 33 светодиода ШИМ, Платно 500 грн. » 2017-11-27 21:11:33

За репетиртство и практику 500 гр.
ПС: что бы не повторять одно и тоже почитайте эту мою тему.http://arduino.ru/forum/programmirovanie/klassy-arduino-po-qwone-dlya-chainikov

#40 Re: Програмування Arduino » управление танком 1 джостиком (нанo, NRF24L01, джостик, L298N) » 2017-08-25 16:43:37

Миханик пише:

я старалса для РЕАЛЕСТИЧЬНОСТИ, потому что настоящий танк --- блокирует, а не две в разние стороны крутит (КПП одна для 2 гусенец)

если вам нужна реалистичность, то "сидеть надо в танке"(смотреть через камеру), а не со стороны. Да для танка нужна или беговая дорожка, или открытое пространство.

#41 Re: Програмування Arduino » Парсинг сообщений из порта » 2017-08-20 12:43:33

В общем для решения можно пойти тремя путями.
1- использовать указатели
2- использовать встроенные средства языка Си
3- использовать String
Ну и по мне еще лучше написать свой String под решение этой задачи. Но мне это зачем. Я же не ТС.
ПС: А памяти хватит, если прямыми руками писать код.

#42 Re: Програмування Arduino » Логические операции. » 2017-08-04 06:50:44

Green пише:

smile Сразу пошли наезды, завуалированные оскорбления... А моя мысль в том, что всё хорошо к месту. Всего лишь.

А почему вы свою мысль не используете. К чему упоминать меня и все это. Это в этой теме было точно к не месту. Или вы и только вы определяете что к месту, а что к не к месту.

#43 Re: Програмування Arduino » Логические операции. » 2017-08-03 23:46:44

Green. Слава богу, вы все же узнали много новых слов. Осталось вам поискать, что они означают. А может настанет момент, что нучитесь их применять. Но это скорее фантастика.

#44 Re: Програмування Arduino » Логические операции. » 2017-08-01 20:52:15

ну зачем так писать
TCNT1H = 0x85EE >> 8;
TCNT1L = 0x85EE & 0xff;
а не так
TCNT1H = 0x85;
TCNT1L = 0xEE;
или все надежда на компилятор. Он умнее теперешних программеров и все их косяки уберет

#45 Re: Програмування Arduino » Логические операции. » 2017-08-01 17:42:10

Нормально нормально. Чем думаем, тем и делаем. Если народ больше жопой думает, то разумеется и работа через жопу понятнее народу. Так что гей парады это демонстрация наших умственных достижений.

#46 Re: Програмування Arduino » Помогите новичку понять логику выполнения параллельных процессов » 2017-07-29 19:11:22

lkj пише:

Микропроцессор - не мощный процессор для которых написана та статья.

Скорее всего ,не у всех пользователей в голове мощный процессор. А так там выложены пути как организовать такую вещь, хотя бы теретически.

#48 Re: Програмування Arduino » Генерация пауз. » 2017-07-26 22:10:12

Вячеслав Азаров пише:

И что https://ru.wikipedia.org/wiki/%D0%95%D0%B2%D1%80%D0%BE%D0%BC%D0%B0%D0%B9%D0%B4%D0%B0%D0%BD
После этого я должен скакать как сумашедший. Сколько не говори сахар, во рту слаще не станет. Даже если про это в Вики раструбят.
  Если вам на уши вешают лапшу, значит это кому-то выгодно. Но ум желательно в голове иметь, а не вики без головы лезть.

#49 Re: Програмування Arduino » Генерация пауз. » 2017-07-26 14:06:51

goodspeedmen пише:

Вы даёте ссылку на статью в которой пишется именно о том что я писал. Вы простите хорошо себя чувствуете?  neutral

watchdog вообще-то служит для экономии электроэнергии. Когда чипу нужно опростить датчик , отправить посылку и "лечь в сон". Но если у идиотов программеров система постоянно виснет, то watchdog это уже последнее средство сохранить работу этого горе-программиста. Тем более в Ардуне нет много места в памяти, что блукать сильно.

#50 Re: Програмування Arduino » Генерация пауз. » 2017-07-24 22:29:06

goodspeedmen пише:

К чему это всё? Таймер wochdog, его назначение это сбросить микроконтроллер если он вдруг зашёл в бесконечный цикл. Когда происходит прерывание по переполнению этого таймера в векторе прерывания указан адрес reset микроконтроллера. Как его можно использовать в том о чём я писал? sad

Вообще не для этого. https://geektimes.ru/post/255800/

Підвал форуму