Arduino GLCD Display + LCD Smartie
A long while ago, I bought myself an Arduino Mega, and it came with a 128x64 Graphic LCD screen. Finally, I've found a use for it. I'm going to make a fron panel display for my desktop. I'd used LCDSmartie several years ago for a small LCD case screen, and liked it. Unfortunately, it doesn't support GLCDs (AFAIK). So, I built an Arduino "wrapper" around it. It uses the Matrix Orbital command set, then translates them to calls to the Arduino GLCD library.
The code is based on code found here. I modified some of the calls, and got rid of the character LCD code, and put in GLCD calls.
In essence, I create a text area the size of the screen, and throw text at it. The great thing about this is that you can resize the text area, then have the Arduino do something in the rest, while LCD smartie throws it's stuff in the textbox. Doing it this way means no modification at all to LCDSmartie.
I'm going to work on this a bit more as I get time. I'll be replacing the Mega with a barebones Arduino (made from the bag'o atmega chips I have).
Settings for LCD Smartie are:
Display settings > plugin > Display Plugin : select matrix.dll
startup parameters: COM4,9600 (i.e. the com port for the arduino, and the baud rate)
Display settings > screen > display size: 4x20
Oh, whats that? You want code? And Pictures? Very well.
It’s sound Jim, but not as we know it!
I can now play mono wav files with a sample rate of 44100Hz. Stereo should be relativley easy, but isn't really needed. There seems to be one snag, the sample buffers don't seem to be playing on cue, it's jumping to the next buffer far too early. This is leading to whatever song I play through, being turned into a bunch of babbling chipmunks :S
Anyone used the Steinberg ASIO SDK? Now any good forums or resources for info on using it? If so let me know.
Success! (well, sort of)
Woo! Visual Studio and the existing code cut me some slack today. I finally managed to properly turn the library code into a visual studio 2008 project, without something breaking, and then using said project + library in another project (again, without breaking anything). Not just that, most of the unnecessary code has been cleared away, and I have a clear(ish) idea of what needs to be done. The WiiMote seems to be working ok, though a bit jumpy, and the sensor bar is doing something to the values from the WiiMote, I just need to read the WiiYourself library docs...
A new term, a new project..
So, I'm finally all settled in back at university, and getting a start on my new project for the year; 3D Auditory Pixels. The brief for the project goes a little something like this:
3D Auditory Pixels
The Schools of Computer Science and Psychology have just purchased an audio system capable of
generating as if it is emanating from a specific point in 3D space.
This is achieved via control of an array of 20 small loudspeakers.This project will look at developing methods to generate sounds that can be placed in the 3D soundscape.
Some simple interface and methods for controlling the sound location will need to be implemented.Scope exists to also utilise 3D motion capture equipment as input to control the sound location.
For example, a virtual 3D "theremin" musical instrument (www.thereminworld.com) could be developed where the 3D position of
the hand, for example, controls parameters of a simple "theremin" sound generator.The loudspeakers are actually located behind an acoustically transparent video screen. So scope exists to us the
screen for video output. Some 3D display technologies including a 3D head mounted display or stereo viewers
could also be utilised.The first part of the project will be to devise suitable sound generation and control of the sound. The second part,
which could take one of many paths, would look to utilise some of the I/O technology mentioned above.Prerequisites: Good level of programming and algorithms. C/C++ or Java programming knowledge.
Some knowledge of audio and basic maths an advantage.
So, in layman's terms, i get to mess around with a kick ass sound system, a WiiMote, and a sha-weet Polhemus motion capture rig.
I've made a little progres so far, mostly just experimentation;
- Capturing motion from the WiiYourself! library
- Playing randomised noise through sequencial/random or selected speakers
- Trying to figure out what the hell is going on with the library written by the summer student, and figuring out where to start on a re-write
- Had a look at the libsndfile library and attempted to read a WAVE file to an array
- Tried to figure out Visual Studio 2008s (eugh..) idiosyncrasies
- Talked to an Audio-Psychophysicist from the psychology department about what he needs from an API I'll be working on, and what they'll be doing
Though it's only two weeks in, there seems to be some half decent progress being made nonetheless.
The psychology aspect seems really interesting, involving the ways the mind interprets the senses, weights them according to their accuracy and compiles them into what you see/hear etc. For example, vision is usually the more heavier weighted, so if there's a dot on the screen, and a sound coming from near by, your mind will tell you the sound is coming from the spot. I believe this is the ventriloquism effect. However, if you blur the spot, or make it much bigger, your mind lessens the weight on your vision, and instead sound takes the primary role.
It's all crazy-crazy stuff.
Frak it!
Here's an article on CNN about the proliferation of the word "Frak" from everyones favourite series Battlestar Galactica.
Stephen Fry, GNU and 25 years of it.
Everyone loves Stephen Fry. His way with words, and they way that everything he says, well, you just believe it. It seems that GNU (GNU is Not Unix) has picked up on that, and have wrangled him in for some free software promotion! So for GNUs 25th birthday, Mr Fry made this video, which, as his popular television show QI stands for, is quite interesting. So go, watch and most importantly, learn!
Google Chrome, the new Firefox?
Google have announced that they will be releasing a new completely open source web browser. It will be based upon the Webkit browser engine with the rest of the browser being written from scratch. It'll feature a multiple processes for everything, tabs, pages, javascript, all to maintain security, prevent lockups and memory leaks and to keep the browser responsive. There's a new javascript Virtual Machine called V8 which should be *fast*. For more information, see the comic. Also, more info here.
Name change!
I was tired yesterday, and couldn't think of a name. So here's the new name;
/0
"Huh?" you say? It's pronounced "divide by zero".
Because dividing by zero makes the world fun.
Mac Essentials; Applications for a shiny new mac.
There's probably a hundred of these type posts around telling you get this, it's cool and shiny and such things. Well this will be different. How you ask? Well, because I wrote it, and not the others. I'll be mainly looking at the useful and productive things I've found, though there will be a level of bling-ification in one or two. So, on with the show!
1. Perian + Flip4Mac
These are the two essential codecs (well codec packs) needed for anyone wanting to watch videos on their macs. Flip4Mac is from Microsoft, and encompasses all their WM* codecs and such. Perian, well, it's everything else. Just install both and hey presto, Quicktime will play any of your videos. This means that your videos will also play in FrontRow. If your files aren't stored in the Movies folder then just make an alias to their folder and move it to Movies (Right click > Make alias). Then in FrontRow, select Movies Folder under Movies and it should be there!
2. Adium
This is a free chat client that supports, among others MSN. While microsoft has an official client for the mac, I don't like it, at all. There's a whole load of add-ons and plug-ins on the website, enough to make anyone happy, and the minamalist contact list style looks great, and is really unobtrusive.
3. The GIMP
Wash out that dirty mind of yours! Now! GIMP stands for GNU Image Manipulation Program, essentially, a free photoshop. If you're used to photoshop, then it can take a little getting used to, but the guides and how-tos are most excellent. You'll also need X11 installed for this, get it either from your installation disks, or an improved version from here.
4. iSquint
Great converter of videos, and will even add them to iTunes for you when done. It has various options, like optimising fro TV or iPod and advanced ones for cropping etc.
5. Movie2iTunes
If your movie collection is rather large, you may not want to convert it all, as it may take weeks. So this little tool lets you drag files onto it, and it creates a reference ".mov" file and adds that to iTunes. These files are only a few kilobytes too.
6. The Unarchiver
Does what it says on the tin. It'll basically expand any archive you throw at it.
7. rEFIt
Wether it's Bootcamp and Windows, or the latest Linux distro, rEFIt will come up on every boot and offer you a choice of what to boot, with OS X defaulting after about 20 seconds. Very handy.
8. GeekTool
This preference pane adds an overlay to the desktop showing various things, e.g the output of "top" to see all the processes running, or a log file to monitor it, even pictures. Great for the geek or programmer wanting an easy way to monitor their system. Personally I have it monitoring top with "top -FR -o cpu -n 27 -l 2 | tail -34" and dmesg with "sudo dmesg | tail" though for that you need to add an entry to the sudoers file. You can have it show to-do files, and even use an actionscript to export iCal entries to text for it to show.
9. Transmission
Great bittorrent client, small and fast. Great for downloading that latest linux distro...
10. Firefox
While theres nothing wrong with safari, I just prefer firefox. Essential add-ons are ad-block plus, firebug, and flashgot.
11. Flock
Firefox for the more social of use. Integrates into many services such as Facebook, youtube, picasa, blogger, digg, twitter, Livejournal and many more. As it is based on Firefox, it can use firefox add-ons too, so all is good.
12. Adobe Flash
So you can play all your favourite online games, and watch all those youTube videos. Install after the browsers, as it'll pick them up and integrate itself.
13. Open Office
With version 3 just around the corner, this project is becoming very mature. It doesn't seem as clunky as Microsoft Office, and is far cheaper, as in free
.
14. Xcode
Essential for programming on a mac. GUI designer, IDE, command line tools, debugging, all you could possible need, and more. Should be on your install cd, or the newest version is available at the link above.
That's all for now folks. There'll be more eventually, but this is my "clean install" itinery. All my essential apps to feel at home. Any suggestions are much welcomed!
Oh please let this be a joke!
Seriously!
Those mythbusters guys are good. Damned good. Clicky









