tag:blogger.com,1999:blog-68874439716447358762024-03-12T18:12:44.593-07:00TheDude's project logKermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-6887443971644735876.post-73765700279540510802009-01-07T00:44:00.000-08:002009-01-07T01:14:27.676-08:00The UV LED microcontroller braceletI have been thinking about soft circuits for a while now. Its interesting to think about electronics as they relate to clothing, as well as building circuits with no solder, just knots. At about the same time i had come across "magic beads", which are white beads that change colors when exposed to UV light. Apparently they are one of the least expensive ways to reliably detect UV, and have some scientific use. but mainly they are sold by science education stores to teach kids about sun protection. The beads retain their dark color for a bit after the UV light source is removed, so the idea came up to make a slow refreshing solid state display out of beads and UV leds. This got mashed up with the soft circuit idea, and the ultimate raver cancer device was born!<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.ggpht.com/_EB_Z5Aki4DQ/SOWs1LXVYoI/AAAAAAAAEpY/zNIkWFErDQs/s400/PA020012.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://lh3.ggpht.com/_EB_Z5Aki4DQ/SOWs1LXVYoI/AAAAAAAAEpY/zNIkWFErDQs/s400/PA020012.JPG" alt="" border="0" /></a>I found some UV led's from a china importer for really cheap, and decided to use the arduino minipro from sparkfun as the microcontroller. it has such a small form factor, and is completely integrated so no external parts are needed besides power. Theres also a CR2032 battery holder from sparkfun, and a magnetic conductive snap (also from sparkfun. can you tell i love this place?). I took each bead and made a cut through it, and fit the LED through two of them.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.ggpht.com/_EB_Z5Aki4DQ/SOlAqdYbpoI/AAAAAAAAEqM/CfIeLFTyOeA/s720/PA050002.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 720px; height: 540px;" src="http://lh6.ggpht.com/_EB_Z5Aki4DQ/SOlAqdYbpoI/AAAAAAAAEqM/CfIeLFTyOeA/s720/PA050002.JPG" alt="" border="0" /></a><br /><br />Using conductive thread (sparkfun), and a piece of leather as a board I experimented with how close you could get the traces together in a sewing machine. The leather made a surprisingly good circuit board. the critical part here is to use the conductive thread on the *bottom* bobbin, not the main bobbin. you get a perfectly flat "wire" with a nice little thin wrap around it. This stuff frays like *crazy*, and was a giant pain in the ass to work with. Id almost recommend hairspraying over it lightly or something once you finally get it with no shorts.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.ggpht.com/_EB_Z5Aki4DQ/SOlQOTpjyhI/AAAAAAAAEq0/3g70oHGyU9I/s720/PA050005.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 720px; height: 540px;" src="http://lh6.ggpht.com/_EB_Z5Aki4DQ/SOlQOTpjyhI/AAAAAAAAEq0/3g70oHGyU9I/s720/PA050005.JPG" alt="" border="0" /></a><br />Front<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.ggpht.com/_EB_Z5Aki4DQ/SOlQTKnsMjI/AAAAAAAAEq8/8XSm3npqvlU/s720/PA050007.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 720px; height: 540px;" src="http://lh6.ggpht.com/_EB_Z5Aki4DQ/SOlQTKnsMjI/AAAAAAAAEq8/8XSm3npqvlU/s720/PA050007.JPG" alt="" border="0" /></a><br />Back<br /><br />So after many hours of carefully..... okay, im lying. I totally had my sewing machine master roommate sarah sew this for me. I laid it out with a ruler and had her sew over the traces. It was unusually fun designing the circuit traces, this is why i am a nerd. Its sort of hard to tell, but the microcontroller will go on the right, and there are 10 UV led's that run down the center of the bracelet.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyUvNa9immerBZnMI07T4z5s4Cp-QFhXi6V29i033vNGbGRlQhyphenhyphenIK16vq5ssX7T79pe8HyHkMOdHIXZjxSoEyVU0GsGMNQtGLOnWGQAJTSE9YoNixYxdQehHESIcuWyf6ygGSHB2n2VCm6/s1600-h/PA190008.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyUvNa9immerBZnMI07T4z5s4Cp-QFhXi6V29i033vNGbGRlQhyphenhyphenIK16vq5ssX7T79pe8HyHkMOdHIXZjxSoEyVU0GsGMNQtGLOnWGQAJTSE9YoNixYxdQehHESIcuWyf6ygGSHB2n2VCm6/s320/PA190008.JPG" alt="" id="BLOGGER_PHOTO_ID_5288474302637542242" border="0" /></a><br /><br /><br />the LED's were attached by wrapping the wire very tightly around each lead, and sealing it with a drop of glue. I had high hopes to make the entire thing with no adhesives of any sort, but the fraying was really frustrating me.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.ggpht.com/_EB_Z5Aki4DQ/SOmTkCG7QCI/AAAAAAAAErk/SJjADMYnnEk/s720/PA050009.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 720px; height: 355px;" src="http://lh5.ggpht.com/_EB_Z5Aki4DQ/SOmTkCG7QCI/AAAAAAAAErk/SJjADMYnnEk/s720/PA050009.JPG" alt="" border="0" /></a><br /><br /><br />Here you can see the first few leads of the microcontroller attached. they were attached just by stitching through the hole in the board a few times around the leather. it looks fantastic, and was very solid. You can also see the detachable mini USB programming header.<br /><br /><br /><br /><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dzz5sOq9GBKMoiKE4VKHz-9u3ZTsBroeHfD6f6PXSR67eJ7KijwJL6rmfpi_qTN3-sYnRjBHCPVjs82lSl0iA' class='b-hbp-video b-uploaded' frameborder='0'></iframe><br /><br />Here it is! It is very very difficult to take videos and photos of this thing. all of my cameras react very badly to the UV light, even with playing with UV filters. There is no flickering to the eye, that is an artifact of the camera. It has ten individually addressable LED's, with the full power of the arduino behind them. This program reads from a stored sine wave table to do fakie PWM on all 10 pins. Sadly, the beads do not hold their color for very long since the UV is not that strong coming out of the led's. its bright, its just not enough of the ideal wavelength. The effect is pretty damn cool anyways though. i cant see actually wearing this, but it was a cool way to explore these technologies. Its pretty amazing how advanced of things you can make these days at home with fifty bucks and a few hours time.Kermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.com0tag:blogger.com,1999:blog-6887443971644735876.post-72296393135780860142008-06-22T17:50:00.000-07:002008-06-22T17:58:26.085-07:00Casio EX-F1 remote shutter modSo, the last thing most people do with a brand new $1000 camera is start cramming a screwdriver into stuff and popping it open. Luckily, I was stupid so you dont have to be! In this case, stupidity paid off bigtime. Turns out the remote shutter release isnt some fancy schmancy USB device, its just three wires! Casio even conveniently labeled them for me: GND, Half-Shut, Shutter!<br /><br /><a href="http://picasaweb.google.com/jkerman/EXF1Mods/photo#5214873821875805154"><img src="http://lh3.ggpht.com/jkerman/SF70HIVkG-I/AAAAAAAAET8/zXEw9PT51ko/s800/CIMG0810.JPG" /></a><br /><br />Thanks for the labels!<br /><br /><a href="http://picasaweb.google.com/jkerman/EXF1Mods/photo#5214873855004826610"><img src="http://lh3.ggpht.com/jkerman/SF70JDwI2_I/AAAAAAAAEUE/4PXO80og1wc/s800/CIMG0811.JPG" /></a><br /><br />Just a simple single sided board, nothing hiding on the back.<br /><br /><br /><a href="http://picasaweb.google.com/jkerman/EXF1Mods/photo#5214873921294523634"><img src="http://lh3.ggpht.com/jkerman/SF70M6s1XPI/AAAAAAAAEUM/UZpkrUgvo3Q/s800/CIMG0810_2.JPG" /></a><br /><br />Now.. to find out where to get some of those funky USB connectors.Kermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.com4tag:blogger.com,1999:blog-6887443971644735876.post-73492494377779911862008-05-22T23:14:00.000-07:002008-05-22T23:24:43.670-07:00High Speed: Cheese grater 300/600/1200 demoThis is my cheese grater in the sink under running water. Between these shots, the camera remained in the same position. only the FPS setting and the lighting were adjusted. as you can see, the higher the speed, the smaller the frame size.<br /><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dwnX7MV1vYsPVTQmWWXUUvj5oGGUxF2fSef5XTzNVr8Fv9uYkjHDVugvzEZwhZDoEoNqVQr9imHXs4-N1V4zw' class='b-hbp-video b-uploaded' frameborder='0'></iframe><br />300 FPS. 10 seconds=1 second of RL<br /><br /><br /><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dyo-c_JUo2IHrnWMtcillB7EevDGR_ZWoOmVgUZwfu1LGCy-kVbW0xR3SEPaZFgM_6uEP8FFr0vYKqvav2Cyg' class='b-hbp-video b-uploaded' frameborder='0'></iframe><br />600 FPS. 20 seconds=1 second of RL<br /><br /><br /><br /><br /><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dy1E-x7g6oVMLE9sitBZwLAPa9wdlKiAjG0grTMQl7MJPk8vSK9v7vGaF5pUwrfinJIKf9i38ZB7ImyFPDHFQ' class='b-hbp-video b-uploaded' frameborder='0'></iframe><br />1200 FPS. 40 seconds=1 second of RL<br /><br /><br /> Something about the 1200 clips really appeals to me. Its like a tiny window into into a bizarre world you encounter every day, but are not able to appreciate. I cant wait to explore it more!Kermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.com0tag:blogger.com,1999:blog-6887443971644735876.post-7134586551348085702008-05-22T23:10:00.000-07:002008-05-22T23:13:56.418-07:00High Speed: Bic lighter<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dy0gnS3EvFiY6gcvFK35GQ9R7V0cfCwj23WvpKGg8Ch7OEGvyQt_fHFfdi5p2V_75Sne6pzhCNBmyfNuG-_4Q' class='b-hbp-video b-uploaded' frameborder='0'></iframe><br />Notes: 1200FPS in a moderately lit room. First video I took. High speed videos unsurprisingly require a LOT of light. Even fire seems a little dimKermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.com0tag:blogger.com,1999:blog-6887443971644735876.post-63969528080648022602008-05-22T14:10:00.000-07:002008-05-22T14:32:35.764-07:00Casio EX-F1For the last several years I have been fascinated with high speed photography. Even rental of equipment capable of higher than 60fps has been cost prohibitive for me. With casio releasing one of the first consumer high speed video cameras, I couldn't resist jumping on the opportunity to experiment more with the format.Kermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.com0tag:blogger.com,1999:blog-6887443971644735876.post-66801626275233671512008-01-04T01:35:00.000-08:002008-01-04T01:53:43.316-08:00Nintendo DS MicroSD card storage solution<a href="http://picasaweb.google.com/jkerman/GamingProjects/photo#5151552776195878274"><img src="http://lh3.google.com/jkerman/R3399LLVLYI/AAAAAAAADD8/FaIxtvkjl0M/s288/P1040017.JPG" /></a><br /><br />For the last few years ive come to know the joys of having a DS flash cart. Imported games, fantastic homebrew, emulators galore. No need to carry a giant stack of games with you, just grab the DS and go! Ive gotten so used to the idea of carrying around all of my games right inside the DS, that when I finally outgrew my 2gb microSD card I realized I had no place to put the second one! Its truly impossible to find a place to store those tiny memory cards. After pondering it for a while I finally came across a solution that was so obvious, I cant believe it wasnt the first thing that came to mind. use microSD card slots!<br /><br />I ordered up a few of the "click-in click-out" style microSD solder-on surface mount components from mouser.com for $1.13/each. hot glued them to the inside lid of the DS, and bam! instant 4 gig memory expansion. The slots of course dont work, but they keep the card in place just fine, the lid still closes, and they blend in nicely. I slapped one in each corner, but there seems to be enough room for at least 5 of them in there with the lid still able to close.<br /><br /><br />Hope someone else finds this as useful as I did!<br /><br /><a href="http://picasaweb.google.com/jkerman/GamingProjects/photo#5151552600102219106"><img src="http://lh6.google.com/jkerman/R339y7LVLWI/AAAAAAAADDg/6_5DMdZ4okc/s400/P1040014.JPG" /></a><br /><a href="http://picasaweb.google.com/jkerman/GamingProjects/photo#5151552647346859378"><img src="http://lh5.google.com/jkerman/R3391rLVLXI/AAAAAAAADDs/gJ5rnErUIlU/s400/P1040015.JPG" /></a><br /><a href="http://picasaweb.google.com/jkerman/GamingProjects/photo#5151552776195878274"><img src="http://lh3.google.com/jkerman/R3399LLVLYI/AAAAAAAADD8/FaIxtvkjl0M/s400/P1040017.JPG" /></a><br /><a href="http://picasaweb.google.com/jkerman/GamingProjects/photo#5151552874980126098"><img src="http://lh6.google.com/jkerman/R33-C7LVLZI/AAAAAAAADEI/76zaP_SVCtQ/s400/P1040018.JPG" /></a>Kermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.com0tag:blogger.com,1999:blog-6887443971644735876.post-75376411153882142492007-12-22T08:02:00.000-08:002007-12-22T08:09:47.604-08:00Yak hat<p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdL4LI-UaT-m33nu_KGBPSo8ui9F4bk47gcGNn-L39TM6Du5y_0qNSSA3x8oXAiulSNjVVjuj7abFRfZH8AhZaUpZzYWAH7t6c48c_A4EXCI372G3jDQiyxTLxkve1ZCUpDisEFGDIaojO/s1600-h/PC220001-787620.JPG"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdL4LI-UaT-m33nu_KGBPSo8ui9F4bk47gcGNn-L39TM6Du5y_0qNSSA3x8oXAiulSNjVVjuj7abFRfZH8AhZaUpZzYWAH7t6c48c_A4EXCI372G3jDQiyxTLxkve1ZCUpDisEFGDIaojO/s400/PC220001-787620.JPG" alt="" id="BLOGGER_PHOTO_ID_5146829342962429218" border="0" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDqWWXOZ7GhImnNbjWAFvvPOYNhxOZSUXjNcPgoQ95RvmPtjtZCcsie2NWaQHSrunBJ4TDhmd15CQtiJ_aaztAzHTY2bKcMrFaBhNOt3hpU7KvmT8PXs4a8wlpx1Ua7JNAD2oPwtjNlg82/s1600-h/PC220005-789806.JPG"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDqWWXOZ7GhImnNbjWAFvvPOYNhxOZSUXjNcPgoQ95RvmPtjtZCcsie2NWaQHSrunBJ4TDhmd15CQtiJ_aaztAzHTY2bKcMrFaBhNOt3hpU7KvmT8PXs4a8wlpx1Ua7JNAD2oPwtjNlg82/s400/PC220005-789806.JPG" alt="" id="BLOGGER_PHOTO_ID_5146829351552363826" border="0" /></a></p>This is the first hat i ever knitted. It was made with "Shokay" 100% <br />Tibetan yak fiber. This all started when someone told me that yak <br />fiber was one of the softest and warmest fibers you could get, but <br />you couldn't get it because of the extreme pain in the ass it is to <br />gather. Yaks cannot be shaven and must be combed to gather fiber. <br />Apparently a couple of harvard grads noticed the demand for fiber, <br />yet an abundance of very poor Tibetan yak farmers. So they started <br />the shokay yarn company and here we go!<p>This stuff costs $32 for 3.5oz of worsted weight yarn. The hat ended <br />up using 1.5oz of yarn, so i am quite happy with the overall cost. The <br />hat is warm, and extremely soft. It seems a little delicate though, <br />there are lots of "pills" that form on the surface with wear.</p><p>The pattern was made from several generic hat patterns i found. cast <br />on 8, every other row tbl on all end stitches on each of the 4 <br />needles until cap fits head, knit until its long enough.</p>Kermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.com0tag:blogger.com,1999:blog-6887443971644735876.post-27503104216341263372007-12-11T09:02:00.001-08:002007-12-11T09:32:40.604-08:00The KMFDM scarfThis scarf was made by sarah for a friend of ours. Call me impressed! The pattern was made using an album cover photo and automatic pattern generation software. it was cleaned up by hand. The end result is a really really nice looking font! I cant believe how nice it turned out.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.google.com/jkerman/R17AUT5eWOI/AAAAAAAAC6c/7oNXnZ7c_ko/PC110004.JPG?imgmax=576"><img style="cursor: pointer; width: 320px;" src="http://lh6.google.com/jkerman/R17AUT5eWOI/AAAAAAAAC6c/7oNXnZ7c_ko/PC110004.JPG?imgmax=576" alt="" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.google.com/jkerman/R17BDD5eWPI/AAAAAAAAC6g/jxIUQOXdgcI/PC110010.JPG?imgmax=576"><img style="cursor: pointer; width: 320px;" src="http://lh5.google.com/jkerman/R17BDD5eWPI/AAAAAAAAC6g/jxIUQOXdgcI/PC110010.JPG?imgmax=576" alt="" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.google.com/jkerman/R17BlD5eWRI/AAAAAAAAC7M/DKmqrbYApt8/PC110008.JPG?imgmax=576"><img style="cursor: pointer; width: 320px;" src="http://lh5.google.com/jkerman/R17BlD5eWRI/AAAAAAAAC7M/DKmqrbYApt8/PC110008.JPG?imgmax=576" alt="" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.google.com/jkerman/R17BFz5eWQI/AAAAAAAAC6s/iU9Squ5Wmms/PC110011.JPG?imgmax=1024"><img style="cursor: pointer; width: 320px;" src="http://lh4.google.com/jkerman/R17BFz5eWQI/AAAAAAAAC6s/iU9Squ5Wmms/PC110011.JPG?imgmax=1024" alt="" border="0" /></a>Kermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.com0tag:blogger.com,1999:blog-6887443971644735876.post-85950060135780907042007-12-05T10:31:00.000-08:002007-12-06T16:17:55.130-08:00I-cord bikini<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.google.com/jkerman/R1Y2HWJEQCI/AAAAAAAAC1w/EH-PnLEHUw0/PC040020.JPG?imgmax=640"><img style="cursor: pointer; width: 320px;" src="http://lh4.google.com/jkerman/R1Y2HWJEQCI/AAAAAAAAC1w/EH-PnLEHUw0/PC040020.JPG?imgmax=640" alt="" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.google.com/jkerman/R1Y2HmJEQDI/AAAAAAAAC18/RZYIGayyIqY/PC040012.JPG?imgmax=640"><img style="cursor: pointer; width: 320px;" src="http://lh5.google.com/jkerman/R1Y2HmJEQDI/AAAAAAAAC18/RZYIGayyIqY/PC040012.JPG?imgmax=640" alt="" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.google.com/jkerman/R1h_52JEQEI/AAAAAAAAC4c/s9D5C-VOdtY/PC050005.JPG?imgmax=640"><img style="cursor: pointer; width: 320px;" src="http://lh4.google.com/jkerman/R1h_52JEQEI/AAAAAAAAC4c/s9D5C-VOdtY/PC050005.JPG?imgmax=640" alt="" border="0" /></a><br />I didnt personally knit this project,miainly because i dont wear many bikinis :) my wonderful friend Sarah did (pictured). using the I-cord I made in the <a href="http://thedude06.blogspot.com/2007/12/560ft-of-i-cord.html">lego knitting machine.</a><br /><br />The pattern was based on a generic bikini pattern. its very difficult to work "yarn" this large as far as increases and decreases go. Every thing you do is very very visible. But the overall effect is really great! nothing looks quite so nice as a custom fitted bikini, and the fuzzy wool look makes it all the more awesome. Here is sarahs pattern:<br /><br />1st cup:<br />Temporary CO 15 sts (Leave a long enough tail to tie between the cups)<br />Row 1-10: St. st. starting with Knits<br />Row 11: K2tog tbl, K11, K2tog<br />Row 12: P13<br />Row 13: K2tog tbl, K9, K2tog<br />Row 14: P11<br />Row 15: K2tog tbl, K7, K2tog<br />Row 16: P9<br />Row 17: K2tog tbl, K5, K2tog<br />Row 18: P7<br />Row 19: K2tog tbl, K3, k2tog<br />Row 20: P5<br />Row 21: K2tog tbl, K1, k2tog<br />Row 22: P3<br />Row 23: K3tog<br />Pull end through remaining stitch (Leave long tail to tie around the neck)<br /><br />2nd cup:<br />Temporary CO 15 sts (Leave a long enough tail to tie between the cups)<br />Row 1-9: St. st. starting with Purls<br />Row 10: K2tog tbl, K11, K2tog<br />Row 11: P13<br />Row 12: K2tog tbl, K9, K2tog<br />Row 13: P11<br />Row 14: K2tog tbl, K7, K2tog<br />Row 15: P9<br />Row 16: K2tog tbl, K5, K2tog<br />Row 17: P7<br />Row 18: K2tog tbl, K3, k2tog<br />Row 19: P5<br />Row 20: K2tog tbl, K1, k2tog<br />Row 21: P3<br />Row 22: K3tog<br />Pull end through remaining stitch (Leave long tail to tie around the neck)<br /><br />Cut a piece of I-cord long enough to tie around ribs; this will bow in the back. Run this piece through the temporary cast on loops on both cups. Slip out the original cast on tails so that they end up between the cups and bow tie together.<br /><br />Bottoms:<br />Temporary CO 27 sts<br />Work 7 rows in St. st.<br />BO 3 stitches at the beg of next 2 rows<br />Cont in St. st., dec 1 st at beg and end of every row for 8 rows (either K2tog or P2tog)<br />Work 12 rows in St. st.<br />Work 13 rows in St. st., inc 1 st at beg and end of every row **(A)<br />Work 13 rows in St. st., inc 1 st at beg and end of knit rows only **(B)<br /> ** Depending on the size you need, adjust the number of inc rows (either fewer A rows and more B rows, or vice versa. This pattern fits my body, and I have wide hips, so periodically check the piece to see if it will fit appropriately.)<br />Work 7 rows in St. st.<br />Leave stitches on the needle and cut the I-cord leaving enough length to seam the front and back together at the side. <br /><br />Cut a long enough piece of I-cord to tie around the hips and run this piece through the stitches on the needle and the temporary CO stitches. Slide out the CO tail and use to seam the other side.Kermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.com0tag:blogger.com,1999:blog-6887443971644735876.post-66233631078585908192007-12-03T13:06:00.001-08:002007-12-05T10:31:12.021-08:00560ft of i-cord<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.google.com/jkerman/R1RvGWJEP9I/AAAAAAAACxo/h_oa6ahgPco/PC030009.JPG?imgmax=512"><img style="cursor: pointer; width: 320px;" src="http://lh6.google.com/jkerman/R1RvGWJEP9I/AAAAAAAACxo/h_oa6ahgPco/PC030009.JPG?imgmax=512" alt="" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.google.com/jkerman/R1RvG2JEP-I/AAAAAAAACx0/7ShR7_3OgNs/PC030010.JPG?imgmax=512"><img style="cursor: pointer; width: 320px;" src="http://lh4.google.com/jkerman/R1RvG2JEP-I/AAAAAAAACx0/7ShR7_3OgNs/PC030010.JPG?imgmax=512" alt="" border="0" /></a><br />Finally! I got through the entire massive bag of yarn i had. The little<a href="http://thedude06.blogspot.com/2007/11/lego-assisted-i-cord-knitting-machine.html"> lego knitting machine</a> held up for the lot of it! I believe this is "sport" weight yarn. its pretty thin. The three balls of yarn weigh:<br /><br />Red-260g<br />Green-274g<br />Blue-212g<br /><br />For a total of ~750g(26oz, 1lb 10oz)<br /><br />16" of cord weighs 1.8 grams, giving me 560ft of cord. Amazingly, this is roughly 8,300ft of input yarn!<br /><br />At its peak run, towards the end of minor optimizations, the lego knitter could knit 1 foot of yarn in 1.8 seconds. Thats theoreticly only about 4 hours of runtime, in reality it was closer to 10 hours over the last couple weeks.<br /><br />now... to see if my idea for knitting this works....<br /><br />UPDATE:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.google.com/jkerman/R1TE6mJEP_I/AAAAAAAACzQ/Aene7AZpG_g/PC030001.JPG?imgmax=640"><img style="cursor: pointer; width: 320px;" src="http://lh3.google.com/jkerman/R1TE6mJEP_I/AAAAAAAACzQ/Aene7AZpG_g/PC030001.JPG?imgmax=640" alt="" border="0" /></a><br /><br />Some test swatches. The gauge for knititng this "yarn" is:<br /><br />4x4"<br /><br />#13 9x15<br />#15 8.5x14<br />#19 7x12Kermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.com1tag:blogger.com,1999:blog-6887443971644735876.post-83080047001965435902007-11-30T17:22:00.000-08:002007-12-05T10:29:42.391-08:00iPhone lego NXT control<div style="margin: 0px auto 10px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVZB6_KORVpZ8l5ycbKFKLNr91_EQ8LNDjqFq_2MXQhX8Xbm0YV4_SMyk5flsa0D8ocR2LxFofBenEroumsRpDIdIZDgtdKr2ZuUSAZC12-NihqdBRQZtuSTLzBDA3DyV3qvDPOnMCzFX9/s1600-r/PB300003.JPG"><img id="BLOGGER_PHOTO_ID_" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8JZta7c3lEB7oz2u0yZpgfrOkOFUHys3cVYHwptVftqFTy4aji_yaqRMmXxqAdQsuwumgtkU_asHeC1EKgrnC68HNNY47AMuOuFfZ0oClgDAQrdgKS3y47ragXPKZc_xxnF5eh8bxPpEJ/s400/PB300003.JPG" border="0" /></a> </div><br />BricX command center screen viewer+VNC+iphone=iphone lego NXT control. f'ing awesome :)<div style="clear: both; text-align: center;"><a href="http://picasa.google.com/blogger/" target="ext"><img src="http://photos1.blogger.com/pbp.gif" alt="Posted by Picasa" style="border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" align="middle" border="0" /></a></div>Kermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.com0tag:blogger.com,1999:blog-6887443971644735876.post-64729436684948978332007-11-26T15:45:00.000-08:002007-12-11T09:02:01.641-08:00Lego assisted I-cord knitting machine(update4)<div style="text-align: left;">This is a $13 plastic "i-cord" maker i bought in the kids section of a fabric store. its called an "<a href="http://www.bond-america.com/products/embellish-knit.html">embelish knit</a>". Its a pretty neat mechanical device considering its made entirely of plastic. you turn a crank, feed in yarn, and you get a knit cord ("i-cord") as output. I have a project idea that will require a few hundred feet of this cord, so this seemed like the right device.<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6QYDoTmIKpyD_mhL-CzjNjh1Z6eyjUtyT2bOMTpJoQYsYPlFKq_GBbMI1jFc4u6SSpDBU5CoOhNqIVWSiuqPkEAMjS6fGBp2_EvtmNSFxrI6KpvzTd83CdMEzaZd12bomcbQ5xkElEQWi/s1600-h/eknit.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 167px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6QYDoTmIKpyD_mhL-CzjNjh1Z6eyjUtyT2bOMTpJoQYsYPlFKq_GBbMI1jFc4u6SSpDBU5CoOhNqIVWSiuqPkEAMjS6fGBp2_EvtmNSFxrI6KpvzTd83CdMEzaZd12bomcbQ5xkElEQWi/s320/eknit.jpg" alt="" id="BLOGGER_PHOTO_ID_5137302011127847234" border="0" /></a></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><div style="text-align: left;"><br /><br /><br /><br /><br /><br /><br />This also seemed like an ideal task for one of my favorite toys, a lego mindstorms NXT robot set. So I attached it to a pedestal, removed the hand crank, filed a lego sleeve into a square and jammed it into where the crank used to go. instant automated cord factory! This was about all i really needed to solve my problem, an electric drill would have been probably a lot better than this (and about $170 cheaper :p).</div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.google.com/jkerman/Rzs-BSJ7dMI/AAAAAAAACcc/4sTcRlPxYgk/PB130001.JPG"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 314px; height: 246px;" src="http://lh4.google.com/jkerman/Rzs-BSJ7dMI/AAAAAAAACcc/4sTcRlPxYgk/PB130001.JPG" alt="" border="0" /></a>The geek in me couldnt help but try to think of a way to completely automate the little machine. It would seem simple enough, just spool up the cord as it comes out. The problem with knitting machines is that they require lots of tension on the output line. this machine came with a 1oz weight that had to be kept on the yarn. lose the tension, and the delicate little crochet hooks would likely snap. The other issue is that because the hooks move around the center in this device, the cord spins as it comes out. This isnt a big deal for a few feet like it was designed for, but making huge pieces got to be annoying. The entire mass of already knit cord had to spin at the same rate new cord was being made. and since it was being spun, a simple winder wouldnt work. i had to figure out a way to un-spin the cord first.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.google.com/jkerman/R0tVe-Us2NI/AAAAAAAACmc/xt0lSZ0S7JI/PB260005.JPG"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 372px; height: 278px;" src="http://lh3.google.com/jkerman/R0tVe-Us2NI/AAAAAAAACmc/xt0lSZ0S7JI/PB260005.JPG" alt="" border="0" /></a>So i spun the entire machine instead! Using rubber wheels i removed the yarn feed clip leaving a nice ridge that i could support from the top and bottom, letting it spin freely. but not move up and down. I removed the bottom of the machine and effectivly 'jammed' the gear for the center rotating piece in place. This meant the cord could come out of the machine un-spun, and could be easily wound up.<br /><br /><br /><br /><br /><br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.google.com/jkerman/R0tVk-Us2OI/AAAAAAAACmo/i5DzAHST6bo/PB260010.JPG"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://lh3.google.com/jkerman/R0tVk-Us2OI/AAAAAAAACmo/i5DzAHST6bo/PB260010.JPG" alt="" border="0" /></a>Keeping tension on the output cord is critical, so i rigged up a channel for the cable to come through. The lever hits a switch that is monitored. When the switch is not depressed, it turns on the winder until it sees tension.<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.google.com/jkerman/R0tVpuUs2PI/AAAAAAAACm4/3OMuVTnGPE0/PB260012.JPG"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://lh6.google.com/jkerman/R0tVpuUs2PI/AAAAAAAACm4/3OMuVTnGPE0/PB260012.JPG" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />More Pictures:<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.google.com/jkerman/R0tVUuUs2LI/AAAAAAAAClo/V4HGXBtaxrY/PB260001.JPG"><img style="cursor: pointer; width: 320px;" src="http://lh6.google.com/jkerman/R0tVUuUs2LI/AAAAAAAAClo/V4HGXBtaxrY/PB260001.JPG" alt="" border="0" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.google.com/jkerman/R0tVaOUs2MI/AAAAAAAACmM/oTKDtyy6wAE/PB260002.JPG"><img style="cursor: pointer; width: 320px;" src="http://lh4.google.com/jkerman/R0tVaOUs2MI/AAAAAAAACmM/oTKDtyy6wAE/PB260002.JPG" alt="" border="0" /></a><br /><br /><br /><br /><br /><a href="http://picasaweb.google.com/jkerman/Knitting/photo#5137293524272470178">Video and full resolution image gallery</a><br /><br /><br /><br />I cant really say how long i think the poor plastic gears and bearing race will hold out, but its sofar knitted 160ft of output cord, which at about 15:1 ratio is nearly 2400ft of input yarn. not too shabby.<br /><div style="text-align: left;"><br />This is what the output cord looks like. its stretchiness depends on the input yarn.<br /></div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.google.com/jkerman/R0tZ6uUs2QI/AAAAAAAACns/kTdEV9ht9AE/PB260005-1.JPG"><img style="cursor: pointer; width: 320px;" src="http://lh6.google.com/jkerman/R0tZ6uUs2QI/AAAAAAAACns/kTdEV9ht9AE/PB260005-1.JPG" alt="" border="0" /></a><br /><br />This is a bracelet knitted on size 15 needles with some nice wool yarn i had as scrap. This is the "knit" side of the fabric.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.google.com/jkerman/R0tZ-uUs2RI/AAAAAAAACn8/8c3pzZa7Vqw/PB260006-1.JPG"><img style="cursor: pointer; width: 320px;" src="http://lh6.google.com/jkerman/R0tZ-uUs2RI/AAAAAAAACn8/8c3pzZa7Vqw/PB260006-1.JPG" alt="" border="0" /></a><br /><br />This is the "purl" side of the same bracelet<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.google.com/jkerman/R0taD-Us2SI/AAAAAAAACoI/8KFdqH_iFFA/PB260011-1.JPG"><img style="cursor: pointer; width: 320px;" src="http://lh3.google.com/jkerman/R0taD-Us2SI/AAAAAAAACoI/8KFdqH_iFFA/PB260011-1.JPG" alt="" border="0" /></a><br /><br />Update: Trying to see how large a continuous ball of output i can get, as well as the largest spool i can attach. this is about 110ft of cord spooled up, and a fresh 2oz spool of yarn on the input<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.google.com/jkerman/R05cvuUs2WI/AAAAAAAACuE/34sZ4fkN5uM/PB290011.JPG"><img style="cursor: pointer; width: 320px;" src="http://lh5.google.com/jkerman/R05cvuUs2WI/AAAAAAAACuE/34sZ4fkN5uM/PB290011.JPG" alt="" border="0" /></a><br /><br /><br />Update2: Some people have asked for pictures of the knitting device. as luck would have it i accidentally picked up the machine by the tube, and the tube support broke. so the knitting portion completely fell apart. boy.. was that fun to put back together.... anyways...<br /><br />There are two concentric tubes, the outer tube has a bearing race cut into the side:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.google.com/jkerman/R08zz-Us2XI/AAAAAAAACuk/bYfmrFuh768/PB290015.JPG"><img style="cursor: pointer; width: 320px;" src="http://lh3.google.com/jkerman/R08zz-Us2XI/AAAAAAAACuk/bYfmrFuh768/PB290015.JPG" alt="" border="0" /></a><br /><br />The center spindle has grooves cut in it that the hooks ride on:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.google.com/jkerman/R08z0uUs2YI/AAAAAAAACuw/xAM4T9E9ZNA/PB290016.JPG"><img style="cursor: pointer; width: 320px;" src="http://lh6.google.com/jkerman/R08z0uUs2YI/AAAAAAAACuw/xAM4T9E9ZNA/PB290016.JPG" alt="" border="0" /></a><br /><br />And the hooks are flat, and have pegs that ride in the outer tubes bearing race.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.google.com/jkerman/R08z1eUs2ZI/AAAAAAAACu8/vOJg7xB9pmU/PB290017.JPG"><img style="cursor: pointer; width: 320px;" src="http://lh5.google.com/jkerman/R08z1eUs2ZI/AAAAAAAACu8/vOJg7xB9pmU/PB290017.JPG" alt="" border="0" /></a><br /><span style="font-weight: bold;">Code</span><br /><br />The code isnt clean and pretty, but it works!<br />This code is written in "NBC". Im not used to programming in assembly,or with threads, but this language seemed more complete than the "NXC" C interface to the language. The hardest thing to grasp were the backwards if/then/else statements.<br /><br />It also uses regulated motor speeds, which are a lego firmware feature i think. It makes both of the drive motors spin at the same speed, even if they have different loads on them. sort of like a software differential.<br /><br />UPDATE: Prettier better commented code below<br /><br /><br /><pre><br />// Embelish-knit controller<br />// Left and right keys adjust speed<br /><br />dseg segment<br />KnitSpeed byte 50 // Initial knitting speed<br />TensionSpeed byte 5 // Initial tension speed<br />TensionMin byte 2 // Minimum allowed tension<br />TensionMax byte 20 // Maximum allowed tension<br />ButtonstateR byte<br />ButtonstateC byte<br />ButtonstateL byte<br />SwitchState byte // Switch state<br />crap byte // Disposable variable<br />exetime byte 0 // Runtime in seconds<br />dseg ends<br /><br />thread main<br />TextOut(0,LCD_LINE1, 'Knitter 2.0')<br />TextOut(0,LCD_LINE2, 'Knit Speed:')<br />TextOut(0,LCD_LINE4, 'Runtime:')<br />TextOut(0,LCD_LINE6, 'Tension Speed:')<br />SetSensorTouch(IN_1)<br />precedes Knit,ScanButtons,Tension,TimeLoop<br />endt<br /><br />// Drive the dual knitting machine drive motors<br />thread Knit<br />//Pretension drive. do not start knitting until there is tension<br />WaitForPreTension:<br /> ReadSensor(IN_1,SwitchState)<br /> brtst EQ,WaitForPreTension,SwitchState<br />KnitForever:<br /> NumOut(0,LCD_LINE3, KnitSpeed)<br /> OnFwdReg(OUT_AC,KnitSpeed,OUT_REGMODE_SPEED+OUT_REGMODE_SYNC)<br /> jmp KnitForever<br />endt<br /><br />// Watch for button presses<br />thread ScanButtons<br />WaitForButton:<br /> ReadButtonEx(BTN2,TRUE,crap,ButtonstateR,crap)<br /> ReadButtonEx(BTN3,TRUE,crap,ButtonstateL,crap)<br /> ReadButtonEx(BTN4,TRUE,crap,ButtonstateC,crap)<br /> brtst GT,RightPress,ButtonstateR<br /> brtst GT,LeftPress,ButtonstateL<br /> brtst GT,CenterPress,ButtonstateC<br /> jmp WaitForButton<br />RightPress:<br /> add KnitSpeed,KnitSpeed,5<br /> jmp WaitForButton<br />LeftPress:<br /> sub KnitSpeed,KnitSpeed,5<br /> jmp WaitForButton<br />CenterPress:<br /> stop 1<br /> jmp WaitForButton<br />endt<br /><br /><br />// Drive and adjust the output spool drive<br />thread Tension<br />//Pretension drive. do not start until pretension is finished<br />PreTension:<br /> OnFwdReg(OUT_B,TensionSpeed,OUT_REGMODE_SPEED)<br /> ReadSensor(IN_1,SwitchState)<br /> brtst EQ,PreTension,SwitchState<br />TensionLoop: // Constantly check for the state of the button press<br /> NumOut(0,LCD_LINE7,TensionSpeed)<br /> ReadSensor(IN_1,SwitchState)<br /> // If the switch is down, slow down the output drive (slowly)<br /> // If the switch isnt down, speed up output drive<br /> brtst EQ,TensionLost,SwitchState<br />GainTension:<br /> sub TensionSpeed,TensionSpeed,1<br /> call SmoothTensionSpeed<br /> OnFwdReg(OUT_B,TensionSpeed,OUT_REGMODE_SPEED)<br /> //Off(OUT_B)<br /> wait 1000<br /> jmp TensionLoop<br />TensionLost:<br /> add TensionSpeed,TensionSpeed,1<br /> call SmoothTensionSpeed<br /> OnFwdReg(OUT_B,TensionSpeed,OUT_REGMODE_SPEED)<br /> wait 1000<br /> jmp TensionLoop<br />endt<br /><br />// Increase a variable once a second to determine runtime<br />// I cant believe the NXT cant do this... maybe i couldnt find it<br />thread TimeLoop<br />Runtime:<br /> // Reset the poweroff timer<br /> ResetSleepTimer<br /> add exetime,exetime,1<br /> NumOut(0,LCD_LINE5,exetime)<br /> wait 1000<br /> jmp Runtime<br />endt<br /><br /><br />// Bounds check the tension speed to prevent literal crashes<br />// Negative tension speed can cause permanant damage to the machine<br />subroutine SmoothTensionSpeed<br />SmoothLoop:<br /> TextOut(0,LCD_LINE7,' ')<br /> NumOut(0,LCD_LINE7,TensionSpeed)<br /> brcmp GT,LowerTS,TensionSpeed,TensionMax<br /> brcmp LT,RaiseTS,TensionSpeed,TensionMin<br /> return<br />LowerTS:<br /> mov TensionSpeed,TensionMax<br /> jmp SmoothLoop<br />RaiseTS:<br /> mov TensionSpeed,TensionMin<br /> jmp SmoothLoop<br />return<br />ends<br /></pre><br /></div>Kermanhttp://www.blogger.com/profile/14942462968191515398noreply@blogger.com1