всем привет. прощу помощи в подключении линейного считывателя изображения к 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...
код такой
в результате я получаю 1 при включенном модуле tcd и 0 при выключенном. чтобы я не делал и не ставил перед модулем tcd - значения не меняются.
может кто в теме. возможно проблема с интервалами. копа еще и перебираю. но если кто в теме подсобите пожалуйста
заранее спасибо.
моё подключение пинов
питание беру отдельно и даю 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(OS, INPUT); // OS - это входной сигнал
// Инициализация
digitalWrite(ICG, LOW);
digitalWrite(SH, LOW);
}
void loop() {
digitalWrite(ICG, HIGH);
delay(10);
digitalWrite(ICG, LOW);
// Считывание данных
for (int i = 0; i < 64; i++) {
digitalWrite(SH, HIGH);
delayMicroseconds(10);
digitalWrite(SH, LOW);
// Чтение выходного сигнала
int pixelValue = digitalRead(OS);
Serial.println(pixelValue);
}
// Генерация тактового сигнала
for (int j = 0; j < 64; 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 - значения не меняются.
может кто в теме. возможно проблема с интервалами. копа еще и перебираю. но если кто в теме подсобите пожалуйста
заранее спасибо.