Прерывание при помощи потенциометра
- Войдите на сайт для отправки комментариев
Уже второй вечер не могу довести до ума код, по условию если потенциометр меняется выводить
его значения на дисплей если не меняется то выводить информацию с термопары, если писать все
это в void loop() то спустя время получается путаница у дисплея, чтоб этого не было я как
понимаю нужно одну из переменных показать через прерывание, ну и тут вот и застрял не зная
как это реализовать
1 #define potyent_pin 0
2 volatile int val;
3 volatile int oldval;
4 //термопара
5 #include "max6675.h"
6 #define thermoDO 6
7 #define thermoCS 7
8 #define thermoCLK 8
9 MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
10 //дисплей
11 #include "TM1637.h"
12 #define DIO 4
13 #define CLK 5
14 TM1637 disp(CLK, DIO);
15 void setup() {
16 disp.init();
17 disp.set(4);
18 digitalWrite(2, HIGH);
19 attachInterrupt(0, disp_p, LOW);
20 delay(500);
21 void loop() {
22 int T;
23 T = (thermocouple.readCelsius());
24 delay(500);
25 disp.clearDisplay();
26 disp.displayInt(T);
27 val = analogRead(potyent_pin);
28 val = map(val , 0, 1023, 100, 380);
29 val = constrain(val, 100, 380);
30 if (val != oldval) {
31 digitalWrite(2, LOW);
32 }
32 if (val == oldval) {
33 digitalWrite(2, HIGH);
34 }
35 void disp_p() {
36 val = analogRead(potyent_pin);
37 val = map(val , 0, 1023, 100, 380);
38 val = constrain(val, 100, 380);
39 if (val == oldval) {
40
41 }
42 if (val != oldval) {
43 disp.clearDisplay();
44 disp.displayInt(val);
45 oldval = val;
46 }
47 }
теперь показывает переменную val без смешивания с переменной термопары, но сейчас
не выполняется основной цикл программы помогите пожалуйста
Прерывание с помощью танцев с бубном. Прерывание с помощью мысли. Что там еще. .. Если применять много умных слов то понимание все равно не появится. Разберитесь сначало что такое прерывание, и главное что не есть прерывание. И да есть еще программное прерывание. Которое организовано иначе чем аппаратное.
Да все разобрался , просто нужно было написать действие переменной потенциометра в новой функции и при изминении потенциометра писать название функции, а я считал до этого что выполнять другую функию можно только через прерывание