Получить данные на nokia 5110
- Войдите на сайт для отправки комментариев
Ср, 19/03/2014 - 21:59
Привет люди!
Пытаюсь подружить arduino nano + mpu6050 GY-521 + lcd nokia 5110
По отдельности проблем нет заставить работать, а вот выводить на лсд данные с гироскопа точнее mpu6050 GY-521
Кто то имел дело с таким набором?
не пойму почему не может работать. мпу i2c. дисплей spi. что то не так объеденяете
ладно бы оба были spi и оба хардваный использовали паралельно, а так вы что то неправильно делаете
схему как подключено чего
ну и код, каким образом все это пытаются юзать
Подключение типовуха.
Код чуть позже
Спасибо!
что то не так объеденяете
вы что то неправильно делаете
Это я и сам догадался.... :)
Вот эти скетчи:
http://playground.arduino.cc/Main/MPU-6050#sketch
http://zelectro.com.ua/nokia5110_module_arduino
Хочу заставить выводить это
Serial.print(accel_t_gyro.value.x_gyro, DEC);
тут
В идеале хотел бы так http://www.youtube.com/watch?v=lwlOZzNJqJc но пока не разобрался... http://www.youtube.com/watch?v=DRorgisSHF0 выводит показания на
LiuqidCristal MTC-16208x HD hd44780 а этого мало... (у него всего 2 строки, а у 5110 8 строк)
да вы с библиотекой на дисплей не разобрались вот у вас и не получается
Там используется Adafruit_GFX_Library
так хоть пример посмотрите
display.println(3.141592);
говорил же. с библиотекой не разобрались
Ну 8 строк фиг бы не читал на этом дисплее, 5 еще более менее вменяемо выходит.
попробуйте короче так. для строковой адресации
для пиксельной
не смотрел какая у вас используется
На монитроре сом порта есть показания.
а на лсд нет.
а где вы выводите текст на дисплей? что то не увидел ктоме вывода текста "MIS". в терминал вижу
Извиняюсь за то что вмешиваюсь. Подскажите разницу между командами display.write и display.print.
Поддерживаю вопрос
jeka_tm, вы правы.
Вывод только там... строки 800...
А может сделать так:
861
// Выведем текст
862
// Устанавливаем курсор
863
display.setCursor(0, 0);
864
// Устанавливаем цвет текста
865
display.setTextColor(BLACK);
866
// Устанавливаем размер текста
867
display.setTextSize(1);
868
// Выводим текст
869
display.setCursor(5, 10);
2
display.println(accel_t_gyro.value.x_gyro);
3
display.setCursor(5, 20);
4
display.println(accel_t_gyro.value.y_gyro);
5
display.setCursor(5, 30);
6
display.println(accel_t_gyro.value.z_gyro);
873
delay(10000);
874
875
// Очищаем дисплей
876
display.clearDisplay();
877
display.display();
878
delay(1000);
879
}
насколько я понял display.write выводит только 1 символ, а display.print строку
а почему туда вставлять? попробуйте вставить это в loop
насколько я понял display.write выводит только 1 символ, а display.print строку
В описании библиотеки один символ выводит команда display.shar, а display.write я вообще не нашёл, но она работает также как и display.print. Поэтому я и хотел уточнить.
я честно сказать не разбирался. не использую этот дисплей. посмотрите в кодах библиотеки эти функции чтобы было понятнее
Графическая библиотека-то для всех дисплеев одинаковая (как я понял) - Adafruit_GFX_Library. Значит и команды одинаковые. Только для работы каждого конкретного дисплея с этой библиотекойс подключается своя библиотека. По крайней мере я так понял из этого описания:
https://learn.adafruit.com/adafruit-gfx-graphics-library/overview
скорее всего так и есть. я лично использовал эту либу только для цветного дисплея. соответственно особо не разбирался, так картинку повыводил и цифры.
памяти много кушает эта либа
насколько я понял display.write выводит только 1 символ, а display.print строку
а почему туда вставлять? попробуйте вставить это в loop
вставил.
на экране появилось три строки и 5 символов - прямоугольники.
первоночально есть цифры, а потом постепенно закрашиваются прямоугольники) и все...
а понятно. короче просто сделайте так
я пробовал очищать дисплей по другому. изображение проподало вовсе.
делал так:
я предложил как. а как делать вам решать (но по моему вы делаете неправильно. вы очищаете дисплей а потом обновляете, хотя все очистили и выводить нечего. в этих либах создается массив с количеством бит равным количеству пикселей в дисплее.и если я правильно понял очистка дисплея очищает массив и обновляет это на дисплее. поэтому вы записываете в массив что надо вывести, очищаете массив, а потом выводите этот массив на дисплей, но он пустой и поэтому на экране ничего нет. но может я просто ошибаюсь, в другой либе с которой я работал так было)
завтра проверю ваш вариант. спасибо.
я предложил как. а как делать вам решать (но по моему вы делаете неправильно. вы очищаете дисплей а потом обновляете, хотя все очистили и выводить нечего. в этих либах создается массив с количеством бит равным количеству пикселей в дисплее.и если я правильно понял очистка дисплея очищает массив и обновляет это на дисплее. поэтому вы записываете в массив что надо вывести, очищаете массив, а потом выводите этот массив на дисплей, но он пустой и поэтому на экране ничего нет. но может я просто ошибаюсь, в другой либе с которой я работал так было)
Как раз в этой библиотеке, которую автор взял с Зеллетро, без операции display.display() ничего не происходит, даже очистка дисплея.
ну значит такого же типа библиотека. она много жрет памяти на массив, но зато графику любую можно рисовать, текст в любом месте вставить. я сейчас делаю по другому, и там привязка к строкам дисплея. менее удобно, но зато хоть на тиньке 13 можно запустить
Так а что за библиотека у тебя? Попробуем может она действительно лучше.
она не под 5110. переделать конечно можно, но мне лень.
и это не библиотека а просто код. вот например
можно конечно оформить библиотекой, но тогда править неудобно, я по необходимости добавляю новый шрифт, графику
у вас универсальная библиотека, графику любую, писать в любом месте, но требует много оперативки, на меге8 не запустишь. точнее запустишь, но останется 20-30 байт оперативки, и фактически невозможно что то делать
теперь у меня есть две калонки по три строки в каждой
0,00 0,00
0,00 0,00
0,00 0,00
И что - обновляется? Просто не вижу после 16 строки display.display(). Она наверное или выше где-то или ниже есть.
цифры не меняются? всегда нули?
если все норм видео выложите хоть гляну
не не цифры меняются!
все ок.
видео выложу!
был рад помочь. жду видео
Если кому надо привожу рабочий код . Жека Спасибо!
когда выкладываете код во вкладке дополнительно есть галочка сворачивать код по умолчанию. это так на будущее, хотя и пост можете поправить. жду видео. интересно что получилось
как раз хотел спросить про это....
Если кому надо привожу рабочий код . Жека Спасибо!
Всё с 9-ой по 581 строку уберите в отдельный файл и включите просто файл в код. Удобней же работать с ним будет.
да. но редактировать неудобно. нужен отдельный редактор. может когда введут в возможность открыть несколько вкладок, и чтобы идэ позволяла редактировать .H файлы. было бы шикарно. сам бы так сделал
я делал отдельно, но приходилось при доработке кода открывать codevision и править
Вобще не вижу проблем. .h файлы открываю в atmelstudio, подправляю, сохраняю(без закрытия) и тут же компелирую. Да я постоянно так делаю.
доп. редактор это не так удобно как если бы все можно было делать в одном
на вкус и цвет все фломастеры разные. мне просто так было бы удобнее
Согласен, кому как.
ArduinoIDE нормально открывает несколько файлов в разных вкладках и не нужен внешний редактор
И иногда рабороспособность кода только при таком включении и возможна. Не хочу рыться по форуму за ссылкой, но если не ошибаюсь это LCD от siemens A60 кажется и Atmega 8.
Вот ссылка на видео.
прикольно. только наверно задержку стоит убавить чтобы чаще обновлялось