<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-3238938314065409594</id><updated>2008-05-09T07:15:01.136-07:00</updated><title type='text'>WiiScheme</title><link rel='alternate' type='text/html' href='http://naysaying.com/wiischeme/'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3238938314065409594/posts/default'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://naysaying.com/wiischeme/atom.xml'/><author><name>Fırat Can Başarır</name><uri>http://www.blogger.com/profile/06668185555633052636</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3238938314065409594.post-3520935540043326324</id><published>2008-05-09T06:50:00.001-07:00</published><updated>2008-05-09T07:15:01.181-07:00</updated><title type='text'>New Instructions!</title><content type='html'>We received new instructions from Sinan last week on Monday. Since there's been no posting here for a while I decided to post about the progress of our research.  &lt;p style="margin-bottom: 0cm;"&gt;On monday, during a regular “poking session” with Sinan about preparing the official papers to buy some Wii Remote for the department, he told me they were almost ready and we should start preparing a dummy teachpack. He also told that it was not as easy as it looks and we should do some research about them first. I've been going through some MzScheme manuals and Help Files on my free times and found out that there are two ways of extending DrScheme: Teachpacks and Tools. Tools are designed for extensions on DrScheme's functionality, like a debugger, syntax checker, or buttons for some other stuff, so we won't be needing them in our project. What we actually need are:&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;b&gt;Teachpacks&lt;/b&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;Teachpacks are sets of procedures which place themselves into a language in DrScheme. They are basically libraries, providing the coders to use previously defined functions for them to use when needed. As an example, the world.ss teachpack is a library and the Big-Bang is a defined function within the library, which we can use if we add the teachpack to the programming language in DrScheme. That and the other functions in the teachpack are basically defined functions, like the ones we do in our projects, but built into a single file in a stack for use.&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;b&gt;Why use Teachpacks?&lt;/b&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;There are three main opportunities teachpacks provide us;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;b&gt;1- The academic use of DrScheme may require students to implement codes they won't be able to.&lt;/b&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;Let's say a teacher wants his first year students to prepare a project in DrScheme every week. Think of how boring it would be to design and implement functions which only calculate some stuff and return values based on the input. Anyone could easily get bored within 3 weeks maximum and I can bet on that everyone will start to lose motivation rapidly. Because everyone still knows only the basics of Scheme, no one is able to implement some code which provides visual output, or use mouse movements, clicks or keyboard events as input to prepare a project which's fun in the end. Right here come teachpacks into the scene; They provide the functions necessary to do all those fun stuff so the students can focus on their work and have fun at the same time. They even can create simple games (such as breakout) using only their knowledge and the teachpacks with the necessary codes built in.&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;b&gt;2- The most commonly used functions can be implemented into and called from teachpacks.(Or “Abstraction” if you like to use no more then one word)&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;In our projects, we always try to implement generalised functions to be able to use them in our later projects. If we, let's say, create multiple teachpacks for each kind of theme (such as list processing, drawing, playing sounds ect.), we'd just need to add the teachpack to DrScheme and use the functions whenever we need them, without having to design and implement them over and over again. This is a commonly used thing during the development process of any kind of software. I am building libraries of the things I do a lot when I'm programming as well, and I'm using them on other projects when I need.&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;b&gt;3- The more powerful implementations of Scheme may be used withi&lt;/b&gt;&lt;b&gt;n the less powerful ones&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Well, the title says it all. You can prepare a teachpack with the advanced student language in DrScheme with keywords, which don't exist in the beginning student language. Let's say we want to draw a circle to the screen using the beginning student language. Because the beginning student language doesn't have the “circle” function defined within, we can't do that without using a teachpack which was written in a more powerful teachpack which provides us the function needed. (Think or world.ss: It needs lots of imperative functions to be able to run, but when you add world.ss into Dr.Scheme, you don't even have to know what “imperative” means when you're designing and implementing an animation.)&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;b&gt;Why do we need to prepare a teachpack?&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;Our ultimate goal is providing a way to use the WiiMote on the DrScheme environment to be able to do stuff &lt;a href="http://knuth.cs.bilgi.edu.tr/%7Ecomp149-02/hamexhibition/Blog%20&amp;amp;%20Gallery.html"&gt;&lt;u&gt;like these&lt;/u&gt;&lt;/a&gt;&lt;span style="text-decoration: none;"&gt;, which should be as simple as a first year student's regular project. Well, that's not possible without the use of a library. It's a pretty big and complex job to do that, and to simplify it, we're going to use the help of teachpacks. Just like we use world.ss for mouse and keyboard inputs, we want the students to be able to use the input from WiiMote as well. Without teachpacks, they would have to design and implement complex functions to “listen to what WiiMote says”. We will also have to use a more powerful language to access the input the computer receives from WiiMote to do that.&lt;/span&gt;&lt;/p&gt;   &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;&lt;b&gt;Alright, we're going to prepare a teachpack, but how?&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; It's not that much different from everything we did in class this year. First we should build a module, in which we will place everything else. Just like this:&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt; (module dummy mzscheme  &lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   ...)&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; The “module” function is the main function of the teachpack; everything in the teachpack must be in that function, otherwise it wouldn't work. The first parameter the function receives is the name of the teachpack, and it should be the same with the name of the teachpa&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt;ck file we are going to create: “dummy.ss”. The second paramether is the language of the teachpack we are going to use. I chose mzscheme for the example teachpack. Note that the language you are using during the implementation of the code should be mzscheme also. Now let's keep going:&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt; (module dummy mzscheme&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   (require (lib "defmacro.ss" "mzlib"))&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   ...)&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; The “require” function adds the requested library to the code, just like adding a teachpack into a project. The “defmacro.ss” library is required for defining macros. The “lib” function just calls the &lt;first parameter=""&gt; file in the  &lt;second parameter=""&gt; folder in DrScheme's “collects” folder. In our example, it calls “.../PLT/collects/mzlib/defmacro.ss” file and lets us use it. Let's define a function now:&lt;/second&gt;&lt;/first&gt;&lt;/p&gt;   &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt; (module dummy mzscheme&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   (require (lib "defmacro.ss" "mzlib"))&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;    &lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   (provide addfive addthree)&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;    &lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   (define-macro (addfive n)&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;     (+ 5 n))&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;    &lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   (define (addthree n)&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;     (+ 3 n))&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;    &lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   (define (addtwo n)&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;     (+ 2 n))&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt; )&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="text-decoration: none;"&gt;With the “provide” function we're telling the program that we're going to define “addfive” and “addthree” functions for external use (external use as in the user will be able to call those functions). Just below that, we define a macro and some functions. Defining a macro is not necessary actually, I defined one just so you can see the benefits of the library we added. After doing that, we can now save our file with the .ss extension and use it as a teachpack. Note that the addtwo function cannot be used because it was not provided to the user.&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; We, of course, are not limited to defining functions. We can define variables and keywords for use as well.&lt;/p&gt;   &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt; (module dummy mzscheme&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   (require (lib "defmacro.ss" "mzlib"))&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;    &lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   (provide addfive addthree helloworld)&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;    &lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   (define-macro (addfive n)&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;     (+ 5 n))&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;    &lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   (define (addthree n)&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;     (+ 3 n))&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;    &lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   (define (addtwo n)&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;     (+ 2 n))&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;    &lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt;   (define helloworld "Hello World!")&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none; color: rgb(255, 0, 0);"&gt; )&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/scheme-745043.PNG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/scheme-745040.PNG" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;     &lt;p style="margin-bottom: 0cm; text-decoration: none;"&gt; Here's what happens when we call the functions built into the teachpack we've just prepared:&lt;/p&gt; &lt;p style="margin-bottom: 0cm; text-decoration: none;" align="left"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; text-decoration: none;" align="left"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; text-decoration: none;" align="left"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; text-decoration: none;" align="left"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; text-decoration: none;" align="left"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; text-decoration: none;" align="left"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; text-decoration: none;" align="left"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; text-decoration: none;" align="left"&gt;&lt;br /&gt;As you can see above, we can call the addfive function, addthree function and helloworld variable without any problem. But addtwo does not work, because it was not provided to the user.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;The teachpack for the use of WiiMote will not be this simple of course, it will require a way more complex type of coding. But the main idea is the same. The next step in our project is hopefully getting our hands on a WiiMote, and find a way to receive input into DrScheme from it.</content><link rel='alternate' type='text/html' href='http://naysaying.com/wiischeme/2008/05/new-instructions.html' title='New Instructions!'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3238938314065409594&amp;postID=3520935540043326324' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://naysaying.com/wiischeme/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3238938314065409594/posts/default/3520935540043326324'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3238938314065409594/posts/default/3520935540043326324'/><author><name>Ali Kokulu</name><uri>http://www.blogger.com/profile/00631129338660054804</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-3238938314065409594.post-7317099427504508326</id><published>2008-04-15T07:49:00.000-07:00</published><updated>2008-04-15T08:24:16.152-07:00</updated><title type='text'>Progress Report No:2</title><content type='html'>&lt;span style="font-family: georgia;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;&lt;span style="font-family: trebuchet ms;"&gt;&lt;/span&gt;Finally our studies are finished about the exact road plan about the project and it's components.&lt;br /&gt;&lt;br /&gt;Considering the limited capabilties of the drscheme environment Ali is studying alternate ways to complete the project in case anything goes unexpected. That means we have an 'incomplete' backup plan.&lt;br /&gt;&lt;br /&gt;Current &lt;span style="font-family: trebuchet ms;"&gt;assignments for the time being is as the following:&lt;br /&gt;Aytaç: Manipulating world-bilgi.ss teachpack so that it can read inputs from the linux wiiremote driver.&lt;br /&gt;Fırat: Connecting the Arduino board to drscheme in a linux environment.&lt;br /&gt;Gökhan: Studying the architecture of the arduino board and doing the assembling work.&lt;br /&gt;He did a damn good job about the IR-pens.&lt;br /&gt;&lt;br /&gt;Aytaç Kanacı&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='alternate' type='text/html' href='http://naysaying.com/wiischeme/2008/04/progress-report-no2.html' title='Progress Report No:2'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3238938314065409594&amp;postID=7317099427504508326' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://naysaying.com/wiischeme/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3238938314065409594/posts/default/7317099427504508326'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3238938314065409594/posts/default/7317099427504508326'/><author><name>aytac kanaci</name><uri>http://www.blogger.com/profile/10051146741743589194</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-3238938314065409594.post-5678173274822954278</id><published>2008-04-11T12:47:00.000-07:00</published><updated>2008-04-11T13:22:53.512-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IR-pen'/><title type='text'>board marker to IR-pen</title><content type='html'>This is the second type of IR-pen that I made&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CAUTION: Be careful while using soldering iron and hot wax gun. Accidentally touching the hot parts may cause serious burns.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-Find a board marker (you can steal one from your teachers :) ) and disassemble it.  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_01-753211.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_01-753208.jpg" alt="" border="0" /&gt;&lt;/a&gt;- Ready the parts that you will use:  IR-led, a 22 ohm resistor,  a  button, a spring and some cable. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_02-753255.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_02-753253.jpg" alt="" border="0" /&gt;&lt;/a&gt;- Cut the back of the board marker and  put the  cable soldered  spring from the back. You may prefer to not to cut the back and put the spring from  the front but its a bit difficult.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_04-741439.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_04-741433.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;-Use some  hot wax to  fix the back end and the spring.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_05-726983.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_05-726926.jpg" alt="" border="0" /&gt;&lt;/a&gt;- Mount the button on the body of board marker. You can use the soldering iron to melt the body but it will smell bad. If you use soldering iron to melt the body, don't forget to clean the tip of soldering iron. Also solder the resistor to any leg of the IR-led. (I prefered "+") &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_06-727139.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_06-727122.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;-Solder the cable from the spring to button. Also solder a small metal string(i used the part that i cut from the IR led) to the other leg of the  button. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_07-793632.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_07-793629.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;-Insert the IR-led and the resistor trom the tip of the board marker. Leave one leg of the IR led out. Use some glue and conductor foil(I used cigarette paper but aluminium foil is more suitable)  to wrap the leg that you left out.  &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_08-793674.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_08-793671.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;-Re-assemble your board marker.  You may also want to use some insulation tape for the make-up.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_09-799656.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_2_09-799653.jpg" alt="" border="0" /&gt;&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://naysaying.com/wiischeme/2008/04/board-marker-to-ir-pen.html' title='board marker to IR-pen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3238938314065409594&amp;postID=5678173274822954278' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://naysaying.com/wiischeme/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3238938314065409594/posts/default/5678173274822954278'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3238938314065409594/posts/default/5678173274822954278'/><author><name>IGB</name><uri>http://www.blogger.com/profile/01813899500122772303</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-3238938314065409594.post-2222599805357304243</id><published>2008-04-11T11:40:00.001-07:00</published><updated>2008-04-11T12:46:04.380-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IR-pen'/><title type='text'>How to make a simple IR-pen</title><content type='html'>&lt;span style="font-size:100%;"&gt;We needed a few IR-pens&lt;/span&gt; to use with wiimote. So after a few reading I made some samples.&lt;br /&gt;&lt;br /&gt;If you don't want to work with a soldering iron and a hot wax gun, you can always use a simple lighter with a LED lamp instead of an IR pen. If you prefer this just change the LED with an IR diode.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CAUTION: Be careful while using soldering iron and hot wax gun. Accidentally touching the hot parts may cause serious burns.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;-Buy a simple flash light and dismount it.&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_1_01-724253.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 169px;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_1_01-724247.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-Use soldering iron to heat the metal part of the lamp and detach the glass part from the metal part.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_1_02-785728.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_1_02-785724.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-Mount the IR-led to the place where you detached the glass part and solder it. Be careful about the poles of the IR-led. In standard leds, long leg is connected to the anode(+) of the battery.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_1_03-719706.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_1_03-719703.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-Cut the parts that you don't need. need.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_1_04-789520.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_1_04-789516.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://naysaying.com/wiischeme/uploaded_images/ir_pen_1_04-789520.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-Just re-assemble it and your first IR-pen is ready.&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://naysaying.com/wiischeme/uploaded_images/ir_pen_1_05-758536.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note that most of the flash lights use switches. If possible change the switch with a button.</content><link rel='alternate' type='text/html' href='http://naysaying.com/wiischeme/2008/04/deneme.html' title='How to make a simple IR-pen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3238938314065409594&amp;postID=2222599805357304243' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://naysaying.com/wiischeme/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3238938314065409594/posts/default/2222599805357304243'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3238938314065409594/posts/default/2222599805357304243'/><author><name>IGB</name><uri>http://www.blogger.com/profile/01813899500122772303</uri><email>noreply@blogger.com</email></author></entry></feed>