9

Подключение TCD1205D к ESP32

всем привет. прощу помощи в подключении линейного считывателя изображения к esp32. проблема с распиновкой видимо.

моё подключение пинов
питание беру отдельно и даю 5 вольт
GROUND втыкаю в GND на плате
далее

SH (shift gate) - > GPIO 23

ICG (integration clear gate) -> GPIO 22

Φ1 (clock phase 1) -> GPIO 21

Φ2 (clock phase2) -> GPIO 19

OS (output signal) -> GPIO 18

пины брал с офф сайта https://www.alldatasheet.com/datasheet-pdf/view/32192/TOSHIB...

код ардуино такой

#define SH 23 // GPIO 23

#define ICG 22 // GPIO 22

#define PHI_M 21 // GPIO 21

#define PHI_M2 19 // GPIO 19

#define OS 18 // GPIO 18

void setup() {

Serial.begin(115200);

// Настройка выводов

pinMode(SH, OUTPUT);

pinMode(ICG, OUTPUT);

pinMode(PHI_M, OUTPUT);

pinMode(PHI_M2, OUTPUT);

pinMode(OS, INPUT); // входной сигнал

}

void loop() {

digitalWrite(ICG, HIGH); // Включаем ICG

delay(10);

digitalWrite(ICG, LOW); // Выключаем ICG

// Считывание данных

for (int i = 0; i < 128; i++) {

digitalWrite(SH, HIGH);

delayMicroseconds(10);

digitalWrite(SH, LOW);

// Чтение выходного сигнала

int pixelValue = digitalRead(OS);

Serial.println(pixelValue);

}

// Генерация тактового сигнала

for (int j = 0; j < 128; j++) {

digitalWrite(PHI_M, HIGH);

delayMicroseconds(10);

digitalWrite(PHI_M, LOW);

digitalWrite(PHI_M2, HIGH);

delayMicroseconds(10);

digitalWrite(PHI_M2, LOW);

}

delay(1000);

}

в результате я получаю 1 при включенном tcd и 0 при выключенном. чтобы я не делал и не ставил перед tcd значения не меняются.

может кто в теме. возможно проблема с интервалами. копа еще и перебираю. но если кто в теме подсобите пожалуйста :)

заранее спасибо.

Arduino & Pi

1.5K поста20.8K подписчика

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

2
Автор поста оценил этот комментарий
Да там в скетче тактирование tcd сделано битбэнгом в лупе с делеями и экспозицией. Матрица при этом будет с большой вероятностью уходить в насыщение. Тактировать надо от pwm, чтоб не завязываться на прочее происходящее в главном цикле.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

вы правы. но помимо этого оказалось, что нужно еще и преобразовать сигналы с 3.3 до 5 вольт ( дали совет на форуме ). буду ковырять. спасибо

показать ответы
2
Автор поста оценил этот комментарий

1304 вообще топчик. Пикселей овердохрена и очень хорошие характеристики по таймингам. А если требуется компактность - ну совсем-совсем - то рекомендую на TCD1254 глянуть. Там, правда, SMD-шная пайка, но зато размеры позволяют вписать сенсор в очень маленький девайс.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

спасибо

0
Автор поста оценил этот комментарий
У тошибы есть аналогичные линейки с 3.3 вольтами управления, например TCD1304.
И ещё, при тактировании от pwm нужно будет в основном лупе дижиталридом ловить фронт тактирующего импульса и привязывать управляющие сигналы к нему. Кстати для контроля экспозиции тоже можно pwm заюзать, я такое делал в спектрофотометре на RP2040 и TCD1304.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

да. мне про ту же модель сказали, однако заказ прибудет не скоро. но заказ все же оформил ))
спасибо

показать ответы
0
Автор поста оценил этот комментарий

В tsd psd выставлен неправильно. Нужно заменить на двойное считывание. Если калибровка не идёт, после шунтирования нужно повторно пины GROUND ещё раз залудить.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

спасибо за ответ. а что подразумывается под psd ?