#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 значения не меняются.
может кто в теме. возможно проблема с интервалами. копа еще и перебираю. но если кто в теме подсобите пожалуйста :)