Код: Выделить всё
Вывод ардуино -- вывод КР1533ТМ2
D4 -- Вход R
D5 -- Вход S
D10 -- Вход D
D9 -- Вход C
A2 -- Выход триггераСкетч для ардуино, для понимания:
Спойлер
Код: Выделить всё
/*
Проверка К155ТМ2
*/
// set pin numbers:
const int InPinR = 4; // Вход R
const int InPinS = 5; // Вход S
const int InPinD = 10; // Вход D
const int InPinC = 9; // Вход C
const int OutPin = A2; // Выход
const int ledPin = 13; // the number of the LED pin
void setup() {
// initialize serial:
Serial.begin(9600);
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
pinMode(InPinR, OUTPUT);
pinMode(InPinS, OUTPUT);
pinMode(OutPin, INPUT);
digitalWrite(InPinR, HIGH);
digitalWrite(InPinS, HIGH);
digitalWrite(InPinC, LOW);
digitalWrite(InPinD, HIGH);
}
void loop(){
digitalWrite(ledPin, LOW);
delay(100);
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
int BadLogic = 0;
Serial.println(".");
Serial.println("Start");
Serial.println("Phase 1...");
digitalWrite(InPinR, HIGH);
digitalWrite(InPinS, HIGH);
delay(10);
int OutSignal = analogRead(OutPin);
Serial.println(OutSignal);
digitalWrite(InPinS, LOW);
delay(10);
digitalWrite(InPinS, HIGH);
delay(10);
OutSignal = analogRead(OutPin);
Serial.println(OutSignal);
Serial.print("test S: ");
if (OutSignal > 512) {
Serial.println("OK");
}
else {
Serial.println("FAIL");
BadLogic = 1;
}
digitalWrite(InPinR, LOW);
delay(10);
digitalWrite(InPinR, HIGH);
delay(10);
OutSignal = analogRead(OutPin);
Serial.println(OutSignal);
Serial.print("test R: ");
if (OutSignal < 512) {
Serial.println("OK");
}
else {
Serial.println("FAIL");
BadLogic = 1;
}
Serial.println("Phase 2...");
digitalWrite(InPinR, LOW);
digitalWrite(InPinR, HIGH);
OutSignal = analogRead(OutPin);
Serial.println(OutSignal);
digitalWrite(InPinD, HIGH);
delay(100);
digitalWrite(InPinC, LOW);
delay(100);
digitalWrite(InPinC, HIGH);
delay(100);
digitalWrite(InPinC, LOW);
OutSignal = analogRead(OutPin);
Serial.println(OutSignal);
Serial.print("test DC1: ");
if (OutSignal > 512) {
Serial.println("OK");
}
else {
Serial.println("FAIL");
BadLogic = 1;
}
digitalWrite(InPinS, LOW);
digitalWrite(InPinS, HIGH);
OutSignal = analogRead(OutPin);
Serial.println(OutSignal);
digitalWrite(InPinD, LOW);
delay(100);
digitalWrite(InPinC, LOW);
delay(100);
digitalWrite(InPinC, HIGH);
delay(100);
digitalWrite(InPinC, LOW);
OutSignal = analogRead(OutPin);
Serial.println(OutSignal);
Serial.print("test DC0: ");
if (OutSignal < 512) {
Serial.println("OK");
}
else {
Serial.println("FAIL");
BadLogic = 1;
}
digitalWrite(InPinR, LOW);
digitalWrite(InPinR, HIGH);
if (BadLogic == 1) {
Serial.println("--- FAIL");
}
else {
Serial.println("ALL OK");
digitalWrite(ledPin, HIGH);
}
delay(2000);
}



