Устройства этой фирмы выбраны по следующим причинам: 1. Приемлемая цена: 49$ за первые 2 и 100$ за CY8CKIT-050. 2. Бесплатное ПО !!! ( PSoC Creator ) 3. Наличие аналоговой и цифровой начинки, что позволяет делать большинство устройств с минимумом внешних элементов. 4. Наличие встроенного программатора и отладчик позволяют на ходу отлаживать и перепрошивать устройство.
А самое главное - мощные кристаллы PSoC , наличие готовых API для блоков и большое количество примеров позволяют мне делать достаточно серьезные вещи, не будучи серьезным специалистом в области цифровой электроники, и при отсутствии опыта программирования на С. Все проекты создаются с целью освоения PSoC поэтому не претендуют на роль законченых устройств. Psoc Creator постоянно обновляется, поэтому проекты могут быть от разных версий.
Компоненты, которые могут быть использованы во многих проектах будут собраны на отдельной страничке: PSoC User Module Library вместе с примерами их применения.
Если у Вас имеются собственные платы и не хочется покупать программатор то можно доработать CY8CKIT-014(003) или CY8CKIT-050(030) Подробнее.......
Способ подключения кварцевого генератора в CY8CKIT-014(003) для обеспечения возможности работы с USB подробнее......
Если у вас есть лишний (или со сгоревшим чипом PSoC) CY8CKIT-003_PSoC 3 или CY8CKIT-014_PSoC 5, то его можно использовать как всем известный Saleae Logic. подробнее...... реализация протокола MODBUS на PSoC подробнее ......
Проект простого устройства сопровождения цели с использованием камеры от мыши и биполярных шаговых двигателей от CD-ROM подробнее ......
SD-Logger for PSoC5 сигнал с АЦП (12 бит) в реальном времени пишется в файл на SD карту со скоростью до 25 000 выборок в секунду.
8-ми канальный измеритель температуры на полупроводниковых датчиках.
Этот проект позволяет измерять температуру по 8 каналам самым простым способом с использованием дешевых транзисторов в корпусе SOT23. При максимальной простоте схемы точность и временная стабильность таких датчиков 1°C в диапазоне 50-100 градусов меня вполне устроила. Более серьезный подход, но для 1-2-х каналов описан в AN60590 - PSoC® 3 and PSoC 5LP - Temperature Measurement with a Diode. Значения температур выводятся на LCD дисплей. Для калибровки устройства используется RS-485. Устройство имеет адрес 01H, скорость 115200. Поддерживает несколько команд протокола DCON для модуля ICP I7018: #01\r - Чтение температуры. Ответ: >+26.565 +26.606 +26.574 +26.468 +026.78 +26.642 +26.368 +26.517 #01H\r - Чтение отсчетов АЦП (16бит). Ответ: >37869 38092 38107 37985 37970 38039 38104 40520 И ряд вспомогательных команд (подробнее см файл I7018.c поекта)Некоторой проблемой является необходимость калибровки каждого датчика. Для этого пришлось объединить датчики в комплекты по 8 штук на одном разъеме и написать программу групповой калибровки, которая формирует список коэффициентов для файла I7018.c (строки 21 и 22). Этот файл используется в описываемом проекте для CY8CKIT - 003 PSoC3
В программе калибровки достаточно зафиксировать 2 температуры: запускаем программу с текстом #01 в строке команды помещаем все датчики в среду с температурой t1 значение которой вводим в окне t1. После стабилизации показаний жмем кнопку точка_1: затем помещаем датчики в среду с температурой t2 значение которой вводим в окне t2. После стабилизации показаний жмем кнопку точка_2: Программа вычисляет необходимые коэффициены, которые можно скопировать в желтом окне внизу программы.
Температуру можно увидеть на LCD или в программе калибровки, введя текст #01 в строке команды. (Устроиство можно использовать как имитатор модуля ICP I7018) 5. На сайте http://ehobby.wmsite.ru можно найти DTMF декодер 6. Знакомство с файловой системой emfile от SEGGER : пишем на SD в реальнои времени сигнал АЦП с частотой регистрации до 25 KSamples/sec на страничке SD-Logger for PSoC5
9. Пример подключения платки от клавиатуры PC/2 к PSoC (на примере CY8CKIT-014)
Такой подход вызван двумя причинами: 1. - желанием сэкономить на контактах, которых всегда не хватает 2. - наличием некоторого количества плат от старых клавиатур к которым можно подключить кнопки создаваемого устройства.
обновлено до версии 4.0: PS2_NumKey40.zip 10. Пример подключения датчика барометрического давления BMP085 к PSoC5
Проект сделан в PSoC Creator 2.2 для CY8CKIT-050_PSoC 5 DVK
Программа просто опрашивает датчик и выдает на дисплей (2х16) результаты: температура: от -40,0 до 85,0 градусов С с точностью 0,1 С давление: в Паскалях ( диапазон от 30000 до 110000 Па т.е. от -500 до 900 м над уровнем моря интерфейс I2C
в архив добавлена простая программа контроля и визуализации данных сенсора.
16. Вывод нескольких синхронизированных сигналов с помощью DMA При создании генератора сигналов для металлоискателя я использовал DMA.
Оказалось что обеспечить синхронизацию нескольких DMA для больших скоростей не так просто. Мой вариант решения этой проблемы - в прилагаемом примере.
17. Пример подключения камеры OV7670 к PSoC5LP Я использовал самую дешевую камеру , т.е. без буфера и UART.
Подключение самое примитивное - без DMA и FIFO.
Тупо пишем массив данных в память и отправляем в USBUART по запросу.
18. Пример простого имитатора RFID ключа (125 кГц) для PSoC4 ( как временное решение)
Понадобилось на время иметь имитатор ключа для домофона ( или карты ).
Чтобы не городить серьезное устройство решил собрать примитивный эмулятор образа ключа.
Для этого все же пришлось выполнить некоторые телодвижения:
- купить на Али дешевый считыватель: 125 кГц EM4100 RFID карты Ключ ID считыватель - написать небольшую программку для создания массива байт для симулятора: RFID_codes.exe
Как создать ключ:
В начале считывателем получаем информацию о карте или ключе (например 0x4E,0x00,0x65,0x77,0xB5 +CRC 0xE9 )
Затем эти байты вставляем в программу RFID_codes.exe (номер карты или коды ключа ). Результат работы программы - Строка для проекта на PSoC4. (Предварительно надо выбрать PSoC4100 или PSoC4200) Эту строку надо вставить в файл main.c вместо той что есть там в качестве примера. Архив проекта для PSoC4100 (Creator4.0): RFID_Sim4100.zip Архив проекта для PSoC4200 (Creator4.0): RFID_125.zip
просто адаптирован кусок с SPI и добавлен ввод картинки с SD_card и из памяти (это скорее для PSoC5).
Добавил функцию загрузки картинки с SD (заливка зкрана 240х320 длится около 4сек) и обновил библиотеку от dvorakvik файл с обновленной библиотекой можно взять на страничке Кардиограф ( в самом низу )
Картинки в формате .raw можно делать онлайн программой ImageConverter565 можно и ImageConverter565.exeно .exe у меня правильно работает только под XP. Под WIN7 искажает цвета.
Еще один вариант для дисплеев 240x320 NOKIA с контроллером MC2PA8201 NOKIA 3720c, 5320, 5330, 5610, 5630, 5700, 5730, 6110n, 6120с, 6208, 6220с, 6300, 6303, 6303i, 6350,.......... 6500,....................... За основу взяты проекты:
Краткое описание: подключение - 16 бит. для CY8CKIT-059 PSoC 5LP потребовалась легкая доработка для снижения питания дисплея до 3.3 вольт. Для этого достаточно заменить диод D1 на любой диод с падением в прямом направлении 1,5-1,8V (например, красный светодиод ) обязательно удалить конденсаторы С4, C7, C9, C12, C13 !!! Проект исключительно тестовый, поэтому код сырой, собран из разных библиотек и урезан. шрифт масштабируемый ( 8х8 только английская раскладка) Основная задача - отладка работы в портретном и ландшафтном режимах калибровка дисплея сделана подборкой коэффициентов. Для единственного экземпляра это проще. --------------------------------------------------------------------------------------------------------------------------------------------------
Краткое описание:
подключение - 16 бит. проект выполнен на CY8CKIT-059 PSoC 5LP
6. Подключение к PSoC5LP дисплея SAMSUNG_S5230 240x400 (контроллер S6D04D1)
Архив проекта для PSoC_Creator 4.0: S5320.zip большинства клонов дисплея не реагирует на команды изменения ориентации (только вертикальная)
7. Проект-заготовка для работы PSoC5LP с дисплеем NEXTION 3,2 "TFT 400X240 ( NX4024T032_011 )
Проект создан в Nextion Editor v0.53 (дисплей) и PSoC Creator 4.0 (для PSoC5LP)
возможностей - минимум, нужный для начала работы:
Дисплей сообщает об изменении положения слайдера и нажатии кнопок + и -
PSoC5LP непрерывно выводит на экран пилообразный сигнал, сообщает о нажатии слайдера и кнопок,
дублируя показания индикатора Data.
Проект практически не тестировался.
Из замеченных проблем - функция Paint_DrawLine(...) не рисует горизонтали и вертикали, только наклонные. картинки не реагируют на ориентацию экрана требуется разворот самой картинки.
Для создания картинок использовался online image Converter для OLED дисплеев : http://javl.github.io/image2cpp/