Beiträge vom Januar, 2008

Platinen produzieren

Mittwoch, 23. Januar 2008 15:27

Eigene PCBs (Platinen für elektronische Komponenten) herzustellen ist nicht so schwer, wie man denken könnte. Das Makezine hat dazu gerade einen sehr interessanten Artikel geschrieben: HOW TO – Make PCBs.

PCB

An der FH Potsdam haben wir auch gerade unsere eigenen Platinen hergestellt und Zach Eveland hat eigenhändig alle meine 90 Löcher gebohrt. Danke nochmal dafür!

Thema: Persönlich | Kommentare (5) | Autor: Stefan

Marx-Generator

Dienstag, 22. Januar 2008 8:46

Ich war früher in der Schule immer von den Geräten zu Blitzerzeugung im Physikunterricht fasziniert. Elektrostatik fand ich super cool.

Marx GeneratorEin Gerät zum Blitzeerzeugen ist relativ einfach aufgebaut. Mike hat auf seiner Website electricstuff.co.uk eine sehr gute Anleitung für den Bau eines Marx-Generators geschrieben.

 Eigentlich benötigt man nur einen Haufen Kondensatoren und Widerstände und schon kann es losgehen.

Dazu schreibt er noch, wie das Gerät physikalisch funktioniert.

Aber immer schön vorsichtig. Hier geht es um relativ hohe Spannungen, die geschalten werden. Von daher: Benutzung auf eigene Gefahr! *muhahahahahahahaha*

Thema: Persönlich | Kommentare (3) | Autor: Stefan

Arduino – Button

Samstag, 19. Januar 2008 9:19

(Die vorherigen Beiträge zum Start mit Arduino findest Du im Menü beim Punkt Arduino.)

Heute zeige ich Dir, wie man mit einem kleinen Microtaster eine LED an und ausschalten kann. Aufgebaut wird die Schaltung auf einem Breadboard (siehe Foto).

Breadboard Kontaktierung

Die Striche, die ich her aufgemalt habe, sollen die Kontaktierung des Breadboard verdeutlichen. Die außenliegenden Linien sind die Stromkanäle. Du solltest Dir angewöhnen, außen immer den GND (Ground – so wie der Minuspol) und innen immer den 5V+ anzuschließen. Dann kommst Du nie durcheinander. Diese Stromschienen sind von oben nach unten mit einander verbunden. In der Mitte eines Standart-Breadboards sind sie unterbrochen. Dort habe ich normalerweise immer Kabelbrücken vorgesteckt.

Die inneren Kontakte des Breadboards sind quer mit einander verbunden. Jede Reihe ist also immer ein Kontakt.

Für den Aufbau von Button brauchst Du:
1x Widerstand 10 kOhm
1x Button
1x LED

Button Teile

Bau die Schaltung einfach nach, wie Du sie auf dem Bild siehst. Und lade das Programm Button aus dem Sketchboard»Examples»Digital»Button auf das Arduino-Board (wie das geht, steht in der Anleitung von Arduino – Blink).

Arduino – Button

Wie Du im Programm erkennen kannst, wird der Pin, der von dem Button kommt als Input deklariert: pinMode(inputPin, INPUT). In der Loop-Funktion gibt es eine Hilfsvariable val, in die der Wert des Buttons ausgelesen wird. Der Button liefert entweder den HIGH, wenn er gedrückt ist, oder LOW, wenn er nicht gedrückt ist.

Nun wird geprüft, ob die Variable val gleich HIGH ist. Das passiert mit einer if-Abfrage. Wichtig ist, dass man mit einem doppelten Gleichheitszeichen auf etwas prüfen muss ==.

Wenn val == HIGH ist, wird die LED ausgeschalten digitalWrite(ledPin, LOW). Sonst (else) wird sie eingeschalten digitalWrite(ledPin, HIGH).

Die Struktur einer

if-Abfrage sieht so aus:

if (Bedingung) {
    Befehle;
} else {
    Befehle;
}

So und jetzt bist Du dran. Ändere das Verhalten des Programms so, dass die LED angeht, wenn Du den Button einmal drückst und sie ausgeht, wenn Du wieder auf den Button drückst.

Wenn Du mehr über Arduino erfahren willst, klick einfach hier: Kategorie Arduino.

Thema: Persönlich | Kommentare (0) | Autor: Stefan

Elektromagnetischer Sequencer

Donnerstag, 17. Januar 2008 7:49

Ähnlich zu einem Projekt, das Markus an unserer Hochschule gemacht hat, ist auch das hier ein Sequencer, der mit Hilfe von Elektromagneten gegen Objekte klopfen kann. Realisiert wurde das Projekt mit Arduino und vermutlich Processing.

Thema: Persönlich | Kommentare (1) | Autor: Stefan

Arduino – Blink

Dienstag, 15. Januar 2008 20:17

Heute wollen wir uns mal die Programmstruktur des Blink-Programms ansehen. Die Schaltung findest Du im vorherigen Beitrag: Arduino – die ersten Schritte.

Öffne die Arduino-Software und lade das Programm Blink (File»Sketchbook»Examples»Digital»Blink).

Es beginnt mit /* Wie in vielen Programmiersprachen werden auf diese Weise mehrzeilige Kommentare eingeleitet. Sie werden nicht von der Software interpretiert. Der mehrzeilige Kommentar endet mit */ Einzeilige Kommentare leitet man mit // ein. Er muss nicht beendet werden, sondern endet mit der Zeile.

/*
* Blink
*
* The basic Arduino example. Turns on an LED on for one second,
* then off for one second, and so on… We use pin 13 because,
* depending on your Arduino board, it has either a built-in LED
* or a built-in resistor so that you need only an LED.
*
* http://www.arduino.cc/en/Tutorial/Blink
*/

Danach folgt die Zeile

int ledPin = 13; // LED connected to digital pin 13

int startet eine Variablendeklaration. Variablen sind Kontainer (Buchstaben oder Wörter), die Werte speichern können. int steht dabei für eine Variable, die ganze Zahlen speichern kann. In diesem Fall lautet der Variablenname ledPin. Mit dem Operator = weisen wir der Variable den Wert 13 zu. Die Befehlszeile wird mit einem Semikolon beendet. Dahinter steht ein Kommentar.

void setup() // run once, when he sketch starts
{
pinMode(ledPin, OUTPUT); // sets the digital pin as output
}

void ist das Schlüsselwort, das eine Funktion startet. setup ist der Name der Funktion und die Klammern dahinter deuten an, dass an diese Funktion keine Werte gesendet werden. Für den Anfang genügt es zu wissen, dass diese Klammern einfach nötig sind. Alle Befehle in der Funktion zusammen werden mit geschweiften Klammern gruppiert {}. Die Funktion muss keine Befehle enthalten, ist aber mit der Funktion loop zwingend erforderlich für Arduino.

In der Funktion setup() gibt es hier ein Befehl: pinMode(); Dieser Befehl benötigt zwei Parameter. Zum einen Die Nummer des Pins, den wir ansprechen wollen, zum anderen die Funktion, die er später haben soll. Wir wollen, dass der Digitale Pin 13 auf dem Arduino-Board ein Signal ausgeben soll. Also setzen wir unsere Variable ledPin (der wir ja schon den Wert 13 zugewiesen haben) ein und legen fest, dass dieser Pin als OUTPUT fungieren soll (sonst wäre auch INPUT möglich).

void loop() // run over and over again
{
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); // waits for a second
}

Die Funktion loop() wird auf dem Arduino-Board ständig widerholt. Es ist somit die Hauptfunktion. Der erste Befehl in dieser Funktion lautet digitalWrite(); und auch dieser bekommt zwei Werte. Der erste ist wie gehabt der Pin, der angesprochen wird (unser ledPin), der zweite (HIGH) schaltet das Signal ein. Wird der Befehl ausgeführt, sendet das Arduino-Board eine Spannung von 5V an den Pin 13 (Nomale LEDs werden mit 2-3V betrieben und würden bei 5V zerstört werden. Das Arduino-Board besitzt aber auf dem Pin 13 einen eingebauten Vorwiderstand, der unsere LED schützt.)

Der Befehl delay(1000); ist eine eingebaute Pause von 1000 Millisekunden, oder auch von einer Sekunde.

Nun wird die Spannung von 5V mit digitalWrite(ledPin, LOW); wieder abgeschalten. Da das Arduino-Board sehr schnell arbeitet, benötigen wir auch hier wieder eine Pause, um eine Änderung zu sehen.

Da die Funktion loop() wiederholt wird, wird der digitale Pin ständig ein und aus geschalten. Jede dieser beiden Phasen dauert eine Sekunde.

Ich hoffe, Du konntest der Erklärung folgen. Beim nächsten mal werde ich über Taster sprechen.

Wenn Du mehr über Arduino erfahren willst, klick einfach hier: Kategorie Arduino.

Thema: Persönlich | Kommentare (1) | Autor: Stefan

Arduino – die ersten Schritte

Sonntag, 13. Januar 2008 9:43

Vorheriger Beitrag: Start mit Arduino

Du hast Dein Arduinoboard und willst jetzt sehen, ob die Programmierung wirklich so einfach ist, wie ich es versprochen habe? Dann bist Du hier genau richtig.

Als erstes muss Du Dir die Arduino-Software von Arduino.cc herunterladen.

Mac: Im Download-Paket für den Mac befindet sich auch der USB-Treiber. Er befindet sich im Unterverzeichnis Drivers. Es gibt eine USB-Treiber-Datei für normale Macs und eine für die aktuellen Intelmacs. Such Dir die richtige aus und klick einfach drauf. Das wars dann auch schon.

Windows: Im Download-Packet befindet sich der FTDI USB Treiber. Du kannst ihn hier: drivers/FTDI USB Drivers finden. Draufklicken, Arduino per USB-Kabel verbinden, dann startet die Windows-Hardwareerkennung automatisch.

Hier ist der Link zur englischen Anleitung auf Arduino.cc. Dort gibt es auch einen Anleitung zum Benutzen von Arduino unter Linux.

Well done. Wenn Du Arduino noch nicht verbunden hast, ist jetzt ein guter Zeitpunkt dafür.

Jetzt öffne die Arduino-Software. Als erstes musst Du einstellen, welches Arduinoboard Du hast.

Arduino: Board auswaehlen

Gehen wir mal davon aus, dass Du ein aktuelles Arduino Diecimila Board hast, dann kannst Du Arduino Diecimila oder als ATmega168 (Bezeichnung des Chips auf dem Board) betreiben.

Jetzt musst Du den USB-Port einstellen. Es kann sein, dass Du es bei jedem neuen anschließen von Arduino wiederholen musst.

Arduino USB Port einstellen

Das waren die Einstellungen, jetzt wollen wir aber mal ein Programm auf das Arduino-Board stellen. Dazu wählst Du aus dem File-Menü den Punkt: File»Sketchbook»Examples»Digital»Blink.

 

Es öffnet sich das »Hallo Welt« Programm von Arduino. Wie bekommt man das jetzt auf das Board? Dazu drückst Du einfach auf die Upload to I/O Board Taste.

Arduino Blink

Wenn alles richtig eingestellt und verbunden ist, solltest Du jetzt sehen, wie die RX und TX Leuchtdioden (LEDs) auf dem Arduinoboard flackern. Das zeigt Dir an, dass Daten übertragen werden. Sind alle Daten angekommen, sollte eine kleine SMD-LED auf dem Board blinken. Sie ist mit dem Digital-Out-Kanal 13 verbunden und das was da läuft ist schon das kleine Blink-Programm.

Arduino besitzt 14 digitale Eingangs- und Ausgangskanäle. Du kannst hier Taster, Leuchtdioden, Servos und ähnliches betreiben. Sechs dieser Kanäle sind sogar dimmbar, dazu aber später mehr.

Zu den digitalen Pins (Anschlüssen) kommen sechs analoge Eingänge. Der unterschied zwischen einem digitalen und einem analogen Signal ist der, dass ein digitales entweder aus oder an sein kann (z.B. ein Taster) ein analoges liefert Zwischenwerte (z.B. ein Lichtsensor – je nach Lichteinfall ist der Wert größer oder kleiner).

Die übrigen Pins sind für die Stromversorgung auf dem Breadboard (Steckbrett für Komponenten) zuständig.

So, jetzt nimm mal eine LED und steck sie in die obere Pinreihe mit dem langen Bein in Digital Pin 13 und mit dem kurzen in den daneben liegenden GND (Ground – kann man sich als Minus-Pol vorstellen). Normaler Weise sollte man keine LEDs ohne Vorwiderstand betreiben aber der Kanal 13 hat schon einen Vorwiderstand eingebaut. Die LED sollte jetzt auch blinken.

Geh in die Arduino-Software und ändere die Werte der delay(1000); Befehle in delay(250);. Lade das Programm aufs Arduino-Board und guck, was passiert.

Zeit zu experimentieren :)

Wenn Du mehr über Arduino erfahren willst, klick einfach hier: Kategorie Arduino.

Thema: Persönlich | Kommentare (1) | Autor: Stefan

Start mit Arduino

Samstag, 12. Januar 2008 9:27

Arduino ist eine Physical Computing Plattform, die Dich in die Lage versetzt, Objekte mit Funktionen zu versehen.

Interessante Projekte, die mit Arduino realisiert wurden sind z.B. die Klangwiese, die Lightcubes, die Lichtwaage und das sehr komplexe Projekt Call Me. Wenn man sich diese Projekte ansieht, versteht man schnell, was sich durch Arduino für Möglichkeiten eröffnen.

 

Arduino besteht aus drei Teilen: der Software Arduino, die für PC und Mac verfügbar ist, dem Arduinoboard – eine kleine Leiterplatte mit allen Komponenten und der Website Arduino.cc auf der sich Tutorials und das Forum befinden. Die Software und das Hardwaredesign stehen unter Creativ Commons Lizens und sind somit kostenlos. Ein Arduinoboard kostet zwischen 25 und 30 Euro.

Kaufen kann man ein Arduinoboard im Internet oder in Berlin z.B. bei Segor.de in der Kaiserin-Augusta-Allee 94.

Wir benutzen Arduino im Studium und das Startset bestand aus:

Am Ende hat das komplette Startset ca. 60 Euro gekostet aber es hat sich mehr als gelohnt! Die Teile hier kann man bequem bei  Conrad-Elektronik (außer das Arduinoboard) bestellen, alternativ gibt es noch Segor.de. Dort bekommt man auch Arduino.

Wenn Du mehr über Arduino erfahren willst, klick einfach hier: Kategorie Arduino.

Thema: Persönlich | Kommentare (10) | Autor: Stefan

Projekt LightResource

Freitag, 11. Januar 2008 7:42

Woran arbeite ich gerade? Im Kurs Physical Computing arbeite ich gerade an meinem Projekt LightResource. Dabei geht es um die Visualisierung des Energieverbrauches. Es gibt eine Lichtgießkanne,

Lichtgießkanne

aus der Licht fließt und mit der man ein Blumenfeld gießen kann. Dabei richten sich die Rosen auf und fangen zu leuchten an. Je nachdem, wie lange man die Rosen gegossen hat, fallen die Blumen nach einer Weile um und gehen aus.

Blumenwiese

Natürlich wird die Wiese noch mehr ausgeschmückt. Ich halte Euch auf dem laufenden. Was haltet Ihr von dem Konzept?

Thema: Persönlich | Kommentare (1) | Autor: Stefan

Blogumbau

Donnerstag, 10. Januar 2008 22:51

Naja, zurzeit ist hier nicht so viel los. Das liegt unter anderem daran, dass ich diesen Blog grundlegend umbauen werde. Ich werde alte Beiträge löschen und mich auf die Themen Interfacedesign, Usability, Screendesign, Make, Arduino und eigene Projekte konzentrieren. Private Beiträge werde ich kaum noch schreiben. Wer wissen will, was abgeht, kann anrufen oder eine Email schreiben – Skype geht auch (quicksilver79).

Auf jeden Fall wird es sehr spannend und interessant werden. Ich werde die Beiträge allgemein verständlich halten und auch Support zu Fragen meiner Kernthemen bieten.

Und immer daran denken: If you can’t open it, you don’t own it!

Thema: Persönlich | Kommentare (2) | Autor: Stefan

Silvester 2007

Dienstag, 1. Januar 2008 16:34

Ich wünsche Euch allen ein gesundes neues Jahr 2008!!!

Thema: Persönlich | Kommentare (2) | Autor: Stefan