tag:blogger.com,1999:blog-32421300617894166442024-02-07T03:54:33.841-08:00Sal's Hacker SpaceAnonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-3242130061789416644.post-45990013845695483512013-04-20T17:56:00.004-07:002013-04-20T18:28:04.686-07:00Game Dev Story: Work on Side Walk EmpireI recently attended the +Udacity HTML5 Game Development study group hosted by <a class="g-profile" href="http://plus.google.com/105062545746290691206" target="_blank">+Colt McAnlis</a> , <a class="g-profile" href="http://plus.google.com/105495497383489174073" target="_blank">+Sean Bennett</a> and <a class="g-profile" href="http://plus.google.com/112811650518962267774" target="_blank">+Peter Lubbers</a> in San Francisco.<br />
<div>
<br />
<div>
It was an awesome experience as there was a lot to learn not only about HTML5 but also about game development in general. Colts rants were very very instructional.</div>
<div>
<br /></div>
</div>
<div>
I met <a class="g-profile" href="http://plus.google.com/105213365880385397126" target="_blank">+Derek Duarte</a> there and two of us immediately hit off. We started building a game for the HTML5 competition, but unfortunately due to work and personal reasons were unable to finish in time for the contest.</div>
<div>
<br /></div>
<div>
But all was not lost. We have decided to continue on with the game and eventually launch it on the web and Android.</div>
<div>
<br /></div>
<div>
The game is a coffee shop management game where you try to manage your inventory based on customer preferences. The goal is to make the most amount of money you can and build a coffee empire all over the city. (incidentally most of the dev work for this game happened in a coffee shop... how... quaint)</div>
<div>
<br /></div>
<div>
It is based on the popular Side Walk Empire comic strip made by <a class="g-profile" href="http://plus.google.com/114443785545575863017" target="_blank">+Eddie Ahn</a>. You can follow his work here: http://www.ehacomics.com/</div>
<div>
<br /></div>
<div>
Here is a brief video of what the prototype currently looks like:</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="480" src="http://www.youtube.com/embed/NXYpyU2XU7k?rel=0" width="640"></iframe>
</div>
I am running this on the desktop with the help of the wonderful Libgdx by <a class="g-profile" href="http://plus.google.com/102416766951447222370" target="_blank">+Mario Zechner</a> and his team of snazzy code monkeys.<br />
<br />
A lot of work still needs to be done on this some of which is:<br />
<br />
<br />
<ul>
<li>New Levels / Shops</li>
<li>Improved Animation</li>
<li>Optimization </li>
<li>....</li>
</ul>
...and the list goes on.</div>
<div>
<br /></div>
<div>
Dev work on this will continue and we will hope to see a finished product by the end of the year.</div>
<div>
<br /></div>
<div>
Props to Udacity and Libgdx that made this possible.<br />
<br />
<br />
<b>Note: </b>I am aware of the resolution issues of the video on this page. They will be fixed as soon as possible.<b> </b></div>
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com1tag:blogger.com,1999:blog-3242130061789416644.post-48805971629114502462013-04-14T11:08:00.001-07:002013-04-14T11:08:10.729-07:00Coming Up! Bluetoothy GoodnessSo i just got these and have been playing around with them..<div>
<br /></div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSD90ORil7IAjjDyzMJ_PBxdNvkwKpSFqkX-n8Ri6tgQtG9bLOJvs60YEHDlmHMgQuVYr04XAnBvLWmg6g3Bee8o6wOaYBLTp8zvvi_PWGGLqbT6vcfjXOFBDO8vkOaitcYYifSw1MBkKw/s1600/bluetooth.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSD90ORil7IAjjDyzMJ_PBxdNvkwKpSFqkX-n8Ri6tgQtG9bLOJvs60YEHDlmHMgQuVYr04XAnBvLWmg6g3Bee8o6wOaYBLTp8zvvi_PWGGLqbT6vcfjXOFBDO8vkOaitcYYifSw1MBkKw/s640/bluetooth.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Bluetooth Module, Arduino Pro Mini, and Servos</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
The bluetooth module i got off ebay for $8 and the Arduino pro mini is easy to find. The servos in the picture are from hobbyking.</div>
<div>
<br /></div>
<div>
Ill have a tutorial up on how to control two Arduino pins through bluetooth. </div>
<div>
<br /></div>
<div>
The possibilities for this are endless as far as home automation goes. What the upcoming tutorial will provide is a means to use your android phone to connect to the bluetooth module and control any of the arduino pins independently. You can control servos for robots, RGB leds etc.</div>
<div>
<br /></div>
<div>
The tutorial will cover the following:</div>
<div>
<br /></div>
<div>
1) Making an Android Application to send data over Bluetooth </div>
<div>
2) Sending data over bluetooth and through serial to communicate with the Arduino</div>
<div>
3) Parsing that data so that the Arduino can figure out which pin to control and control its PWM out according to the data being sent (we will have vertical sliders that will change the duty cycle of the PWM signals depending on where the slider is)</div>
<div>
<br /></div>
<div>
We wont be using any of the current bluetooth to android applications out in the market, although we could and you should definitely check them out.</div>
<div>
<br /></div>
<div>
The idea behind this would be to give readers who have not explored android yet to see how easy it is to get started making your own applications.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Expect it to be up within a week :)</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com0tag:blogger.com,1999:blog-3242130061789416644.post-64126350366413564942013-04-06T09:56:00.001-07:002013-04-06T17:24:02.070-07:00Google+ News-Feed LCD Display<span style="font-family: Georgia, Times New Roman, serif;">If you search online for LCD RSS feed readers, youll notice that most of them target twitter. Wheres the love for Google+? Right here.</span><br />
<div>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif;">I wanted to make a display, which i could put on my desk, that would stream Google+ feeds. That way i could resist the urge to log onto Google+. </span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif;">You will require the following for this project:</span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif;">1) 1x Arduino Uno</span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif;">2) 1x LCD Display. Anything compatible with <span style="line-height: 20.909090042114258px;">the Hitachi </span><span class="wikiword" style="line-height: 20.909090042114258px;">HD44780</span><span style="line-height: 20.909090042114258px;"> driver will work. </span></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.909090042114258px;">3) Some jumper wire. </span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.909090042114258px;">4) Basic knowledge of python and HTML</span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;">5) Google Plus Developer K</span><span style="line-height: 20.90625px;">ey. </span></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;"><br /></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">To find out how to get your developer key go here: https://developers.google.com/+/api/oauth#apikey</span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.909090042114258px;"><br /></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">NOTE: Depending on whether you have a perf-board or a bare Arduino shield such as the maker shield, you might or might not need a soldering iron and some hookup wire. </span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.909090042114258px;"><br /></span></div>
<div>
<h3>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.909090042114258px;"><b>How it all works:</b></span></h3>
</div>
<div>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">We will be using Python and the Google Plus API to pull activities that people that we want to stalk....er follow post. The Python script will store all activites onto a file and then read it line by line and send it in chunks to the Arduino through serial communication. The Arduino would then display the information on the LCD screen. </span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;"><br /></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">We could have sent directly without saving it to a file but during debugging i was getting some goofy characters on the console screen if i directly printed data to it. Oddly enough saving the information to a file and then reading from it fixed everything. </span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;"><br /></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">We will send the information in chunks of 64 char because that is the limit of the Arduino's Serial RX Buffer. Sending information in a continuous stream could result in losing data. The Arduino could be saving the information in the buffer to a char array and at the same time the python script could be sending the rest of the data through serial. That would be bad.</span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;"><br /></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">That being said, lets start building.</span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;"><br /></span></div>
<div>
<h3>
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><b>Connecting the LCD Screen to the Arduino</b></span><b style="line-height: 20.90625px;">:</b></span></h3>
<b style="line-height: 20.90625px;"><span style="font-family: Georgia, Times New Roman, serif;"><br /></span></b></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">This process is fairly painless. I followed the following tutorial:</span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">http://arduino.cc/en/Tutorial/LiquidCrystal</span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">I suggest you do the same. Once your setup come back.</span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
</span><br />
<h3>
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><b>Accessing Google+ using Python</b></span></span></h3>
<br />
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;">Pulling information from Google+ is relatively simple. At the time of writing these API calls are read only.</span></span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;">You will need to install the PySerial module to be able to transmit over Serial.</span></span><br />
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">This can be found here: http://pyserial.sourceforge.net/</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;">The httplib2 library to create your http object found here: https://code.google.com/p/httplib2/</span></span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;">The Google+ API python starter found here: https://code.google.com/p/google-api-python-client/</span></span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;">Here is the code:</span></span><br />
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;"><br /></span></div>
<script src="https://gist.github.com/Gr3ymatter/5323329.js"></script>
<br />
<div>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">The code is pretty self explanatory. Ive tried to comment it as best as i can. </span><br />
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">Heres a brief summary of whats happening:</span><br />
<span style="font-family: Georgia, Times New Roman, serif;">An http object is created to pull information of interest from Google+. Make sure you use your developer API key. A dictionary holds information of the pages to be displayed on the LCD screen. You can enter your own pages here. A random number is generated to pick a random index in the dictionary and pull that index's contents and display name and save them to a file. The strip function strips all HTML elements from the content.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">Once information has been stored to the file, it is opened and is read back line by line (You dont need to close and open it like i did). Every time a line is read it is broken up into chunks of 64 characters. This is because the RX buffer of the Arduino can only hold 64 characters at a time. If data was sent in a continuous stream then the buffer would overflow and some data would be lost.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">If the data is very large it will be transferred a maximum of 6 times. This is because of the small LCD i am using.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">Once a line has been transmitted, the script will wait for the Arduino to request another line by sending the 'n' character.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">Once all information has been read, the file is closed before the script is terminated. This script can be scheduled to run at specific intervals. I have set it up to run every 30mins.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<h3>
<b><span style="font-family: Georgia, Times New Roman, serif;">Reading from Serial with the Arduino</span></b></h3>
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;">Now that we are sending data through the serial port, lets read it with the Arduino.</span></span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;">Here is the code, Ill explain how it works below</span></span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;"><br /></span>
<script src="https://gist.github.com/Gr3ymatter/5323563.js"></script>
</span><br />
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">Upon power up the Arduino displays a welcome message and then waits for data from the serial port. If 10 seconds pass and no data has arrived it sends a request for the next line. Ill explain why it was done this way later on.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;">Once the Arduino receives a ready bit from the python script it gets ready to receive data from the python script. It receives data in chunks of 64 bits and tracks the time from when it first started receiving data. It waits for 10 seconds till all data has arrives and then displays it on the screen. If the data is longer than the screen width then it scrolls it across the screen. </span></span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">Once its done scrolling it requests for the next line from the python file. </span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif; line-height: 20.90625px;">During testing i found that sometimes the python script would keep waiting for the request to transmit the next line. To prevent the script from waiting forever, the arduino sends another request if it has not received anything for more than 10 seconds. </span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;">And thats pretty much it.</span></span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;">Lets see how it works!</span></span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;"><br /></span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Georgia, Times New Roman, serif;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dy0i9e0K7RPXo7l1DSLEdk5b5g0uGGAJEcKafBsyHNfKEbXsMd3P4onkHstwBC8M_1R94ngiYwivUUVMHpFSg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></span></div>
<span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 20.90625px;"><br /></span>
<span style="line-height: 20.90625px;"><br /></span><span style="line-height: 20.90625px;">Hope you guys enjoy!</span></span></div>
Anonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com0tag:blogger.com,1999:blog-3242130061789416644.post-68391462527067188022013-03-30T21:07:00.001-07:002013-03-30T21:07:05.257-07:00Ham Radio<p dir="ltr">My mentor is a big ham radio enthusiast. He has finally convinced me to take the plunge. </p>
<p dir="ltr">So I picked this book up. Its amazing. Literally everything you need to know about RF<br>
</p>
<div class='separator' style='clear: both; text-align: center;'> <a href='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj4nYX-bSdx5TMjQwOrouibOpgvlypnmNcAqt_VETy7YGp9cT7a16kvzLMYtPZq_9mjo8y4XR1oWp4fH_oehaozmd45hbYrrwb5a9FwBqLnKl9ctCXLTvdp7i0OQKD9i3wJDKlnQQ1Um_-/s1600/IMG_20130329_170835.jpg' imageanchor='1' style='margin-left: 1em; margin-right: 1em;'> <img border='0' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj4nYX-bSdx5TMjQwOrouibOpgvlypnmNcAqt_VETy7YGp9cT7a16kvzLMYtPZq_9mjo8y4XR1oWp4fH_oehaozmd45hbYrrwb5a9FwBqLnKl9ctCXLTvdp7i0OQKD9i3wJDKlnQQ1Um_-/s640/IMG_20130329_170835.jpg' /> </a> </div>Anonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com0tag:blogger.com,1999:blog-3242130061789416644.post-44320858859611031622013-03-28T22:19:00.002-07:002013-03-28T22:24:53.913-07:00Game Dev Story: Sal StyleMobile phones have opened a new market for developers. The prospect of making apps/games has never been more exciting. The barrier to making your app or game has become so low that almost anyone can do it.<br />
<div>
<br /></div>
<div>
I cant help but feel excited about it too. I have always wanted to get into game development and i am now finally exploring this amazing field. I dont know if ill ever make something commercially available, but the prospect of writing something on my computer and running it on my Galaxy Nexus is very very, and i mean <i>very </i>appealing.</div>
<div>
<br /></div>
<div>
I have been fiddling around with Libgdx and I am currently learning the framework and the nuances of game development. However these activities occur during my spare time which i do not have a lot of, so im afraid the game development posts will not be as frequent as i want them to be. </div>
<div>
<br /></div>
<div>
But there <i>will </i>be posts. After all, just like everyone else developing, I have a million dollar idea too ;)</div>
<div>
<br /></div>
<div>
No post is complete without a screenshot of what your working on. Here is my first attempt at an educational platformer that i intend on making. It will teach people electronics as they play. </div>
<div>
<br /></div>
<div>
But thats a while away, right now im just fiddling around with putting things on the screen and animating them. Heres an running animation of me running on a couple of red blocks.</div>
<div>
<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf-QO6W8ehXQat7PMDljPv9CX99YEEpktK60kr9fZbAXKg4CYD8OEwrBd-4ynCdT_HlcZ4XBXBD1iWDtxHxW5zRNApDp1P5o_RiuqAnOhdOE9H8aOUx_TFWJw8FiClpxIBrTd1hoyay4Bc/s1600/Screen+Shot+2013-03-28+at+10.17.20+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="442" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf-QO6W8ehXQat7PMDljPv9CX99YEEpktK60kr9fZbAXKg4CYD8OEwrBd-4ynCdT_HlcZ4XBXBD1iWDtxHxW5zRNApDp1P5o_RiuqAnOhdOE9H8aOUx_TFWJw8FiClpxIBrTd1hoyay4Bc/s640/Screen+Shot+2013-03-28+at+10.17.20+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
This took a surprising amount of work. The art is the most painful process, since im no artist. But heck, its fricking fun!</div>
<div>
<br /></div>
<div>
Stay posted for more!</div>
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com0tag:blogger.com,1999:blog-3242130061789416644.post-14739481245827396132013-03-28T21:43:00.000-07:002013-03-29T12:49:03.671-07:00Building a 3A Constant Current Load Box on the Fly!I needed to get one of the boards i made tested by a third party for certification.<br />
<br />
<div>
I was surprised to find out that the company that was supposed verify that the board meet all the necessary standards did not have a constant current load box. Well, having a constant load was one of the criteria.<br />
<br />
Renting one involved long lead times...</div>
<div>
<br /></div>
<div>
So what was the quickest solution? Build one of my own and ship it over! </div>
<div>
<br /></div>
<div>
Here are the features of the load box that im going to share with you.</div>
<div>
<br /></div>
<div>
1) 3A constant current load.</div>
<div>
2) 6.7V UVLO (it will require atleast 6.7V to turn on)</div>
<div>
3) Does not require any battery.</div>
<div>
<br /></div>
<div>
To build this load box you will require the following</div>
<div>
<ul>
<li>1x LT1635 (Micropower Rail-to-Rail Op Amp and Reference)</li>
<li>1x 6.2V Zener</li>
<li>1x 12V Zener</li>
<li>1x 4148 Diode</li>
<li>2x MUR460 Diodes</li>
<li>2x 2n3904 NPN Transistors</li>
<li>2x FQA140N10 MOSFET</li>
<li>1x 0.1uF Ceramic Capacitor</li>
<li>4x 100k 1/4W Resistors</li>
<li>1x 130k 1/4W Resistor</li>
<li>4x 10k 1/4W Resistors</li>
<li>2x 1k 1/4W Resistors</li>
<li>2x 10Ohm 1/4W Resistors</li>
<li>1x 1M 1/4W Resistor</li>
<li>8x 470mOhm 1W Resistors</li>
<li>2x Heatsinks atleast 3.1 C/W</li>
</ul>
<div>
Lets get to it!</div>
<div>
<br /></div>
<div>
I will assume that the reader interested in building a load box is familiar with electronics and can read schematics so i wont spend time on that. Instead ill provide you with the schematic and explain how the circuit works.</div>
<div>
<br /></div>
<div>
Be sure to put it in an enclosure. The heat sinks will get pretty hot, so its important that they get adequate cooling, if they stick out of the box like mine do then be sure to be careful around them. </div>
<div>
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZppCCRikzekwVTGtGAwJ2xufRqOQBbqQEJ3UL5AWbLcIn9IPmrG7CfwhHoR3ltuCKb51i3afrVvZS_BUy33bROHh828qnRfUJL-B3VUiVyOyHnhQrWQ4j8ifsDoHFiYZcwC2Bv6rFVJpD/s1600/3A+Load+Box.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="476" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZppCCRikzekwVTGtGAwJ2xufRqOQBbqQEJ3UL5AWbLcIn9IPmrG7CfwhHoR3ltuCKb51i3afrVvZS_BUy33bROHh828qnRfUJL-B3VUiVyOyHnhQrWQ4j8ifsDoHFiYZcwC2Bv6rFVJpD/s640/3A+Load+Box.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">3A Constant Current Load Box</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
<br /></div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Our operating voltage is 12V. Q3 and Q4 each have half of the total current flowing through them (1.5A). R14 - R17 are chosen such that the opamp biases the FETs to always have 1.5A flowing through each one of them. </div>
<div>
<br /></div>
<div>
To set the current in Q3 for example, we set the voltage at the source of Q3 to be 3V. Hence our sense resistors (R14 - R17) should have a total value of 3/1.5 = 2Ohms. Since 1.5A would be flowing through 2Ohms, the total power dissipation would be around 4.5W. So in order to get around that we pick smaller resistors with higher wattage. Four 470mOhm 1W resistors do the job nicely, they add up to 2V and the power dissipation in each resistor is now reduced to (1.5)^2 * (470mOhm) = 1W.</div>
<div>
<br /></div>
<div>
The same strategy is implemented for Q4. </div>
<div>
<br /></div>
<div>
R8 and R9 provide feedback paths to the inverting terminal of the LT1635. In order for the Opamp to keep the source of these FETs biased to 3V we need to set the non-inverting terminal to 3V as well. This is done by the resistor divider at the output of the reference. If the output of the reference is at 3V, 140k and 10k drop this voltage down to 200mV and feed it to the reference Opamp. This makes the Opamp very happy indeed :)</div>
<div>
<br /></div>
<div>
So we just made a constant current source. However, what we want is a constant current source that needs no external power source except the load and that turns on once the V+ voltage is higher than 6-7V. We achieve this with the help of Q2, and Q1.</div>
<div>
<br /></div>
<div>
Q2 remains on for as long as Q1 stays off. This is due to the pullup resistor R2. This shorts the supply of the Opamp to GND. As a result the Opamp cannot bias the two MOSFETs and they remain off. Once the voltage at VIN rises above the zener clamp voltage of 6.2V + 0.7V(of D3) the clamp turns on and biases Q1.</div>
<div>
<br /></div>
<div>
Q1 turns on and shorts the base of Q2 to GND. As a result Q2 turns off and a resistive divider between R3, R4 and R5 beings the voltage down to a safe value for the LT1635 to operate at. D2 prevents the input to the LT1635 from rising higher than 12V incase a transient event takes VIN to a high voltage.</div>
<div>
<br /></div>
<div>
R10 and R11 isolate the output of the Opamp from the gate capacitances of the FETs. The reason why those were put there were because i was seeing the op amp oscillate, the loop did not like seeing those capacitances :(</div>
<div>
<br /></div>
<div>
Oh and if your wondering what purpose D3, D4 and D5 serve, they are there to prevent the circuit from frying if you accidentally hook up the load box the wrong way. ;)</div>
<div>
<br /></div>
<div>
And there you have it. Your very own load box! </div>
<div>
<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWMhjGLgZHGMDihEFs75XEvqSvCIkVeheeVNhvqAvdcdO4u7RH9M5k0qBMCAWQbLmH33x5TYodrBksa2-wVbtJy0LvahSWWRKfsUjIIjwQhY9PlrhOYksJufiQ13thfIu8ciqUJSvVhJfr/s1600/LoadBox.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWMhjGLgZHGMDihEFs75XEvqSvCIkVeheeVNhvqAvdcdO4u7RH9M5k0qBMCAWQbLmH33x5TYodrBksa2-wVbtJy0LvahSWWRKfsUjIIjwQhY9PlrhOYksJufiQ13thfIu8ciqUJSvVhJfr/s640/LoadBox.jpg" width="640" /></a></div>
<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
I put mine in a plastic case, i think it looks much cooler when you can see the guts of everything. :D</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Lets see it in action...</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dwDeOyxqOZHn0KJCNECI8R8Q4fFLAJdl17Dw1OLseAUHH9-fgEHND3ABf2BZ7wupoyhkkfl12LrwNfG7IpEVg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Notice how the current starts flowing after we cross the 6.7V threshold and ramps up till we reach our set voltage of 12V. Increasing the voltage further no longer makes a difference and the current remains constant.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
You can always make the load variable by adding 10k potentiometer instead of R6. I plan on implementing that which is why i have the holes drilled in the front.</div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span id="goog_1360339953"></span><span id="goog_1360339954"></span><br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com0tag:blogger.com,1999:blog-3242130061789416644.post-11745202623551457732013-03-22T20:16:00.001-07:002013-03-22T20:16:15.214-07:00WallCrawller Update:<br />
I have good news and bad news.<br />
<br />
The good news is that the gears arrived and i managed to free some time to continue with the project.<br />
<br />
Heres the bad news... the shaft that holds the gears has become loose. So the gears slip now. When the robot starts crawling forward on the whiteboard, the force on the magnetic wheels causes the shaft to bend backwards. This pops the gear teeth to pop out and get stuck and stall the motor.<br />
<br />
It seems i will need to order a new Servo...<br />
<br />
=(Anonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com0tag:blogger.com,1999:blog-3242130061789416644.post-72750603092507277152013-03-03T14:19:00.002-08:002013-03-03T14:19:34.790-08:00Wall Crawler Update: Never use superglue near a servo..Im pretty annoyed. On thursday i decided to stay late after work and finish up the wallcrawler.<br />
<br />
Here is a video of it crawling on the whiteboard on my wall. Keep in mind that the "pulsed" movement is intentional. I want to keep it like that in the beginning as i am unsure about the level of control i will have during turning and following black lines.<br />
<br />
Notice how the left wheel is sleeping, this is because the shaft was slipping on the gears i.e the gears were rotating but the shaft was not.<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dxjnhx--dxq_-4K6p7YwPjLC7ESc-X9B6Mh_gbqYUtnzFOC_ePTL3UCbU4BYm9ZNGkgZm6dfTDZodpQ71l1_Q' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
Obviously i needed to fix this. I took out my trusty Krazy Glue and proceeded to glue the shaft more securely to the top gear. There was a piece of solidified glue that was near the end of the tube and it was blocking the way.<br />
<br />
You can imagine what happened next. I squeezed harder and ended up squirting super glue all over the gears. They were totally destroyed.<br />
<br />
I just re-ordered some new gears and once they arrive we will continue on with the prototyping.<br />
<br />
In the mean time ill bounce onto my backup project (more on that later).Anonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com0tag:blogger.com,1999:blog-3242130061789416644.post-48479005937103942812013-02-22T15:06:00.000-08:002013-02-23T00:49:26.851-08:00Wall Crawler: Sensor CalibrationI was initially worried that the IR sensor would not give reliable readings when it moves over a line drawn by an erasable marker.<br />
<br />
This is because the lines of drawn by an erasable marker are not consistent and to top it off i had concerns regarding the difference in infrared light reflected back to the sensor when moving from white to black on a shiny reflective surface such as a whiteboard.<br />
<br />
After some tests today im glad to report that i can still get reliable readings from the sensor when moving from a white glossy surface to a darker glossy surface.<br />
<br />
Here is a video showing the sensor in action. Im using my nephews writing board and i have programmed the Arduino to move the servo's forward only when the sensor is over a black line. When the sensor moves away from the black line, the Arduino will stop the servo's from moving.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dw7lbv_ZZneZ_l9hZIFdlsUvqljwJ0Szp-jhTjlb7a6MPxJ4Nc0_3cz5wcmSRffXvSyq2KlzpNopLd_LXOVIg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
The basic layout at the moment is on a piece of cardboard. Here is how i am laying things out<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB1hqYFVJBv6JJKIuZtw3KxcPg-f9wBaFhhWTaRiJbn0ofM8uIOfs4nMs65G3mFH2rVuWI9tL_-YPcLJO67vnVmHkWWX69aRfSt0D9VXgkoXbjShG0PCS5t8cixBgKW_-QUjD21Oov6diy/s1600/wallcrawler.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB1hqYFVJBv6JJKIuZtw3KxcPg-f9wBaFhhWTaRiJbn0ofM8uIOfs4nMs65G3mFH2rVuWI9tL_-YPcLJO67vnVmHkWWX69aRfSt0D9VXgkoXbjShG0PCS5t8cixBgKW_-QUjD21Oov6diy/s640/wallcrawler.png" width="480" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
The code used for this test is given below:</div>
<script src="http://gist-it.appspot.com/github/Gr3ymatter/Wall-Crawler/raw/master/WallCrawler_SensorTest"></script>Anonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com0tag:blogger.com,1999:blog-3242130061789416644.post-5927783209209549642013-02-11T23:19:00.001-08:002013-02-11T23:19:27.470-08:00Thought Clusters - JSONRecently I've become busy with a lot of work projects. In the course of doing my work, Ive had ideas of different tools i could build to make my life easier (next time i have a similar project). So these tools have taken up a significant amount of my time away from my "blog" projects but hopefully ill be able to share some of the tools here (ill have to find out about that).<br />
<br />
Even though work has kept me busy, there still is something new and technically cool that i learn every week. So why not write about that when im not writing about my projects? Ill call these posts thought clusters, because they are not meant to build upon each other, rather these posts are meant to stand on their own talking about some aspect of technology.<br />
<br />
This post, well talk about JSON.<br />
<br />
<b>What is JSON and why should i care?</b><br />
<br />
JSON stands for Javascript Object Notation. From the name you must have guessed that it is native to Javascript. It's a lightweight and portable format used for data interchanging.<br />
<br />
You can think of it as a format to represent data (objects/arrays etc). JSON is becoming increasingly popular over XML since it requires less markup and its output is more readable for humans and machines as well as not as lengthy.<br />
<br />
Being a hardware guy i probably would never have come across JSON if i wasnt interested in video game programming. Ive recently dived into learning libgdx, which is a videogame development framework (i told you that i wasnt kidding when i said im juggling a lot of things at the same time!)<br />
<br />
I realized that many of the people using libgdx would serialize data in JSON format whenever they would create a save or a player profile etc. Its a preferred method of reading and writing data as its smaller than XML as well as faster and easier to parse. So thats why i care about JSON.<br />
<br />
Please note that while i did mention that JSON is native to JavaScript, it is still language independent. There is a plethora of JSON parsers for many different programming languages.<br />
<br />
<b>Okay but how is it structured?</b><br />
<b><br /></b>
JSON is structured primarily using name value pairs. Let's illustrate this with the help of an example. Lets say we are making a video game and its a video game about ninjas (we all love ninjas). The ninja object has the following fields.<br />
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieBT6tMHr-8ckymiIl4gbZXfWlsAfD-35IEnSDTvhnyUr_CRaksX5IYZgLSwBqIAixYVSUXVQJ9MQd8EKgExDUAdeTedgVqJv9UAGdUwEkBuDfC0ieRWqO8DCTIjMJ3J3GBb3t_YL6rIFp/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> String name = "Ryu";
String giColor = "BLACK";
int sobrietyLevel = 7; // Ever seen drunken fist? our ninja likes his drink.
List<String> weapons = { "shuriken", "sword", "spear" }; </code></pre>
<br />
So in JSON this object would first be surrounded by {} braces. All objects are represented by curly braces.<br />
<br />
The JSON representation would be as follows:<br />
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieBT6tMHr-8ckymiIl4gbZXfWlsAfD-35IEnSDTvhnyUr_CRaksX5IYZgLSwBqIAixYVSUXVQJ9MQd8EKgExDUAdeTedgVqJv9UAGdUwEkBuDfC0ieRWqO8DCTIjMJ3J3GBb3t_YL6rIFp/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> {
"name": "Ryu",
"giColor": "Black",
"sobrietyLevel": 7,
"weapons": [
"shuriken",
"sword",
"spear"
]
}
</code></pre>
<br />
As you can see the whole object is represented by curly braces, the variables are represented as keyvalue pairs. The array is represented with the use of square brackets.<br />
<br />
Keep in mind that im comparing Java notation with Javascript so the conversion is possible with a suitable parser.<br />
<br />
This post is meant to be a brief introduction to JSON. If it piqued your interest and you want to read more, please refer to the following links<br />
<br />
http://www.json.org/<br />
http://code.drewwilson.com/entry/an-introduction-to-jsonAnonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com0tag:blogger.com,1999:blog-3242130061789416644.post-86658047334328812802012-12-31T01:41:00.001-08:002012-12-31T01:41:39.833-08:00Quick update: Servo test for wallcrawler <p dir=ltr>So the servos came in and due to the holidays I could not get much work done but I managed to hook them up with the magnetic wheels and test them out. </p>
<p dir=ltr>I'm using the Arduino servo library so that I can control the servo in both directions. The servos have been modded for continuous rotation. I'll upload the source code later. I am currently travelling and updating this blog post via the blogger app. <br>
I have lost one set of magnetic wheels during my travels but that's okay. I will work on the rest of the wall crawler while i wait for new ones to arrive. <br>
</p>
<div class='separator' style='clear: both; text-align: center;'> <a href='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkpToiLc7fj8BHRHN5PVrjy9DcCXDggxGrxyu2CnhiaY5BC5IryYdVSulemz_LPWY8JaBketEtp1dr4o6ctstGdry5gIJio8KdVEHmqDpt8dW_-TQcNvaKlsoivu_1OTc2CbOUI1G7SB3f/s1600/IMG_20121220_174110.jpg' imageanchor='1' style='margin-left: 1em; margin-right: 1em;'> <img border='0' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkpToiLc7fj8BHRHN5PVrjy9DcCXDggxGrxyu2CnhiaY5BC5IryYdVSulemz_LPWY8JaBketEtp1dr4o6ctstGdry5gIJio8KdVEHmqDpt8dW_-TQcNvaKlsoivu_1OTc2CbOUI1G7SB3f/s640/IMG_20121220_174110.jpg' /> </a> </div><div class='separator' style='clear: both; text-align: center;'> <a href='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIV5e_Wvu8Z_17mMF6ubIfk2UVPDezajkUDpG6ucziQDPyaYPocMNWtHZWy2mmya4tQrTNHI1h_UcVvPkHJs-ac_HfGH7lFeCbnr9XSyVgIwMQS0hXkopVMvKYeMbHsqh7AtYved1MkbIE/s1600/IMG_20121213_184745.jpg' imageanchor='1' style='margin-left: 1em; margin-right: 1em;'> <img border='0' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIV5e_Wvu8Z_17mMF6ubIfk2UVPDezajkUDpG6ucziQDPyaYPocMNWtHZWy2mmya4tQrTNHI1h_UcVvPkHJs-ac_HfGH7lFeCbnr9XSyVgIwMQS0hXkopVMvKYeMbHsqh7AtYved1MkbIE/s640/IMG_20121213_184745.jpg' /> </a> </div>Anonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com0tag:blogger.com,1999:blog-3242130061789416644.post-22479276194768278982012-12-23T18:15:00.000-08:002012-12-23T18:17:10.710-08:00A wall crawling detour...<br />
<br />
So i have been searching for the files and pictures i had about my electronic cricket project but i cant find them. They are in my old laptop which i have to get back from a friend of mine...<br />
<br />
<i>Excuses excuses....</i><br />
<br />
Shut up! Anyway... in the mean time lets talk about the other project that im currently working on.<br />
<br />
Lets talk about line following robots. Traditionally these lil guys are autonomous robots which follow a line laid out in the form of a track.<br />
<br />
<br />
<i>Hence the name "Line Follower" ...Duuhhhhh!</i><br />
<div>
<br /></div>
<br />
Err... right. Most of the line followers I've seen are robots that follow tracks on the ground. Like the one shown in the picture below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.seattlerobotics.org/encoder/200610/article2/ELM%20-%20Desktop%20Line%20Following%20Robot_files/track.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.seattlerobotics.org/encoder/200610/article2/ELM%20-%20Desktop%20Line%20Following%20Robot_files/track.jpg" height="223" width="320" /></a></div>
<br />
<br />
Ive always had an interest in robotics, what if we made a line follower that defied gravity and followed tracks on walls. Make it a wall crawling line follower. Now <i>THAT</i> would be cool.<br />
<br />
Lets take a look at the three basic things every line follower needs...<br />
<br />
1) DC Motors.<br />
2) MicroController.<br />
3) Sensors.<br />
<br />
For our line follower we will use servos. They are easy to operate, heck most of the work is done for you.<br />
<br />
<i>Slacker....</i><br />
<i><br /></i>
Hey, havent you heard the term "Dont re-invent the wheel?"<br />
<br />
<i>Excuses!</i><br />
<i><br /></i>
No. Its just good engineering practice... look it up my alter ego friend.<br />
<br />
<i>Whatever.</i><br />
<i><br /></i>
Go ahead and sulk if you want. We are using Servos.<br />
<br />
In order to make the robot crawl on vertical walls lets use magnetized wheels. You can get disc magnets from hobbyist stores. This way you can expect the robot to be able to traverse a vertical wall such as a whiteboard (this guys gonna be crawling all over the whiteboard in my cube at work heh heh).<br />
<br />
For a microcontroller i will be using the 3.3V Arduino Pro mini. Awesome little uC. Cheap and easy to work with.<br />
<br />
For the sensors we will be using Optical detectors/Photo transistors.<br />
<br />
For those of you who want to exactly what ill be using, check out the following list:<br />
<br />
1) 2x Servos<br />
http://www.rctoys.com/rc-toys-and-parts/DF-SRV-6G/RC-PARTS-DRAGANFLY-SERVOS.html?utm_source=googlebase_froogle&utm_medium=US&utm_term=DF-SRV-6G<br />
<br />
2) 8x Magnetic Discs, 4 for each wheel.<br />
http://www.kjmagnetics.com/proddetail.asp?prod=R8201<br />
<br />
3) Arduino Pro Mini 3.3V<br />
http://www.hobbyengineering.com/H4766.html<br />
<br />
4) 2x OptoDetector/Phototransistor QRD1114<br />
https://www.sparkfun.com/products/246<br />
<br />
5)1x Light weight battery.<br />
http://www.hobbyking.com/hobbyking/store/__11874__ZIPPY_138mAh_20C_Single_Cell_.html<br />
<br />
<br />
Ill probably add more to the list as i work on this dude.<br />
Im visiting my sister over the holidays so it doesn't seem as if ill be getting much work done. However lets see! Ill keep you posted!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9H61GOFjMvJfsSS_nPYjxj97tWnheNbXoEy5yPH1DPGImRCmew1atzbJKGE0y4guYSUXcM4CJGsbSMGMLAPT2qIh2ouHSehmYKiyO1gYbARlStecJK8399uTOmODY9rJ5yf9Py4ylooXB/s1600/the-lol-lots-of-laughs-coming-your-way-i-ve-made-a-robot_248075-500x.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9H61GOFjMvJfsSS_nPYjxj97tWnheNbXoEy5yPH1DPGImRCmew1atzbJKGE0y4guYSUXcM4CJGsbSMGMLAPT2qIh2ouHSehmYKiyO1gYbARlStecJK8399uTOmODY9rJ5yf9Py4ylooXB/s1600/the-lol-lots-of-laughs-coming-your-way-i-ve-made-a-robot_248075-500x.jpeg" height="320" width="302" /></a></div>
<br />
<br />Anonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com0tag:blogger.com,1999:blog-3242130061789416644.post-81974053476130973702012-12-02T00:29:00.001-08:002013-02-26T22:08:13.877-08:00Introduction: The beginning <span style="font-size: large;">Welcome,</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">You are about to embark on a journey through time and space.....woops!</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Wrong intro.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">*ahem ahem* </span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">HeyLo everyone! </span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">I will now bore you with a brief introduction about who i am and why this blog spot is created. You know, the usual stuff. But maybe this picture sums it up better.</span><br />
<span style="font-size: large;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeAOCtt-asGwm9LTkzKDkfspmIKPMWy2ugFK40fjGidQq2Q92CGlP5sB7Cv_zgEb0ZpxCJWjbuPyj_B2ywbZZtJhmN2z1hZqh9a8cJZ9wYKMuY1Kne1aRvVwS4bGwXw7JAPo80YUtCgrVs/s1600/Super+Engineering.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: large;"><img border="0" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeAOCtt-asGwm9LTkzKDkfspmIKPMWy2ugFK40fjGidQq2Q92CGlP5sB7Cv_zgEb0ZpxCJWjbuPyj_B2ywbZZtJhmN2z1hZqh9a8cJZ9wYKMuY1Kne1aRvVwS4bGwXw7JAPo80YUtCgrVs/s400/Super+Engineering.jpg" width="400" /></span></a></div>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Yes you guessed it, i am an engineer and this blog will be regarding some of the cool projects i am working on. I did my bachelors from San Jose State University. </span><br />
<span style="font-size: large;"><br /></span><span style="font-size: large;">While i was at SJSU I created a program which involved monthly workshops in which students would build cool electronic projects, learn the concepts behind them and then take them home to show off to friends and family</span><br />
<i><span style="font-size: large;"><br /></span></i>
<span style="font-size: large;">These workshops were so successful that they impacted the curriculum in a way i never imagined. Professors took my workshops as a basis for their in class projects and as a result the whole curriculum became more project based. Students became more exposed to building things and applying the theory they learned in class rather than just, well... learn theory. I hope to do the same on the web, maybe help somebody out or as a result of this meet some like minded people and learn more about my field from them.</span><br />
<br />
<span style="font-size: large;">Some of the workshop projects at SJSU were</span><br />
<br />
<ul>
<li><span style="font-size: large;">Laser Trip Wire Alarm System</span></li>
<li><span style="font-size: large;">Musically Inclined Portable LED System</span></li>
<li><span style="font-size: large;">A Guitar Amp in an Orbitz Gum Container</span></li>
<li><span style="font-size: large;">Portable FM Transmitter</span></li>
<li><span style="font-size: large;">An MSP430 Launchpad project using the touchscreen shield.</span></li>
</ul>
<br />
<span style="font-size: large;">Now i work full time with some amazing engineers. Not a day goes by that my mentors dont wow me. They are, in part, also my inspiration to write a blog and get more involved with my projects. Hopefully i can be like them someday and inspire others like my mentors have inspired me.</span><br />
<br />
<br />
<span style="font-size: large;">My boss says "There is no excuse for boredom when you can mess around with electronics." I agree with him. I hope you stick around and im sure you will too. </span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">It'll be fun. :)</span><br />
<span style="font-size: large;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: large;"><br /></span></div>
<br />Anonymoushttp://www.blogger.com/profile/03853059298585404534noreply@blogger.com0