<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2422890833530279474</id><updated>2012-01-07T15:44:53.109+01:00</updated><category term='visual studio'/><category term='arduino'/><category term='mouse'/><category term='diy'/><category term='diy arduino qt electronics'/><category term='ogre'/><category term='plexiglass'/><category term='programming'/><category term='effect'/><category term='robot'/><category term='led'/><category term='drum'/><category term='qt'/><category term='guitar'/><category term='midi'/><category term='algorithm'/><category term='bass'/><category term='general'/><category term='skybluepink'/><category term='electronics'/><title type='text'>Projectify</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-3587755245577228718</id><published>2011-01-22T16:54:00.002+01:00</published><updated>2011-01-22T17:03:39.550+01:00</updated><title type='text'>Pedalboard</title><content type='html'>The amount of cables and power supplies tends to explode as bassists or guitarists get more and more effect pedals. So I thought I needed a pedalboard, one board to contain all my (frequently used) effect pedals, power supplies and wiring.&lt;br /&gt;&lt;br /&gt;I found a &lt;a href="http://www.tdpri.com/forum/stomp-box/153763-my-do-yourself-ikea-pedalboard-build-thread.html"&gt;thread&lt;/a&gt; which contained a build report for such a pedalboard. This was all my father-in-law needed and started doing all the woodwork for me (as I don't have the necessary tools). I finished it off with the Velcro strips, the power supply and an A/B switch pedal which also functions as the power supply for all the 9V pedals.&lt;br /&gt;&lt;br /&gt;As you can see, there is still some space left for extra pedals :)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_859PWqpdODY/TTr9WifU_ZI/AAAAAAAAAWQ/fupz29w3Swc/s1600/pedalboard-front.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="240" width="320" src="http://3.bp.blogspot.com/_859PWqpdODY/TTr9WifU_ZI/AAAAAAAAAWQ/fupz29w3Swc/s320/pedalboard-front.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_859PWqpdODY/TTr9rMHbPjI/AAAAAAAAAWY/iB6YejMYwKU/s1600/pedalboard-back.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="240" width="320" src="http://4.bp.blogspot.com/_859PWqpdODY/TTr9rMHbPjI/AAAAAAAAAWY/iB6YejMYwKU/s320/pedalboard-back.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-3587755245577228718?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/3587755245577228718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2011/01/pedalboard.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/3587755245577228718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/3587755245577228718'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2011/01/pedalboard.html' title='Pedalboard'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_859PWqpdODY/TTr9WifU_ZI/AAAAAAAAAWQ/fupz29w3Swc/s72-c/pedalboard-front.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-7611510080498573453</id><published>2010-11-04T13:42:00.010+01:00</published><updated>2010-11-04T14:05:05.262+01:00</updated><title type='text'>Moodlight "Oodles"</title><content type='html'>I've made a moodlight using an AVR chip (ATTiny2313) and lots of blue LEDs. You might even say, oodles of blue LEDs. "Oodles" seemed like a good name to describe these. So here it is: Moodlight "Oodles".&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_859PWqpdODY/TNKpXBVagxI/AAAAAAAAAVs/Pao17QZfvHo/s1600/Oodles1.1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_859PWqpdODY/TNKpXBVagxI/AAAAAAAAAVs/Pao17QZfvHo/s320/Oodles1.1.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;The light animations in this video are much faster than they would normally be, I didn't want to post minutes-long footage.&lt;br /&gt;&lt;br /&gt;&lt;object width="350" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/o_hl1ydhVJg?fs=1&amp;amp;hl=nl_NL"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/o_hl1ydhVJg?fs=1&amp;amp;hl=nl_NL" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="350" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_859PWqpdODY/TNKuR65kBZI/AAAAAAAAAV4/PdF96CqngwU/s1600/Oodles1.3.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_859PWqpdODY/TNKuR65kBZI/AAAAAAAAAV4/PdF96CqngwU/s320/Oodles1.3.jpg" width="240" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;If you are thinking: "Hey, I want one of those". Then you are in luck. I'm willing to make these (or any kind of moodlight for that matter) on demand. Just contact me with your wishes.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-7611510080498573453?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/7611510080498573453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2010/11/oodles-moodlight.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/7611510080498573453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/7611510080498573453'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2010/11/oodles-moodlight.html' title='Moodlight &quot;Oodles&quot;'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_859PWqpdODY/TNKpXBVagxI/AAAAAAAAAVs/Pao17QZfvHo/s72-c/Oodles1.1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-1714759538992130613</id><published>2010-08-17T00:53:00.003+02:00</published><updated>2010-08-17T08:38:15.062+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diy arduino qt electronics'/><title type='text'>Quiz Buzzer System</title><content type='html'>I finished a new project! It is a Quiz Buzzer System. I gave it a name, a horrible name, the BnB-0x7DA.&lt;br /&gt;&lt;br /&gt;A friend of mine asked me to build this a while ago. My god, it's been nearly a year he first spoke of this! The system he had in mind needed to do only a few things: "When a button is pressed a light goes on (matching the button) and a sound is played. Oh, and could you display the person who triggered it on the screen too?"&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The prototype&lt;/b&gt;&lt;br /&gt;The first step: make a prototype. It looked something like this:&lt;br /&gt;An Arduino to implement the logic of the lights and the communication with an application on a PC via USB and a few shift registers. The shift registers were required because I needed to control 16 LEDs (not enough pins on the Arduino to do that).&lt;br /&gt;&lt;br /&gt;I also did something most people find unusual: I prototyped the software as well (most software prototypes end up being the final product). The application communicating with the arduino was written in &lt;a href="http://processing.org/"&gt;Processing&lt;/a&gt;. It had only the basic functionality, but it clearly showed the idea was feasible and was a good way to show to my friend how I interpreted his "specs". The eventual application would be written in Qt / C++, more on that below.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_859PWqpdODY/TGW2TPCn3dI/AAAAAAAAATY/tcStXC27A-U/s1600/bnb-prototype.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_859PWqpdODY/TGW2TPCn3dI/AAAAAAAAATY/tcStXC27A-U/s320/bnb-prototype.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;The shield&lt;/b&gt;&lt;br /&gt;I decided it was time that I made a decent Arduino-type shield, instead of my usual &lt;a href="http://1.bp.blogspot.com/_859PWqpdODY/SqqxtdFX0eI/AAAAAAAAASc/8IwpH_TTts8/s1600-h/bboxguts.png"&gt;big mess of wires&lt;/a&gt;. I'm pretty pleased with the result. It just fits right on top of an Arduino, brilliant! I can also recommend using a 2-hole-per-strip stripboard, it works really well for connecting ICs with one another.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_859PWqpdODY/TGW4GDNVS1I/AAAAAAAAATg/Mvk-sZti1gE/s1600/bnb-shield.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_859PWqpdODY/TGW4GDNVS1I/AAAAAAAAATg/Mvk-sZti1gE/s320/bnb-shield.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_859PWqpdODY/TGm6l6PmqCI/AAAAAAAAAUo/N6NWYROFU_A/s1600/bnb-arduinoshield.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_859PWqpdODY/TGm6l6PmqCI/AAAAAAAAAUo/N6NWYROFU_A/s320/bnb-arduinoshield.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;The drilling&lt;/b&gt;&lt;br /&gt;As soon as the electronic core was finished, it was time for the drilling. Oh boy, did I drill: 17 holes in the top cover, 6 in the bottom cover, 2 of those had to be rectangular shaped, which is a special kind of hard (drills don't come in rectangular shapes).&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_859PWqpdODY/TGW59UgH07I/AAAAAAAAATo/9JeI2CnVTuw/s1600/bnb-top.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="185" src="http://4.bp.blogspot.com/_859PWqpdODY/TGW59UgH07I/AAAAAAAAATo/9JeI2CnVTuw/s200/bnb-top.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_859PWqpdODY/TGW6BNm_bPI/AAAAAAAAATw/deyd-SF4KUo/s1600/bnb-bottom.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="138" src="http://3.bp.blogspot.com/_859PWqpdODY/TGW6BNm_bPI/AAAAAAAAATw/deyd-SF4KUo/s200/bnb-bottom.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;The wiring&lt;/b&gt;&lt;br /&gt;To prevent messy internal wiring, I used flat cable (re-used some old IDE cable). Again, very pleased with the result.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_859PWqpdODY/TGW7nGuqb9I/AAAAAAAAAT4/6E1PbXlm2y8/s1600/bnb-wires.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_859PWqpdODY/TGW7nGuqb9I/AAAAAAAAAT4/6E1PbXlm2y8/s320/bnb-wires.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;The buttons&lt;/b&gt;&lt;br /&gt;Next up: the buttons. My friend and I decided to come up with something other than the usual square-box-with-a-button-on-top design. So we decided to use wooden handles. These wooden handles would be fitted with illuminated buttons. (Did this just start to sound really expensive?) Not an easy thing to do, fit buttons into wooden handles. Here are some pictures of the process.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_859PWqpdODY/TGW8txmiWcI/AAAAAAAAAUA/fO9XUlYQ6RM/s1600/bnb-workinprogres.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_859PWqpdODY/TGW8txmiWcI/AAAAAAAAAUA/fO9XUlYQ6RM/s320/bnb-workinprogres.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_859PWqpdODY/TGW81EOA25I/AAAAAAAAAUI/iqoCFdvm6x0/s1600/bnb-handles.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_859PWqpdODY/TGW81EOA25I/AAAAAAAAAUI/iqoCFdvm6x0/s320/bnb-handles.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;To control both a button and an LED via only 2 wires I needed a few electrical components on the buttons themselves. Luckily, these components were small enough. So they could be fitted right between the leads of the button. (The diameter of a button is 8mm.)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_859PWqpdODY/TGW9QjlKM_I/AAAAAAAAAUQ/61gsxbAFUoU/s1600/bnb-buttons1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_859PWqpdODY/TGW9QjlKM_I/AAAAAAAAAUQ/61gsxbAFUoU/s320/bnb-buttons1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_859PWqpdODY/TGm904VyPAI/AAAAAAAAAUw/L44Z1YTwuIQ/s1600/bnb-button.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_859PWqpdODY/TGm904VyPAI/AAAAAAAAAUw/L44Z1YTwuIQ/s320/bnb-button.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;The &lt;/b&gt;&lt;b&gt;BnB-0x7DA&lt;/b&gt;&lt;br /&gt;So there you go, those were the hardware steps required to finish the project. The result can be admired in the image below: 8 player buttons, one reset button on top of the case, one button is connected to the side of the case to also function as a reset button, one spare button on the left and one toggle switch on the right to enable or disable the buzzer. Between a handle and a connector there is about 10m of cable. Totalling more than 100m of cable in this picture! Notice the nice blue and green lights :)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_859PWqpdODY/TGm3D0w6cmI/AAAAAAAAAUg/BG4h8LcC5kc/s1600/bnb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_859PWqpdODY/TGm3D0w6cmI/AAAAAAAAAUg/BG4h8LcC5kc/s320/bnb.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The software&lt;/b&gt;&lt;br /&gt;For the software side of things, I made an application with Qt. It has a very good IDE and a clean API. It's especially easy to create decent GUIs in Qt. GUI code tends to become really messy, really fast, but Qt manages to encapsulate the messy part of GUI code in a generated source file.&lt;br /&gt;&lt;br /&gt;The application did not need to do much. Every button is attached to a name and a sound. If enabled, this sound is played when the player presses his button first and his name shows up on the screen. The application also supports teams of players, saving and loading, auto detection of the serial port and a basic score system.&lt;br /&gt;&lt;br /&gt;I tried some experimental GUI design. Not sure if it is æsthetic, but it definitely is user friendly.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_859PWqpdODY/TGm2GKTpxZI/AAAAAAAAAUY/DA9CTU9H6cw/s1600/bnb-software.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_859PWqpdODY/TGm2GKTpxZI/AAAAAAAAAUY/DA9CTU9H6cw/s320/bnb-software.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;The conclusion &lt;/b&gt;&lt;br /&gt;Although, technically, this wasn't one of the hardest projects I have done, it surely wasn't easy. The main goal was to finish a professionally looking product which is easy to use and somewhat durable (this remains to be seen). Thomas Edison said "Success is 10 percent inspiration and 90 percent perspiration". This is definitely the case with this project. Like I said, technically, not the most difficult, but I put more time in this than any other project so far. And it was totally worth it.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_859PWqpdODY/TGnA1zQyDYI/AAAAAAAAAU4/iw90E1bcGW0/s1600/bnb2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_859PWqpdODY/TGnA1zQyDYI/AAAAAAAAAU4/iw90E1bcGW0/s320/bnb2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-1714759538992130613?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/1714759538992130613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2010/08/quiz-buzzer-system.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/1714759538992130613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/1714759538992130613'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2010/08/quiz-buzzer-system.html' title='Quiz Buzzer System'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_859PWqpdODY/TGW2TPCn3dI/AAAAAAAAATY/tcStXC27A-U/s72-c/bnb-prototype.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-8602584106202383249</id><published>2009-10-21T19:52:00.001+02:00</published><updated>2009-10-21T19:54:08.942+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Processing</title><content type='html'>&lt;a href="http://processing.org/" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_859PWqpdODY/St9KQerINzI/AAAAAAAAATM/6f1ijjTlhQ0/s320/gettingstarted.jpg" /&gt;&lt;/a&gt;I'd like to introduce &lt;a href="http://processing.org/"&gt;Processing&lt;/a&gt; to those who have not heard of it yet. It is a programming environment and language which shields you from the "annoying little details" of programming. &lt;br /&gt;&lt;br /&gt;You can just jump in with little or no programming experience and have a GUI, 3D or a network application up and running in no time.&lt;span id="goog_1256147605712"&gt;&lt;/span&gt;&lt;span id="goog_1256147605713"&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Arduino development environment is based on the Processing environment. Which is why I thought it would be a good idea to check out Processing.. and I love it :)&lt;br /&gt;&lt;br /&gt;It's probably the best way to learn programming... then again, you will probably end up hating all other development environments if you are used to the ease of Processing ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-8602584106202383249?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/8602584106202383249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/10/processing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/8602584106202383249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/8602584106202383249'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/10/processing.html' title='Processing'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_859PWqpdODY/St9KQerINzI/AAAAAAAAATM/6f1ijjTlhQ0/s72-c/gettingstarted.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-6248654929489085294</id><published>2009-09-11T21:50:00.023+02:00</published><updated>2009-09-14T21:49:35.061+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='drum'/><category scheme='http://www.blogger.com/atom/ns#' term='midi'/><title type='text'>BBox Drum Generator</title><content type='html'>The BBox Drum Generator is an Arduino-based Midi sequencer mounted inside a Banana Box. The BBox contains a few preset drumbeats. These drumbeats form the basis for a drum variation algorithm (explained &lt;a href="http://projectify.blogspot.com/2009/09/drum-variation-algorithm.html"&gt;here&lt;/a&gt;). The amount of introduced variations is controlled by the blue rotary knob.&lt;br /&gt;&lt;br /&gt;I've created four pushbuttons by mounting LEDs on top of PCB mounted mini pushbuttons. This idea is based on this &lt;a href="http://blog.makezine.com/archive/2009/01/diy_led_pushbutton_switches.html"&gt;article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The two top buttons navigate through the functions of the BBox. The two lower buttons change the value of the function. Currently only the BPM and the Drum Preset can be changed.&lt;br /&gt;&lt;br /&gt;The BBox only generates midi messages, the sound is generated by a Roland Juno-D.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Video&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3ZqrHrpIjH0&amp;hl=nl&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/3ZqrHrpIjH0&amp;hl=nl&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Picture&lt;/span&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_859PWqpdODY/SqqxWsx7FjI/AAAAAAAAASU/sbX2eK5OZ2Q/s1600-h/bbox.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_859PWqpdODY/Sq6BsLl0UuI/AAAAAAAAASk/ku7R6hs_OnQ/s1600-h/bbox2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_859PWqpdODY/Sq6BsLl0UuI/AAAAAAAAASk/ku7R6hs_OnQ/s320/bbox2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Guts&lt;/span&gt;&lt;br /&gt;Big mess o' wires &lt;span style="font-weight: bold;"&gt;O_o&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Next time, I'll create a proper Arduino shield.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_859PWqpdODY/SqqxtdFX0eI/AAAAAAAAASc/8IwpH_TTts8/s1600-h/bboxguts.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5380308099306869218" src="http://1.bp.blogspot.com/_859PWqpdODY/SqqxtdFX0eI/AAAAAAAAASc/8IwpH_TTts8/s320/bboxguts.png" style="cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-6248654929489085294?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/6248654929489085294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/09/bbox-drum-generator.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/6248654929489085294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/6248654929489085294'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/09/bbox-drum-generator.html' title='BBox Drum Generator'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_859PWqpdODY/Sq6BsLl0UuI/AAAAAAAAASk/ku7R6hs_OnQ/s72-c/bbox2.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-6227824591575943808</id><published>2009-09-04T23:58:00.000+02:00</published><updated>2009-09-11T21:38:07.896+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='drum'/><category scheme='http://www.blogger.com/atom/ns#' term='algorithm'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Drum Variation Algorithm</title><content type='html'>&lt;span style="font-weight:bold;"&gt;The context&lt;/span&gt;&lt;br /&gt;I've been experimenting a bit with the &lt;a href="http://arduino.cc"&gt;Arduino&lt;/a&gt; as a basic midi sequencer. A drum sequencer is a good place to start. It's easier than an actual melodic music sequencer. You can leave out the length of a note, as a drum is a one-shot sounds device.&lt;br /&gt;&lt;br /&gt;Because allowing &lt;span style="font-style:italic;"&gt;the user&lt;/span&gt; to program drum sequences himself requires an extensive interface, or a piece of software, I thought I would write a drum generator. &lt;br /&gt;&lt;br /&gt;Wouldn't it be cool if you can just push a button and a computer/chip does the whole creative process for you?&lt;br /&gt;&lt;br /&gt;Yes, it would. But it scares me a little bit as well.&lt;br /&gt;&lt;br /&gt;I've started with a mechanism that chopped up existing drum sequences in pieces and reassembles them to generate new drum sequences. This could work for breakbeat style drum patterns, but most of the time it seemed to create a build up of expectations, only to leave the listener behind with an empty feeling.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The drum sequence format&lt;/span&gt;&lt;br /&gt;Because the format in which the drum sequence is saved on the Arduino is essential to the Drum Variation Algorithm, I will explain this first.&lt;br /&gt;&lt;br /&gt;The size of the RAM memory of the Arduino (based on an Atmega168) is small. Really small. Only 1kB. 1024 bytes. 8192 ones and zeros.&lt;br /&gt;&lt;br /&gt;I'll just pause here for a while to let this sink in, I suggest you do the same.&lt;br /&gt;&lt;br /&gt;Alright, if I want to use lots of data structures, I will have to make them small. The best way to make data small, is to assume as much as you can about the data in question and limit the possibilities as much as possible. So I introduced three limitations.&lt;br /&gt;&lt;blockquote&gt;&lt;dl&gt;&lt;br /&gt;&lt;dt&gt;The drum pattern has a maximal resolution of 16th notes&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;For one instrument, the maximal number of notes that can be played in one measure is 16&lt;/dd&gt;&lt;br /&gt;&lt;br /&gt;&lt;dt&gt;There are only four velocity levels&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Midi allows 128 velocity levels, I've made a mapping from 0, 1, 2, 3 to 0, 40, 90, 110 respectively (off, soft, medium, hard)&lt;/dd&gt;&lt;br /&gt;&lt;br /&gt;&lt;dt&gt;A measure consists of a maximum of three instruments&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;A typical measure consists of a hi-hat, a snare and a bassdrum, but which instruments are used is configurable&lt;/dd&gt;&lt;br /&gt;&lt;/dl&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;So if a measure has sixteen notes with four velocity levels, one measure for one instrument can be encoded in 4 bytes.&lt;br /&gt;&lt;br /&gt;This is a typical drum notation which is used a lot online.&lt;br /&gt;I've used large and small X's to indicate the velocity level.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;HH|X-x-X-x-X-x-X-x-|&lt;br /&gt;SD|----X-------X---|&lt;br /&gt;BD|X---------x-----|&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;In the datastructure I've described above, this would look something like this. (A &lt;span style="font-style:italic;"&gt;B&lt;/span&gt; in front of ones and zeros is the binary representation of a number: 11 = B1011 = 0xB)&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;{&lt;br /&gt; { 42, B11001000, B11001000, B11001000, B11001000 },&lt;br /&gt; { 40, 0, B11000000, 0, B11000000 },&lt;br /&gt; { 36, B11000000, 0, B00000100, 0 }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The first number defines the instrument as a midi note number. 42 is a hihat, 40 a snare drum and 36 a bass drum. The total amount of bytes needed to encode a measure of 3 instruments with a maximal resolution of 16th notes requires ... &lt;span style="font-weight:bold;"&gt;15 bytes&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;A clearer representation would be a number in base 4, but afaik this is not possible in C/C++. B11001000 would be 3020, so a hard hit on the first 16th note, nothing on the second, a medium hit on the third and nothing on the fourth.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Drum Variation Algorithm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you've gotten this far, the algorithm itself is actually really simple, I hope it is not too much of a let down. If it is, I will gladly remind you of &lt;a href="http://en.wikipedia.org/wiki/Occam%27s_razor"&gt;Occam's Razor&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Everytime a new measure starts, each byte of the datastructure (except the instrument note numbers) is bitwise XOR'ed with a random byte (a number between 0 and 256). The actual random number being calculated is one between 0 and a variable limit [controlled by a potmeter]. If the number is greater than 255, the original byte is left alone. With this you can control the amount of introduced variations.&lt;br /&gt;&lt;br /&gt;Why bitwise XOR? It seems good at keeping the feel of the original pattern. It introduces new notes, but an XOR is also affected by the original byte. A bitwise OR can only add notes and a bitwise AND can only take them away.&lt;br /&gt;&lt;br /&gt;Here is a video demonstrating the algorithm, the knob controls the amount of introduced variations (it also demonstrates the BBox Drum Generator, a post about this will be here soon).&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3ZqrHrpIjH0&amp;hl=nl&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/3ZqrHrpIjH0&amp;hl=nl&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I love it when simple things give good results :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-6227824591575943808?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/6227824591575943808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/09/drum-variation-algorithm.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/6227824591575943808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/6227824591575943808'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/09/drum-variation-algorithm.html' title='Drum Variation Algorithm'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-3070753480557073567</id><published>2009-09-04T19:46:00.000+02:00</published><updated>2009-09-04T22:24:28.183+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='led'/><title type='text'>Blue LED Mouse</title><content type='html'>I fixed my mouse!&lt;br /&gt;&lt;br /&gt;"Wait, what? And you are writing a post about that?"&lt;br /&gt;&lt;br /&gt;Ok ok, not very spectacular. I agree. But I replaced the broken red LED with a blue one!&lt;br /&gt;Still not excited? Ok, you may leave.&lt;br /&gt;&lt;br /&gt;For the rest of you, here is a picture.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_859PWqpdODY/SqFUKbeNWOI/AAAAAAAAASM/TZ9HXvnQ4Bs/s1600-h/blueled.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 212px;" src="http://2.bp.blogspot.com/_859PWqpdODY/SqFUKbeNWOI/AAAAAAAAASM/TZ9HXvnQ4Bs/s320/blueled.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5377671968206969058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For those that are interested: the scroll wheel works with an infrared emitter and receiver. The infrared light is blocked and unblocked for every scroll "click". I did not know this, so I thought I'd share it with you. To be honest, I never really gave it any thought..&lt;br /&gt;&lt;br /&gt;For people that like salvaging parts, here is a list of parts you can probably salvage from a &lt;span style="font-style:italic;"&gt;broken&lt;/span&gt; optical mouse:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Several pushbuttons&lt;/li&gt;&lt;br /&gt;&lt;li&gt;A tiny camera with crappy resolution&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Infrared receiver and emitter&lt;/li&gt;&lt;br /&gt;&lt;li&gt;An LED.. :)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;USB cable [with one half missing]&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Some chips, but I'm not sure if they will be helpful, or if you will be able to find datasheets&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Mind you, it's a broken mouse. So some parts may not work :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-3070753480557073567?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/3070753480557073567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/09/blue-led-mouse.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/3070753480557073567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/3070753480557073567'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/09/blue-led-mouse.html' title='Blue LED Mouse'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_859PWqpdODY/SqFUKbeNWOI/AAAAAAAAASM/TZ9HXvnQ4Bs/s72-c/blueled.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-6736143256664929633</id><published>2009-08-19T09:15:00.000+02:00</published><updated>2009-09-02T09:24:21.106+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='drum'/><title type='text'>Arduino Midi Sequencer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_859PWqpdODY/SounxysTQsI/AAAAAAAAARs/nA6_HxqeYos/s1600-h/sbpsequencer.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 261px;" src="http://4.bp.blogspot.com/_859PWqpdODY/SounxysTQsI/AAAAAAAAARs/nA6_HxqeYos/s320/sbpsequencer.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5371571454432461506" /&gt;&lt;/a&gt;&lt;br /&gt;I've fiddled with midi and an Arduino before, but now I have integrated an LCD as well. Which makes the whole thing almost usable !&lt;br /&gt;&lt;br /&gt;The Arduino makes everything really easy; it has tutorials about communicating with the LCD, there are forumposts where people explain how they hooked it up to midi. It really is just a matter of putting all the elements together.&lt;br /&gt;&lt;br /&gt;Currently, the "Arduino Midi Sequencer" only plays a simple drumbeat (with adjustable BPM). I hope to make it a programmable sequencer by adding some buttons and interfacing with some permanent storage. If that doesn't work out, I'll just make it a pre-programmed drum sequencer, which can lay down the groove while I practice guitar and/or bass :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-6736143256664929633?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/6736143256664929633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/08/arduino-midi-sequencer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/6736143256664929633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/6736143256664929633'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/08/arduino-midi-sequencer.html' title='Arduino Midi Sequencer'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_859PWqpdODY/SounxysTQsI/AAAAAAAAARs/nA6_HxqeYos/s72-c/sbpsequencer.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-811210330220131044</id><published>2009-07-24T20:19:00.001+02:00</published><updated>2009-07-24T20:26:16.349+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drum'/><category scheme='http://www.blogger.com/atom/ns#' term='robot'/><title type='text'>Little Drummer Robot</title><content type='html'>Someone made a robot that searches for a "beatable object". When the robot finds this object, it lays down a funky groove ... and I think it's brilliant.&lt;br /&gt;&lt;br /&gt;&lt;object type="application/x-shockwave-flash" data="http://technology.todaysbigthing.com/betamax/betamax.swf?item_id=1911&amp;fullscreen=1" width="300" height="250"&gt;       &lt;param name="allowScriptAccess" value="sameDomain" /&gt;       &lt;param name="allowfullscreen" value="true" /&gt;       &lt;param name="movie" quality="best" value="http://technology.todaysbigthing.com/betamax/betamax.swf?item_id=1911&amp;fullscreen=1" /&gt;      &lt;/object&gt;&lt;div style='padding:5px 0; text-align:center; width:480px;'&gt;See more &lt;a href='http://www.todaysbigthing.com/'&gt;funny videos&lt;/a&gt; and &lt;a href='http://technology.todaysbigthing.com/'&gt;Technology Videos&lt;/a&gt; at &lt;a href='http://www.todaysbigthing.com/'&gt;Today's Big Thing&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-811210330220131044?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/811210330220131044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/07/little-drummer-robot.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/811210330220131044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/811210330220131044'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/07/little-drummer-robot.html' title='Little Drummer Robot'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-1168481159092920674</id><published>2009-07-13T23:02:00.000+02:00</published><updated>2009-07-13T23:12:23.399+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Qt - Arduino Serial Communication</title><content type='html'>If you want to make a Qt application capable of serial communication with an Arduino, then these are some great resources to do so:&lt;br /&gt;* &lt;a href="http://qextserialport.sourceforge.net/"&gt;QextSerialPort&lt;/a&gt; : cross-platform serial port library&lt;br /&gt;* &lt;a href="http://arduino.cc/en/Reference/Serial"&gt;Arduino Serial reference&lt;/a&gt; : awesome Arduino documentation&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Notes:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I had some trouble getting the QextSerialPort library to work with VS 2008, so I will just go over all steps I needed to take.&lt;br /&gt;* Run this command in the QextSerialPort directory: &lt;span style="font-style:italic;"&gt;qmake -tp vc&lt;/span&gt; : this will make a .vcproj file from the .pro file&lt;br /&gt;* Open the .vcproj file with VS 2008&lt;br /&gt;* Change the configuration type from dynamic library to static library [as the original setting did not produce a .lib file]&lt;br /&gt;&lt;br /&gt;.. and you are ready to go.&lt;br /&gt;&lt;br /&gt;JR&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-1168481159092920674?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/1168481159092920674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/07/qt-arduino-serial-communication.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/1168481159092920674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/1168481159092920674'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/07/qt-arduino-serial-communication.html' title='Qt - Arduino Serial Communication'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-4318812755027719968</id><published>2009-07-04T10:00:00.000+02:00</published><updated>2009-09-05T15:08:52.193+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual studio'/><category scheme='http://www.blogger.com/atom/ns#' term='ogre'/><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Qt - Ogre - VS2008 Express</title><content type='html'>This post describes the steps necessary for getting Qt, Ogre and Visual Studio 2008 Express to work, as well as the code for a very basic OgreWidget.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Compile Qt with VS 2008 Express&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download and install &lt;a href="http://www.microsoft.com/express/product/"&gt;Visual Studio Visual C++ 2008 Express Edition&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Download the source code of the &lt;a href="http://www.qtsoftware.com/downloads/windows-cpp"&gt;Qt libraries&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Extract the zip to a path without spaces: e.g. C:\Qt&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Open the Visual Studio prompt: programs-&gt;visual studio 2008-&gt; vs 2008 tools-&gt; vs 2008 command prompt&lt;/li&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Go to the Qt dir&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Type: configure&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Type: nmake [this may take several hours]&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Setup path and VS 2008 directories&lt;/li&gt;&lt;br /&gt;  &lt;ul&gt;&lt;br /&gt;     &lt;li&gt;Add an environment variable: QTDIR=C:\Qt&lt;/li&gt;&lt;br /&gt;     &lt;li&gt;Add to the path: %QTDIR%\bin&lt;/li&gt;&lt;br /&gt;     &lt;li&gt;Check if the previous is done right by opening a command prompt and typing: qmake [if this shows the help of this command, it is ok]&lt;/li&gt;&lt;br /&gt;     &lt;li&gt;Add $(QTDIR)\include to the VS 2008 VC++ include directories&lt;/li&gt;&lt;br /&gt;     &lt;li&gt;Add $(QTDIR)\lib to the VS 2008 VC++ library directories&lt;/li&gt;&lt;br /&gt;  &lt;/ul&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Set up Ogre&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Download and install &lt;a href="http://www.ogre3d.org/download/sdk"&gt;Ogre SDK for Visual C++ 2008&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add OGRE_HOME to the environment variables: e.g. OGRE_HOME=C:\OgreSDK&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;A Qt/Ogre project in VS 2008 Express&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You will need a few .pro files setting up your Qt/Ogre project.&lt;br /&gt;It can all be placed into one file, but it might be convenient to split it into several files for easier reuse.&lt;br /&gt;&lt;br /&gt;Settings.pro : Change your ogre home directory&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;win32 {&lt;br /&gt;    # You may need to change this include directory&lt;br /&gt;    OGREHOME = C:\OgreSDK&lt;br /&gt;    Release:LIBS += -L$$OGREHOME\bin\release&lt;br /&gt;    Debug:LIBS += -L$$OGREHOME\bin\debug&lt;br /&gt;    LIBS += -L$$OGREHOME\lib&lt;br /&gt;    INCLUDEPATH += $$OGREHOME\include&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;For each project a separate project file.&lt;br /&gt;MyProject.pro : the sources and headers need to be edited, obviously&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;exists(../settings.pro):include(../settings.pro)&lt;br /&gt;else:message("I can't find settings file")&lt;br /&gt;&lt;br /&gt;CONFIG(debug, debug|release) {&lt;br /&gt;  LIBS *= -lOgreMain_d&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;CONFIG(release, debug|release) {&lt;br /&gt;  LIBS *= -lOgreMain&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;TEMPLATE += app&lt;br /&gt;CONFIG += qt warn_on&lt;br /&gt;SOURCES += Main.cpp OgreWidget.cpp&lt;br /&gt;HEADERS += Main.h MainUI.h OgreWidget.h&lt;br /&gt;TARGET = Main&lt;br /&gt;&lt;br /&gt;win32:debug:CONFIG += console&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This is a basic config to configure a Qt/Ogre application.&lt;br /&gt;This project file assumes the Settings.pro file is one directory up.&lt;br /&gt;&lt;br /&gt;Read more about Qmake project files: &lt;a href="http://doc.trolltech.com/4.5/qmake-project-files.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now we set up the actual Visual Studio project:&lt;br /&gt;File-&gt;New Project-&gt;Visual C++ -&gt;General-&gt;Makefile Project&lt;br /&gt;Go to the project properties (for All Configurations):&lt;br /&gt;Configuration Properties -&gt; NMake -&gt; General&lt;br /&gt;&lt;table&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Build Command Line:&lt;/td&gt;&lt;td&gt;&lt;span style="font-style:italic;"&gt;qmake &amp;&amp; nmake $(ConfigurationName)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Rebuild Command Line:&lt;/td&gt;&lt;td&gt;&lt;span style="font-style:italic;"&gt;qmake &amp;&amp; nmake $(ConfigurationName)-clean &amp;&amp; nmake $(ConfigurationName)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Clean Command Line:&lt;/td&gt;&lt;td&gt;&lt;span style="font-style:italic;"&gt;nmake $(ConfigurationName)-clean&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Output:&lt;/td&gt;&lt;td&gt;$(ConfigurationName)/Main.exe&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;This will tell your Visual Studio to use qmake, which will convert the .pro files to a makefile for nmake, and to compile this file with nmake.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Qt/Ogre IntelliSense setup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Go to the project properties (for All Configurations):&lt;br /&gt;Configuration Properties -&gt; NMake -&gt; IntelliSense&lt;br /&gt;&lt;table&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Common Language Runtime Support&lt;/td&gt;&lt;td&gt;Common Language Runtime Support (/clr)&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Include search path&lt;/td&gt;&lt;td&gt;"$(QTDIR)\include";"$(OGRE_HOME)\include"&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;An OgreWidget implementation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've tried to create a very basic OgreWidget which subclasses a QWidget. Most of the code was taken from a couple of the sources below, taking only the parts which are strictly necessary and leaving out all redundant code. The widget only renders the Ogre scene, it does not handle any user input.&lt;br /&gt;&lt;a href="http://www.misk.be/blog/qtogre/OgreWidget.h"&gt;OgreWidget.h&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.misk.be/blog/qtogre/OgreWidget.cpp"&gt;OgreWidget.cpp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is a code snippet on how to use this OgreWidget:&lt;br /&gt;In a QMainWindow:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;m_pWidget = new QtOgre::OgreWidget(this);&lt;br /&gt;//Add the widget to the QMainWindow&lt;br /&gt;setCentralWidget(m_pWidget);&lt;br /&gt;//uncomment code below for fullscreen&lt;br /&gt;//Hide all the GUI stuff you do not want to see fullscreen&lt;br /&gt;/*menuBar()-&gt;hide();&lt;br /&gt;statusBar()-&gt;hide();&lt;br /&gt;showFullScreen();*/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Easy, isn't it?&lt;br /&gt;&lt;br /&gt;Now you set up the Ogre scene:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  //Create the scene manager&lt;br /&gt;  mSceneManager = Ogre::Root::getSingleton().createSceneManager(Ogre::ST_GENERIC, "GenericSceneManager");&lt;br /&gt;  //Create the camera&lt;br /&gt;  mCamera = mSceneManager-&gt;createCamera("Cam");&lt;br /&gt;  //Add a viewport to the render window from the OgreWidget&lt;br /&gt;  m_pWidget-&gt;renderWindow()-&gt;addViewport(mCamera);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Of course your Ogre code will become much more ellaborate, but this is the minimum you need to render an Ogre scene inside a Qt Window.&lt;br /&gt;&lt;br /&gt;I hope this is useful to someone :)&lt;br /&gt;&lt;br /&gt;JR&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Sources&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://netindonesia.net/blogs/risman/archive/2009/04/02/qt-4-5-with-visual-studio-2008-vc-express.aspx"&gt;Qt and VS 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pc-maniac.com/?p=59"&gt;Qt and VS 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://kjell.hedstrom.googlepages.com/qt4_visual_studio_express_2005"&gt;Qt and VS 3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://crashcoder.blogspot.com/2008/11/qt-and-ogre.html"&gt;Qt and Ogre 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ogre3d.org/forums/viewtopic.php?f=11&amp;t=45709&amp;start=75"&gt;Qt and Ogre 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://lakin.weckers.net/code/ogre3d/"&gt;Qt and Ogre 3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms173379.aspx"&gt;IntelliSense&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-4318812755027719968?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/4318812755027719968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/06/qt-ogre-vs2008-express.html#comment-form' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/4318812755027719968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/4318812755027719968'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/06/qt-ogre-vs2008-express.html' title='Qt - Ogre - VS2008 Express'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-3652109606676293980</id><published>2009-07-02T17:40:00.000+02:00</published><updated>2009-07-03T14:07:39.317+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='plexiglass'/><category scheme='http://www.blogger.com/atom/ns#' term='led'/><category scheme='http://www.blogger.com/atom/ns#' term='diy'/><category scheme='http://www.blogger.com/atom/ns#' term='skybluepink'/><title type='text'>Plexiglass Skybluepink Frame</title><content type='html'>I made this as another gift to a friend of mine, namely the drummer in my band (Skybluepink). It is a frame with the name of the band and two blinking leds behind it. It has an on/off switch and it runs on a 9V battery. Yes, it's not very high tech.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Score and Snap-method&lt;/span&gt;&lt;br /&gt;One of the difficult parts in creating this, was transforming a broken piece of plexiglass I found somewhere, into the shapes I needed for this object. As it turns out, using an ironsaw is a very bad idea. The best results I got, was by scoring it with a cutterknife a couple of times and then snapping it along the groove made by the knife, hoping that it did not snap in the wrong places :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Spray-painting&lt;/span&gt;&lt;br /&gt;The other difficult part was the painting of the plexiglass. My buddy JD created a drawing which I cut out from a transparency sheet. I placed this shape over the plexiglass and then I spray-painted it. The problem was that a bit of the paint went under the cut-out shape, causing a lot of work the manually remove the excess paint. The best way to prevent this, is to make sure that the shape will not bend and is completely taped to the surface you are spray-painting.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The video&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/WzYslX1t-fo&amp;hl=nl&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/WzYslX1t-fo&amp;hl=nl&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Some pictures&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_859PWqpdODY/SkzcyeYoOfI/AAAAAAAAARM/zSCFxc6RnGM/s1600-h/sbp-frame3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 134px;" src="http://4.bp.blogspot.com/_859PWqpdODY/SkzcyeYoOfI/AAAAAAAAARM/zSCFxc6RnGM/s320/sbp-frame3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353896816744610290" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_859PWqpdODY/SkzdApOrzBI/AAAAAAAAARU/EdzfyCdUTR8/s1600-h/sbp-frame4.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 152px;" src="http://4.bp.blogspot.com/_859PWqpdODY/SkzdApOrzBI/AAAAAAAAARU/EdzfyCdUTR8/s320/sbp-frame4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353897060173859858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_859PWqpdODY/SkzdH5965WI/AAAAAAAAARc/Yaimf2JNCe4/s1600-h/sbp-frame7.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_859PWqpdODY/SkzdH5965WI/AAAAAAAAARc/Yaimf2JNCe4/s320/sbp-frame7.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353897184926033250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_859PWqpdODY/SkzdOYnXmDI/AAAAAAAAARk/5itOCiYpw44/s1600-h/sbp-frame-finished-front.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 141px;" src="http://3.bp.blogspot.com/_859PWqpdODY/SkzdOYnXmDI/AAAAAAAAARk/5itOCiYpw44/s320/sbp-frame-finished-front.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353897296232159282" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-3652109606676293980?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/3652109606676293980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/07/plexiglass-skybluepink-frame.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/3652109606676293980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/3652109606676293980'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/07/plexiglass-skybluepink-frame.html' title='Plexiglass Skybluepink Frame'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_859PWqpdODY/SkzcyeYoOfI/AAAAAAAAARM/zSCFxc6RnGM/s72-c/sbp-frame3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-7189983977651717003</id><published>2009-02-14T10:37:00.000+01:00</published><updated>2009-02-14T16:49:10.216+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='led'/><title type='text'>Arduino !</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_859PWqpdODY/SZaRc5CygJI/AAAAAAAAAOY/_e9lDGbX5rU/s1600-h/arduino316.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px;" src="http://2.bp.blogspot.com/_859PWqpdODY/SZaRc5CygJI/AAAAAAAAAOY/_e9lDGbX5rU/s320/arduino316.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5302585536810221714" /&gt;&lt;/a&gt;&lt;br /&gt;Yesterday my &lt;a href="http://www.arduino.cc/"&gt;Arduino &lt;/a&gt;microcontroller arrived by mail!&lt;br /&gt;&lt;br /&gt;I used the class notes from this &lt;a href="http://todbot.com/blog/spookyarduino/"&gt;blog&lt;/a&gt; to get started. And 2 to 3 hours later, I made the video below. The arduino controls 7 blue LEDs [and yes, those are just straws on top of the LEDs] and animates them in many different ways. A potentiometer controls the speed of the animations. The Arduino makes everything really easy, it comes with software in which you can program the controller with a C-like language.&lt;br /&gt;&lt;br /&gt;It has 8kB of Flash program memory, 1kB of RAM and a clockspeed of 12MHz. It has 13 digital in/out pins and 5 analog in pins. Analog output can be done with PWM [pulse-width modulation].&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jOq2I7VVUho&amp;hl=nl&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/jOq2I7VVUho&amp;hl=nl&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Below is a picture of the setup. The digital pins and ground of the Arduino are connected to the LEDs, the analog-in pin, the 5V and the ground to the potentiometer.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_859PWqpdODY/SZbH_dVMqHI/AAAAAAAAAOg/UiHkdDTXqcM/s1600-h/led+blinker.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_859PWqpdODY/SZbH_dVMqHI/AAAAAAAAAOg/UiHkdDTXqcM/s320/led+blinker.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5302645504294561906" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-7189983977651717003?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/7189983977651717003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/02/arduino.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/7189983977651717003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/7189983977651717003'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/02/arduino.html' title='Arduino !'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_859PWqpdODY/SZaRc5CygJI/AAAAAAAAAOY/_e9lDGbX5rU/s72-c/arduino316.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-9015737132579560687</id><published>2009-02-14T08:43:00.000+01:00</published><updated>2009-02-14T10:50:59.308+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='guitar'/><category scheme='http://www.blogger.com/atom/ns#' term='effect'/><title type='text'>Schuif Fuzz</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_859PWqpdODY/SZZ4v_LqllI/AAAAAAAAAOQ/i1Sr8futT34/s1600-h/schuifeffect.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_859PWqpdODY/SZZ4v_LqllI/AAAAAAAAAOQ/i1Sr8futT34/s320/schuifeffect.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5302558377084884562" /&gt;&lt;/a&gt;&lt;br /&gt;I made this effect for a friend of mine. We call him &lt;span style="font-style:italic;"&gt;Schuif&lt;/span&gt;. Hence the name of the effect.&lt;br /&gt;&lt;br /&gt;It is basicly a Fuzz Face. A good explanation of the technology of the Fuzz Face, can be found &lt;a href="http://www.geofex.com/Article_Folders/fuzzface/fftech.htm"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I've added two LED's to this effect. They are used to indicate four modes of operation.&lt;br /&gt;&lt;li&gt; 00: The effect is off&lt;br /&gt;&lt;li&gt; 11: The effect is on, like a normal Fuzz Face&lt;br /&gt;&lt;li&gt; 10: The effect is on, and an additional low-pass filter is added to the effect.&lt;br /&gt;&lt;li&gt; 01: The effect is on, and an extra [germanium] diode from the signal ouput to the ground is added to the effect. It generates a very asymmetric signal, sounds horrible if you try to play a chord through it. I like it :)&lt;br /&gt;&lt;br /&gt;The LED's are manipulated by the two switches on the side.&lt;br /&gt;&lt;br /&gt;[Yes, I took the Bass Fuzz apart to create this effect]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-9015737132579560687?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/9015737132579560687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/02/schuif-fuzz.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/9015737132579560687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/9015737132579560687'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/02/schuif-fuzz.html' title='Schuif Fuzz'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_859PWqpdODY/SZZ4v_LqllI/AAAAAAAAAOQ/i1Sr8futT34/s72-c/schuifeffect.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-1079171190524734572</id><published>2009-02-14T07:49:00.000+01:00</published><updated>2009-07-02T22:54:16.460+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><category scheme='http://www.blogger.com/atom/ns#' term='bass'/><category scheme='http://www.blogger.com/atom/ns#' term='effect'/><title type='text'>Bass Fuzz</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_859PWqpdODY/SZZyU5hcpiI/AAAAAAAAAOA/IIN6w_ZXm1k/s1600-h/bazz2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 160px;" src="http://4.bp.blogspot.com/_859PWqpdODY/SZZyU5hcpiI/AAAAAAAAAOA/IIN6w_ZXm1k/s320/bazz2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5302551314639398434" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;Bass Fuzz&lt;/span&gt;, it's the first guitar effect I've ever made.&lt;br /&gt;I started with this one because it's just so simple! [And because I play the bass, obviously]&lt;br /&gt;&lt;br /&gt;I based my work on &lt;a href="http://www.home-wrecker.com/bazz.html"&gt;this site&lt;/a&gt;.&lt;br /&gt;I also added the &lt;span style="font-style:italic;"&gt;Dirt&lt;/span&gt;-pot after the transistor.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;What it looks like.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Yes.. err.. well, remember it was the first one I made :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_859PWqpdODY/SZZxygQgEAI/AAAAAAAAANw/i3qv--L5-Ow/s1600-h/Bassfuzz1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 191px; height: 320px;" src="http://3.bp.blogspot.com/_859PWqpdODY/SZZxygQgEAI/AAAAAAAAANw/i3qv--L5-Ow/s320/Bassfuzz1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5302550723741880322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;What it looks like on the inside.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Yup.. it's ugly.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_859PWqpdODY/SZZy8dCGyJI/AAAAAAAAAOI/kWOGrc7ffvk/s1600-h/Bassfuzz2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://4.bp.blogspot.com/_859PWqpdODY/SZZy8dCGyJI/AAAAAAAAAOI/kWOGrc7ffvk/s320/Bassfuzz2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5302551994186516626" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-1079171190524734572?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/1079171190524734572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/02/bass-fuzz.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/1079171190524734572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/1079171190524734572'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/02/bass-fuzz.html' title='Bass Fuzz'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_859PWqpdODY/SZZyU5hcpiI/AAAAAAAAAOA/IIN6w_ZXm1k/s72-c/bazz2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-6315310882863827673</id><published>2009-02-14T07:08:00.000+01:00</published><updated>2009-02-14T10:49:05.764+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>Projectify</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Projectify? Is that even a word? &lt;/span&gt;&lt;br /&gt;No, it is not.&lt;br /&gt;I will use it as &lt;span style="font-style:italic;"&gt;The act of turning some kind of desire into a project.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Why do you need to do that, then?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Mainly, to learn new things. Also, to fill in some other kind of need.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Can't you just do that without projects?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well yes.. and no.&lt;br /&gt;A project is defined as follows: &lt;span style="font-style:italic;"&gt;A planned endeavor, usually with a specific goal and accomplished in several steps or stages.&lt;/span&gt;&lt;br /&gt;When you have a goal, it is much easier to keep on doing it. The learning or the need itself as a goal usually just doesn't work that well.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ok, so what kind of projects are we talking about?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Everything, anything. But most will be related to music, electronics and programming.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-6315310882863827673?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/6315310882863827673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/02/projectify.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/6315310882863827673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/6315310882863827673'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/02/projectify.html' title='Projectify'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2422890833530279474.post-8966953081539747061</id><published>2009-02-02T16:50:00.000+01:00</published><updated>2009-02-14T10:49:18.820+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>First !</title><content type='html'>A new blog, to log my hunger for little projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2422890833530279474-8966953081539747061?l=projectify.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://projectify.blogspot.com/feeds/8966953081539747061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://projectify.blogspot.com/2009/02/first.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/8966953081539747061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2422890833530279474/posts/default/8966953081539747061'/><link rel='alternate' type='text/html' href='http://projectify.blogspot.com/2009/02/first.html' title='First !'/><author><name>JR</name><uri>http://www.blogger.com/profile/04417666831725948086</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
