Manchester biphase generation for pianocorder

Hello! I am new to the forum and I need some help because I honestly don't have a clue where to begin. I have the circuitry from the pianocorder system and I would like to turn it into a control system for an animatronic. (I know there's easier ways to control animatronics, but there's specific reasons I want to do it this way that I'm not going to get into.) Basically, the Pianocorder circuitry system works by having a cassette feed Manchester biphase code into the playback board. It decodes this information and feeds it into the driver boards which control the actuators that move the keys. There's a set of 128 bits that controls everything (I have not yet discovered how often the bits are cycled.) In order to get this working, I will probably need a Visual Basic software with a serial connection to the Arduino. The arduino will have four buttons connected to it for the four movements/bits of the animatronic and an output of the Manchester code fed into the Pianocorder playback board. The playback board will feed this into one of the driver boards which will run the solenoid valves on the animatronic instead of the actuators. When programming an animatronic, you must do each movement separately in order to make it look natural. This is why I must add extra equipment and software since in the orginal system, you are playing a piano and all the bits would be recorded at once whereas with programming an animatronic, you must do each bit sepertely. The visual basic program needs to be able to store the programming of each movement, then add the currently programmed bit AND output both the currently programmed bits and previously programmed bits out the data stream in addition to the sync bits. After programming all four movements, I need to do either playback the programming and feed the data stream into an external recording device or export as MP3 from the Visual Basic software.

So, my overall question is, how in the heck should I start? I cannot find any clear explanations on anything like this anywhere.
how to do anything.

Here is the schematics of the Pianocorder with additional information on what bits do what (see pg 75 for bit assignment and 79-end for circuit diagrams): http://www.pianocorder.info/pdf/pianocorder_schematics.pdf

Hope you can help me!
Thanks

I really need help ASAP :slight_smile:

Anybody?

Yes, 37 people have looked at this already. Probably many more by the time you read this. So far, 37 people have decided that they can't help you with this request.

I have some of the circuitry from the pianocorder system

I have some of the answer for you. I won't tell you which pieces I have or how they relate to anything.

You mention animatronics. What are you trying to do? You have an animatronic thing which was originally driven from the cassette tape input? Do you want to rip out the control logic or are you trying to restore it to its original 1970s condition? Or are you trying to decode a tape and preserve the historical information?

You have two numbered questions but they aren't in the form of a question. If you try to re-write your question in a way that uses question-marks, perhaps you will get answers.

MorganS:
Yes, 37 people have looked at this already. Probably many more by the time you read this. So far, 37 people have decided that they can't help you with this request.
I have some of the answer for you. I won't tell you which pieces I have or how they relate to anything.

You mention animatronics. What are you trying to do? You have an animatronic thing which was originally driven from the cassette tape input? Do you want to rip out the control logic or are you trying to restore it to its original 1970s condition? Or are you trying to decode a tape and preserve the historical information?

You have two numbered questions but they aren't in the form of a question. If you try to re-write your question in a way that uses question-marks, perhaps you will get answers.

Ok, I've edited my original post.

xyproblem.info

This is a very large and very complex project. You can start anywhere.

Have you actually built the animatronic actor?
Have you connected the actor to solenoid valves that might be controlled by the pianocorder?
Have you built or purchased suitable controllers for the solenoid valves?
Does the pianocorder circuitry even work?
Do you have an Arduino and have you gone through the basics (blink an LED, control a motor, etc.)?

etc.

jremington:
This is a very large and very complex project. You can start anywhere.

Have you actually built the animatronic actor?
Have you connected the actor to solenoid valves that might be controlled by the pianocorder?
Have you built or purchased suitable controllers for the solenoid valves?
Does the pianocorder circuitry even work?
Do you have an Arduino and have you gone through the basics (blink an LED, control a motor, etc.)?

etc.

Yes
Yes
Yes
Yes; however, only a temporary one. The pianocorder+Arduino will be the finished controller.
Yes

So, you've already made a good start. Why are you asking "where to start", and what do you actually need help with?

MorganS:
xyproblem.info

Well crap, thats totally what I've done. LOL. How am I going to transform this into questions? Ok, let me start with something simple that will be a good starting point.

  1. How would I get an Arduino to output a data stream of Manchester biphase constructed of 128 bits per X milliseconds.

jremington:
So, you've already made a good start. Why are you asking "where to start", and what do you actually need help with?

I tend to complicate my explanations. Alright, all I really need to know is:

  1. How would I get an Arduino to output a data stream of Manchester biphase constructed of 128 bits per X milliseconds?

  2. How can I do #1 via a serial connection to the Arduino from an GUI program one bit (bits 73-76) at a time with each bit being button controlled from the Arduino?

  3. If #2 is possible, how would I get bits 120-126 and 128 to always be high 127 to always be low (sync bits)?

  1. Manchester encoding is extremely simple and there are (perhaps hundreds of) thousands of articles on the web. For specific Arduino projects and code, google "arduino manchester encoding".

  2. First tell us about the GUI program (presumably on a PC) and its serial connection to the Arduino.

  3. Follows from any responses to 2.

jremington:

  1. Manchester encoding is extremely simple and there are (perhaps hundreds of) thousands of articles on the web. For specific Arduino projects and code, google "arduino manchester encoding".

  2. First tell us about the GUI program (presumably on a PC) and its serial connection to the Arduino.

  3. Follows from any responses to 2.

I've attached an image of what the program should look like. In addition, there will be 4 buttons on the arduino corresponding to the bits being used for the movements and one pin and the ground for the code output.

I've attached an image of what the program should look like.

Are you hoping that members of the Arduino forum will write a Visual Basic PC GUI for your project?
If so, there is a "Gigs and Collaborations" section of the forum.

jremington:
Are you hoping that members of the Arduino forum will write a Visual Basic PC GUI for your project?
If so, there is a "Gigs and Collaborations" section of the forum.

I may need some help, but I should be able to do it myself. The picture is just for illustration and clarity purposes.

  1. Why do you need Manchester encoding? That's a system designed to work with bandwidth limitations of transmission media such as cassette tape. I don't know much about the pianocorder but I would hope there's a point further away from the cassette tape that is easier for a modern processor to tap into.

These days there's lots of great chips out there that can control hundreds of outputs from a single Arduino. Add a transistor, maybe a resistor, and you can go straight to the solenoids.

MorganS:

  1. Why do you need Manchester encoding? That's a system designed to work with bandwidth limitations of transmission media such as cassette tape. I don't know much about the pianocorder but I would hope there's a point further away from the cassette tape that is easier for a modern processor to tap into.

These days there's lots of great chips out there that can control hundreds of outputs from a single Arduino. Add a transistor, maybe a resistor, and you can go straight to the solenoids.

I'm going to use cassette tape or CD.

How do you imagine using a CD?

jremington:
How do you imagine using a CD?

Well, I know it can be done with the pianocorder ststem using manchester, but I'm just going to feed the manchester into the record jack of a computer and burn it from there.

jremington:
How do you imagine using a CD?

Would it be easier to use the Arduino for both encoding and decoding, fully bypassing the pianocorder system? Of course, I would still be using Manchester and a cassette. I have looked up Manchester decoding for Arduino but it just doesn't make since so my question I suppose is (pretending I have the VB software written):

Once the code is decoded, how do I actually do something with the bits? How do I make a high bit 1 do X and a low bit 2 do Y?