Shop OBEX P1 Docs P2 Docs Learn Events
rfc on my mtg card playing device — Parallax Forums

rfc on my mtg card playing device

softconsoftcon Posts: 217
edited 2012-06-05 22:54 in General Discussion
Hello all, would like some feedback/suggestions on an idea I had today.
My children (son 10 and daughter 7) both love to play magic the gathering. Until we moved to our current location, I used a combination of braille labels, and either database on the computer, or braille copies of my cards in a spiral bound book to tell what the card was. Problems are 1, cards can't be brailled directly (well, they can, but then the info that fits is minimal, and I usually need to lookup the finer details anyway, so not much point to it) 2, I tried brailling material I'd stick to the card sleeves, but same problem.
2, using database, cards still need identifiers marked on them somehow, and it takes longer to lookup the info, though the info is of course more complete when it's found.
3, combining approaches could work, but still, too much manual intervention, and I'm looking for an automated approach, thus enters my current idea.
Using the propeller, the new speech chip parallax will have out soon, some rfid tags, an sd card, and a bit of fancy coding, I'm wondering how much trouble it would be for me to just attach rfid tags to the back of each card (or it's sleeve) then just wave the card in front of the reader, have the propeller look up the entry for me, and read it out using the speech (preferrably while wearing headphones to prevent eavesdropping).
I know it's doable, at least once parallax releases it's speech chip, and I know the most time consuming part will be populating the database, and assigning rfid tags to the proper entries, but once it's done, I think it would allow me to play right alongside my little ones without the need for any assistance, which usually takes the form of either one of them helping me and not playing, or the games taking a long time due to the lengthy lookup times I need to figure out what I have, and which ones to play. This way I could tag their cards too, so they wouldn't have to read everything they put into play which makes things move even slower. Despite all this, they still love to play, and they do make the sacrifices needed to allow me to play, but I'm thinking this approach would eliminate most of the repeated reading of a card, reminders of which card this is, or even the arguments over who played which card, as I could always integrate a turn counter into it too. :)
Obviously, I need to wait for a few pieces before I can begin building this device, but when I get them all (hopefully in July) I think it would be very useful, and loads of fun. Any gotchas, ideas for improvement, or any other points I may have missed in this?
Can anyone suggest improvements or alternatives?
Thanks in advance for any input, I sure would appreciate any experience folks have had working with pieces or similar parts of this plan.

Comments

  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-06-02 18:24
    I think the beginning of your post might have gotten scrambled. (Edit: No I think it was my brain that's scrambled. I'm not familiar with Magic the Gathering.)

    You're looking for a way of telling which playing card is which, correct?

    What about a barcode on each card?

    I use barcodes with the Propeller all the time. They're great!

    I've posted a little about my barcode project here:

    http://forums.parallax.com/showthread.php?137527-Serial-Barcode-Scanner

    I think barcodes would be less expensive than RFID.

    My current barcode reader cost $32 from ebay. I use a Brother label maker to print the barcodes. If you purchase a label maker to print barcodes, make sure it's one of the models with a USB connection so you can design labels on your PC.

    You'd probably want to use the barcode reader in continuous mode so you could just pass a card by it when you wanted it read.
  • softconsoftcon Posts: 217
    edited 2012-06-02 21:08
    Ahh, barcodes. Yes. That could work too. I'm thinking the barcodes would be more work though, since I'd need sighted assistance to print/paste the barcodes on the cards/sleeves, and I know from experience, bardcode scanners can be temperamental, and if the reader doesn't have the intelligence to invert/rotate the barcode, it may take me quite a while to locate the proper orientation for the scanner to pick up the barcode. On the other hand, as you pointed out, they are cheaper, so perhaps the tradeoffs will be worth it. Only problem though is I don't know if I can find anyone locally to assist with the modifications required to make the reader work proerly in my case. <grumble> this small town doesn't have many/any hobby-type stores in it, so finding folks to help with such things has been a challenge. I did find someone in the local jewelry store willing to do *some* soldering for me when/if I need it, but that's about all I've been able to find here.
    I'm not an expert on either rfid or barcodes, so my perceptions could be flawed here, so experienced feedback is much sought after. For minimum preconfiguration work, I'm thinking rfid would work better, but perhaps barcodes can be just as easy given proper proper circumstances too. Hadn't considered them before, will need to dig some to see which might work better for this little project.
    Thanks for the suggestion.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-06-03 09:33
    I'm going to try a few things with my inexpensive barcode scanner today.

    I'll see how narrow a barcode can be and still have it scanned reliably. I'll also see how close the scanner can be to the barcode.

    If you use barcodes, where on the card would you want them?

    I think they should be located in the same place on each card. The card could be placed on a shelf rigidly attached to the barcode reader. The shelf would hold the card in an orientation so if could be reliably scanned by the reader.

    I think the barcode should probably be either on the bottom of the cards or along the side of the card.

    Would having two barcodes per card be a problem? I think it would be advantageous to be able to read the card either right side up or up side down.

    What type of interface would you want? I figure you'll want a couple of buttons to request additional information about the card and control playback of the details of the card.

    I've taken a barcode reader apart in the past. I added a joystick to one reader so I could use the barcode reader as a mouse. I found there were two circuit boards inside the scanner.

    The PCB in the head of the scanner held the laser and detector. There was also a PCB inside the handle of the barcode reader. IIRC, the two PCBs were connected with a cable.

    I think it might be easier to use a barcode scanner if the head of the scanner were close to the table. The handle of the barcode reader could be cut off (or both PCBs removed from the original enclosure) and the PCB could be laid flat below or next to the head of the scanner. I think this configuration would take up less room on the game table.

    An enclosure to house both PCBs could also include the shelf to aid in aligning the cards.

    A Propeller board with headphone jack could either be housed within the same enclosure or sit off to the side and be connected to the reader with a cable.

    Here's my list of questions (some I've previously asked):

    1) Where on the card would you like the barcode to be located?

    2) What type of interface do you want? If you want buttons, how many?

    3) Which Propeller board would you prefer to use?

    4) Do you want the Propeller board to be a permanent part of the system or should it be easy to separate from the reader?

    I have other questions about how data should be organized and how to enter the database information, but those details can wait until after we see if a barcode reader would be a good choice for reading these cards.

    I'll let you know what I find out about how small I think these barcodes could be and how small the whole reader system could be made.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-06-03 09:43
    I just realized the headphone jack wouldn't be on the Propeller board, it would be on the text to speech board. So you'd just need a Propeller board with a SD card reader.
  • kwinnkwinn Posts: 8,697
    edited 2012-06-03 10:17
    If you are using an SD card why not store a sound file for each card using the bar code or rfid as the file name. Then you would not have to wait for the speech chip.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-06-03 10:42
    kwinn wrote: »
    If you are using an SD card why not store a sound file for each card using the bar code or rfid as the file name. Then you would not have to wait for the speech chip.

    This would probably reduce the cost and possibly make data entry easier.
  • softconsoftcon Posts: 217
    edited 2012-06-03 11:38
    While adding a sound file on a card would be simpler, it would also take up much more room, and each card would need to be recorded in advance. Using a text-to-speech module would eliminate both these issues, plus, the wav player chip is much more expensive than I'm expecting the speech chip to be, so there's that tradeoff too.
    The database would be a relatively small text file, (though, with more cards, obviously it gets larger) At last count (before we moved and all cards got left behind) I had 4-500+ cards, son and daughter had nearly as many, and we probably had about 80% uniqueness between all of us, so you can see prerecording sound bytes for each card would be a rather daunting task, not to mention how much space it would take, text is smaller. I could always fit the scanner with a wireless interface of some sort, and have it talk to my main computer too, and lookup the data that way as well, but I'm really hunting for something self-contained.
    What would be in the database for each card would be the following:
    card number,
    card name,
    card type,
    attack/defense,
    descriptive text,
    dcard set,
    flavor text

    Flavor text is optional, but it usually is funny, and it's usually not long enough to change the size significantly, so no reason not to include it.
    You can see an almost sample of what I'd be using here
    http://gatherer.wizards.com/Pages/Search/Default.aspx?output=checklist&set=[%22Magic%202012%22]&sort=cn+
    That link shows the core 2012 set, and the additional details such as description and flavor text are shown when one of those cards gets clicked.
    I had written some php code that automatically downloaded the cards from any given set, reorganized the data, and imported it into a local mysql database. Unfortunately, it looks like I didn't keep a copy of that code anywhere except on my server, and my local drive I was working on it at, and that drive has broken it's firewire port, so I can't access it anymore, and the server time ran out, so that version isn't available anymore either <sigh>
    It won't be a major issue to rewrite it, but it would be time consuming.
    But, anyhow, the database is easy enough to build, since html scraping is something php is very good at, so I'm not really concerned with that part at the moment.
    The barcodes would be pasted onto the card sleeves, not printed directly on the cards themselves, (folks get very picky, and won't trade cards that have been marred in anyway), so to prevent this, I put all the cards in clear plastic sleeves, and braille text on paper with peel-off backing, which I then cut to size, and stick to the back of the card sleeve, but it's a clear acrilic type material, so it won't get in the way of folks trying to read both sides of the cards.
    This method would need to be modified for barcodes, but probably not much, I'm just more concerned about how flexible the barcode readers are. There is a product that sells for $225 which scans barcodes on cans/boxes from the store, then reads out item specifics, such as what the item is, and (sometimes) nutricious information and even recipes if available. It will invert/rotate the barcode once it finds it, so I figure that's partly responsible for the 225 price tag, and obviously, that particular device wouldn't work in this case, but building something similar can't be that tough.
    I chose to use rfid tags though, so I'd not have to mess with barcode locations, orientation, or even attaching the barcode at all, simply dropping one of the rfid tags into the card sleeve with the mtg card would be sufficient. Securing it would probably be necessary for long term usability, but for a quick test and proof of concept, that wouldn't be necessary.
    So, there's my thinking, that's why I'm (currently) convinced rfid would be a better approach, but I'm of course always willing to listen to alternatives, especially since I'm still working this out as I go, and would like to work out as many potential faults as I can before I get started. I'm figuring if this works, I can sell the concept/device to other blind/visually impaired folks who have the same requirements, whether it's for mtg, pockeymon, ugio, only the database needs to change, and everyone would have to enter their own anyhow, since I doubt tsr would allow me to distribute the databases myself, even if the data is pulled directly from their public website.
    And, of course, it can be applied to any other collecting hobby as well, including figurines, stamps, coins, and the like.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-06-03 12:52
    The main problem I see with RFID is cost.

    There has got to be a way to get inexpensive RFID tags, but I haven't been able to find them.

    The best price I've found in my limited search are these.

    http://www.digikey.com/product-detail/en/32397/32397-ND/2666924

    If you buy 25 at a time they cost $0.84 each.

    The barcodes I use (which are relatively expensive as far as barcode go) cost about $0.03 each.

    The barcodes do need to be aligned to be read correctly by the inexpensive barcode readers. Upside down isn't a problem but the laser line needs to pass through all of the bars of the barcode at once. If the barcodes were square, then the reader would still be able to read it up to a 45 degree angle from horizontal.

    I've wondered if a label (or piece of paper) with two barcodes would work. One would be printed perpendicular to the other. If both barcodes were square and had enough white space between them, then the barcode reader should be able to read them in any orientation.

    Using a two square barcode could end up making the piece of paper bigger than you'd like. I think the RFID tags are an inch in diameter. I don't know if two square barcodes would be able to fit within the same area and still be readable by the scanner.

    I've wondered about ways of automating some of the lab work I do. One problem I've had is barcode orientation. I think I'll try printing some double square barcodes to see if they make it easier for the scanner to read them.

    The barcodes I use are usually four characters. I'd think four characters would be enough to uniquely identify all the cards of MTG. I figure four characters should be able to produce over a million and a half unique combinations of characters.

    BTW, I tried using the scanner at various ranges. It has trouble with ranges of less than an inch. The only problem from thin barcodes is alignment. If a barcode is properly aligned it could be as thin as 1/16 of an inch.

    I try printing some of those double square barcodes and let you know how they work. If you can find inexpensive RFID tags, I'd like to know about it.
  • softconsoftcon Posts: 217
    edited 2012-06-03 17:16
    Hmm. Hadn't hunted for cheaper rfid tags than the ones Parallax sells, but the ones I was planning on using are only 1/20th of an inch (50 mm in diameter. If I buy 20+ the price is 79 cents each, if I could afford to purchase 200, then it drops to only 64 cents per tag, but that means an order of $128 just for rfid tags, and that's a bit out of my price range, so looks like 79¢ would be my cost on those. :)
    The store page for these little guys is at:
    http://www.parallax.com/Store/Accessories/CommunicationRF/tabid/161/CategoryID/36/List/0/SortField/0/Level/a/ProductID/116/Default.aspx

    Still a far cry from 3 cents apiece, but I think I could spread out the cost enough over a few months I could label all my cards, and be all set to play no matter which cards were in my deck.
    I only need 60 to start, since that's the size of a normal deck, so that helps some.
    However, if you do manage to get a cheap barcode reader to do the job with two barcodes, please let me know, and I'll experiment with that too, considering the cost, it might be a good alternative until I get enough rfid tags to handle the job. :)
    Thanks for the assist on that, this will be a lot fun to build, and even more fun to use when it's complete.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-06-03 17:29
    I didn't even check Parallax's RFID stuff. I remember Parallax having the blue fobs as RFID tags the last time I checked their RFID stuff.

    Those 50mm tags are a pretty good deal but they seem kind of big. Their 25mm tags are the same price as the 50mm tags. There's a price break at 100 with the 25mm tags so 100 would cost $69. Not too bad IMO.
  • kwinnkwinn Posts: 8,697
    edited 2012-06-03 19:07
    While adding a sound file on a card would be simpler, it would also take up much more room, and each card would need to be recorded in advance.

    Not sure how much information needs to be stored for each playing card but an SD card or micro SD card can hold several hours of high quality audio and several times that if the quality is reduced. Even reduced quality audio would be better than that produced from any text to speech chip I have heard. As for having to record each card in advance, would you not have to enter text in advance for the text to speech module? Would that be any less work than reading the card contents?
    Using a text-to-speech module would eliminate both these issues, plus, the wav player chip is much more expensive than I'm expecting the speech chip to be, so there's that tradeoff too.

    The propeller can play digital audio files with minimal additional hardware so there is no reason it cannot do the same for recorded digital audio. For recording audio there are several free software packages available that can record in numerous formats and at various sample rates.
  • softconsoftcon Posts: 217
    edited 2012-06-03 19:12
    Oops. You're right on that. I'd forgotten about those, and the fact that they had a price break at 100 would indeed help. I'm just wondering if those would be too small for me to manipulate w/o being able to see them, if I dropped one, it'd be a bear to locate it. :)
    I'll get some of both, and see which ones work best. Could be the 25MM ones work just fine, and that would be ok too.
    In any case, the entire project will be a learning experience, but I still say it'll be a whole lot of fun.
    Thanks for the heads up.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-06-03 19:22
    kwinn wrote: »
    would you not have to enter text in advance for the text to speech module?

    kwinn,

    I think you missed the part about getting the information off the internet. It wouldn't need to be manually typed in.

    If the audio recording route were taken, I think it should be possible to do it all on the Prop. Several Propeller boards have built in mics. I think the PropBOE could do this without addrional hardware.

    I haven't tried recording and playing back audio with the Prop myself, but I recall one of Kye's SD demos having the ability to both record and playback sound.
  • kwinnkwinn Posts: 8,697
    edited 2012-06-03 20:30
    Yes, I did miss the part about getting the information off the internet. That does make the text to speech approach easier. On the other hand I have yet to see a text to speech chip that produces audio as good as recorded audio, even when compared to audio recorded at relatively low bit rates. As an added bonus this can be done now with relatively simple and readily available hardware rather than waiting for a chip.

    As for recording the information from the cards, I'm betting his kids would be delighted to do the reading. I'm not trying to twist any arms to do it this way, so if softcon decides to stick with the text to speech approach that's fine. I understand the urge to play with specific hardware.
  • softconsoftcon Posts: 217
    edited 2012-06-05 21:34
    Honestly, I don't get what it is about synthesized speech that makes so many folks turn away, and shake their heads. I've been using synthesized speech for screen reading purposes since I got my first pc in 1986, and (if you want to count it) I used a speech synthesizer unit for the C64 even before that, so synthetic speech is something I'm quite used to. I also find that when I want to read something very very quickly, synthetic speech is 100% better than human speech, simply because it flows better at high speech rates. I've taken human recorded speech, and when you speed it up to 500+ wpm, it just takes too much concentration to understand what's being said, even with normalization sound routines.
    I can take a computerized voice, and put it at the same 500+ wpm word rate, and it takes very little effort for me to understand it, and it even leaves me time to think about what's being said, there's no need for me to devote 100% of my attention to what's being said, I have the time (between words so to speak) to contemplate what's being talked about, and consider some of the alternate angles. Rediculously fast human speech doesn't give me that free time, because I have to devote too much time to interpreting what's actually being said.
    I've always run my speech rates fairly high, but I only began maxing them out (and wishing for more) in the last 15 years or so, so perhaps it's just the familiarity of the generated speech that has given me this effect, but whatever the reason, I actually prefer synthetic speech when working at high speeds, while human sounding voices are fine for reading books and magazines, I tend to get slowed down by human sounding voices when working on the computer, which is largely why I use fred on the mac, because the other voices (especially alex) drive me nuts (aside from the fact that they eat memory like a sponge) I can't run them at high speeds without them breaking up and becoming unintellegible. This seems to be a common failing with human sounding voices. I don't know if it's due to their inherent design, or simply the amount of data pumped through in the same amount of time that makes them hard to understand, but for me, synthesized voices are just smoother and much easier to understand when you hit 350 wpm or so which is where I do most of my work.
    So, in this case, I have no problem with synthesized speech, and besides, it eliminates the need for me to get a person to read each and every card I want to add to my collection. With synthesized speech, I can add every card in existence, then just tie the ones I have to rfid tags, and when it passes the reader, it can grab it and begin reading. No need to record new stuff when I buy a new pack of cards. It saves considerably on the setup time. :)
  • kwinnkwinn Posts: 8,697
    edited 2012-06-05 22:54
    After reading your last post I have to agree that a text to speech chip is the way to go for you. I always found synthesized speech difficult to comprehend and unpleasant to listen to, and never considered how it might sound to someone who listened to it on a regular basis. Yet another example of how adaptable the human brain and sensory system is.
Sign In or Register to comment.