Помогите со скетчем пожалуйста!
- Войдите на сайт для отправки комментариев
Ср, 22/04/2020 - 01:09
Здравствуйте!
Вот скетч:
Вот скетч:
#define Btn_plus_minute 9
#define Btn_minus_minute 10
#define Btn_Start_minute 8
#define Provod_Stop A3
#define ledPin 13
int timerFlag=0;
int duration=30;
int uskorenie=500;
boolean polovinaFlag=0;
#include "TM1637Display.h"
#define DISPLAY_CLK_PIN 11
#define DISPLAY_DIO_PIN 12
TM1637Display display(DISPLAY_CLK_PIN, DISPLAY_DIO_PIN);
unsigned char hour=0;
unsigned char minute=30;
unsigned char second=0;
unsigned char halfsecond=0;
unsigned long timeTimer=0;
unsigned long startTimer=0;
void setup() {
display.set(7);
display.init();
//Serial.begin(9600);
pinMode(Btn_plus_minute, INPUT_PULLUP);
pinMode(Btn_minus_minute, INPUT_PULLUP);
pinMode(Btn_Start_minute, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
}
void loop() {
opros_knopok();
timer();
displey();
}
void opros_knopok() {
if (digitalRead(Btn_plus_minute)==LOW) {delay (250), duration++;}
if (digitalRead(Btn_minus_minute)==LOW){delay (250), duration--;
if(duration==0){duration=60;}}
if (digitalRead(Btn_Start_minute)==LOW){delay (250); timerFlag=1;
uskorenie=500; polovinaFlag=0; startTimer=millis();}
if (analogRead(Provod_Stop)>20) {delay (150),timerFlag=0;}
}
void timer() {
if (timerFlag==1){timeTimer = (millis()- startTimer);
if (timeTimer>=uskorenie){
halfsecond ++;
startTimer=millis();
}
if(halfsecond == 2){halfsecond = 0, second-- ;}
if(second == 0){second = 59, duration--;
}
}
if (timerFlag==1 && duration==-1){
second = 0;
startTimer=0;
duration=0;
timeTimer=0;
timerFlag=0;
digitalWrite(ledPin, HIGH);
polovinaFlag=0;
}}
void displey() {
hour=duration/60;
minute=duration-(hour*60);
if (duration>=60){
int8_t timeDisp[4];
timeDisp[0] = hour / 10;
timeDisp[1] = hour % 10;
timeDisp[2] = minute / 10;
timeDisp[3] = minute % 10;
display.display(timeDisp);
display.point(halfsecond ==1 ? POINT_OFF : POINT_ON);
}
if (duration<60){
int8_t timeDisp[4];
timeDisp[0] = minute / 10;
timeDisp[1] = minute % 10;
timeDisp[2] = second / 10;
timeDisp[3] = second % 10;
display.display(timeDisp);
display.point(halfsecond ==1 ? POINT_OFF : POINT_ON);
}}На этих строчках вылезает ошибка:
void setup() {
display.set(7);
display.init();
Тест ошибки:
'class TM1637Display' has no member named 'set'
Тест ошибки:
'class TM1637Display' has no member named 'init'
Тест ошибки:
'class TM1637Display' has no member named 'set'
Тест ошибки:
'class TM1637Display' has no member named 'init'
В чем проблема?
Скетч не мой. Плата ардуино нано.
void setup() {
Тест ошибки:
'class TM1637Display' has no member named 'set'
Тест ошибки:
'class TM1637Display' has no member named 'init'
В чем проблема?
Скетч не мой. Плата ардуино нано.
проблема в том что , в классе ТМ1637Display нет члена с именем 'set' и нет члена именем 'init'
Да спасибо, уже разобрался. Оказалась библиотека не та. Библиотеку поменял на нужную, теперь не может загрузить скетч в нано, пишет:
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x81
Проблема загрузки в плату.
(таких строчек от 1 до 10)
Как думаете в чем может быть проблема?
а все, вопрос решен. В настройказ надо было выбрать не ATMega 320P, a ATMega 320P (Old Bootloader)
ATMega 320P (Old Bootloader)
Там и такое есть? Чудны дела твои, Господи.
Сарказм?
... ATMega 320P...
нИ когда нИ слышал про такой проц, китайцы наверно не давно изобрели? да? :-)
Сарказм?
Почему? Просто, не знал, что такое бывает, а теперь буду знать. Спасибо, что сказали.
ну с кем не бывает:(
Только правильно товарищ сверху подметил- не 320 а 328Р :)