Все предыдущее было предположение (насчет того, какой тамчип), начинаем с начала
Приходят все OLED 1.3 (уже 5 шт. пришло), которые работают, как я представил ывыше (картинка и видео с примером из SSD1306). С библиотекой U8glib пример запустить не удается... Соединение по SPI. Что там за чип?
А, т.е. " 1.3 (SSH1106)" Вы просто для красного словца написали :)
Попробуйте аккуратно отковырнуть экран, у меня он легко отгибается на шлейфике. А под экраном посмотрите что за чип с хорошей лупой. Правда, если он под каплей кампаунда, то Вам не повезло :(
Нет. Может и та хороша, но я пробовал вот такую - https://github.com/JonHylands/ssd1106 Но, вроде автор пишет, что у неё с SPI проблема. Сам я не испытывал - у меня I2C было.
kosty
1. Нафик Вы сюда пОстите, если сделали отдельную тему?
2. Показаний у потенциометра не бывает, бывает только сопротивление и положение вала.
3. Вы выводите на дисплей переменную Voltage, но нигде, никакого значения ей не присваиваете.
С какого перепуга там будет что-то, кроме 0?
kosty, Вы хоть раз перечитывайте свой код, прежде чем каждый чих спрашивать. Считываете Вы показания в разные переменные, а выводите два раза одну и ту же. Наглядный пример того, что нужно давать внятные имена переменным.
Вот Евгений дело говорит. То, что Вы мусорите в совершенно неподходящей теме, не можете потрудиться правильно вставить код, говорит о Вашей неаккуратности. И ошибки Ваши только от этого. Пройдитесь пальцем по Вашему коду и всё найдёте. Вспомните, что я про имена переменных говорил? И давайте в этой теме обсуждение Вашего скетча завязывать, не к месту оно здесь.
незнаю ответа не нашел, но что то получилось )) конечно поздно )) получается вы сами настройку делали и библиотека дальномера здесь не нужна была. Она наборот мешанину создавала, вот так как то
#include <U8glib.h>
int trigPin = 10; //
int echoPin = 11; //
int ledPin = 9;
U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI
void setup(){
Serial.begin(9600);// включаем порт и назначаем скорость
pinMode(trigPin,OUTPUT);//назначаем trigPin как выход
pinMode(echoPin,INPUT);// назначаем echoPin как вход
digitalWrite(trigPin, LOW);// устанавливаем trigPin изначально в выключенное состояние
delay(100);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
u8g.setFont(u8g_font_unifont);
}
void loop(){
int duration, cm;
digitalWrite(trigPin, LOW);// посылаем сгнал
delayMicroseconds(2);// задержка
digitalWrite(trigPin, HIGH);// выключаем сигнал
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
cm = duration / 58;
Serial.print(cm);
Serial.println(" cm");
u8g.firstPage();
do {
u8g.setColorIndex(1);
u8g.setPrintPos(0, 20);
u8g.print(cm);
} while( u8g.nextPage() );
delay(1000);
}
Сначала разберитесь с I2C. Шрифты потом. Тем более, что Вы хотели без библиотек, так ведь? А без библиотек там нет никаких шрифтов - нечего увеличивать. Любой "щрифт" Вы должны рисовать сами.
Прежде, чем думать о шрифтах, Вы должны уверенно выводить на дисплей информацию. Только тогда можно говорить о работе с дисплеем. А то сейчас начнётся - "Подайте ему команду ХХ" - "А как?"
Сначала разберитесь с I2C. Шрифты потом. Тем более, что Вы хотели без библиотек, так ведь? А без библиотек там нет никаких шрифтов - нечего увеличивать. Любой "щрифт" Вы должны рисовать сами.
Прежде, чем думать о шрифтах, Вы должны уверенно выводить на дисплей информацию. Только тогда можно говорить о работе с дисплеем. А то сейчас начнётся - "Подайте ему команду ХХ" - "А как?"
у вас получилось? я вижу только как люди с помощью даной библиотеки выводят на экран информацию.
у вас получилось? я вижу только как люди с помощью даной библиотеки выводят на экран информацию.
Какой "данной библиотеки"? Вы говорили, что хотите вообще обойтись без библиотек и именно в этом я согласился помогать. Если Вы хотите "с помощью даной библиотеки", то это не ко мне.
у вас получилось? я вижу только как люди с помощью даной библиотеки выводят на экран информацию.
Какой "данной библиотеки"? Вы говорили, что хотите вообще обойтись без библиотек и именно в этом я согласился помогать. Если Вы хотите "с помощью даной библиотеки", то это не ко мне.
дак я то хочу и ценю вашу помощь. Я подключитлся к дисплею по шине I2C из примера
Раскажите как без нее работать, поделитесь опытом)
Ну, например, посмотрите проект, на который я сослался - там всё есть. Проект рабочий, я этот прибор своими глазами видел (мы с автором знакомы в реале).
Раскажите как без нее работать, поделитесь опытом)
Ну, например, посмотрите проект, на который я сослался - там всё есть. Проект рабочий, я этот прибор своими глазами видел (мы с автором знакомы в реале).
... мой идиотометр опять зашкалило... но я совсем не удивлен...
Ты бы не пихал его щупами куда попало. Мож конечно, у тебя продвинутый - с защитой, но обычные - недорогие от таких зашкаливаний и сгореть могут за милую душу.
Раскажите как без нее работать, поделитесь опытом)
Ну, например, посмотрите проект, на который я сослался - там всё есть. Проект рабочий, я этот прибор своими глазами видел (мы с автором знакомы в реале).
А как? где скачать то его?
Ого, го там проект то! помогите тогда разбираться?)
ты бы разговаривал как-то попроще... ты в каждом сообщении разговариваешь вызывающе!
А ты что-нить сделал, чтобы заслужить уважение других? Я не знаю, может в жизни ты почетный донор или передовик сельского хозяйства, но в области интересов форума уважать тебя не за что. Ты третий год "осваиваешь" работу с I2c - а на деле все ограничивается пустой болтовней или дрязгами. Обучение - это прежде всего очень много труда самого ученика - а ты все сидишь и ждешь, что кто-то тебе все волшебно разжует и в рот положит. Думаю, что ждешь зря - в итоге никто ничего тебе обьяснять не будет, за три года и так уже понятно, что это совершенно бестолку. Смирись уже с мыслью, что тебе это никогда не освоить и реализуй себя в чем-то другом... если есть вообще что-то, что ты умеешь.
А ты что-нить сделал, чтобы заслужить уважение других? Я не знаю, может в жизни ты почетный донор или передовик сельского хозяйства, но в области интересов форума уважать тебя не за что. Ты третий год "осваиваешь" работу с I2c - а на деле все ограничивается пустой болтовней или дрязгами. Обучение - это прежде всего очень много труда самого ученика - а ты все сидишь и ждешь, что кто-то тебе все волшебно разжует и в рот положит. Думаю, что ждешь зря - в итоге никто ничего тебе обьяснять не будет, за три года и так уже понятно, что это совершенно бестолку. Смирись уже с мыслью, что тебе это никогда не освоить и реализуй себя в чем-то другом... если есть вообще что-то, что ты умеешь.
[/quote]
Слушай. Ты бы заткнулся бы уже и сидел мочла! Уважение это прежде всего воспитание! которого видимо тебе не дали, или били тебя в школе мало. Болтовня это что ты ведешь, Я виду диалог с людьми а не с бездарью вроде тебя. Которое только что и умеет на форуме кнопки нажимать. Да и то не видно чтобы ты за три года хоть что то толковое сказал, кроме как хамить, грубить и самоутверждаться за счет других! попробуй проявить себя в другом деле.... если есть что-то что ты можешь кроме как по ту чторону экрана быть смелым...
Жаль нет кноки заблокировать и не видеть твои унылые,.бестолковые и абсолютно не нужные соообщения...
пока не увидел ничего, кроме бесконечного нытья "помогитттте..."
Проект, что тебе дал Евгений - хотя бы открывал, читал7 мысли есть? Когда конкретные вопросы начнешь задавать, по которым станет понятно, что реально пытаешься разобраться - вот тогда и флейма не будет
Подскажите пожалуйста, как в библиотеке U8glib работать с несколькими Oled дисплеями (SH1106 128x64) подключенными по i2c и имеющими разные адреса? Изначально в библиотеке передаётся информация на дисплей с адресом 0x3c, если в библиотеке исправить #define I2C_SLA (0x3c*2) на другой адрес то работает с другим дисплеем, но не могу осилить как сразу с двумя дисплеями работать.
Все предыдущее было предположение (насчет того, какой тамчип), начинаем с начала
Приходят все OLED 1.3 (уже 5 шт. пришло), которые работают, как я представил ывыше (картинка и видео с примером из SSD1306). С библиотекой U8glib пример запустить не удается... Соединение по SPI. Что там за чип?
А, т.е. " 1.3 (SSH1106)" Вы просто для красного словца написали :)
Попробуйте аккуратно отковырнуть экран, у меня он легко отгибается на шлейфике. А под экраном посмотрите что за чип с хорошей лупой. Правда, если он под каплей кампаунда, то Вам не повезло :(
Похожая ситуация:
http://arduino.ru/forum/apparatnye-voprosy/oled-diagonal-13 ,
http://arduino.ru/forum/apparatnye-voprosy/displei-sh1106
Видимо, действительно так реагирует чип 1106 на пример для 1306 ...
Подскажите с библиотекой для 1106, которая "модифицированная под 1106 адафрутовская библиотека для 1306" , а то не могу найти...
Это она?: https://github.com/rene-mt/esp8266-oled-sh1106
Нет. Может и та хороша, но я пробовал вот такую - https://github.com/JonHylands/ssd1106 Но, вроде автор пишет, что у неё с SPI проблема. Сам я не испытывал - у меня I2C было.
Запустил U8glib (UNO + 1106) ! (Arduino IDE 1.6.4)
В примере GraphicsTest есть две строки "про SPI":
Есть матричная клавиатура и дисплей, подскажите как с помощью этой библиотеки выводить на дисплей значения при нажатии кнопки клавиатуры.
Пробовал так, но символ отображается и сразу исчезает. Как сделать чтоб он не исчезал?
Данную проблему решил, появился вопрос как сделать чтоб символы выводились в строчку а не один символ заменялся другим?
хотел вывести показания потенциометра, но на экране почемуто 0.00 что не так в сктче ,может кто подскажет
#include <U8glib.h>
U8GLIB_ST7920_128X64 u8g(10, 11, 12, U8G_PIN_NONE); // настройка пинов
const int VoltIn = 0;
int ReadVoltIn; // Значение на аналоговом входе VoltIn
float Voltage;
void setup()
{
delay(1000);
}
void draw(void) {
u8g.setFont(u8g_font_unifont);
u8g.setPrintPos(0, 20);
u8g.print(Voltage);
}
void loop(void) {
u8g.firstPage();
do {
draw();
} while( u8g.nextPage() );
}
kosty
1. Нафик Вы сюда пОстите, если сделали отдельную тему?
2. Показаний у потенциометра не бывает, бывает только сопротивление и положение вала.
3. Вы выводите на дисплей переменную Voltage, но нигде, никакого значения ей не присваиваете.
С какого перепуга там будет что-то, кроме 0?
с одним потенциометром все хорошо работает сделал два ,один почемуто не видит
#include "U8glib.h"
int sensor1Pin = 0;
int sensor2Pin = 1;
const int sensor1 = 0;
const int sensor2 = 0;
U8GLIB_ST7920_128X64_1X u8g( 10, 11, 12);
void setup() {
}
void loop () {
u8g.firstPage();
do {
u8g.setColorIndex(1);
u8g.drawBox(0, 0, 62, 64);
u8g.drawBox(66, 0, 128, 64);
u8g.setColorIndex(0);
u8g.setFont(u8g_font_10x20);
int val = analogRead(sensor1);
val = map(val, 0, 1023, 0, 100);
u8g.setPrintPos( 15, 60); u8g.print(val);
u8g.setPrintPos( 35, 60); u8g.print("%");
int vall = analogRead(sensor2);
val = map(val, 0, 1023, 0, 100);
u8g.setPrintPos( 85, 60); u8g.print(val);
u8g.setPrintPos( 105, 60); u8g.print("%");
} while (u8g.nextPage());
delay(1000);
}
kosty, Вы хоть раз перечитывайте свой код, прежде чем каждый чих спрашивать. Считываете Вы показания в разные переменные, а выводите два раза одну и ту же. Наглядный пример того, что нужно давать внятные имена переменным.
вы извените только учусь, а если так тоже не выходит
#include "U8glib.h"
int sensor1Pin = 0;
int sensor2Pin = 1;
const int sensor1 = 0;
const int sensor2 = 0;
U8GLIB_ST7920_128X64_1X u8g( 10, 11, 12);
void setup() {
}
void loop () {
u8g.firstPage();
do {
u8g.setColorIndex(1);
u8g.drawBox(0, 0, 62, 64);
u8g.drawBox(66, 0, 128, 64);
u8g.setColorIndex(0);
u8g.setFont(u8g_font_10x20);
int val = analogRead(sensor1);
val = map(val, 0, 1023, 0, 100);
u8g.setPrintPos( 15, 60); u8g.print(val);
u8g.setPrintPos( 35, 60); u8g.print("%");
int val1 = analogRead(sensor2);
val = map(val, 0, 1023, 0, 100);
u8g.setPrintPos( 85, 60); u8g.print(val1);
u8g.setPrintPos( 105, 60); u8g.print("%");
} while (u8g.nextPage());
delay(1000);
}
переделал так один резистор меняет почемуто оба показания
#include "U8glib.h"
int sensor1Pin = 0;
int sensor2Pin = 1;
const int sensor1 = 0;
const int sensor2 = 0;
U8GLIB_ST7920_128X64_1X u8g( 10, 11, 12);
void setup() {
}
void loop () {
u8g.firstPage();
do {
u8g.setColorIndex(1);
u8g.drawBox(0, 0, 62, 64);
u8g.drawBox(66, 0, 128, 64);
u8g.setColorIndex(0);
u8g.setFont(u8g_font_10x20);
int val = analogRead(sensor1);
val = map(val, 0, 1023, 0, 100);
u8g.setPrintPos( 15, 60); u8g.print(val);
u8g.setPrintPos( 35, 60); u8g.print("%");
int val1 = analogRead(sensor2);
val1 = map(val1, 0, 1023, 0, 100);
u8g.setPrintPos( 85, 60); u8g.print(val1);
u8g.setPrintPos( 105, 60); u8g.print("%");
} while (u8g.nextPage());
delay(1000);
}
получилось, вот так заработало, спасибо kalapanga за подсказку
#include "U8glib.h"
int sensor1Pin = 0;
int sensor2Pin = 1;
const int sensor1 = 0;
const int sensor2 = 1;
U8GLIB_ST7920_128X64_1X u8g( 10, 11, 12);
void setup() {
}
void loop () {
u8g.firstPage();
do {
u8g.setColorIndex(1);
u8g.drawBox(0, 0, 62, 64);
u8g.drawBox(66, 0, 128, 64);
u8g.setColorIndex(0);
u8g.setFont(u8g_font_10x20);
int val = analogRead(sensor1);
val = map(val, 0, 1023, 0, 100);
u8g.setPrintPos( 15, 60); u8g.print(val);
u8g.setPrintPos( 35, 60); u8g.print("%");
int val1 = analogRead(sensor2);
val1 = map(val1, 0, 1023, 0, 100);
u8g.setPrintPos( 85, 60); u8g.print(val1);
u8g.setPrintPos( 105, 60); u8g.print("%");
} while (u8g.nextPage());
delay(500);
}
вы извените только учусь
Не "извеняем". Если бы учились, давно бы научились код правильно вставлять.
Напрасно коллеги читают, то, что вставлено неправильно - не читали бы, давно бы Вас научили.
Вот Евгений дело говорит. То, что Вы мусорите в совершенно неподходящей теме, не можете потрудиться правильно вставить код, говорит о Вашей неаккуратности. И ошибки Ваши только от этого. Пройдитесь пальцем по Вашему коду и всё найдёте. Вспомните, что я про имена переменных говорил? И давайте в этой теме обсуждение Вашего скетча завязывать, не к месту оно здесь.
Доброго времени. отсутствовал по весомым причинам. нет не осовоил. продолжим? только в дугом проекте?
Доброго времени. отсутствовал по весомым причинам. нет не осовоил. продолжим? только в дугом проекте?
а есть ли смысл? ты что, чему-то научился за 2 года? или опять будешь нести хрень, как на первых двух страницах - а потом поливать всех матюками?
не провоцируй и не буду. не хочешь помогать и учить, не обращай внимания. Что тебе сложно то сидеть молча? не тебе было адресовано сообщение.
ты бы тогда конкретно написал, к кому обращаешься.
Ghost33, я получил дисплей. Вы разобрались как там I2C выводить?
Здравствуйте. нет я не разобрался. как увеличить шрифт?
Сначала разберитесь с I2C. Шрифты потом. Тем более, что Вы хотели без библиотек, так ведь? А без библиотек там нет никаких шрифтов - нечего увеличивать. Любой "щрифт" Вы должны рисовать сами.
Прежде, чем думать о шрифтах, Вы должны уверенно выводить на дисплей информацию. Только тогда можно говорить о работе с дисплеем. А то сейчас начнётся - "Подайте ему команду ХХ" - "А как?"
Сначала разберитесь с I2C. Шрифты потом. Тем более, что Вы хотели без библиотек, так ведь? А без библиотек там нет никаких шрифтов - нечего увеличивать. Любой "щрифт" Вы должны рисовать сами.
Прежде, чем думать о шрифтах, Вы должны уверенно выводить на дисплей информацию. Только тогда можно говорить о работе с дисплеем. А то сейчас начнётся - "Подайте ему команду ХХ" - "А как?"
у вас получилось? я вижу только как люди с помощью даной библиотеки выводят на экран информацию.
у вас получилось? я вижу только как люди с помощью даной библиотеки выводят на экран информацию.
Какой "данной библиотеки"? Вы говорили, что хотите вообще обойтись без библиотек и именно в этом я согласился помогать. Если Вы хотите "с помощью даной библиотеки", то это не ко мне.
у вас получилось? я вижу только как люди с помощью даной библиотеки выводят на экран информацию.
Какой "данной библиотеки"? Вы говорили, что хотите вообще обойтись без библиотек и именно в этом я согласился помогать. Если Вы хотите "с помощью даной библиотеки", то это не ко мне.
дак я то хочу и ценю вашу помощь. Я подключитлся к дисплею по шине I2C из примера
https://www.youtube.com/watch?v=0DJwQew7EjY&vl=ru
дак я то хочу и ценю вашу помощь. Я подключитлся к дисплею по шине I2C из примера
https://www.youtube.com/watch?v=0DJwQew7EjY&vl=ru
какого примера? в этом примере опять через библиотеку все
дак я то хочу и ценю вашу помощь. Я подключитлся к дисплею по шине I2C из примера
https://www.youtube.com/watch?v=0DJwQew7EjY&vl=ru
какого примера? в этом примере опять через библиотеку все
ну дак а как без нее? в любом же случае все используют библиотеку
ну дак а как без нее?
Я не знаю как. Это Вы написали:
а не я. Вам виднее.
Я подписывался только на это. С библиотекой я Вам помочь не могу по очень простой причине - я её в глаза никогда не видел.
в любом же случае все используют библиотеку
Кто Вам сказал? Вас жестоко обманули.
Я, например, никогда с этим дисплеем никаких библиотек не использую. И не только я. Вот, например, проект с таким же дисплеем - и никаких библиотек.
Раскажите как без нее работать, поделитесь опытом)
поделитесь опытом и знаниями)
А как? где скачать то его?
А как? где скачать то его?
... мой идиотометр опять зашкалило... но я совсем не удивлен...
В сообщении #130 Евгений разместил ссылку на ветку обсуждения.
В той ветке ссылка на проект - в самой первой строке самого первого сообщения....
... мой идиотометр опять зашкалило... но я совсем не удивлен...
Ты бы не пихал его щупами куда попало. Мож конечно, у тебя продвинутый - с защитой, но обычные - недорогие от таких зашкаливаний и сгореть могут за милую душу.
А как? где скачать то его?
... мой идиотометр опять зашкалило... но я совсем не удивлен...
В сообщении #130 Евгений разместил ссылку на ветку обсуждения.
В той ветке ссылка на проект - в самой первой строке самого первого сообщения....
ты бы разговаривал как-то попроще... ты в каждом сообщении разговариваешь вызывающе!
[quote=b707]
В той ветке ссылка на проект - в самой первой строке самого первого сообщения....
[quote=b707]
не заметил...
А как? где скачать то его?
Ого, го там проект то! помогите тогда разбираться?)
ты бы разговаривал как-то попроще... ты в каждом сообщении разговариваешь вызывающе!
А ты что-нить сделал, чтобы заслужить уважение других? Я не знаю, может в жизни ты почетный донор или передовик сельского хозяйства, но в области интересов форума уважать тебя не за что. Ты третий год "осваиваешь" работу с I2c - а на деле все ограничивается пустой болтовней или дрязгами. Обучение - это прежде всего очень много труда самого ученика - а ты все сидишь и ждешь, что кто-то тебе все волшебно разжует и в рот положит. Думаю, что ждешь зря - в итоге никто ничего тебе обьяснять не будет, за три года и так уже понятно, что это совершенно бестолку. Смирись уже с мыслью, что тебе это никогда не освоить и реализуй себя в чем-то другом... если есть вообще что-то, что ты умеешь.
А ты что-нить сделал, чтобы заслужить уважение других? Я не знаю, может в жизни ты почетный донор или передовик сельского хозяйства, но в области интересов форума уважать тебя не за что. Ты третий год "осваиваешь" работу с I2c - а на деле все ограничивается пустой болтовней или дрязгами. Обучение - это прежде всего очень много труда самого ученика - а ты все сидишь и ждешь, что кто-то тебе все волшебно разжует и в рот положит. Думаю, что ждешь зря - в итоге никто ничего тебе обьяснять не будет, за три года и так уже понятно, что это совершенно бестолку. Смирись уже с мыслью, что тебе это никогда не освоить и реализуй себя в чем-то другом... если есть вообще что-то, что ты умеешь.
[/quote]
Слушай. Ты бы заткнулся бы уже и сидел мочла! Уважение это прежде всего воспитание! которого видимо тебе не дали, или били тебя в школе мало. Болтовня это что ты ведешь, Я виду диалог с людьми а не с бездарью вроде тебя. Которое только что и умеет на форуме кнопки нажимать. Да и то не видно чтобы ты за три года хоть что то толковое сказал, кроме как хамить, грубить и самоутверждаться за счет других! попробуй проявить себя в другом деле.... если есть что-то что ты можешь кроме как по ту чторону экрана быть смелым...
Жаль нет кноки заблокировать и не видеть твои унылые,.бестолковые и абсолютно не нужные соообщения...
Я виду диалог с людьми
пока не увидел ничего, кроме бесконечного нытья "помогитттте..."
Проект, что тебе дал Евгений - хотя бы открывал, читал7 мысли есть? Когда конкретные вопросы начнешь задавать, по которым станет понятно, что реально пытаешься разобраться - вот тогда и флейма не будет
Подскажите пожалуйста, как в библиотеке U8glib работать с несколькими Oled дисплеями (SH1106 128x64) подключенными по i2c и имеющими разные адреса? Изначально в библиотеке передаётся информация на дисплей с адресом 0x3c, если в библиотеке исправить #define I2C_SLA (0x3c*2) на другой адрес то работает с другим дисплеем, но не могу осилить как сразу с двумя дисплеями работать.
Нужно самому создать экземпляр класса для второго дисплея. Но хватит ли на это памяти - зависит от используемого контроллера.
Спасибо. Нашёл простой способ на форуме arduino.cc пост #48