PDA

View Full Version : Yes, use F4F Digital <-> Analog Conversion



larryjoe701
02-11-2009, 03:22 AM
I have created (and offered as prizes) an analog to digital converter and a digital to analog converter. By analog I mean the zero to 100% Speed signal coming from switches. By digital I mean a binary signal composed of some number of bits in the form of directional signals.

We currently have no means of manipulating analog signals: you cannot directly add or subtract speed signals, or AND or OR them, or take the min or max. By converting the analog signal to a digital binary one you can perform all of these operations. You can also convert the speed signal to a position signal.

Wikipedia has some good articles on this topic. I have based the ADC on the Flash ADC described there. At this point both converters work, but I think the encoding of the number needs to change. I think Gray code would be best but I'm not sure how to then make the DAC. Any ideas or suggestions would be appreciated.

Please check out my demo level, Speed Conversion by larryjoe701.

Defaultsound
02-11-2009, 01:40 PM
Sounds good I'll check it out tomorrow

larryjoe701
02-11-2009, 02:05 PM
I had a chance to check the level late last night and it seems that the filters wanted to protect the children's eyes from dirty, dirty electrical engineering concepts. I'll be checking the list of banned words here and see if I can determine why it's being filtered.

To clarify things, the long, multi-stage piston to the right of the glass block is the digital to analog converter (4 bit). It's actually connected to the analog to digital converter (the three sections above), which in turn is connected to the proximity sensor on the glass block. The ADC has 15 different speed comparators, each of which is attached to the proximity sensor (set to Speed). These 15 comparators along with the AND gates to the right determine the value of the speed, then the OR gates farther to the right encode the value to binary.

So, to summarize, the proximity sensor recognizes your approach, which feeds into the ADC. The output of the ADC lights the LEDs, showing the binary value of the encoded speed. The output is also fed back into a DAC, which converts the digital signal back to a Speed. This Speed output is fed into the big orange LED.

Gilgamesh
02-11-2009, 02:06 PM
Hmmm... If you used the word "analog" in your level, I would suppose the filter picked up on the first four letters...

Oddly enough, those letters describe my feelings for the censor mechanism quite accurately.

wexfordian
02-11-2009, 02:30 PM
Hmmm... If you used the word "analog" in your level, I would suppose the filter picked up on the first four letters...

Oddly enough, those letters describe my feelings for the censor mechanism quite accurately.

Classic :)

This sounds interesting and I will definitely be checking it out.

Gilgamesh
02-11-2009, 03:50 PM
Classic :)

I should probably keep that quote and send it to MM to ask for a change in the speech bubble censor. :)

For now I'm going to still my tongue because there are bigger issues for them to deal with. But once those are done... :mad:

On topic : That creation sounds awesome. It might even lead to some interesting new puzzle mechanics. I'll try to check it out tonight.

NinjaMicWZ
02-11-2009, 06:21 PM
It's definitely analog. I had to change Janus to J@nus so that the game knew you were trying to fight a Roman God and not threatening the almighty bunghole.

I will have to check this level out, larryjoe. I believe I understand what I'm reading, but I have to see it in action to put it together.

Thegide
02-11-2009, 06:54 PM
For now I'm going to still my tongue because there are bigger issues for them to deal with. But once those are done... :mad:

You mean like changing the filter to ignore the word "happened"? lol

Gilgamesh
02-11-2009, 07:10 PM
Much worse I'm afraid. I have to use the word cockpit... a lot... I need it to explain to the players how to drive the mech. I may have to find a workaround to writing the word, but if I do, I'll be sure to put a big bold disclaimer at the start of my level blaming the censoring system for forcing me to alter everyday words. :)

NinjaMicWZ
02-11-2009, 08:28 PM
Just use a 0 for cockpit. See if it filters. You could use the term "piloting quarters" but that is probably too wordy and might not make any sense.

"avast ye scurvy dogs, controls ye be findin within the bow of this god forsaken vessel"

edit: that's weird. cockpit isn't censored on here, but if you replace the O with 0 it is censored.

Vanemiera
02-11-2009, 10:24 PM
Very clever to use different power levels of the wheels to transform the signal. I can imagine that the edit mode appearance is just a mess of wires.

Hm, but i doubt that there is a realistic use for the binary output. Don't get me wrong. It's brilliant.

larryjoe701
02-11-2009, 11:58 PM
While I don't see it revolutionizing game play, it does solve some specific problems. For one, if you've ever wanted to have a speed switch control a wheel or piston but need to disable control from time to time, this is one of your few options. Another idea I had was to "AND" two digital signals together. Imagine needing to place two objects in the correct place... using this approach you can 'hint' at the right location by having an indicator (or door) move slowly as you approach the correct location and faster as you zero in on it. I'm sure there are some creative approaches people can come up.

If anyone needs help on its use drop me a PM or PSN request and I'll be happy to help!

Gilgamesh
02-12-2009, 01:14 AM
That's pretty complex. I dare say I wouldn't have even thought of something like that. Thanks to you though, I have some ideas for a couple new puzzle types. :)

snowflakecat
02-13-2009, 11:08 AM
I haven't checked your implementation out (will check it out tomorrow & give feedback). I think if I were to do it at first I would do a MUX with the outputs moving pistoned mag sensors towards a single mag speed switch, with the displacement being different for each output (different speeds). An unoptimized MUX will eat thermometer, though =P. The output could be reset by reverse-direction pistons (pistons that push the sensor in an opposite direction, so basically each output is latched).

On a side note, I've finally optimized some of my logic devices and will be publishing a prize level soon. If MM had only put some basic logic devices into levels, creating complex mechanics would be easier. I've also optimized my elevator from way back (reducing the total number of mag sensors and switches to 5+n, n being the number of levels) but it's still not polished enough to give away yet.

snowflakecat
02-15-2009, 10:41 AM
ok so what I meant in the post above was, for a DAC, to have a DEMUX with a DAC output. I made a simple 4-bit version last night and will add it to my newly published level, "snowflakecat engineering" soon. Check out the existing levels B1-B3 if logic devices is your thing ;-). I also made a simple typeface you can obtain in the font bar on ground level.

larryjoe701
02-15-2009, 03:19 PM
ok so what I meant in the post above was, for a DAC, to have a DEMUX with a DAC output. I made a simple 4-bit version last night and will add it to my newly published level, "snowflakecat engineering" soon. Check out the existing levels B1-B3 if logic devices is your thing ;-). I also made a simple typeface you can obtain in the font bar on ground level.

I think I understand what you mean... take the 4 bit digital signal, convert it to one of sixteen values (call it n), then activate pistons one through n, each of which is the same length? Instead of encoding it in standard binary I could use Gray code so that I don't get all the big swings in value, and the DEMUX could convert the Gray code to one of sixteen values.

I checked out your engineering basement. Nicely done, though even with the pictures it is unclear what the prize bubbles are (at least on my SDTV). Let me know when you've got your DAC up.

snowflakecat
02-16-2009, 01:48 AM
yeah, it's an issue I'm currently facing- whether to demo all the prizes or save the thermometer for something else. If anything, the level should be called an "engineering library," since a lot of the actual prizes are not demoed.

Edit: Larry, I've got a simple 2-bit DAC up in the unnamed floor for demo purposes. I have an ADC as well but I'm still optimizing it so it's not ready for demonstration yet.

snowflakecat
02-20-2009, 03:44 AM
I've updated my Engineering level with a simple ADC. I tried your method that was posted in the other thread and found it to be superior so you can checkout my "implementation" of your method on the same floor.