This week I got to do my first laser cutting at Crash Space. I drew the design in Inskscape, then imported the SVG into Corel Draw for export to the Epilog laser cutter:
It went OK, except a line that was 5.75" in Inskcape ended up 5.25" on the laser cutter. I'm not sure if this is a scaling problem with Corel Draw import or with something else.
The Litiholo Kit is awesome for making holograms at home, but it only comes with one laser. So if you make a bunch of holograms and want to display them all of at once, you are stuck.
A fellow Crash Space member (who runs a cool electroluminescent supply site) was kind enough to run the Litiholo laser through a spectogram. Most of the power is at 637 nm and 638 nm, with some power at 636 nm and 639 nm:
It turns out this is almost exactly the same spectrum as a "5mW 635nm Red Laser Module Focusable Dot" I purchased from DinoDirect for $10!
Did you know there is high-definition digital TV in the air all around you for free? Thomas Edwards, VP Engineering & Development for the FOX Technology Group, will present on ATSC digital TV, including the history of digital and high definition TV, 8VSB modulation, MPEG transport streams, MPEG-2 video coding, AC-3 audio coding, and PSIP program guide data. There will also be a brief discussion of the new ATSC A/153 Mobile/Handheld DTV standard."
Now there are some Arduinos with built-in Ethernet. From Freetronics, the EtherTen, which has a Wiznet W5100 chip on board at $69.95. It looks much like an Arduino (including USB port) that happens to also have an Ethernet port. Apparently it works, even with DHCP.
Sparkfun has the Ethernet Pro at $54.95, which also has a W5100 but is a little more slimmed down.
And if instead of an Arduino, you want a ARM Cortex-A8 board that runs Linux, has 60 digital I/Os, and built-in Ethernet, you can try the BeagleBone for $89.
Meanwhile the coolest PIC board ever is the MikroElectronica Multimedia Board for PIC32MX7 ($149) that has a touchable TFT display and SD card as well as Ethernet. MikroE also has a bunch of dedicated Ethernet boards.
Finally there is the good old Modtronix SBC65EC ($65) a PIC-based system that has Ethernet and RS-232.
***** Sunday, October 16, 2011 ***** 1:00pm-3:00pm ***** Machine Project ***** 1200 D North Alvarado Street ***** Los Angeles, CA 90026 ***** Google map of Machine Project
Sean Bonner will present Safecast, a global project working to empower people with data, primarily by mapping radiation levels and building a sensor network, enabling people to both contribute and freely use the data collected. Created 1 week after the 3/11 Japan earthquake, Safecast has deployed 25 mobile, 50 handheld, and 50 static radiation sensors.
Carlyn Maw is a co-founder of Crash Space, a hackerspace in Culver City, CA. Carlyn will describe the Crash Space group project "Store Front Music", which allows people who walk past the hackerspace to interact with a music making machine.
Part sculptor, part engineer, and part choreographer, Jim Jenkins' work primarily features the animation of text and objects to represent a situation or an observation. Inspirations also come from simple movements often found in nature, such as the rhythmic flapping of a bird's wings to the hypnotic swaying of a cat's tail.
A few months ago, I was preparing my Second Head for a Crash Space demo table at an event. I was unsure of the lighting, and thought it might be pretty dark there. ARtoolkit does a good job of augmented reality in good lighting, but if the lighting is not good, the system does not perform well.
So I decided to try to put a large EL panel behind my paper marker to backlight it. I purchased a large white EL panel from EL-Works and a battery-powered inverter. It worked great in dim light, even in the dark, as you can see in this video:
Again, I start with a two-qubit register psi, initialized to zero. I perform the Hadamard on it to create an equal superposition of states. Then I measure it, getting a different result each time I try it.
Note the two different quantum state notations used. Vector notation is used be default in QCF as it makes computation simpler. But as a human, I prefer binary ket notation, so I go from binary ket to vector notation using bin2vec(), and vector to binary ket notation using pretty().
Also measurement in QCF does not collapse the wavefunction explicitly (although you could do psi=measure(psi) to be more realistic about the measurement process collapsing the waveform).
If you want to start messing around with Quantum Computing simulators (ahead of actual Quantum Computers being developed), there are a couple of options:
Bernhard Omer's QCL language, developed specifically for QC simulation.
QCF toolbox of Quantum Computing Functions for Matlab and Octave (a free clone of Matlab).
Matt Purkeypile's Cove framework, that could potentially be extended to any language, but currently really only works with C#. He has a number of YouTube videos about it.
Here is a short (and useless) QCL example, where we put a 2-Qbit register into a superposition of states, then measure the Qbits. The first time we try this, we get a 3, the second time we try it, we get a 2:
qcl> qureg s[2]; // set up 2-Qbit register s, initially all zero
qcl> H(s); // apply Hadamard operator to create equal superposition of states
[2/32] 0.5 |0> + 0.5 |1> + 0.5 |2> + 0.5 |3>
qcl> measure s; // now actually measure and collapse wavefunction
Check out the Raspberry Pi, which for $25 will [when released "later in 2011"] get you:
700MHz ARM11
128MB or 256MB of SDRAM
OpenGL ES 2.0
1080p30 H.264 high-profile decode
Composite and HDMI video output
USB 2.0
SD/MMC/SDIO memory card slot
General-purpose I/O
Optional integrated 2-port USB hub and 10/100 Ethernet controller
Open software (Ubuntu, Iceweasel, KOffice, Python)
...and for $35 a 10/100 wired Ethernet (though they claim you might be able to use a WiFi USB dongle on the $25 board).
Regarding GPIO, they say:
There are approximately 16 spare GPIOs, which are brought out to 1.27mm pin-strip. Voltage levels are 3v3. The connector choice is deliberately annoying to connect to directly; there is no over-voltage protection on the board so the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board.
We also bring 2x I2C (3v3), I2S and an SPI (3v3) interface out to the same connector. We support one slave interface for I2C and one for SPI.
Dorkbot SoCal 45 & Book Launch: Xtine Borrough, Jonah Brucker-Cohen, Jeremy Rotsztain
***** TUESDAY, JULY 26th, 2011 ***** 7:00pm ***** Machine Project ***** 1200 D North Alvarado Street ***** Los Angeles, CA 90026 ***** Google map of Machine Project
xtine is a media artist, educator, editor of Net Works: Case Studies in Web Art and Design (Routledge 2011) and co-author of Digital Foundations (New Riders/AIGA 2009). Informed by the history of conceptual art, she uses social networking, databases, search engines, blogs, and applications in combination with popular sites like Facebook, YouTube, or Mechanical Turk, to create web communities promoting interpretation and autonomy. xtine believes art shapes social experiences by mediating consumer culture with rebellious practices. As an associate professor of communication at CSUF, she bridges the gap between histories, theories, and production in design and new media education. Her website is http://missconceptions.net.
"Net Works: Case Studies in Web Art and Design" offers an inside look into the process of successfully developing thoughtful, innovative digital media. In many practice-based art texts and classrooms, technology is divorced from the socio-political concerns of those using it. Although there are many resources for media theorists, practice-based students sometimes find it difficult to engage with a text that fails to relate theoretical concerns to the act of creating. Net Works strives to fill that gap. Using websites as case studies, each chapter introduces a different style of web project--from formalist play to social activism to data visualization--and then includes the artists' or entrepreneurs' reflections on the particular challenges and outcomes of developing that web project. Scholarly introductions to each section apply a theoretical frame for the projects. Beyond project summaries, chapters also include an explanation of the websites' technological components; historical, cultural, and ethical perspectives; a list of links; key words; and short online exercises that relate technical skills to individual projects. Combining practical skills for web authoring with critical perspectives on the web, Net Works is ideal for courses in new media design, art, communication, critical studies, media and technology, or popular digital/internet culture.
Jonah Brucker-Cohen is a researcher, artist, and writer. He received his Ph.D. in the Disruptive Design Team of the Networking and Telecommunications Research Group (NTRG), Trinity College Dublin. He is an adjunct assistant professor at Parsons MFA in Design & Technology. He has held a Research Fellow positions at Media Lab Europe and Eyebeam Center for Art and Technology in New York City. His work and thesis focuses on the theme of "Deconstructing Networks" which includes over 77 projects that attempt to critically challenge and subvert accepted perceptions of network interaction and experience. His writing has appeared in numerous international publications including WIRED Magazine, Make Magazine, Neural, Rhizome.org, Art Asia Pacific, Gizmodo and more, and his work has been presented at events and organizations such as DEAF (03,04), Future Everything (2004, 2009), Art Futura (04), SIGGRAPH (00,05),Transmediale (02,04,08), ISEA (02,04,06,09), Institute of Contemporary Art in London (04), Tate Modern (03), Whitney Museum of American Art's ArtPort (03), Ars Electronica (02,04,08), ZKM Museum of Contemporary Art (04-5), Museum of Modern Art (MOMA - NYC)(2008),San Francisco Museum of Modern Art (SFMOMA) (2008), and Palais Du Tokyo, Paris (2009). His work has been reported about in The New York Times, Wired News, Make, El Pais, Gizmodo, Engadget, The Register, Slashdot, The Wire, Rhizome, Crunch Gear, Beyond the Beyond, Neural, Liberation, Village Voice, IEEE Spectrum, The Age, Taschen Books, and more.
Jeremy Rotsztain is a Canadian digital artist who, taking cues from the practice of painting, works with movies, images, and sound as a kind of malleable and expressive material. In his work, popular narratives, pixels, and sound bites are sampled, transformed, re-arranged and composed in an effort to examine the language and patterns of contemporary media and the shared cultural experiences that we have with them. Jeremy writes custom software, enabling him to collect, edit, and compose with his materials in hybrid and unconventional ways that aren't supported by existing commercial software applications. His work has been screened, performed and exhibited at the Cooper Hewitt and the New York Hall of Science in NYC, Urban Screens in Melbourne, Subtle Technologies and InterAccess in Toronto, Electric Fields in Ottawa, SAT in Montreal, and New Forms Festival in Vancouver.
Action Painting is a series of animated digital paintings composed using cinematic gestures from Hollywood action flicks. Moving visual elements from popular action films -- explosions, fistfights, car chases, and gunshots-- are used as compositional material to create works in the style of abstract expressionist painters such as Jackson Pollock. Action Painting brings together the adrenalin-filled culture of action cinema and the formalist canon of modernist painting. It is a line of inquiry into spontaneity and self-expression that contrasts user-generated web 2.0 culture against the work of the genius craftsman -- and reflects cinema's use of violence as pure spectacle.
Well, it turns out the PIR sensors are great for detecting someone - at first. Then they are useless for 10 seconds. Which doesn't make them great for tracking. So I ended up giving up.
Then I was reading somewhere on the Interwebzors about someone trying to use a Bluetooth-enabled solid state gyro board for controlling a halloween head. I started thinking, there has to be an easier way. Then I thought about Synn Labs augmented reality work, and hit upon the idea: stick a fiduciary mark on your head:
The concept is simple: use ARToolkit to track the pan angle of a fiduciary mark, convert to serial data, send to Arduino, have the Arduino set the servo angle of the Robotzone DDP155 pan table.
Here is my tweak to ARToolkit's simpleLite.c example, a few lines I added to the "if (gPatt_found)" block of the "Display" function:
If you miss the VIC-20, here comes the Maximite. BASIC programming, uses PS2 keyboard, VGA out, and based on a PIC32. Prices look aorund $60-$70.
In a way it reminds my of my old RVHE boards (which are no longer produced). They were incredibly simple to program in BASIC with a very fast interpreter. They didn't have a keyboard/VGA connection, but did have Ethernet you could telnet into! The Ethernet did not DHCP very well though, so they were not as useful as I was hoping.
I've been thinking about ways audio output from an iPhone could communicate with an Arduino.
Oh yes, you could use DTMF with an external DTMF detector chip, but what about doing frequency detection without any active external devices?
Here is a Frequency Measurement Library for Arduino w. Atmega168/328 that needs some external resistors and capacitors, no active devices needed. A 1:1 audio transformer might be wise as well.
I recently built a geiger counter kit (Chaney Electronics C6981). It can measure the number of times particles of ionizing radiation pass through the tube per minute. So does it work?
First, let's try it on wood:
Now, let's try it on granite:
So indeed, the granite is more than twice as radioactive as the wood!
But the Wiznet-based shield is still $40. On the horizon, for $46, is the new Microchip-based chipKIT Max32 Arduino-Compatible that has Ethernet on board - but the PHY/magnetics might require a shield that is not yet released.
Some day we will have an easy-to-program microcontroller for an affordable price that can do DHCP!
***** SUNDAY, June 5, 2011 ***** 1:00pm ***** Machine Project ***** 1200 D North Alvarado Street ***** Los Angeles, CA 90026 ***** Google map of Machine Project
John Carpenter is an interactive designer and artist who explores complex data and spaces. based in santa monica, he works for morphosis architects (2005-present) as the visual and interactive designer and teaches media arts at loyola marymount university. john earned his MFA from the department of design | media arts in the school of the arts and architecture at UCLA (2009) where his thesis work, Shoreline Equivalent: Qualitative Spaces in Interactive Art, used qualitative observations of sand patterns at the beach to create an immersive, interactive installation that allowed viewers to explore the fluid, dynamic and emergent nature of the shoreline.
Karl Lautman makes kinetic sculpture. His work, which is in public, private, and corporate collections and was recently on display at Mindshare LA, explores the tension between what we want or expect machines to do, and their often conflicting agenda. He'll be discussing this theme in more detail, with photos, video, and actual examples of finished and in-process work. The video of his piece, "Ouroborus" (pictured), has been viewed more than 600,000 times on YouTube.
Alex Braidwood will be demonstrating "Noisolation Headphones", an invention for mechanically transforming the relationship between a person and the noise in their environment. Alex Braidwood is a designer and design educator who maintains a practice centered around a process of play, experimentation and research through making. Alex's current work explores methods for transforming the relationship between people and the noise in their environment. Alex earned his BFA in Graphic Design from the College for Creative Studies in Detroit, MI and his MFA in Media Design from the Art Center College of Design in Pasadena, CA.
So here is a proof-of-concept of using a Chumby Widget to send commands using XMLsockets to a Python program running on the Chumby, which in turns controls the Arduino over USB serial using Firmata. Note the LED on pin 13 turning on and off when I hit the orange rectangle on the widget:
This took me a while to figure out. I don't think there are a lot of people using ActionScript xmlsockets in a Chumby widget to talk directly with the Chumby - they are usually hitting external websites.
If you want to talk to a python program running on the Chumby itself, you need something like:
from socket import* s=socket(AF_INET,SOCK_STREAM) s.bind(("localhost",6666)) s.listen(1) policyFile ='<?xml version="1.0"?><!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"><!-- Policy file for xmlsocket://socks.mysite.com --><cross-domain-policy><allow-access-from domain="*" to-ports="6666" /></cross-domain-policy>' while1: print"waiting for connection..." conn,addr=s.accept() print"connection made" data=conn.recv(2000) print"data: ",data if("policy-file-request"in data): conn.send(policyFile) conn.close() print"connection closed."
Note the weird XML. You to send that back to the Flash Player in response to a policy-file-request to assure the Player that you have the right to access that socket. After that, your ActionScript can talk freely using xmlsockets with the python program running on the Chumby.
Now I just need to have the Chumby widget XML socket messages control Firmata transmissions to contol the Arduino.
Followup: Well, the Actionscript and Python worked fine on my laptop, but a Chumby Widget needs a proper "crossdomain.xml" served out for the pair to work...see the next post!
Firmata is based (mainly) on a three-byte MIDI-like message. If you read the protocol and have no background, it won't make any sense. Let's start with a digital output message.
import serial # find your own usb serial port by "ls /dev" and note I changed the Firmata on my Arduino to use 9600 bps ser=serial.Serial('/dev/ttyUSB0',9600,timeout=1) # 0x91 is the digital write message (0x90) + "port" 1 (on larger board, there might be more ports), the second two bytes are a bitmask of the digital I/O pins in terms of if they should be on or off # turn on all digital outputs ser.write(chr(0x91)+chr(0x7F)+chr(0x7F)) # turn off all digital outputs ser.write(chr(0x91)+chr(0x00)+chr(0x00))
If that isn't exciting enough, let's enable this over a TCP socket using tcp_serial_redirect.py. One on terminal:
My scheme to establish a simple method for web-enabled / widget-enabled control of an Arduino from a Chumby (aka "Chumbuino") moves forward. Theron Trowbridge suggested the use of Firmata, a MIDI-like protocol, as a standard serial control protocol between the Chumby and the Arduino. I grabbed PDuino (Firmata for PD) and Pyduino (Firmata for Python), loaded up "OldStandardFirmata" on my aging Arduino NG, and was able to get the Pin 13 LED to flip on and off reliably through both.
Now I need to 1) create a Python program to hit a web service to implement Firmata and 2) then create the web service using Google App Engine
Follow-on projects include 3) socket-to-serial gateway in Python and 4) tweak Pduino to output to a socket and 5) then xmlsocket-to-serial gateway in Python with 6) Chumby Widget with xmlsockets to control Arduino.
So after getting Chumby Python + PySerial on a USB stick, I hooked up a USB hub to the Chumby One, hooked up the USB stick to the hub (which ends up at /mnt/usb on the Chumby), and also hooked up the Arduino to the USB hub:
Then I wrote this program on the Chumby:
from socket import *
import serial
from time import sleep
ser=serial.Serial('/dev/ttyUSB0',9600,timeout=0)
s=socket(AF_INET,SOCK_DGRAM)
s.bind(('',10001))
while 1:
data = ser.read(256)
if len(data) > 0:
print "Got:",data
s.sendto(data,('[my server IP addr]',10001))
sleep(0.5)
print "not blocked"
Note that this program is not blocked waiting for Serial input from the Arduino. On my Internet server, I wrote:
from socket import *
s=socket(AF_INET,SOCK_DGRAM) # create UDP socket
s.bind(('[my server IP addr',10001)) # bind to port 10001
while 1:
[msg,addr]=s.recvfrom(256) # receive packet of up to 256 bytes
print "addr:",addr," message:",msg
Then everything that the Arduino sends out on Serial to the Chumby goes over UDP to my Internet server.
I once had a holography kit a long time ago (for use with my HeNe laser), but never got around to building the recommended stable sandbox for it, and it got lost in a move.
This Christmas, Carla bought me the Litiholo Kit. This is the most awesome introductory holography kit ever. First, there is no wet development of the plates. You just expose them for around five minutes, and they are done. It even comes with a blue LED keychain light to use as a "safelight" while you are exposing the film in the dark with the red laser.
The Litiholo Kit uses a known technique for easy holograms - there is only a single expanded beam cone from a solid-state laser. The part that directly illuminates the film plate is the reference beam, and the part that illuminates the object and bounces off of it is the object beam. There is no need for additional mirrors or lenses to steer the reference beam around separately from the object beam. Plus the system is designed to minimize vibration between the object and the plate, which is one of the biggest source of failed holograms.
So how was my first five minute exposure?
You can see the hologram above, and the red matchbox car comes with the kit below. I was amazed how easy it was to make a hologram! So I got creative:
So obviously these are not the best holograms - they are a bit messy, they are small, and because of the angle of illumination you have real limitations on the size and shape of what looks good. But on the other hand, it is incredibly simple, works, and is a great introduction to holography!
Regarding cheap PHY2PHY (physical to physical interactions over the Internet), I am still convinced that it is hard to beat the Lantronix products for having a solid serial to TCP/UDP/IP/DCHP stack. My best results was with the good old Xport. My results with the Xport Direct and an Xport Arduino Shield have been less than stellar, but it may just be do to the sad state of Arduino SoftwareSerial (even the better versions). Both Lantronix products are around $50.
My best results were with Comfile CUBLOC that has two USARTS, one for monitoring the system, the other for serial-to-Ethernet. But wait, now you can get the Arduino/Wiring Board-esque Sanguino with 2 USARTS. The Sanguino (no USB) is around $30, the Wiring Board itself is $60 if you need a lot of digi I/O.
Then I come upon a new Wind Sensor from Modern Device. The anemometer impeller solution was always kind of expensive plus it took a long time to spin down once spun up. I wonder how responsive this one is? At $17, it is also way cheaper.
I have a Mini2440, but it came with a Linux with unworkable DHCP. Weird. Oh yes, I can download a toolchain and compile my own kernel and load it up to get DHCP working. Maybe I can even compile and get Python going. If I could spend a week straight working on this, sure I could do it.
Meanwhile I have the SheevaPlug, which does DHCP and Python out of the box, but no easy GPIOs. You can hook it up to an Arduino though. So looks like that will be the answer to my madness.
***** SUNDAY, February 27, 2011 ***** 1:00pm ***** Machine Project ***** 1200 D North Alvarado Street ***** Los Angeles, CA 90026 ***** Google map of Machine Project
Christopher O'Leary is an artist who works across mediums including video, photography, sound and installation. Utilizing novel lighting and post-production techniques, the creation of his work is tightly controlled, enhancing and building upon the performative aspects of his projects. These activities include performance art, computer-vision systems and non-linear videos.
Los Angeles based artist Lewis Keller manipulates frequency, timbre and amplitude via performance, installation, fabrication and digital media. His work combines sophisticated technology with crude humble structures, inviting listeners to question their relationships with time, technology, space, sound and silence. He received his BA from Colorado College and his MFA from CalArts.
Michael Wilson and Chris Weisbart
Michael Wilson and Chris Weisbart of the Natural History Museum of Los Angeles will be presenting on the incorporation of DIY and open source technologies in the museum exhibit world, where the need for interpretive and educational technology is often not matched by budgets. The team will present a lecture on projects they have developed for the NHM as well as a current project that Michael and Chris have been working on in collaboration with students at New Mexico Highlands University dealing with the Miller-Urey experiment.
I think the OpenServo project is pretty cool! My first scheme on how to do Touch was to read the error voltage from a servo driving the finger to indicate how hard someone was pressing on it. Because of the opacity of the servo circuit, I pretty quickly gave up on this idea, and went with pressure sensitive resistors on the fingertip.
Now with OpenServo, I could use the actual position register and/or the back EMF register to try to determine position in a touch-over-IP solution, without having to deal with any funky pressure sensors.
Whether this would actually work or not is unclear, as you would need to apply enough touch pressure to either move the servo at least one notch out of position, or enough to increase the servo power or back EMF reading. But the price is right!
You know what would go good with the OpenServo? The PIC-MINI-WEB! At $40.95 you get an Ethernet PHY, TCP/IP stack, and it would be easy to I2C over to the OpenServo. Cheap PHY2PHY goodness!