#define DEFAULT_PWM_DUTY_CYCLE 254 //Скважность ШИМ по умолчанию (до подулючения к пк)
#define DEFAULT_PWM_DUTY_CYCLE 254 //Скважность ШИМ по умолчанию (до подулючения к пк)
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
#define SOUND_PIN 10 //Номер пина пищалки
#define SOUND_PIN 10 //Номер пина пищалки
#define LED_PIN 13 //Номер пина светодиода
#define LED_PIN 13 //Номер пина светодиода
#define OVERHEAT_TEMP 80 //Температура, при достижении которой включается пищалка
#define OVERHEAT_TEMP 75 //Температура, при достижении которой включается пищалка
uint8_t*control_a_addr=0x88;//адрес сравнения А таймера 1
uint8_t*control_a_addr=0x88;//адрес сравнения А таймера 1
uint8_t*control_b_addr=0xB3;//адрес сравнения А таймера 2
uint8_t*control_b_addr=0xB3;//адрес сравнения А таймера 2
...
@@ -29,7 +29,7 @@ struct control {//Данные о группе управления
...
@@ -29,7 +29,7 @@ struct control {//Данные о группе управления
uint8_tpin;//Номер пина
uint8_tpin;//Номер пина
volatileuint8_tmode;//Текущий режим работы. 0 - всегда выкл, 1 - шим, 2 - всегда вкл
volatileuint8_tmode;//Текущий режим работы. 0 - всегда выкл, 1 - шим, 2 - всегда вкл
uint8_t&dutyCycle;//Скважность ШИМ
uint8_t&dutyCycle;//Скважность ШИМ
int8_tcopy_from;//Копировать скважность из другой группы управления. -1 = не копировать
int8_tcopy_from;//Копировать скважность с другой группы управления. -1 = не копировать, 0 = с группы A, 1 = с группы B, 2 = с группы C
};
};
controlcontrols[CONTROL_COUNT]={
controlcontrols[CONTROL_COUNT]={
...
@@ -136,7 +136,7 @@ float k_d = 0;
...
@@ -136,7 +136,7 @@ float k_d = 0;
floati_max=210;
floati_max=210;
inttarget_temps[3]={27,0,0};
inttarget_temps[3]={27,0,0};//Температуры, к которым нужно стремиться
voidwait_for_connection(boolbeep){//функция, которая мигает светодиодом и пищит (если beep == true) до тех пор, пока не будет установлено соединение с ПК
voidwait_for_connection(boolbeep){//функция, которая мигает светодиодом и пищит (если beep == true) до тех пор, пока не будет установлено соединение с ПК
Serial.println("start_transmission");
Serial.println("start_transmission");
...
@@ -189,7 +189,7 @@ void tempFromPc()// получаем температуру от пк
...
@@ -189,7 +189,7 @@ void tempFromPc()// получаем температуру от пк
}
}
}
}
Serial.println("req_temperature_"+rpm_string+"_debug(pwm values):_"+String(OCR1A)+"_"+String(OCR2A)+"_"+String(OCR2B));//запрос к пк
Serial.println("req_temperature_"+rpm_string+"_debug_"+String(OCR1A)+"_"+String(OCR2A)+"_"+String(OCR2B));//запрос к пк
unsignedlongquery_time=millis();
unsignedlongquery_time=millis();
while(Serial.available()==0){//ждем пока ответит
while(Serial.available()==0){//ждем пока ответит
if(millis()>=query_time+GET_TEMP_TIMEOUT){//если слишком долго не отвечает
if(millis()>=query_time+GET_TEMP_TIMEOUT){//если слишком долго не отвечает