Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!

Подключить oled lcd 0.96 дисплей к микроконтроллеру PIC

Translated2000 UAH

Приложения 2

Просмотр приложений доступен только зарегистрированным пользователям.
  1. 689
     2  0

    Победившая ставка5 дней2000 UAH

    Готов обсудить и выполнить.
    Вижу что обсуждение идет, а исполнителей нет.
    Цена срок по умолчанию, жду предложения от вас.

  • Контроллер не может быть любой, у него должен быть аппаратный i2c. Или Вы хотите программно управлять?

  • Дмитро Бутенко
    8 мая, 17:27 |

    Да, верно, должен быть аппаратный I2C

  • Роман С.
    8 мая, 20:12 |

    у PIC18F2520 есть аппаратный і2с на 14 и 15 лапе сидят.

    с ssd1306 работаю давно и успешно ( а там контроллер именно такой) но к сожалению под PIC практически не пишу

  • Роман С.
    8 мая, 20:15 |

    Для того кто будет делать можно взять за отправную точку вот этот проект https://github.com/kiwih/pic16f877a-ssd1306-oled

  • Так а что там делать? Ты же дал готовый проект. Кнопочку Compile осталось нажать. )) Ну и библиотеку для рисования линий там всяких прикрутить.

  • Максим Солоед
    9 мая, 1:02 |

    Ще актуально, Вам потрібен готовий пристрій? 

  • Дмитро Бутенко
    9 мая, 16:08 |

    Актуально, потрібна робоча бібліотека яка приєднується в проект.  Пристрій це мікроконтролер з'єднаний проводами з дисплеєм, на нього виводиться зображення, масив в алфавітному порядку + символи + горизонтальних(вертикальні) лінії.

  • Вам же выше дали ссылку на библиотеку,  алфавит там точно есть.  Добавьте туда нужные вам символы и линии. Проверил, даже в протеусе замечательно работает.


  • Роман С.
    9 мая, 19:05 |

    а рисование линий ( в той библиотеке нет) добавляеися функцией

    void SSD1306_DrawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int1 color = TRUE)
    {
      int1 steep;
      int8_t ystep;
      uint8_t dx, dy;
      int16_t err;
      steep = abs(y1 - y0) > abs(x1 - x0);
      if (steep) {
        ssd1306_swap(x0, y0);
        ssd1306_swap(x1, y1);
      }
      if (x0 > x1) {
        ssd1306_swap(x0, x1);
        ssd1306_swap(y0, y1);
      }
      dx = x1 - x0;
      dy = abs(y1 - y0);
    
      err = dx / 2;
      if (y0 < y1)
        ystep = 1;
      else
        ystep = -1;
    
      for (; x0 <= x1; x0++) {
        if (steep) {
          if(color) SSD1306_DrawPixel(y0, x0);
          else      SSD1306_DrawPixel(y0, x0, FALSE);
        }
        else {
          if(color) SSD1306_DrawPixel(x0, y0);
          else      SSD1306_DrawPixel(x0, y0, FALSE);
        }
        err -= dy;
        if (err < 0) {
          y0  += ystep;
          err += dx;
        }
      }
    }

Заказчик
Проект опубликован
1 месяц 14 дней назад
141 просмотр
Метки
  • I2C
  • mplab
  • XC8
  • PIC18F2520