#1 Re: Програмування Arduino » Помогите новичку с кодом » 2020-04-07 22:04:12

01
//     Electric fency. Umka 2016
02
//     <a href="http://u-m.biz" title="http://u-m.biz" rel="nofollow">http://u-m.biz</a>
03

04

05
#include <avr/wdt.h>
06
#define outPin 3                          // выход на коммутатор
07
#define pausePin A1                       // пин резистора регулировки паузы
08
#define counterPin A3                     // пин резистора регулировки пакета искр
09
volatile unsigned long waitAlarm = 30000; // таймер аварии по высокому напряжению
10
unsigned long now;
11

12
void setup() {
13
  //Serial.begin(9600);
14
  pinMode(outPin, OUTPUT);                // назначаем пин выхода выходом smile
15
  pinMode(2, INPUT_PULLUP);
16
  pinMode(13, OUTPUT);
17
  wdt_enable (WDTO_8S);                   // заводим сторожевой таймер на 8 сек.
18
  attachInterrupt(0, resetAlarm, FALLING);// цепляем прерывание для сброса аварии по искре
19
}
20

21
void loop() {
22
  int pause = analogRead(pausePin) * 3;   // задаем резистором паузу 0 - 3 сек.
23
  int counter = analogRead(counterPin);
24
  counter = map(counter, 0, 1024, 1, 30); // задаем количество искр в каждом пакете
25
  now = millis();
26
  if (now < waitAlarm && millis() % pause < 2) {
27
    for (int count = 0 ; count < counter ; count++){ // в цикле повторяем для каждой искры
28
      digitalWrite(outPin, HIGH);         // циклично дрыгаем ногами выхода и светодиода на 13 пине.
29
      digitalWrite(13, HIGH);
30
      delay(5);
31
      digitalWrite(outPin, LOW);
32
      digitalWrite(13, LOW);
33
      delay(5);
34
      //Serial.print(now);
35
      //Serial.print("  ");
36
      //Serial.println(waitAlarm);
37
    }
38
  }
39
  else if (now > waitAlarm && millis() % 10000 < 2) {
40
    analogWrite(13, 120);                // при утечке искры зажигаем светодиод и
41
    digitalWrite(outPin, HIGH);          // раз в 10 секунд выдаем проверочную искру.
42
    delay(5);
43
    digitalWrite(outPin, LOW);
44
    //Serial.println("alarm");
45
  }
46
  wdt_reset();                           // сбрасываем сторожевой таймер.
47
}
48

49
void resetAlarm() {                      // сбрасываем аварийный счетчик по датчику искры
50
  waitAlarm = now + 30000;
51
  delay(5);
52
}

#3 Re: Програмування Arduino » Помогите новичку с кодом » 2020-04-04 22:03:39

Помогите с написанием кода для сим модуля. Собрал электро пастуха на ардуино но он иногда зависает хочу поставить ещё одно ардуино с сим модулем чтобы он мог мне сообщить о зависания и я мог бы сделать перезагрузку пастуха по смс.

#4 Re: Програмування Arduino » Нужна помощь в написании программы arduino » 2020-03-31 19:43:25

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

#6 Re: Програмування Arduino » Нужна помощь в написании программы arduino » 2020-03-30 20:18:01

Кто может помочь написать скетч для ардуино и модуля сим. Чтоб при зависания ардуино отправил смс и я мог сделать reset по смс.

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