Pages

Showing posts with label Hobby. Show all posts
Showing posts with label Hobby. Show all posts

Sunday, October 2, 2011

Installing Ubuntu on a Series-5 Chromebook

Dualbooting the Samsung Series-5 (I have the 3G version) with Ubuntu is actually a lot easier than expected and is almost the same as dualbooting on the CR-48 (Google’s beta program to Chromebooks). Online there aren't many tutorials on how to do this because the method used on the CR48 still works perfectly. You can find the tutorial HERE, and I personally only had one problem throughout the whole process.

After Ubuntu is installed for some reason my Chromebook wouldn't boot into my Linux partition. After trying all of the possible commands,  I decided I needed to do some more research, and discovered my boot-up screen looked different from other people’s. They had a massive blue frowning computer picture when booting while I only saw some ASCII art. It turns out, once you boot into developer mode, you need to install a developer BIOS. To do so you open the terminal (Ctr Alt ->) and type in the following.

localhost login: chronos
chronos@localhost $ sudo bash
localhost chronos # chromeos-firmwareupdate --mode=todev

When you restart, your computer startup screen should look like this (press Ctrl+D to skip)
After running that, you will want to re-run the startup script wget http://goo.gl/hnkxo; sudo sh hnkxo’. Your Chromebook should now boot up into Ubuntu! If you want to easily switch between them click HERE for a simple tutorial. If you have any issues feel free to comment here, or tweet me @RoboTechEd.

Saturday, October 1, 2011

Arduino Based Computer Temp Sensing

The Problem

I bought a new graphics card for my computer recently, just to realize I didn’t have a power supply large enough to properly power the new card - causing it to overheat (temporarily, I opened the side of my computer and used a desk fan to cool it). After buying the correct power supply, I decided I needed some type of temperature indicator on my computer...Hello Arduino! (I actually used my Uno32 for this project, to view my review on it click HERE)

Now, this hack is very simple, versatile, and easy to implement. All you need is a general purpose temperature sensor, an RGB LED (or more if you want your computer to look really flashy), and some appropriate resistors so you don't blow up your LED. The Arduino fades an RGB LED from blue to red depending on the temp of your component. When it is over 50°C, the LED will be red. (50C is close to what most NVIDIA GFX cards can handle). I also have a processing sketch in progress to read the value of the temp sensor and store it into a .txt file, and a C++ program (in progress) to alert you when the .txt file says that your computer is too hot.


The Set-Up

Below is the schematic. I know that it isn’t standard, but it’s much easier to read for electronics beginners. I recommend giving yourself a pretty good length in wire so that you can attach the LED(s) wherever you need to. Also, HEAT SHRINK ANY VISIBLE METAL so that you don’t end up messing up your computer. Often, your computer will use the casing as a ground, so any visible wires would be really bad. 

Once you’re all soldered up and ready to go, you’ll want to attach the temp sensor wherever you think has a chance of overheating. To attach it I recommend using electrical tape, and just taping it down (If you have better ideas then let me know). Then put your LED anywhere you think will be easily visible. I recommend taping the wires down with electrical tape as well, or zip-tying it down. You then want to zip-tie all loose wires and attach them to the Arduino somewhere that you have free space. I recommend putting electrical tape on the bottom of the Arduino AND Velcro-ing it down, that way your Arduino doesn’t short, and it won’t move.
I was lucky enough to have a working USB port INSIDE my computer, so that I could leave my Arduino plugged in. The unlucky one’s out there will need to upload the code before they put it in and power it off of a battery, or find some way to get a programming cable inside of their case. After the Arduino code (below) is uploaded, everything should work fine. I set the default room temperature as 17C because that’s how it is in my boiling dorm- but that could easily be changed.
int bluepin = 5; int redpin = 6; int tempPin = A0; int blueout = 0; int redout = 0; float conv = 0.55555; //Wouldnt let me do 5/9 float tempC; int limitinC = 50; void setup() { Serial.begin(9600); pinMode(bluepin, OUTPUT); pinMode(redpin, OUTPUT); } void loop() { float tempVolts = (analogRead(tempPin) * .004882814); //Reads temp sensor and converts it to a voltage level float tempF = (tempVolts - .5) * 100; //Converts the voltage level into a temp(F) float tempC = (conv * (tempF - 32)); //Converts the temp into Celcius //Serial.print("tempC ="); //Commented out for testing //Serial.println(tempC); //Serial.print("tempF ="); //Serial.println(tempF);
float CelConstraint = (tempC - 15); //The average temp of my room in C (limiting the colors to be blue at 15 and red at 50) float CelCtoVal = (CelConstraint*29.68);//converts the value //Serial.print("CelCtoVal = "); //Commented out for testing //Serial.println(CelCtoVal); 
redout = CelCtoVal; blueout = ((512 - CelCtoVal) + 512) //Inverts the colors so 1024 = 0 and 0 = 1024 //redout = ((redout+CelCtoVal)/2); //Use these lines instead of the above if the sensor sometimes is flickering (averages the values) //blueout = ((((512 - CelCtoVal) + 512)+blueout)/2); //Serial.print("blueout ="); //Commented out for testing //Serial.println(blueout); //Serial.print("redout ="); //Serial.println(redout); analogWrite(bluepin, blueout); analogWrite(redpin, redout); if (tempC > limitinC){ Serial.print(1, BYTE); //Send 1 to Processing sketch if too hot delay(100); } else{ Serial.print(0, BYTE); //Send 0 to Processing sketch if cold delay(100); } }

Work In Progress

Below, I have a processing sketch that will read whether or not your Arduino is overheating and write a ‘1’ into a .txt file if it is. I also have a C++ program that will read that file. This is a work in progress. I just started to learn processing and only know very basic C. I hope eventually to make a program that will print the temp in C, F, and to pop-up when the temp is greater than a certain temperature.


Download Everything


Let me know how this works for you guys! If you have any comments/questions be sure to post below or tweet me!

Thursday, September 29, 2011

The Uno32 - A Cheaper and Better Arduino


If you’re looking for a solid new Arduino with better specs, then you should check out the ChipKIT Uno32 by Digilent. The Uno 32 has over double the regular Uno’s IO pins (20 vs 42), a much faster processing speed(16MHz vs 80MHz), and a massive amount of flash memory (32k vs 128k). I recently bought one to test it out, so let’s dive into the review. ( If you want a head start preview, check it out HERE)

Comparison
The major difference between the Uno and the Uno32 is their operating voltages. The Arduino Uno operates at 5v while the Uno32 at 3.3v(Don’t worry though! The Uno32 still has a 5v output pin for your projects). The only issue because of this, is shield compatibility. Some Arduino shields won’t work with 3.3v, but can be rigged to using a transistor and a pull-up resistor. Also, all of the I/O pins are safe for 5v input, just in case you forget (which I have to admit I did...quite a few times). To find out if your shield can be used, go HERE.

Ease of Use
The Uno32 operates almost exactly as a regular Arduino. The IDE looks the same as Arduino’s, and all of the example programs are able to be used on the 32’. The setup and programming all work exactly the same as the regular Uno as well...Honestly there is no obvious difference.

Advantages
The Uno32 has tons of advantages besides the obvious ones I stated in the beginning. The Uno32 has many more user controlled LEDs, as well as more indication LEDs (ex: USB data LEDs). There are also multiple jumpers across the top of the board that can change whether the board is an SPI Master/Slave, if a pin can be used as PWM output, or even if the 5v output goes through the voltage regulator or not (could be handy for some AC signals?). There is also a huge forum dedicated to the Uno32. Having professionals at your disposal is always an advantage!

Disadvantages
Besides the 3.3v operating voltage, there are two more drawbacks that you should know before buying the Uno32. The Uno 32 has 1 less PWM output than the Arduino. Pin 11 cannot be used as one because of the actual limitations of the chip. Also, not every port on the Uno32 can be used as interrupts, only a few (not a big deal considering I rarely use more than 1 anyways in my projects).

Price
The ChipKIT Uno32 sells for £17.99 at Farnell, which is less than $25 USD. This makes the Uno32 CHEAPER than the Arduino Uno (Yes, at least double Arduino’s specs, at a cheaper price)...A pretty obvious buy for anyone looking into buying a new microprocessor.

Rating
I highly recommend ChipKIT’s Uno32 to anyone looking into an Arduino replacement - 5/5 gears!



-Example Video Coming Soon-

Sunday, March 13, 2011

Dorm Room Automation 01 w/ Arduino

So my year is almost over, and I have some overly ambitious goals for next year. My future room mates and I want to automate our dorm room (Yeah, that IS my college life). And with my new Arduino and Ethernet shield, I definitely have the materials. And after a few late nights, I now have a working code.

In the video below you see me display a message, and change a RGB LED. I used an LED instead of a motor because I only have one motor, and my Arduino doesn't give out enough power to run it. But the code is the same, you just hook up the LED output to a transistor or even directly to a motor (if you need to change the code, feel free to ask for help). The hookup is pretty simple, and is typed out in the code itself - but could change depending on what LCD screen you have, so yet again feel free to ask for help (tweet me @roboteched or post below).

This part of the code in my final room automation will take place every 30 seconds, so that other code can be executed in-between (like temperature, light switch controls, etc). To do this I use the Time library on Arduinos website. My next goal is to control the LCD using a ShiftOut IC. If you have any ideas, or know how to do this, let me know and I’ll reference you! Check back sometime within the next week for an update on my next project.

CODE DOWNLOAD

Wednesday, February 9, 2011

My Vex Programming Guide - Still In Noob Version

Are you a novice or beginner programmer? Or are you even a pro? Either way, I have the PDF for you! I have been writing this for some time now (about half a day), and it is about 40% done so far - It’s a C programming guide! It focuses in teaching beginner programmers (preferably high school), how to program their Vex Robot efficiently, as well as understanding what is actually going on. We all know how to work computers, but knowing how they work and why they work that way opens countless doors (yeah, it just got deep).

This PDF isn’t very clear considering I’m the one who wrote it, and it’s not very in-depth (yet) because I JUST started it; but I’m hoping the more people who read it and utilize it, the better feedback I’ll get. Meaning the more accurate and efficient guide for the aspiring Roboticians. If you have any interest on helping with this project you can check it out HERE (or below). If you have any questions comments or concerns, tweet me or shoot me an E-Mail. Both which can be found on your favorite technology blog.

/** Reminder: This PDF focuses on programming Vex robots, so some information may be not completely accurate with the C language, and much information I purposely left out. **/


Tuesday, January 4, 2011

Sony Rolly - Rolling Into Our Hearts

If you think Roombas have infiltrated consumers homes, as nothing more than a ‘cool-to-have,’ then you just wait until you see the Sony Rolly. It should be rolling into your neighbors home (Yes, pun intended) in no time. The Sony Rolly is a portable robot, that plays music and even entertains guests. It does this through its awesome dancing skills, and its high quality sound. Yup...A Boom-box that dances, changes colors, and wins over my heart. Too bad you didn’t think of it first.

What makes the little Rolly so amazing is the amount of technology packed into something that can fit in your palm. It has high quality speakers, multiple actuators which allow it to move, and flap its ‘wings’ in synchronization with the music, Bluetooth audio streaming, and my favorite feature: sharing dances with your friends. (I don’t have one, but I presume if my friends and I did, we would have choreographed dances to the Star Wars Imperial March or something).

These adorable robots, have a rather limited market; music lovers. But not just all music lovers, music lovers with money (an even SMALLER market). Sony has sold these for a little over $200, and they cost up to $300 on eBay. Yet somehow since I started to look them up, Sony has been sold out...



Saturday, October 30, 2010

Mech-Warfare: My New Hobby

The RoboGames (formerly known as the Robo-Olympics) is held once a year in California. The nerd metropolis holds over 50 events, each with a special robotic niche. From climbing stairs, to kung-fu, the RoboGames has it all. But by far, the best competition at the RoboGames is Mech-Warfare. Ever watch one of those crazy cartoons as a kid, where a human would sit in a massive robot, and fight other robots around a city? Ever wish you could be that guy controlling the giant robot that’s destroying the city? Now you can. Mech-Warfare is a competition where the robot's controller can only view the competition field on a camera that is mounted on his robot. The robots fight in a miniature sized city, shooting airsoft based weaponry at each other; and in the upper classes, even miniature missiles. Now before you go buy your ticket to California (which I should be doing ASAP), you should know that the robots are limited to a few inches high, and the fighting isn’t quite as fast-paced as anticipated (yet). But regardless, I would recommend checking it out; definitely has potential for a future hobby...or profession.