Поиск по сайту

Результаты поиска по тегам 'библиотека'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • AVR
    • PIC
    • STM32
    • Arduino и Raspberry Pi
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Конкурсы сайта с призами
    • Сайт Паяльник и форум
    • Курилка
    • Технический английский (English)
    • Наши проекты для Android и Web
    • FAQ (Архив)
    • Личные блоги
    • Корзина
    • Вопросы с VK
  • ATX->ЛБП Переделки
  • Юмор в youtube Киловольты юмора
  • Надежность и группы продавцов Радиолюбительская доска объявлений exDIY
  • разные темы Переделки

Блоги

Нет результатов для отображения.

Нет результатов для отображения.

Местоположения

  • Пользователи форума

Группа


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Найдено 5 результатов

  1. Мои библиотеки условных графических обозначений для Altium Designer. Выводы расположены в дюймовой сетке (DXP Defaults Units). C - конденсаторы Постоянные, переменные, подстроечные конденсаторы R - резисторы Постоянные резисторы различной мощности, подстроечные резисторы, потенциометры, варисторы, терморезисторы X - разъемы Соединения контактные - штыри, гнезда ... продолжение следует
  2. В общем нужна библиотека для вывода текста с STM32RB100 на экран 1602a. Соединение -- через 4 или 8 ножки. Я вам даю микроконтроллер и дисплей, а вы ищите или пишите библиотеку для этого. В общем нужно чтобы заработало. Если дисплей не работает, то подобрать другой. Пишите сюда либо на почту yurolejniko@yandex.ru
  3. Доброго времени суток. Вопрос в названии: есть ли готовая библиотека для работы с дисплеем? Сразу отвечу на пару возникающих вопросов: 1. Да, я уже искал в инете. Если что-то похожее находил, оно обязательно не рабочее! 2. Сам писать не пробовал. ИМХО, приступлю к этому если не будет другого выбора. Спасибо за интерес и помощь
  4. динамическая индикация на индикатор (общий анод) используется сдвиговый регистр 74HC595 и arduino nano 328p проблема в заключается функции indicator7seg4razr::displayMain(); //main.cpp #include "Indicator7s4razr_registr.h" indicator7seg4razr indicator; //переменная класса ISR(TIMER2_OVF_vect) { indicator.displayMain(); TCNT0 = 0xFF - 10; // Overflow again after 10 ticks = 10 us } String hello = "hello it s me"; void setup() { // put your setup code here, to run once: //indicator.displayString(hello,300,true); indicator.displayNumber(1234); } void loop() { // put your main code here, to run repeatedly: indicator.displayMain(); } //****************************************************************** // Name : Indicator7s4razr_registr.h // Author : ALEX_45 // Date : 01.02.2016 // Version : 1.0 // Notes : Программа использует один сдвиговый регистр 74HC595 // : для управления 7сегментным 4рех разрядным индикатором //****************************************************************** /* 4-разрядный 7-сегментный индикатор 1 A F 2 3 B 1 A F 2 3 B ____________|__|__|__|__|__|____________ | | | | | | A | A | A | A | | F B | F B | F B | F B | | G | G | G | G | | E C | E C | E C | E C | | D dp| D dp| D dp| D dp| |_________|_________|_________|_________| | | | | | | E D dp C G 4 74HC595 Map: _______ PINS 15, 1-7 Q0 - Q7 Output Pins Q1 |1 * 16| Vcc PIN 8 GND Ground, Vss Q2 |2 15| Q0 PIN 9 Q7" Serial Out Q3 |3 14| DS PIN 10 MR Master Reclear, active low Q4 |4 13| OE PIN 11 SH_CP Shift register clock pin Q5 |5 12| ST_CP PIN 12 ST_CP Storage register clock pin (latch pin) Q6 |6 11| SH_CP PIN 13 OE Output enable, active low Q7 |7 10| MR PIN 14 DS Serial data input GND |8_____9| Q7" PIN 16 Vcc Positive supply voltage */ /****|добавить в код main.cpp:|********************************** indicator7seg4razr indicator; //переменная класса ISR(TIMER2_OVF_vect) { indicator.display(); TCNT0 = 0xFF - 10; // Overflow again after 10 ticks = 10 us } *****************************************************************/ #ifndef _7segm4razr_Indicator&registr_H_ #define _7segm4razr_Indicator&registr_H_ #define A 0// Segment A #define B 1// Segment B #define C 2// Segment C #define D 3// Segment D #define E 4// Segment E #define F 5// Segment F #define G 6// Segment G #define DP 7// Segment DP class indicator7seg4razr{ private: byte lockPin = 8; //Пин подключен к ST_CP входу 74HC595 byte clockPin = 12; //Пин подключен к SH_CP входу 74HC595 byte dataPin = 11; //Пин подключен к DS входу 74HC595 byte segmentPins[4] = {3,5,6,9}; //Пины разрядов индикатора {1,2,3,4} volatile byte display[4] = {255,255,255,255}; //переменная хранящая вывод на дисплей byte get_segments(char symvol); //получает вывод на сегменты из символа public: indicator7seg4razr(); //конструктор-настройщик void displayMain(); //выводит display[4] должна крутится в таймере void displayClear(); //Очищает дисплей void displayChar(char simvol,byte pos); //выводит символ в позицию 1-4 void displayString(String str,int zaderjka,bool fromRight); //выводит строку; задержка между символами; с права или слева void displayNumber(int number); //выводит число 0-9999 void addDot(byte pos); //добавляет точку в позицию 1-4 void displayTime(byte hour,byte minutes,byte seconds); //выводит время должна быть в цикле void displayDate(byte date,byte mounth); //выводит датту void displayYear(int year); //выводит год void displayZmeika(byte pos,int zaderjka); //выводит бегающюю змейку в позицию 1-4; zaderjka - задержка перемещения }; #endif // _7segm4razr_Indicator&registr_H_ //**************************************************************** // Name : Indicator7s4razr_registr.cpp // Author : ALEX_45 // Date : 01.02.2016 // Version : 1.0 // Notes : Программа использует один сдвиговый регистр 74HC595 // : для на сегментный 4рех разрядный индикатор //**************************************************************** #include "Arduino.h" #include "String.h" //using namespace std; #include "Indicator7s4razr_registr.h" byte indicator7seg4razr::get_segments(char symvol) { byte segments = 0; switch (symvol) { case 0: case '0': case 'O': segments = (1 << A) | (1 << | (1 << C) | (1 << D) | (1 << E) | (1 << F); break; case 1: case '1': case 'l': segments = (1 << | (1 << C); break; case 2: case '2': segments = (1 << A) | (1 << | (1 << D) | (1 << E) | (1 << G); break; case 3: case '3': segments = (1 << A) | (1 << | (1 << C) | (1 << D) | (1 << G); break; case 4: case '4': segments = (1 << | (1 << C) | (1 << F) | (1 << G); break; case 5: case '5': case 'S': case 's': segments = (1 << A) | (1 << C) | (1 << D) | (1 << F) | (1 << G); break; case 6: case '6': segments = (1 << A) | (1 << C) | (1 << D) | (1 << E) | (1 << F) | (1 << G); break; case 7: case '7': segments = (1 << A) | (1 << | (1 << C); break; case 8: case '8': segments = (1 << A) | (1 << | (1 << C) | (1 << D) | (1 << E) | (1 << F) | (1 << G); break; case 9: case '9': case 'g': segments = (1 << A) | (1 << | (1 << C) | (1 << D) | (1 << F) | (1 << G); break; case 10: case 'A': case 'a': segments = (1 << A) | (1 << | (1 << C) | (1 << E) | (1 << F) | (1 << G); break; case 11: case 'B': case 'b': segments = (1 << C) | (1 << D) | (1 << E) | (1 << F) | (1 << G); break; case 12: case 'C': segments = (1 << A) | (1 << D) | (1 << E) | (1 << F); break; case 'c': segments = (1 << D) | (1 << E) | (1 << G); break; case 13: case 'D': case 'd': segments = (1 << | (1 << C) | (1 << D) | (1 << E) | (1 << G); break; case 14: case 'E': segments = (1 << A) | (1 << D) | (1 << E) | (1 << F) | (1 << G); break; case 'e': segments = (1 << A) | (1 << | (1 << D) | (1 << E) | (1 << F) | (1 << G); break; case 15: case 'F': case 'f': segments = (1 << A) | (1 << E) | (1 << F) | (1 << G); break; case 'G': segments = (1 << A) | (1 << C) | (1 << D) | (1 << E) | (1 << F); break; case 'H': case 'x': case 'X': segments = (1 << | (1 << C) | (1 << E) | (1 << F) | (1 << G); break; case 'h': segments = (1 << C) | (1 << E) | (1 << F) | (1 << G); break; case 'I': case 'i': segments = (1 << | (1 << C); break; case 'J': case 'j': segments = (1 << | (1 << C) | (1 << D) | (1 << E); break; case 'L': segments = (1 << D) | (1 << E) | (1 << F); break; case 'M': case 'm': segments = (1 << A) | (1 << C) | (1 << E) | (1 << G); break; case 'N': case 'n': segments = (1 << C) | (1 << E) | (1 << G); break; case 'o': segments = (1 << C) | (1 << D) | (1 << E) | (1 << G); break; case 'P': case 'p': segments = (1 << A) | (1 << | (1 << E) | (1 << F) | (1 << G); break; case 'Q': case 'q': segments = (1 << A) | (1 << | (1 << C) | (1 << F) | (1 << G); break; case 'R': case 'r': segments = (1 << E) | (1 << G); break; case 'T': case 't': segments = (1 << D) | (1 << E) | (1 << F) | (1 << G); break; case 'U': segments = (1 << | (1 << C) | (1 << D) | (1 << E) | (1 << F); break; case 'u': case 'v': segments = (1 << C) | (1 << D) | (1 << E); break; case 'V': segments = (1 << A) | (1 << C) | (1 << D) | (1 << E); break; case 'W': case 'w': segments = (1 << A) | (1 << C) | (1 << D) | (1 << E); break; case 'Y': case 'y': segments = (1 << | (1 << C) | (1 << D) | (1 << F) | (1 << G); break; case '-': segments = (1 << G); break; case '"': segments = (1 << | (1 << F); break; case 0x27: // "'" segments = (1 << ; break; case '_': segments = (1 << D); break; case '.': case ',': segments = (1 << DP); break; case '!': segments = (1 << DP) | (1 << | (1 << C); break; case ' ': default: segments = 0; break; } return segments; } indicator7seg4razr::indicator7seg4razr() { //конструктор-настройщик //устанавливаем режим OUTPUT pinMode(lockPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); for(byte i = 1;i<4;i++){ pinMode(segmentPins[i],OUTPUT); } //sei(); // Enable interrupts // Inititalize timer for multiplexing TCCR2B = (1 << CS22)|(1 << CS21)/*|(1 << CS20)*/; TIMSK2 |= (1 << TOIE2); // Enable Overflow Interrupt Enable TCNT2 = 0; // Initialize counter } void indicator7seg4razr::displayMain() { for (int i = 0; i <4; i++) { digitalWrite(segmentPins[0], LOW); digitalWrite(segmentPins[1], LOW); digitalWrite(segmentPins[2], LOW); digitalWrite(segmentPins[3], LOW); digitalWrite(segmentPins[i], HIGH);//+ 7сегментного индикатора i-го разряда digitalWrite(lockPin, LOW);// устанавливаем синхронизацию "защелки" на LOW shiftOut(dataPin, clockPin, MSBFIRST, ~display[i]);// передаем последовательно на dataPin digitalWrite(lockPin, HIGH);//"защелкиваем" регистр, тем самым устанавливая значения на выходах } } void indicator7seg4razr::displayChar(char simvol, byte pos = 4) { display[pos - 1] = get_segments(simvol); } void indicator7seg4razr::displayString(String str, int zaderjka = 300, bool fromRight = true) { if (fromRight) { for (int i = 0, end = str.length() - 1; i != (end - 3); i++) { display[0] = display[1]; display[1] = display[2]; display[2] = display[3]; display[3] = get_segments(str.charAt(i)); delay(zaderjka); display[0] = display[1]; display[1] = display[2]; display[2] = display[3]; display[3] = get_segments(str.charAt(i + 1)); delay(zaderjka); display[0] = display[1]; display[1] = display[2]; display[2] = display[3]; display[3] = get_segments(str.charAt(i + 2)); delay(zaderjka); display[0] = display[1]; display[1] = display[2]; display[2] = display[3]; display[3] = get_segments(str.charAt(i + 3)); delay(zaderjka); } } else { for (int i = str.length() - 1, end = 0; i != (end + 3); i--) { display[3] = display[2]; display[2] = display[1]; display[1] = display[0]; display[0] = get_segments(str.charAt(i)); delay(zaderjka); display[3] = display[2]; display[2] = display[1]; display[1] = display[0]; display[0] = get_segments(str.charAt(i + 1)); delay(zaderjka); display[3] = display[2]; display[2] = display[1]; display[1] = display[0]; display[0] = get_segments(str.charAt(i + 2)); delay(zaderjka); display[3] = display[2]; display[2] = display[1]; display[1] = display[0]; display[0] = get_segments(str.charAt(i + 3)); delay(zaderjka); } } } void indicator7seg4razr::displayNumber(int number) { display[3] = get_segments(number % 10); number /= 10; display[2] = get_segments(number % 10); number /= 10; display[1] = get_segments(number % 10); number /= 10; display[0] = get_segments(number % 10); } void indicator7seg4razr::displayTime(byte hour, byte minutes, byte seconds) { displayNumber((hour * 100) + minutes); if (seconds % 2) display[1] |= (1 << DP); //точка раз в секунду else display[1] &= ~(1 << DP); } void indicator7seg4razr::displayDate(byte date, byte mounth) { displayNumber((date * 100) + mounth); display[1] |= (1 << DP); display[3] |= (1 << DP); } void indicator7seg4razr::displayYear(int year) { displayNumber(year); display[3] |= (1 << DP); } void indicator7seg4razr::addDot(byte pos) { display[pos - 1] |= (1 << DP); } void indicator7seg4razr::displayClear() { for (byte i = 1; i < 4; i++) { display[i] = 0; } } void indicator7seg4razr::displayZmeika(byte pos, int zaderjka = 300) { display[pos - 1] = (1 << A) | (1 << | (1 << F); delay(zaderjka); display[pos - 1] = (1 << A) | (1 << | (1 << G); delay(zaderjka); display[pos - 1] = (1 << | (1 << G) | (1 << E); delay(zaderjka); display[pos - 1] = (1 << G) | (1 << E) | (1 << D) | (1 << DP); }
  5. Подскажите библиотеку для работы LCD дисплея для avr студии на базе контроллера HD44780. Желательно с примерами. Если можно вложением. PS Нашёл несколько, пытался использовать не выходит (в протеусе симуляция не проходит). Толи от недостатка знаний толи руки не оч ровные. Заранее спасибо за помощь)))