Trying to use a custom serial connection to a salvaged board

I salvaged a board from a satellite receiver that has a 4 digit 7 segment display, a couple of buttons, and a FD620K1 controlling it all.
The board has 6 pins:

  • 1 VDD
  • 1 GND
  • 1 pin for the IR receiver (Don't need it)
  • 1 STD
  • 1 CLCK
  • 1 Data I/O

After some googling I found the schematic for this part that controls the board. And the schematic for the board itself. (I found a Chinese one that I translated, I cannot upload as a new user, but I will add the link to it in Chinese: The Chinese pdf).

My question is: Is it feasible to code a custom way for the Arduino to control the digit display, and read the input?

Here's some code I tried to write that did not work:
Pin configuration:

  • VDD -> 3.3V
  • GND -> GND
  • IR -> (Unused)
  • STB -> 4
  • DIO -> 5
  • CLCK -> 6

Code:

void setup() {
  Serial.begin(9600);
  Serial.println("serial delimit test 1.0"); // so I can keep track of what is loaded
  pinMode(4, OUTPUT); // STB
  digitalWrite(4, HIGH);    
  pinMode(5, OUTPUT); // DIO
  digitalWrite(5, LOW);
  pinMode(6, OUTPUT); // Clock    
  Serial.println("Setting it to high in 1 second");
  delay(1000);
  Serial.println("High");
  // digitalWrite(4, HIGH);
}
int i = 0;
int bytemessage[] = {1,1,0,0,0,1,0,1};
int sleep = 10;
void loop() {
  i++;
  if (i == 500) 
  {
    digitalWrite(4, LOW);
    Serial.println("Sending"); 
    for(int b = 0; b < sizeof(bytemessage); b++) 
    {
      digitalWrite(6, HIGH);
      if(b == 1) 
      {
        digitalWrite(5, HIGH);  
      }
      delay(sleep);
      digitalWrite(6, LOW);
      digitalWrite(5, LOW);  
      delay(sleep);  
    }
    digitalWrite(4, HIGH);
  }
  digitalWrite(6, HIGH);
  delay(sleep);
  digitalWrite(6, LOW);
  delay(sleep);
  Serial.println(digitalRead(5));
}

Thanks!

You need to, at least, toggle the clock signal for each bit you are sending.

That's why I toggle the pin 6 inside the for loop, which is sending the byte.

Fixed if(b -- 1) to if(bytemessage[b] == 1)

Are doing one clock pulse as each bit is being sent? How do you coordinate the rising of the clock pulse with the bit being sent?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.