10
Feb 09

Bildr, Sensors, Filters. Oh my!

While you may have thought I died of the flu and was never going coming back… You where wrong. Actually I have been quite well for a few weeks, I just didnt know what to write about. But I have been working on some stuff. 

Sonar Sensors are great. In theory that is. In the past they have been way too jumpy for my liking, and for anything I wanted to do. But I had a concept for my internship I wanted to test out, so I needed to clean it up. I created an array (think of it as a box), and every new reading from the sensor I I put in the box. When the box had x amount of readings in it, I would remove the oldest one, and place the newest one. Then I ran a loop that would average (WHY is there no average array function) the array, and used that for the reading. The result was silky smooth. I even managed to surprise my boss with how well it worked. So I created some games based on the idea. Sadly, I cant go into any more detail than that.

Well sadly, it didnt work as well for this jittery accelerometer(they all are) im using. For this You need to use something called a Kalman Filter. This filter is a normalizer for real world electronic noise. I found an example of someone doing exactly what I needed, but written in arduino code, where mine is in actionScprit. I think this is actually a really poor language to try to make one in, but im giving it a shot. The problem right now, is that I am using an analog sensor, and the example was for a digital one. So I need to figure out what range he was converting it to, and adjust mine to be the same. Ill let you know and post it when and if I find it.

RIP RISDpedia, long live Bildr (builder). Im killing off RISDpedia, and starting over with Bildr. I started RISDpedia 2 years ago, and actually learned everything I know about web tech/ programming because of it. So all the concepts are from when I was learning. I figure Im at least 10 times better with interactive code now than I was when I started it. So starting over, I wont have to fix things, just re do them (usually takes less time in my mind). Bildr wont have any information about fine art materials, but instead will be focusing on Design Materials, Design Electronics, and Design Code. So that’s that. Expect to see Bildr in the next few months.

Speaking of interactive code. I just finished the flickr/photo site for my brother. Really nice stuff. I wish I could show it to you, but it is password protected. Ill have to make a copy for you all to see.

18
Dec 08

Update

DSC_0091.JPG

A lot has happened in the last week. I got some new LEDs (the big ones in the pic). They are some crazy ones from china, and they are really really bright. I was able to backlight (It was dim) an LCD with only 6 of them. But they are 8mm, and 100ma, so they take up more space and use 4X more power. But I think these will work well to replace the backlight on my MultiTouch table.

Just after getting the LEDs, I had to pack up and go 3,000mi away. I’m in Arizona now for a few weeks seeing family. I didn’t remember how hard it is to get work done when you are constantly surrounded by people you never see. I guess I was just hoping I would have more time to work and read.

I just started reading a new book (for my self), The Inmates Are Running the Asylum. So far it is quite good, Alan Cooper does a great job explaining how many of the typical approaches to software design lead to poorly designed products. I always feel a little weird reading things I agree with so much, especially when I have said many similar things before. It is great to have support for what I have been thinking, but I also feel like maybe I would learn more if it was something I didn’t agree with already.

I just updated my website with a new look and to include some newer work that had been left out. The layout is still super simple but I really like how it looks/works. I did this because I just finished applying to grad school, and I had to include a link to my portfolio. But I realized all my work I had on the portfolio part was a year old. I was planing on updating it over break, but I needed to have it up incase they looked it over. So now I’m trying to create some videos to showcase the work, but with so many people all around all the time it isn’t easy.

08
Dec 08

BackLight

Picture 9During the summer, I was building my multitouch table out of an LCD screen. I took the back off the lcd screen (backlight and all) so I could place a camera below it to see my hand as I touched the LCD (LCD screens are transparent ). The problem was that the screen does not give off its own light so I had to make a light below (and below the camera 19in away)to shine through the LCD, and illuminate it.

But… Because the LCD is clear, when you looked through the screen you would see the individual  LED lights I used to light it up causing huge hot spots. This was a problem. Normally I would use a diffuser to fix this, but I needed the camera to have a clear view of the back of the LCD so I had to figure something else out. The main issue was that with a normal LCD when the screen is white, it is actually almost completely clear, so you where just seeing the backlight. In mine, you see the LED array, and the camera, and everything else in there. So I took some vellum and made a cone diffuser that went from the LCD screen to the camera. This allowed the LCD to have a complete diffused back light and allowed the camera to have a clear view as well.

Below the Diffuser I put my array of 192 LEDs. Works great, but it’s not as bright as I wanted. I just have to upgrade the lights. (they are already on their way.) I just have to wait till after my break (going to visit family) to work on it.

Back to work on FoodE <– Final for my service design class

29
Nov 08

Weekend Update

menucode This week left me with some extra time, though most of it went to seeing family for Thanksgiving, I did manage to create my first gesture-esk application for my multitouch table. When you place 3 or more fingers on the table, it looks for 3 that are making a triangle within a certain size, if it finds one it places a circle in the middle, symbolizing bringing up a menu system.

I’m not sure if there is a better way to do what I did (it seemed to contain too many for loops), but it starts at a finger, then looks for two other fingers within a certain distance from that one. If it does not find two others close enough, it moves to the next finger. If it finds two or more, it checks to see if any of them are within that distance from each-other, and stops if it does. It works really well, and thanks to a friend on a forum I visit, I was able to use an incenter equation to calculate the center.

I started thinking about the next push for RISDpedia. Im looking at ways to document electronic components next. One of the things I have been thinking about is how to document the availability of said components.

Because you cant just pop into a store to purchase them (sad I know), I needed to have a list of placed they can be ordered. As luck would have it octopart (if you don’t know it you really should) has a search API. Octopart lists all the place where you can order a part (Digikey, Mouser etc), if it is in stock, ho many they have, and more.

The API was a little hard to break into though, and it took me more than a few hours to get everything out of it I needed. It is only available as a JSON object and im not the best with javascript. I used MooTools to handle the JSON call, but because there is no print_r (as in php) to pull, and see everything out of an array, I had to do loop after loop to find the entire structure, so I could then map it out, go back, and just ask for the information I want.

Granted, I’m sure im doing it completely wrong, it works. At some point when I have time Ill make it into a MediaWiki extension for RISDpedia.

15
Nov 08

touch

6 channel touch sensor

This is a 6 channel touch sensor that I soldered a week ago. I was missing a part to see if it worked, but I just got it in. I hooked it up and it works perfectly. I has quite happy. This was the one I soldered that went so well. After hooking it up I took a pic and it just came out so nicely, so I decided it needed a larger pic.

This weekend I have been doing a bit of programming for my Multi-touch table. I gave a presentation on it on tuesday, and I guess people where much more interested in the questions I posed about it than they were with the table. I guess that is a really go thing, because they are the questions Im trying to figure out by making/ using one.

I have been documenting how to make simple multi-touch apps in ActionScript hoping that others will see they can do it too. My dream is that people are able to make much better applications than are already out there. Im really tired of everything just moving around a bunch.

In class I am finishing up an RFID project. I dont think it is the best idea, which is really sad because the infamous Bill Buxton will be there to critique. Sad when a personal hero is there to see not your best work. But I got the short end of the stick in a way.

My RFID project is just a simple box that looks like a stereo. While hosting a party, everyone that comes in would be given a token. They then place the token in this stereo like device and it would add to the music. One may be guitar, another drums, and even some synth or horns could be on that chip. If you dont like how it makes it sound, you just take it out, and that instrument stops playing.

The hard part was finding a way that the songs made would not be repetitive and make it so when you add an instrument it always matches the beat/tempo and plays along with the song, and not against it.

Wish me luck!

10
Nov 08

Touch Programming

Picture 7This weekend I started more programming for my multitouch table. And by that I guess I was more trying to fully understand how it is done. See the really bad part about all of this is the lack of real documentation. 

I am part of a forum and wiki for multitouch stuff, but until I started it no one had even documented a hello world application for it. It’s written in AS3 (action script 3), but it is not normal. There are 13 steps to get it to work with the table that you must do for each new project. But on one told anyone this.

I had to dissect a program and find out how and why it worked. Took me a long time because some of the stuff was anything but logical/ comprehendible. Simply copying the code would not work. The code used classes with no documentation, and when building them, you even have to make sure things are saved in the correct folders. But no one ever said this. For the first week I was just writing my code over another program because when I started from scratch it would not work, but my same code overwriting a working program worked fine.

Well it pissed me off to the point I made the absolute simplest program for it. It makes red circles where you touch. It was my hello world. I then made a wiki article on the entire process.

Well that was all fine, but in the simple programs I made, the code really only understood single touch. After you touched it made a circle and forgot you where even touching it. Sure it worked with multi touches at the same time, but only like clicking really quickly in different places works with a mouse.

But there was a paint program that did remember. You can use multi fingers to draw separate lines at the same time. So it was tracking and keeping track of your fingers. I wanted to simplify this as well, and wanted to understand it.

I took out everything I could and got it down to about a third the code it was. It was really nice to get it working. And really great that it is something I understand now. This should allow me to make better apps later on, but even more so, allow others to make great apps we can all use.

Im not sure why documentation is so important to me, but I know even less why good documentation is such a lost world to most people.

08
Nov 08

New Camera, more SMD

DSC_0007.JPGI had an xbox 360 camera (still have) that I was using for the blob tracking on my multi-touch table but I noticed that the FPS on it where not good enough to capture the movement on a software project im working on, a keyboard. It would just miss half the letters typed.

So I saw that the HD PS3 Eye camera has twice the image of the camera, and 3 times the FPS. That and it is only $25 off ebay used. SO I go it.

I just finished ripping it apart, I had to remove the IR filter that are on all webcams to block out the infrared light, and added a visible light filter (3 layers of exposed black camera film) so now it only sees IR.

Im not sure if this will fix the issues at hand, but im sure it is a good step.

After soldering that chip the other day, I tried it with a 28pin. Practice makes perfect (well, better at least) because it was so much easier. No issues, and Im pretty confident that I did not over heat the chip either. Im waiting on a 3pin resonator for the circuit before I know for sure. Originally I bought all these proximity/ touch sensors to make a keyboard out of, but I decided to go down a different route, and just make the keyboard completely out of software. Hence the new camera.


Copyright © 2012 ASM | a blog
Proudly powered by WordPress, Free WordPress Themes, and Search Marketing