Easyelectronics.ru

Электроника для всех
Текущее время: 23 сен 2019, 10:19

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 101 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 27 ноя 2015, 14:36 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
Есть массив:
Код:
const char str[][4] = {"Раз", "Два", "Три"};

Как вывести строку в такую функцию?
Код:
DrawText(const char *text);

От такого варианта выскакивает ошибка:
Код:
DrawText(str[1]);

Я пока использую такой костыль:
Код:
const char *text = str + 4*numRow;
DrawText(text);

В итоге все строки должны быть одной длины, которая прописана жестко в функции. Визуально то почти одинаково:
Код:
const char str[][4] = {"Раз", "Два", "Три"};
или
const char str[][10] = {"Раз", "Два", "Три"};

Но мне не нравится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 30 ноя 2015, 18:44 
Только пришел

Зарегистрирован: 02 мар 2013, 16:06
Сообщения: 5
Может так:
const char* arr[] = { "Раз", "Два", "Три" };


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 01 дек 2015, 19:58 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
hrandib писал(а):
Может так:
const char* arr[] = { "Раз", "Два", "Три" };

У меня есть только идентификатор слова в массиве: 0, 1, 2. Как передать "Два" в функцию (идентификатор 1)?
Код:
void DrawText(const char *text);

Парсить каждый раз массив?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 01 дек 2015, 20:09 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
Пришла передняя панель. Надо пробовать печатать мордочку на пленке и заклеивать тонировкой обратную сторону. И подгонять яркость светодиодов. Панелька в защитной пленке, поэтому такая мутная.

Вместе с панелькой заказывал кассы для хранения мелочевки. Чисто панель обошлась примерно в 100 р.


Вложения:
Панель.png
Панель.png [ 219.49 Кб | Просмотров: 6609 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 02 дек 2015, 18:50 
Старожил
Аватара пользователя

Зарегистрирован: 02 апр 2010, 12:39
Сообщения: 4402
Откуда: Брянск
А где панель заказывали? У себя в городе, или в интернетах?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 02 дек 2015, 19:20 
Старожил
Аватара пользователя

Зарегистрирован: 06 ноя 2013, 16:07
Сообщения: 652
Откуда: Германия
sva_omsk писал(а):
hrandib писал(а):
Может так:
const char* arr[] = { "Раз", "Два", "Три" };

У меня есть только идентификатор слова в массиве: 0, 1, 2. Как передать "Два" в функцию (идентификатор 1)?
Код:
void DrawText(const char *text);


Код:
DrawText(arr[1]);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 02 дек 2015, 20:45 
Заглядывает иногда

Зарегистрирован: 03 мар 2013, 11:01
Сообщения: 197
sva_omsk писал(а):
...Моей навязчивой идеей давно является функциональный генератор...
...Я хочу полноценный прибор, с дисплеем, кнопками, и функционалом не хуже, чем у своих дорогих старших братьев. Ну как не хуже... Понятно, что частота будет меньше, но все остальное должно быть таким же, а может и лучше. Поэтому список требований выглядит так:
- максимальная частота выходного сигнала 1 МГц (по 20 точкам);
- максимальный размах сигнала ±5 В;
- выходное сопротивление 50 Ом;
- форма сигнала: синус, прямоугольник, треугольник, прямая и обратная пила, шум, постоянный уровень, пользовательская форма (предварительно загруженная через ПО);
- режимы: циклический, ГКЧ, пакет, модуляция (сложение и умножение);
- наличие перестраиваемого ФНЧ (минимум 3 порядка);
- режимы запуска: авто, ручной, внешний (с входа синхронизации);
- удобный интерфейс;
- связь с ПК.
P.S. Собственно для чего я создал топик... Отпуск закончился, соответственно времени заниматься проектом уже не так много. И если есть желающие принять участие в разработке - буду только рад! Проект открытый! Работы впереди еще очень много. Но результат обещает быть достойным.

В Ваших требованиях в генератору технические характеристики специалистом в области программирования и электронщика. Если главными будут метрологические требования к форме сигнала, которые в Вашем варианте вообще не рассматриваются, то получится полноценный прибор, который будет востребован в серьёзных организациях. Фактически начать нужно сначала, а именно с разработки технических требований к прибору, который должен вписаться в линейку аналогов и прототипов, что позволить в дальнейшем без проблем сертифицировать его. Обычно такая критика воспринимается резко негативно. Энтузиаст ждёт, по крайней мере, морального удовлетворения. Но в этой области приборостроения жёсткая конкуренция и придётся преодолеть немало препятствий, если Вы хотите попасть в ряды профессионалов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 02 дек 2015, 21:31 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
2 Bomond
Да, заказывал в Омске. Но, думаю, рекламщики с таким оборудованием уже и в маленьких (сравнительно конечно) городах есть.

2 dev
Попробую. Код у меня сейчас разобран. Завтра-послезавтра соберу.

2 SVN
Я думаю, ни одна серьезная организация не будет покупать самоделку, какой бы она ни была. По-крайней мере я бы не стал. Есть куча вариантов, как по цене, так и по возможностям. На них и документация есть, и параметры хороши, и гарантия. В Присте есть несколько генераторов по цене примерно 20 т.р., параметры которых на голову выше моего. Даже не очень серьезная фирма может себе такой позволить. Мой генератор - чисто хоббийная поделка. Я конечно очень постараюсь сделать его максимально функциональным, без потери качества сигнала, но он никогда не составит конкуренцию проф. приборам. Для дома пойдет, более чем.. Такие характеристики как неравномерность АЧХ, соотношение сигнал/шум, джиттер прямоугольника и другие я конечно сниму и выложу.
Конечно у меня была мысль продавать его целиком или в виде набора. Но сомневаюсь, что кто-то купит. Себестоимость превышает 3000 р. Поэтому проект открытый. Если кто захочет в своем арсенале генератор, может сделать сам. Может даже доработать софт, я стараюсь все очень подробно описывать и комментировать. Если этот кто-то захочет поделиться созданными плюшками, может прислать код мне, я добавлю в свою прошивку, последнюю версию которой буду держать в первом посте этого форума вместе с файлами печатных плат. Все это будет после того, как полностью соберу и опробую прибор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 03 дек 2015, 07:30 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
ЧУКиГЕК писал(а):
гороху на 3 тыр, а выхлопу = нуль

Хобби не обязано прибыль приносить.
Вы не обратили внимание на жирные буквы в названии генератора? Догадаетесь, как расшифровывается?:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 04 дек 2015, 21:45 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 820
sva_omsk писал(а):
Есть массив:
Код:
const char str[][4] = {"Раз", "Два", "Три"};

Как вывести строку в такую функцию?
Код:
DrawText(const char *text);

От такого варианта выскакивает ошибка:
Код:
DrawText(str[1]);

Я пока использую такой костыль:
Код:
const char *text = str + 4*numRow;
DrawText(text);

В итоге все строки должны быть одной длины, которая прописана жестко в функции. Визуально то почти одинаково:
Код:
const char str[][4] = {"Раз", "Два", "Три"};
или
const char str[][10] = {"Раз", "Два", "Три"};

Но мне не нравится.




А так не получается?
Код:
DrawText(&(str[0][0]));


Вообще сталкивался с этой проблемой и решил ее . Гляну на работе как.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 04 дек 2015, 21:47 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
Графический интерфейс генератора. Часть 2

Анкер, учел ваши замечания касательно связанных полей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 04 дек 2015, 21:49 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
kos писал(а):

А так не получается?
Код:
DrawText(&(str[0][0]));


Попробую


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 04 дек 2015, 21:53 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 820
Кстати тот синий фон кторый получился ,как я понял только на видео и фото, весьма приятен..Нортон напоминает.. :) Я б так и сделал...

И анкер прав про связанные поля.. Я не стал писать. НО Тоже бросилось..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 04 дек 2015, 22:04 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
Вобще фон черный, это камера его "синит") Синий мне что-то не очень...


Вложения:
Интерфейс.png
Интерфейс.png [ 54.02 Кб | Просмотров: 6399 ]


Последний раз редактировалось sva_omsk 04 дек 2015, 22:12, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 04 дек 2015, 22:11 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 820
sva_omsk писал(а):
Вобще фон черный, это камера его "синит")



Я это понял. Но как красиво синит!!! НОстальгия по НортнКомандеру загрызла..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 04 дек 2015, 22:21 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
Код:
#ifndef FIELD_H_INCLUDED
#define FIELD_H_INCLUDED

#include "ili9341.h"
#include "hardware.h"

/*****************************************************************************************
* Цвета, используемые в интерфейсе.
*/
#define COLOR_BACKGROUND        COLOR_BLACK
#define COLOR_UNSELECTED_ITEMS  COLOR_CYAN
#define COLOR_SELECTED_ITEMS    0xFF00

Цвета легко поменять)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 04 дек 2015, 22:30 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
Проверил
Код:
DrawText(&(str[0][0]));

К сожалению, не компилируется


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 05 дек 2015, 00:57 
Старожил

Зарегистрирован: 30 авг 2010, 00:02
Сообщения: 926
Такой дисплей, такой контроллер, энкодер, кнопки под пайку... эх, где это было, когда я делал свой бортовой компьютер...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 07 дек 2015, 20:23 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
анкер писал(а):
Такой дисплей, такой контроллер, энкодер, кнопки под пайку... эх, где это было, когда я делал свой бортовой компьютер...

Видимо давно это было.... Сейчас вроде как все это можно легко достать.

Снял несколько осциллограмм... По-моему неплохо для не фильтрованного сигнала. Причем щуп зацеплен за оголенный проводок длиной почти 7 см.


Вложения:
DS0002.png
DS0002.png [ 8.3 Кб | Просмотров: 6262 ]
DS0001.png
DS0001.png [ 9.12 Кб | Просмотров: 6262 ]
DS0000.png
DS0000.png [ 7.19 Кб | Просмотров: 6262 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 07 дек 2015, 21:42 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
Sweep. Картинка может и не очень красивая, но если растянуть, то будет вполне симпатичный синус, период которого постепенно уменьшается. Частота небольшая, но формула там простая, будет и на гораздо более высоких частотах работать. Самое сложное - это пакет.


Вложения:
DS0003.png
DS0003.png [ 11.02 Кб | Просмотров: 6243 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 19 дек 2015, 22:12 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
Вроде бы научился управлять частотой, хотя не все еще отлажено. На данный момент есть один поправочный коэффициент - это время 1000 тактов МК в нс (используется при расчетах). Вероятно, надо будет вводить еще один, чтобы частота более точно совпадала. Надо еще поразмышлять, вроде алгоритм работает, но вроде что-то не то...

100 кГц
Изображение

Изображение

500 кГц
Изображение

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 07 янв 2016, 15:16 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
Собрал новые платы. Питание и интерфейс работают. Сигнальную плату проверил частично: МК работает и прошивается, тракт еще не проверял. Передняя панель по размеру подошла к кнопкам, а вот печать на самоклейке не получилась: светодиоды всё просвечивают. Буду пробовать УФ-печать прямо на панели, там вроде плотность краски должна быть повыше. Вентилятор, как и предполагалось, прекрасно работает на половине питания, не шумит. В ближайшее время проверю тракт и буду собирать конструктив. А софт можно потом дорабатывать, разъемы для программирования буду выведены на заднюю панель.
Изображение

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 07 янв 2016, 16:22 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 27 янв 2010, 18:55
Сообщения: 163
Откуда: Томск
Красиво. Приятно смотреть когда человек что-то делает с душой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 07 янв 2016, 19:16 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
Спасибо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Создаем полноценный функциональный генератор
СообщениеДобавлено: 08 янв 2016, 12:44 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 312
Ну, проект еще не доделан. Но все равно спасибо) Корпус выбирался исходя из размеров передней панели. Ну и доступности конечно же. Мне не удалось найти более подходящего варианта, остальные еще более крупные.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 101 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB