Ошибка в скетче

Pyfez
Offline
Зарегистрирован: 30.10.2020

Здравствуйте столкнулся с проблемой lcd was not declared in this scope 

#include <LiquidCrystal.h>
#include <Wire.h>
 
int disp = 8;
volatile int counter=0;
uint32_t timer=0;
void incCounter(){
  counter++;
}
void startMeas(){
  lcd.begin();
  counter=0;
  attachInterrupt(0, incCounter, FALLING );
 
  timer=millis();
}
void setup() {
  LiquidCrystal_I2C lcd(0x27,16,2); 
  Serial.begin(9600);
  pinMode(2,INPUT_PULLUP);
  pinMode(disp, OUTPUT);
  Serial.println("Start");
  startMeas();
}
void loop() {
if(millis()-timer>=10000){
  detachInterrupt(0);
  Serial.print("Frequency:");
  Serial.print(counter/10);
  Serial.println(" Hz");
  startMeas();
}
}
Вот подключение дисплея к ардуино и вот датчика 

htmlimage?id=2pa1-jdhdtnv1brmu0aspyu79tq

Pyfez
Offline
Зарегистрирован: 30.10.2020
b707
Offline
Зарегистрирован: 26.05.2017

вставьте код по правилам форума.

 

Коллеги, во избежание срача, такого как в последние дни - предлагаю до озакомления ТС с правилами форума ВООБЩЕ ЕМУ НЕ ОТВЕЧАТЬ

Pyfez
Offline
Зарегистрирован: 30.10.2020

Пересоздать тему ?

b707
Offline
Зарегистрирован: 26.05.2017

Pyfez пишет:

Пересоздать тему ?

не обязательно, можно вставить код в новое сообщение

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

b707 пишет:

оллеги, во избежание срача, такого как в последние дни - предлагаю до озакомления ТС с правилами форума ВООБЩЕ ЕМУ НЕ ОТВЕЧАТЬ

Во-избежание срача было бы полезно в форму создания темы в песочнице добавить крупные буквы об основных правилах. 

ЗЫ: чтобы каждому персонально не доводить

Pyfez
Offline
Зарегистрирован: 30.10.2020
#include <LiquidCrystal.h>
#include <Wire.h>

int disp = 8;
volatile int counter=0;
uint32_t timer=0;
void incCounter(){
  counter++;
}
void startMeas(){
  lcd.begin();
  counter=0;
  attachInterrupt(0, incCounter, FALLING );

  timer=millis();
}
void setup() {
  LiquidCrystal_I2C lcd(0x27,16,2); 
  Serial.begin(9600);
  pinMode(2,INPUT_PULLUP);
  pinMode(disp, OUTPUT);
  Serial.println("Start");
  startMeas();
}
void loop() {
if(millis()-timer>=10000){
  detachInterrupt(0);
  Serial.print("Frequency:");
  Serial.print(counter/10);
  Serial.println(" Hz");
  startMeas();
}
}

 

b707
Offline
Зарегистрирован: 26.05.2017

Pyfez. спасибо за код.

Я так понял. ошибка у вас такая:

lcd was not declared in this scope

 

Укажите номер строки. где у вас декларирован lcd

b707
Offline
Зарегистрирован: 26.05.2017

Rumata пишет:

Во-избежание срача было бы полезно в форму создания темы в песочнице добавить крупные буквы об основных правилах. 

ЗЫ: чтобы каждому персонально не доводить

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

Pyfez
Offline
Зарегистрирован: 30.10.2020

Вы знаете буду с вами откровенен в сфере ардуино я почти ничего не понимаю (((

Pyfez
Offline
Зарегистрирован: 30.10.2020

b707 пишет:

Pyfez. спасибо за код.

Я так понял. ошибка у вас такая:

lcd was not declared in this scope

 

Укажите номер строки. где у вас декларирован lcd

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Pyfez пишет:

Вы знаете буду с вами откровенен в сфере ардуино я почти ничего не понимаю (((

Тогда чего Вы от форума то хотите?

Вам нужно учиться, потому что пока Вы, задавая вопросы, не можете понять на них ответы. А форум - не учебное заведение. 

Опять же, непонятно, почему Вы, ничего не понимая в программировании, создаете тему именно в разделе "Программирование".

b707
Offline
Зарегистрирован: 26.05.2017

Pyfez пишет:

Вы знаете буду с вами откровенен в сфере ардуино я почти ничего не понимаю (((

Я тоже буду откровенен -  такие новички у нас тут долго не живут.

 

на первый раз даю прямой ответ. так как не вижу. что тут вообще можно обьяснить

строчку 18 перенесите на строчку 3

дальше советую читать учебники.

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Pyfez пишет:

Вы знаете буду с вами откровенен в сфере ардуино я почти ничего не понимаю (((

Как это заявление должно помочь в поиске ошибки в вашей программе? Вам уже дали точное указание на источник проблемы. 

Pyfez
Offline
Зарегистрирован: 30.10.2020

andriano пишет:

Pyfez пишет:

Вы знаете буду с вами откровенен в сфере ардуино я почти ничего не понимаю (((

Тогда чего Вы от форума то хотите?

Вам нужно учиться, потому что пока Вы, задавая вопросы, не можете понять на них ответы. А форум - не учебное заведение. 

Отт части я понял что у меня спросили 04 строчка я вроде как указал но это не точно

Pyfez
Offline
Зарегистрирован: 30.10.2020

b707 пишет:

Pyfez пишет:

Вы знаете буду с вами откровенен в сфере ардуино я почти ничего не понимаю (((

Я тоже буду откровенен -  такие новички у нас тут долго не живут.

 

на первый раз даю прямой ответ. так как не вижу. что тут вообще можно обьяснить

строчку 18 перенесите на строчку 3

дальше советую читать учебники.

Делал уже так мне ошибку выкидывает 

b707
Offline
Зарегистрирован: 26.05.2017

Pyfez пишет:

Делал уже так мне ошибку выкидывает 

какую ошибку? Приведите текст сообщения компилятора (только плиз текстом. а не картинкой)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Читали учебники и все равно "ошибку выкидывает"?

Или, все-таки, до учебников Вы так и не добрались?

Pyfez
Offline
Зарегистрирован: 30.10.2020

b707 пишет:

Pyfez пишет:

Делал уже так мне ошибку выкидывает 

какую ошибку? Приведите текст сообщения компилятора (только плиз текстом. а не картинкой)

https://imgur.com/a/8SbJUpX

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

b707 пишет:

Pyfez пишет:

Делал уже так мне ошибку выкидывает 

какую ошибку? Приведите текст сообщения компилятора (только плиз текстом. а не картинкой)

Лучше пусть ответит, какие учебники он успел прочитать с того момента, как ему это посоветовали.

b707
Offline
Зарегистрирован: 26.05.2017

Приведите текст сообщения компилятора (текстом. а не картинкой)

Pyfez
Offline
Зарегистрирован: 30.10.2020

b707 пишет:

Приведите текст сообщения компилятора (текстом. а не картинкой)

Arduino: 1.8.13 (Windows 10), Плата: "Arduino Uno"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
sketch_sep22a:4:1: error: 'LiquidCrystal_I2C' does not name a type; did you mean 'LiquidCrystal_h'?
 
 
 
sketch_sep22a:13:3: error: 'lcd' was not declared in this scope
 
exit status 1
 
'LiquidCrystal_I2C' does not name a type; did you mean 'LiquidCrystal_h'?
 
 
 
 
Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Pyfez пишет:

Делал уже так мне ошибку выкидывает 

У вас объект класса объявлен ненадлежащим образом, но вы даже не в состоянии понять о чем я вообще говорю. Это не страшно, это поправимо вполне. Только придется потратить немного времени на чтение одной книжки. Тут есть и позитив: форсированная тренировка когнитивной функции мозга снижает риск раннего альцгеймера  Ну и моральное удовлетворение от саморазвития)) Только упаси вас Он, пытаться изучать программирование на примерах с разных яндексбзденов

b707
Offline
Зарегистрирован: 26.05.2017

ну да. библиотека не та.

библиотеку подключили LiquidCrystal, а обьект хотите LiquidCrystal_I2C

Для этого надо использовать и библиотеку LiquidCrystal_I2C.h (наверно...)

- скачивайте. ставьте

b707
Offline
Зарегистрирован: 26.05.2017

решил я быть сегодня добрым...

Pyfez
Offline
Зарегистрирован: 30.10.2020

b707 пишет:

решил я быть сегодня добрым...

Да скачал спасибо, но теперь ошибка к бегин 

Arduino: 1.8.13 (Windows 10), Плата: "Arduino Uno"
 
 
sketch_sep22a:13:13: error: no matching function for call to 'LiquidCrystal_I2C::begin()'
 
 
 
   void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
 
        ^~~~~
 
exit status 1
 
no matching function for call to 'LiquidCrystal_I2C::begin()'
 
 
 
 
 
Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

А изначальную программу вы где взяли? Ну не сами же написали? Там автор что про библиотеки писал? 

b707
Offline
Зарегистрирован: 26.05.2017

вы откуда код-то этот взяли? судя по вопросам - сами точно написать не могли. Может стоило более внимательно копировать?

Вернитесь обратно на старую библиотеку и удалите _I2C из имени класса

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

а то. чем мы с вами занимаемся - это дрочево.

Pyfez
Offline
Зарегистрирован: 30.10.2020

Rumata пишет:

А изначальную программу вы где взяли? Ну не сами же написали? Там автор что про библиотеки писал? 

Сперва было достаточно вывода информации в консоль программы, сейчас же надо что бы это выводил на дисплей все 

b707
Offline
Зарегистрирован: 26.05.2017

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

Pyfez
Offline
Зарегистрирован: 30.10.2020

b707 пишет:

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

Да мне достаточно это сделать и больше я здесь не появлюсь) ( Сделать возможность вывода этого всего на дисплей )

b707
Offline
Зарегистрирован: 26.05.2017

Pyfez пишет:

Да мне достаточно это сделать и больше я здесь не появлюсь)

вы не поверите - но все так говорят.

Главное - вы даже не понимаете, как вы ошибаетесь. Вот смотрите - вы задали один вопрос. Я ответил. Из этого вылез второй вопрос - я опять ответил. Из него - третий...

Пока вы дуб-дубом - вопросы будут бесконечными. Бесконечно отвечать вам тут никто не будет, очень скоро вас пошлют, и грубо...

Pyfez
Offline
Зарегистрирован: 30.10.2020

b707 пишет:

Pyfez пишет:

Да мне достаточно это сделать и больше я здесь не появлюсь)

вы не поверите - но все так говорят.

Главное - вы даже не понимаете, как вы ошибаетесь. Вот смотрите - вы задали один вопрос. Я ответил. Из этого вылез второй вопрос - я опять ответил. Из него - третий...

Пока вы дуб-дубом - вопросы будут бесконечными. Бесконечно отвечать вам тут никто не будет, очень скоро вас пошлют, и грубо...

Да правду вам говорю))

b707
Offline
Зарегистрирован: 26.05.2017

Pyfez пишет:

Да правду вам говорю))

я тоже. Но, в отличии от вас - у меня есть основания так говорить.

Это не последняя ошибка в вашем коде.

Pyfez
Offline
Зарегистрирован: 30.10.2020
#include <LiquidCrystal_I2C.h>
#include <Wire.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);


volatile int counter=0;
uint32_t timer=0;
void incCounter(){
  counter++;
}
void startMeas(){
  counter=0;
  attachInterrupt(0, incCounter, FALLING );

  timer=millis();
}
void setup() {
  Serial.begin(9600);
  pinMode(2,INPUT_PULLUP);
  lcd.begin(16, 2);
  lcd.backlight();
  Serial.println("Start");
  startMeas();
}
void loop() {
if(millis()-timer>=10000){
  detachInterrupt(0);
  Serial.print("Frequency:");
  Serial.print(counter/10);
  Serial.println(" Hz");
  startMeas();
}
}

b707 пишет:

Pyfez пишет:

Да правду вам говорю))

я тоже. Но, в отличии от вас - у меня есть основания так говорить.

Это не последняя ошибка в вашем коде.

Подскажите хоть немного код написал ошибок не выдаёт но на дисплее ничего нету (

b707
Offline
Зарегистрирован: 26.05.2017

Pyfez пишет:

Подскажите хоть немного код написал ошибок не выдаёт но на дисплее ничего нету (

так и не должно на дисплее ничего быть. У вас весь вывод - в монитор порта, на дисплей вы ничего и не выводите

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Pyfez пишет:

Да мне достаточно это сделать и больше я здесь не появлюсь)

Я вам сейчас один умный вещь скажу, только вы не обижайтесь)) Смысл на вас время тратить, если вы не начинающий единомышленник, в любимом моем хобби? Идите тогда в платный отдел и там вам за символические 50 баксов поправят этот чужой код. 

Pyfez
Offline
Зарегистрирован: 30.10.2020

b707 пишет:

Pyfez пишет:

Подскажите хоть немного код написал ошибок не выдаёт но на дисплее ничего нету (

так и не должно на дисплее ничего быть. У вас весь вывод - в монитор порта, на дисплей вы ничего и не выводите

Дайте хоть подсказку)

b707
Offline
Зарегистрирован: 26.05.2017

Pyfez пишет:

Дайте хоть подсказку)

ну какую подсказку, Жора? Откройте любой пример к библиотеке ЛиквиКристал - как там печают на экране? неужели оператором Serial.print() ?

Pyfez
Offline
Зарегистрирован: 30.10.2020

b707 пишет:

Pyfez пишет:

Дайте хоть подсказку)

ну какую подсказку, Жора? Откройте любой пример к библиотеке ЛиквиКристал - как там печают на экране? неужели оператором Serial.print() ?

lcd.print))

b707
Offline
Зарегистрирован: 26.05.2017

Pyfez, смотрите.  Судя по всему, наше мирное общение подходит к концу. Скоро старожилы не выдержат и в вас полетят тухлые помидоры. Пока мы с вами мирно общаемся  - послушайте. Тут любят тех, кто не просто задает вопросы. но умеет искать в гугле по тем наводкам, что вам тут дают.  Делать за вас вашу работу тут не принято. Тут помогают. А "помогать" - это означает. что все делаете вы. а мы только подсказываем.

b707
Offline
Зарегистрирован: 26.05.2017

Pyfez пишет:

lcd.print))

уже лучше. В вашем коде такого нет - вот и не печатает на экране

Pyfez
Offline
Зарегистрирован: 30.10.2020

#include <LiquidCrystal_I2C.h>
#include <Wire.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);


volatile int counter=0;
uint32_t timer=0;
void incCounter(){
  counter++;
}
void startMeas(){
  counter=0;
  attachInterrupt(0, incCounter, FALLING );

  timer=millis();
}
void setup() {
  Serial.begin(9600);
  pinMode(2,INPUT_PULLUP);
  lcd.begin(16, 2);
  lcd.backlight();
  Serial.println("Start");
  startMeas();
}
void loop() {
if(millis()-timer>=10000){
  detachInterrupt(0);
  lcd.print("Frequency:");
  lcd.print(counter/10);
  lcd.println(" Hz");
  startMeas();
}
}

b707 пишет:

Pyfez пишет:

Дайте хоть подсказку)

ну какую подсказку, Жора? Откройте любой пример к библиотеке ЛиквиКристал - как там печают на экране? неужели оператором Serial.print() ?

Умнею с вами на глазах, но вот не задача пытаюсь загрузить код 

#include <LiquidCrystal_I2C.h>
#include <Wire.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);


volatile int counter=0;
uint32_t timer=0;
void incCounter(){
  counter++;
}
void startMeas(){
  counter=0;
  attachInterrupt(0, incCounter, FALLING );

  timer=millis();
}
void setup() {
  Serial.begin(9600);
  pinMode(2,INPUT_PULLUP);
  lcd.begin(16, 2);
  lcd.backlight();
  Serial.println("Start");
  startMeas();
}
void loop() {
if(millis()-timer>=10000){
  detachInterrupt(0);
  Serial.print("Frequency:");
  Serial.print(counter/10);
  Serial.println(" Hz");
  startMeas();
}
}

А он собака почему то просто пишет "Выгружение" и на этом как бы все 

Pyfez
Offline
Зарегистрирован: 30.10.2020

Так что то я там намутил непонял почему там сериал хотя у меня лсд стоит

b707
Offline
Зарегистрирован: 26.05.2017

я, хоть убейте, опять не вижу в этом коде ни одного lcd.print()

Pyfez
Offline
Зарегистрирован: 30.10.2020

b707 пишет:

я, хоть убейте, опять не вижу в этом коде ни одного lcd.print()

Сайт бракованый у меня вот так https://imgur.com/a/hjgEpOW

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Pyfez пишет:

Сайт бракованый у меня вот так https://imgur.com/a/hjgEpOW

Забейте на сайт, откройте любым текстовым редактором заголовочный (.h) файл библиотеки экрана и посмотрите какие там объявлены методы и как ими пользоваться. Перед каждым методом там должно быть дотошное описание

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Pyfez пишет:

b707 пишет:

Приведите текст сообщения компилятора (только плиз текстом. а не картинкой)

https://imgur.com/a/8SbJUpX

Pyfez, простите, Вы идиот? Или умышленно издеваетесь?

Pyfez
Offline
Зарегистрирован: 30.10.2020

ЕвгенийП пишет:

Pyfez пишет:

b707 пишет:

Приведите текст сообщения компилятора (только плиз текстом. а не картинкой)

https://imgur.com/a/8SbJUpX

Pyfez, простите, Вы идиот? Или умышленно издеваетесь?

Просто немного не далёк, в плане програмирования ардуино :(

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Но понимать разницу между картинкой и текстом должны? Ну ведь должны же??!! 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Pyfez пишет:

Просто немного не далёк, в плане програмирования ардуино :(

Впрочем, в плане чтения постов и понимания разницы между картинкой и текстом - тоже.

BOOM пишет:

Но понимать разницу между картинкой и текстом должны? Ну ведь должны же??!! 

Должен. Но, не понимает :-(