Posts tagged: Programming

Rasperry Pi SPI Touchscreen X-Server

comments Comments Off on Rasperry Pi SPI Touchscreen X-Server
By , October 19, 2012 19:37

Thanks to Dominique Gallot and vis, I managed to drive a MI0283QT-2 color touchscreen on the raspi 🙂

I followed the steps at www.gallot.be/?p=197 and added the framebuffer driver by vis to run X and LXDE-desktop. 40px in vertical are missing and touch is not working yet, but it’s very funny to use a mouse on the mini-screen.

Dominique Gallot’s howto is very accurate, so these are just additional notes to avoid a few catches I noticed:

  1. Install debian –  the Chris boot kernel was not required – the module spidev is already included in the latest debian image
  2. Put this line into /etc/modules:  modprobe spidev bufsiz=256000
  3. Install wiringPi https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/
  4. Download and compile MI0283QT2-pi
  5. Download the framebuffer driver by vis: https://snr.freifunk.net/trac/vis/browser/raspberrypi/fb.cpp into a subfolder on the same level as MI0283QT2/ and compile it with:                         gcc -lstdc++ -iquote ../MI0283QT2 fb.cpp ../MI0283QT2/MI0283QT2.cpp ../MI0283QT2/font*.c -o fb
  6. Put https://snr.freifunk.net/trac/vis/browser/raspberrypi/10-monitors.conf into /usr/share/X11/xorg.conf.d to set X server resolution to 320×200 px
  7. Unplug HDMI ( / DVI adapter)
  8. Move all USB devices to a powered hub
  9. Use a stroooong 5V usb power supply – a 1000 mAh smartphone plug was not enough
  10. Run these commands from a terminal connected via SSH as root:
gpio load spi
gpio -g mode 18 pwm
gpio -g pwm 18 1000
./fb

start the x-server in a second console:

startx

As you can see in the pictures, the startmenu of LXDE is not really readable and the terminal- fonts are too small, but I’m sure to find some nice applications for this setup.

The gameoflife demo runs very well: its fast and stable. It uses 30-34% CPU

Building instructions

Arduino + Touchscreen!

comments Comments Off on Arduino + Touchscreen!
By , June 27, 2012 19:41

The arduino touchscreen shield by watterott.com :: URL? is great fun. TKilla built:

  • MIDI Controller for VJing and Audio-Studio
  • PONGuino-touch – 2 player touchscreen game
  • PC remote control with mouse- and keyboard- econtrol, VLC mediaplayer control,…
  • various tests/demos

Infos, Code, Videos & more pictures coming soon

MirrorBot Video – Moving Projections Controller Interface

comments Comments Off on MirrorBot Video – Moving Projections Controller Interface
By , January 5, 2011 17:58

YouTube Preview Image

Part #02 of the MirrorBot Demo Video


** Video Installation Audio Visual Special Event n8 @Tacheles 17.12.2010

** Details of the Controller device:

  • Programs and Live Mode LCD screen interface

Part #01 of the Video, Installation in MIKZ, Berlin 03.2010: /2011/01/03/mirrorbot-video-moving-projections-in-action

Technical details: lab.synoptx.net/mirrorbot

MirrorBot Video – Moving Projections in Action

By , January 3, 2011 02:03
YouTube Preview Image

Demo Video of the “moving projection” video installation at Suchtfaktor elekto party in MIKZ, Berlin 03.2010
Monthly, every 1. saturday, also in 2011!

The “MirrorBot” is a Arduino minicomputer system to control the position of videobeamer projections. Two servomotors move a mirror in X- and Y- axis, which reflects the beamer image. The servos are controlled by a micro-controller with an LCD. It can play various movement pattern programs automatically, adjusted to the music speed by setting BPM or ‘live’ with the joystick and button.

Headsquatter VJs use it to move visuals around the whole dance floor when playing in clubs. Moving projections become a live instrument! 😀

more info in older posts :

lab.synoptx.net/2010/03/13/mirrorbot-v3-in-action

Music by droidsystem.com many ThanX!!

Video: PONGuino – Arduino & S65 Shield – 2 Player MiniGame

comments Comments Off on Video: PONGuino – Arduino & S65 Shield – 2 Player MiniGame
By , December 27, 2010 04:55
YouTube Preview Image

Here is a video about the PONGuino game for 2 players on a minicomputer with mobile-phone display and joysticks.
The box contains an Arduino 2009, a S65-LCD Shield and a gamepad from an old playstation 1. It runs autonomous on 9V battery.

The device is originally built for the “Mirrorbot” moving projection system [ lab.synoptx.net/mirrorbot ], but the pong-game-code from www.codetorment.com was perfect to test the LCD and – really – it’s fun to play!

The system is just fast enough to play a game, but you have to take care, how many pixels and how fast you draw. There is no double buffering and just a serial line between arduino and screen……

more info in this post from 02.2010

Sorry for the low quality photo-cam recording.
The LCD is not bad in reality: You don’t see the pixels and the scratches are only on a transparent folie..





git – Version Control System – Workshop @Nerdcafe

comments Comments Off on git – Version Control System – Workshop @Nerdcafe
By , September 25, 2010 18:35

git-workshop

27.09. – 19:00

nerdcafe.10247.net

This lecture is an introduction to git, mainly from client-site,
but some tricks for servers to control access are also introduced (gitosis).
Furthermore, with git-svn you are able to reach a svn-repo via a git repo.

Science meets Art – new Website released

comments Comments Off on Science meets Art – new Website released
By , August 29, 2010 04:17

www.sciencemeetsart.net

.. is a project of berlin based artists and university scientists in cooperation with prohelvetia.ch

Aritsts and Scientists colaborate for some weeks and present the results in an excebition.

They are going to post their latest results in this new blog during the next weeks: sciencemeetsart.net/blog

If you are based in berlin, checkout the events: Science meets Art —  Pilotprojekt Termine


Projekte

Ping Qiu

Web-Administration und Projektkoordination

bees&butterflies. artists in (e)motion, Carola Muysers

Grafik
Synoptx Webentwicklung, ZBognetti,  www.synoptx.net

Programmierung
Synoptx Webentwicklung, www.synoptx.net

Beratung / Suschmaschinenoptimierung
Synoptx Webentwicklung, www.synoptx.net

btw.: Have a look to this blog for more cultural berlin info: www.berlin.woman.de

Color Scheme Generator

By , August 15, 2010 11:28

I personally prefer to choose the Color Code by myself but when you suggest multiple sketches can be an help to dont repeat yourself.
the best tool is free to use on-line:
colorschemedesigner
with Html / Css / text / ACO (photoshop palette) / GPL (Gimp palette!) generator to save the color schem

Linux tools:
Firefox Plugin: Palette Grabber 0.4.1 [testing now come back visit us to know more!]

http://registry.gimp.org/node/15833 [Python plugin!]

AGAVE
ich spiele gerade mit diesen color code generator Agave
Agave is nothing special is only 1,262 kb big

I have found a Python plugin to let Agave run in Gimp ::
Color Scheme Helper for Gimp

A Python plugin that start the color scheme designer Agava for creating a new color scheme. The created color scheme can be saved as a Gimp color palette and loaded into Gimp.
In the software engine the only pretty idea is the contrast between text-background calculation…
changing the color automatically shows if is better a white or a black text on top of this color: Agave calculate if the bg color has a number higher then 555555 THEN the text is black and the opposite when the choosed gamma color is darker then 555555 the text will be white.

I m using AGAVE  as teaching tool, to show direct example of text contrast to graphic design students.

#tk: based on math – hmm naja interesting algorithm anyway … hehe ya should generate for special things like: body-font, screen-bgcolor, … i want some faders that automagically apply like livestyle to the site 😀 with correct pi and phi equations.

Color Scheme Generator version 3.51  has many new features!

The preview page I dont really like it use the colors in illogical contrast with the background

Software Remote Control – Python GTk Servo Control

comments Comments Off on Software Remote Control – Python GTk Servo Control
By , November 28, 2008 01:03

MirrorBotGUI Servo Control Software

ServoControl - Transparent window, no decorations in python GTK / KDE

ServoControl - Transparent window, no decorations

The software interface  is a gtk-python program, which controls the movements by keyboard and graphical user interface.

We use this during live visual performances on a Asus EEE netbook, which is also running as a preview screen for the video mixer output.

There are 9 automatic programs to move the projections in different patterns across the wall.

9 automatic, BPM syncronized mirror movent programs

Servo Control GUI live visuals action on eeePC 701

Servo Control GUI live visuals action on eeePC 701

Program Types:

  • Scanner – up down movements in 5° or 10° steps, crossover and following
  • Hotspots jumping: various pattern between the 2x 6 hotspots: crossover and following,..

The intervals of the movements can be changed to match to the beat of the music in BPM. In manual mode, the mirrors can be moved directly by knobs, – so it can be used just as a live instrument.

This program is focused all the time and receives keyboard inputs. Often we move the buttons out of the screen to see only the display with interesting values (current mirror positions, program,BPM) of the bots.

Video Mixers + eeePC: -preview -ServoControl

Video Mixers + eeePC: -preview -ServoControl

The keyboard inputs are sent to the Arduino practically directly over serial by the python GUI. Button click events in the interface also send one char over serial line.

The standard Arduino firmware is limited: it can only receive one char at a time, so for receiving a string of multiple letters you need to implement a loop and wait for a terminating string. For this reason the  first version of this software could sent only “+” and “-” to change the speed, but not a complete new value (like “180” BPM) 🙂

Keyboard Shortcuts:

Servo Control GUI on eeePC in live VJ bpx

Servo Control GUI on eeePC in live VJ bpx

  • 0-9 : select program
  • “s” : start / stop
  • + : faster (+1 BPM)
  • – : slower(-1 BPM)
  • x : manual mode on/off

The python GUI  also reveives strings over serial from the Arduino and extracts the interesting values to display and then refreshs the text fields.

The data format sent by the Arduino is very short and simple, because the serial line is just fast enough to transfer:

  • short program descriptions (20 chars) – on program change events
  • current speed – every 100-200ms
  • beat tick – on timeout

Sending longer strings blocks the Arduino and it will not respond to serial input or loose some commands.

Luckily sending and receiving contemporary works just fast enough  and also python/Gtk handles input and output easily without threading.

btw: do not use to many (long) strings in Arduino or the RAM and flash memory is full soon, but its not that bad (specially with the 328) – this software, uses less than half the flash memory and ca. 1/4 of the RAM. (must check..)

KnowTheKeyboard – Javascript RIA Game

comments Comments Off on KnowTheKeyboard – Javascript RIA Game
By , July 29, 2008 17:06
KnowTheKeyboard Screenshot

KnowTheKeyboard Screenshot

This is an educational Browser Game for Children and Computer Beginners
to learn how to use Keyboard Shortcuts.

The Game is integrated into the TabStarter Easy Launcher
like a RIA Application by using Python gtkmozembed Widget.

It uses Dojo Javascript Library and our synoptx javascript libraries and offline toolkit

Version 0.1 :: (proof of concept)

Level 1 – more Levels coming soon

Level 1: Copy and Paste
Learn to use ctrl + c and ctrl + v

licenced under GPL

Debian Packages

Play online: KnowTheKeyboard Level 1

keys

Play Game!

WordPress Open Source Blog System
SynOptX Lab Theme