Официальный сайт компании Arduino по адресу arduino.cc
Не могу создать объект
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Втр, 29/11/2016 - 15:30
Добрый день!
Подскажите пожалуйста новичку. Пытаюсь подключить панель Nextion .
Вот код:
#include <SPI.h>
#include <Wire.h>
#include <hmi.h>
#include <SoftwareSerial.h>
#include <Nextion.h>
SoftwareSerial Nextion(2, 3);
Nextion myNextion(nextion,9600); //РУГАЕТСЯ НА ЭТУ СТРОКУ
Выдает ошибку:
pro_ex5_NX:10: error: 'Nextion' does not name a type
exit status 1
'Nextion' does not name a type
Что я делаю не так? Библиотеки загрузил, подключил. Сделал по примеру из интернета.
Помогите пожалуйста.
Для начала Вы неправильно выложили код. Вот как Вам отвечать? Ошибка в строке № ХЗ?
А теперь, смотрите. В строке 6 Вы используете Nextion в качестве имени переменной типа SoftwareSerial. А в строке 8 Вы тот эе самый Nextion используете в качестве имени типа.
Вы уж определитесь, что она у Вас тип или переменная.
Все понял. Спасибо!
Здравствуйте! Снова я.
Изменил я имена. Вот код:
Вот такие ошибки выдает:
sketch_nov30a:6: error: 'Nextion' does not name a type
C:\Documents and Settings\evg\Arduino\sketch_nov30a\sketch_nov30a.ino: In function 'void setup()':
sketch_nov30a:12: error: 'myNextion' was not declared in this scope
C:\Documents and Settings\evg\Arduino\sketch_nov30a\sketch_nov30a.ino: In function 'void loop()':
sketch_nov30a:18: error: 'myNextion' was not declared in this scope
exit status 1
'Nextion' does not name a type
Что я не так сделал, подскажите пожалуйста. Я хочу считывать введенные значения с панели и выводить на панель кое какие данные. Но почему то у меня не получается.
а библиотеку подключили?
#include <Nextion.h>
Да, третьей строкой
вопрос был про скачивание, и установке библиотеки в нужную директорию ?
меню Sketch > Import Library. В самом верху выпадающего списка пункт Add Library (Добавить библиотеку).
Версия Ардуино 1.6.13. Проверил, он сам распаковал и добавил что нужно.
Брал пример https://ongroup.ru/nextion_arduino_mysli_idei_chast_1.html
И подобных примеров много. Переустанавливал Ардуино IDE, перезаливал библиотеки. Не помогло.
Вот пример кода из сслылки:
У меня не работает. Открывал файл Nextion.h, я так понял в нем нет описания классов. Он только доп библиотеки подкидывает. А у Вас нет примера считывания с дисплея значения. Мне хотя бы мини пример. Понять методы обращения к данным панели. Я больше на Delphi с базами работал, проекты в S7 создавал. В си поверхностно
Ну, там же ясно написано - "'Nextion' does not name a type". ну, нету такого типа данных. Нету и взять негде. С чего Вы взяли, что он у Вас есть? Вы его где-то определили? Думаете он есть в библиотеке? так нету. Документация по этой библиотеке хорошая, примеров много читайте.
А как тогда этот пример делался? Те же библиотеки. И такой пример не один. А вот описания методов нет. Ладно, буду искать более простой пример, чтоб вникнуть в суть.
Спасибо!
Понимаете, компилятор Вам говорит, что такого типа нет. Значит. его нет.
Что касается того "как тот пример делался?", так я не знаю какую именно библиотеку они использовали. Сходу я этого там не увидел, а читать столько букв ... Вполне возможно, что не ту, что у Вас.
Вы бы лучше взяли пример из "своей" библиотеки. И мне дайте ссылку на Вашу библиотеку, если хотите
И мне дайте ссылку на Вашу библиотеку, если хотите
я запретил.
ТС! Вы поставили НЕ ТУ библиотеку. Вы поставили полную и большую, а пример писался под "упрощенную" ссылка на нее есть в конце материала, указанного Вами. И да, там все написано по английски.
Спасибо! Разобрался. Раньше с библиотеками не работал. Название одно, а содержание я не посмотрел.
Всем спасибо!
Спасибо! Разобрался. Раньше с библиотеками не работал. Название одно, а содержание я не посмотрел.
Всем спасибо!
и где была загвоздка?????
Не мог создать объект nextion, т.к. в новой библиотеке нет описания к нему. Старая библиотека решила все вопросы. Мне она больше по-душе. В новой как-то все сложнее...
[quote=ragnar]
Не мог создать объект nextion, т.к. в новой библиотеке нет описания к нему. Старая библиотека решила все вопросы. Мне она больше по-душе. В новой как-то все сложнее...
тоже сменил библиотеку и получилось вывести на экран
у меня со старой библиотекой и на экран выводит, и читает значения числовые с панели. просто прелесть))) Полноценная HMI панель получилась. Не хуже семёна работает. Пришлось немного мозги поднапрячь.
[quote=ragnar]
у меня со старой библиотекой и на экран выводит, и читает значения числовые с панели. просто прелесть))) Полноценная HMI панель получилась. Не хуже семёна работает. Пришлось немного мозги поднапрячь.
сам тока начинаю разбиратся тока светодиодом мигал ща до панели добрался не как не мог скетч запустить проверку не проходил вывел температуру с LM35 на экран теперь нада вывести на нужную страницу буду голову ломать
поможешь если что советом?
а что вывести нужно?
например:
myNextion.setComponentValue("page0.n21",count );
вывод на страницу с индексом 0, в компонент "n21" значение счетчика
[quote=ragnar]
а что вывести нужно?
например:
myNextion.setComponentValue("page0.n21",count );
вывод на страницу с индексом 0, в компонент "n21" значение счетчика
пока нужно температуру вывести с нескольких датчиков в разные окошки
ну, все просто. добавляешь компоненты типа number в эти окошки, в свойстве vscope ставишь global, далее по примеру выше -- myNextion.setComponentValue("page0.n0",x );
page0 - страница с номером
n0 - имя переменной, смотри, чтоб не повторялись
x - это то, что ты хочешь туда внести
Можно "закидывать" только целые числа, так что смотри.
Это как один из вариантов. Можно выводить в текстовое поле. Тогда нужно будет преобразовать в ардуино и передавать числовое уже как текст. Как нравиться.
ну, все просто. добавляешь компоненты типа number в эти окошки, в свойстве vscope ставишь global, далее по примеру выше -- myNextion.setComponentValue("page0.n0",x );
page0 - страница с номером
n0 - имя переменной, смотри, чтоб не повторялись
x - это то, что ты хочешь туда внести
Можно "закидывать" только целые числа, так что смотри.
Это как один из вариантов. Можно выводить в текстовое поле. Тогда нужно будет преобразовать в ардуино и передавать числовое уже как текст. Как нравиться.
спасибо на досуге поэкспериментирую
Ну, в чем проблема?
myNextion.setComponentText("page0.t0", String(temp));
удачи! пиши если что, помогу, чем смогу)))
удачи! пиши если что, помогу, чем смогу)))
не, график мне не нужен. Но на ютубе были примеры с графиками, много. Поищи.
не, график мне не нужен. Но на ютубе были примеры с графиками, много. Поищи.
смотрел на ютубе ни чего конкретного не нашёл
было. лучше ищи. ссылки мне отключили))), так что искать мне нет смысла. на FL-proge чувак метеостанцию делал. там три урока было