HELLO!
why does when i conect 74hc238 decoder to arduinno and generate the code for the selection pins at the output of decoder witch is connect to arduino ,I don't have 1 logic to show me that it work.
what should I have to do in this case?
I connect at the output of decoder an LED and it blinks and arduino is not capable to read the value!!!
Post your code & schematic.
CrossRoads:
Post your code & schematic.
here is the code:
int EN = 52;
int S0 = 53;
int S1 = 51;
int S2 = 49;
int S3 = 47;
int output=30;
int val=0;
void out0()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, LOW);
digitalWrite (S1, LOW);
digitalWrite (S2, LOW);
digitalWrite (S3, LOW);
}
void out1()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, HIGH);
digitalWrite (S1, LOW);
digitalWrite (S2, LOW);
digitalWrite (S3, LOW);
}
void out2()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, LOW);
digitalWrite (S1, HIGH);
digitalWrite (S2, LOW);
digitalWrite (S3, LOW);
}
void out3()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, HIGH);
digitalWrite (S1, HIGH);
digitalWrite (S2, LOW);
digitalWrite (S3, LOW);
}
void out4()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, LOW);
digitalWrite (S1, LOW);
digitalWrite (S2, HIGH);
digitalWrite (S3, LOW);
}
void out5()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, HIGH);
digitalWrite (S1, LOW);
digitalWrite (S2, HIGH);
digitalWrite (S3, LOW);
}
void out6()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, LOW);
digitalWrite (S1, HIGH);
digitalWrite (S2, HIGH);
digitalWrite (S3, LOW);
}
void out7()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, HIGH);
digitalWrite (S1, HIGH);
digitalWrite (S2, HIGH);
digitalWrite (S3, LOW);
}
void out8()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, LOW);
digitalWrite (S1, LOW);
digitalWrite (S2, LOW);
digitalWrite (S3, HIGH);
}
void out9()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, HIGH);
digitalWrite (S1, LOW);
digitalWrite (S2, LOW);
digitalWrite (S3, HIGH);
}
void out10()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, LOW);
digitalWrite (S1, HIGH);
digitalWrite (S2, LOW);
digitalWrite (S3, HIGH);
}
void out11()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, HIGH);
digitalWrite (S1, HIGH);
digitalWrite (S2, LOW);
digitalWrite (S3, HIGH);
}
void out12()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, LOW);
digitalWrite (S1, LOW);
digitalWrite (S2, HIGH);
digitalWrite (S3, HIGH);
}
void out13()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, HIGH);
digitalWrite (S1, LOW);
digitalWrite (S2, HIGH);
digitalWrite (S3, HIGH);
}
void out14()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, LOW);
digitalWrite (S1, HIGH);
digitalWrite (S2, HIGH);
digitalWrite (S3, HIGH);
}
void out15()
{
// digitalWrite (EN, LOW);
digitalWrite (S0, HIGH);
digitalWrite (S1, HIGH);
digitalWrite (S2, HIGH);
digitalWrite (S3, HIGH);
}
void setup()
{
//open serial for monitor, set pinMode
Serial.begin (9600);
pinMode (EN, OUTPUT);
pinMode (S0, OUTPUT);
pinMode (S1, OUTPUT);
pinMode (S2, OUTPUT);
pinMode (S3, OUTPUT);
pinMode (output, INPUT);
}
void loop(){
out0();
delay(100);
out1();
delay(100);
out2();
delay(100);
out3();
delay(100);
out4();
delay(100);
out5();
delay(100);
out6();
delay(100);
out7();
delay(100);
out8();
delay(100);
out9();
delay(100);
out10();
delay(100);
out11();
delay(100);
out12();
delay(100);
out13();
delay(100);
out14();
delay(100);
out15();
delay(100);
val=digitalRead(output);
Serial.print(val);
}