Arduino & input/output researchPosted: May 6, 2015
In order to develop my Interaction Design field project, I intend to use arduino in order to give my soft toy actual function and response to human interaction using arduino. However, having had no direct experience or tutoring with arduino this is a reasonably daunting task, although I have been assured that it is achievable.
My first hurdle is deciding what arduino board to purchase. I do in fact have an Intel Galileo which was being handed out at the Maker Faire Rome last year, but I feel like it’s a bit too bulky to put inside a plush toy, as well as the fact I think it’s on the more advanced end of the arduino spectrum (aka I have no idea what I’m doing)
Looking at other boards, the LilyPad arduino seems to be targeted at being integrated into textiles, and seems to be the smallest and most lightweight out of all the arduinos. But now we get into the details of which LilyPad arduino to buy. There is the standard LilyPad, the LilyPad Simple, the Lilypad Simple Snap, or the LilyPad USB.
The standard LilyPad has the most input/output pins, 14 digital and 6 analogue, although I’m not entirely sure what the difference is between the two and which I will need. The Simple only has 9 input/output pins, 4 of which can also be used as analogue (from what I understand), and “additionally, it has a JST connector and a built in charging circuit for Lithium Polymer batteries”. According to wikipedia:
“A lithium polymer battery, or more correctlylithium-ion polymer battery (abbreviated variously as LiPo, LIP, Li-poly and others), is a rechargeable battery of lithium-ion technology in a pouch format.”
so what I can assume from this is the Simple has a built in connector for batteries? and it will charge lithium polymer batteries? Whereas the standard LilyPad uses “an external power supply”, which I assume also means batteries? However, the LilyPad SimpleSnap comes with a Lithium polymer battery built in, saving me the trouble of affixing one. Then finally there’s the LilyPad USB, which again seems to be the same as the Simple with only 9 inputs/outputs, but with a built in USB connector “eliminating the need for a separate USB-to-serial adapter. This allows the LilyPad Arduino USB to appear to a connected computer as a mouse and keyboard, in addition to a virtual (CDC) serial / COM port” Does this mean that in order to connect the other LilyPads to my computer in order to program them, I will need a “USB-to-serial adapter”? Does it make my life easier buying one with a prebuilt USB? I have no idea. I have to assume it can’t be too difficult to connect the usual arduinos to the computer if they don’t all come with prebuilt USB ports.
Then there’s the matter of the inputs and outputs themselves.
The main things that I want my toy to be able to do, is respond to touch with sound and movement. For this, I assume I need touch sensors, motors and.. I’m not entirely sure what you would call an output that creates sound? Again, I’m assuming it’s something that is obtainable, but this is entirely assumption based logic. Looking at the arduino store, there are only buttons and light detectors, neither of which are useful for me. In terms of actuators (outputs) there is a large selection of LED lights, with a few other items. There is a “stepper motor”, which I think is what I need in order to make the plush vibrate, but I don’t know what size/power motor I should be looking at, or whether or not I can program it to go faster/slower.
I’m finding the website’s descriptions of the products very vague in what they actually are/do, for example “This stepper motor is a strong choice for any project.” Is it? That’s great to hear. Shame I don’t know anything about how it actually functions, outside of technical specifications. Wikipedia more helpfully describes it as:
“A stepper motor (or step motor) is a brushless DC electric motor that divides a full rotation into a number of equal steps. The motor’s position can then be commanded to move and hold at one of these steps without any feedback sensor (an open-loop controller), as long as the motor is carefully sized to the application.”
So, it sounds like the sort of thing I’m looking for? I assume (more assumptions) if I put a motor inside a toy it will make it jiggle around? It’s hard for me to picture the real world applications from these very technical descriptions of products.
As for sensors, buttons certainly aren’t what I want. After doing a bit of digging around I managed to find this “Capacitive Sensing Library” page on the arduino website, which from what I gather talks about using any arduino, some wire, resistors and a strip of metal foil such as tinfoil, to create a sensor which picks up on the electricity created by the human body. This sounds perfect for what I’m trying to do, and reasonably straightforward, and it sounds like it should be able to pick up touch through a thin layer of fabric, and potentially detect pressure depending on how sensitively it is set. There is also a youtube video in the article:
However the article does say that it is important to ground the arduino, and I’m not sure how I would go about this with it inside the toy. Although in another video there doesn’t seem to be an issue with grounding, and I’m thinking it might be self contained within the arduino? Here is a more detailed video on how to build a capacitive sensor:
Another option is a pressure sensor, which seems to be reasonably small and flexible, so suitable for the soft toy
From what I can gather, this is a resistance sensor rather than a capacitive sensor, measuring the level of resistance created in the circuit. Although I don’t think that makes any difference for my purposes?
After some research, I think the output I’m looking for to create sound is called a DAC, Digital to Analogue Converter, meaning that it takes a digital output such as numbers into analogue waveform such as sound. These will create 8-bit audio, which isn’t as limiting in range of sounds as one might first think. I have found an instructables page on setting this up, however it does seem to use up a lot of pins, and this is all on a standard rectangular arduino board. I’m concerned about how this would relate to the smaller and round LilyPad arduino.
It’s frustrating as right now all I want to do is get on with making and experimenting, but I don’t have the components to experiment with. But I’m not sure which components I am supposed to be buying, and whether or not I’ll be missing things, as well as the obvious fact that I have no idea how to go about setting these up.