31. März 2011

Gewinnen bei Caschy

Normalerweise ist unser guter Trony ja der Caschy Jünger.
Aber entweder er hat es einfach übersehen oder will seine eigenen Chancen erhöhen! ^^
Aber als ich gerade zu faul zum Lernen für Digitale Signalverarbeitung war und mich ablenken wollte bin ich bei Caschy (übrigens auch bei den Dailys auf der rechten Seite GANZ OBEN) gerade noch auf ein super duper Gewinnspiel gestoßen.
Caschy feiert 6 Jahre seinen Blog und hat bei Spendern mal ein paar Geschenke ausgegraben.
Sind ein paar echt super Sachen dabei wie iPad oder FlexibleLove von myfab (was ich einfach nur Hammer finde! Ich will ein Kartonsofa!)

Man kann noch bis 04.04.2011 Teilnehmen. Darum heißt es jetzt schnell sein!
Wünsche euch allen viel Glück und wenn jemand das Sofa gewinnt: Ich will mal drauf sitzen!

24. März 2011

Windows 7–Kleinigkeiten die man vielleicht noch nicht wusste

  1. Mehr Statusmeldungen beim Hoch- und Herunterfahren Systems: Fehler unter Windows 7 treten sehr oft beim Start oder beim Beenden der Sitzung auf. Hier bekommt man dann aber immer nur Meldungen wie “Programm XY kann nicht beendet werden, Herunterfahren erzwingen?”. Um hier mehr Informationen anzuzeigen gibt es eine Schalter. Dieser findet sich im Editor für Gruppenrichtlinien. Einfach gpedit.msc ausführen und dann unter <<Computerkonfiguration/Administrative Vorlagen/System/Ausführliche im Vergleich zu normalen Meldungen>> aktivieren. Anschließend sollte Windows an vielen stellen mehr Informationen zu Fehlern liefern.
  2. Systemstart beschleunigen: Da heute fast jeder einen Mehrkernrechner nutzt, ist dieser Tipp eigentlich immer anwendbar. In der Systemkonfiguration (msconfig) von Windows 7 im Reiter Start die Erweiterten Optionen auswählen. Hier kann dann eingestellt werden, mit wie vielen Kernen Windows starten soll. Geht einem schon immer der Willkommensbildschirm auf den Zeiger, bekommt man diesen mit einem Haken bei “Kein GUI-Start” los.image
  3. Sehr viel besserer Taskmanager, als der von Windows 7 ist der Process Explorer zu finden im Microsoft TechNet. Damit lässt sich beispielsweise sofort sehen, welcher svchost-Prozess welchem Programm zuzuordnen ist.
  4. Programmen den Zugriff ins Internet verwehren mit Boardmitteln: Über den Befehl wf.msc gelangt man in die erweiterten Einstellungen der Windows Firewall. Um besagte Funktion zu erreichen muss eine neue Regel in den “Ausgehenden Regeln” erstellt werden. Der Assistent zur Erstellung der Regeln ist narrensicher.
  5. Nützliche Tastenkürzel unter Windows 7: WIN+P ruft eine kleine Auswahl zur Bildausgabe auf. Hier kann für Besprechungen schnell auf einen Beamer umgeschaltet werden inkl. imageverschiedener Kombinationsmöglichkeiten. WIN+T schaltet in der Taskleiste durch die aktiven Anwendungen und zeigt die Vorschau auf die Fensterinhalte. WIN+Leertaste macht alle offenen Fenster transparent. WIN+Pause öffnet die Systemeigenschaften. WIN+Pfeiltasten Aero Snap Fensterbewegung. WIN+Shift+Pfeiltasten Aero Snap Fensterbewegung über mehrere Bildschirme hinweg.
  6. Netztopologie anzeigen lassen: Im Netzwerk- und Freigabecenter verbirgt sich in der rechten oberen Ecke eine kleiner Link “Gesamtübersicht anzeigen”. Dieser führt zur grafischen Netzwerkübersicht von Windows 7. Je mehr Netzteilnehmer, desto spannender wird die Darstellung. Nicht so wie bei mir -.-image
  7. Unter Windows 7 ist die aus Windows XP bekannte Ansicht der Netzwerkadapter relativ versteckt gehalten. Um schneller dahin zu kommen, bietet sich das Kürzel ncpa.cpl an. Nicht aktivierte Netzwerkadapter beschleunigen den Bootprozess und sparen Energie in tragbaren Computern.

14. März 2011

Tools, Tools und noch mehr Tools

In meiner unendlichen Freizeit (bitte ironischen Unterton einfügen) stieß ich vor Kurzem auf einen interessanten Beitrag von Chip: 50 Tools unter 1 MByte. Darin sind sogar einige, sehr sinnvolle Programme enthalten. Viele der Tools habe allerdings noch nicht testen können.
  • Unlocker - das Programm ähnelt Killbox und kann gesperrte Dateien löschen. Dies kann hilfreich sein, wenn Viren die Festplatte bevölkern. Allerdings sollte man bei Systemdateien sehr vorsichtig sein.
  • Ohne Ende kleine Programme bietet Nirsoft an (portabel!): SmartSniff (= Wireshark in LowCost); OpenedFilesView; BlueScreenView; RegFromApp (zeigt Zugriffe eines Programmes auf die Registry an); InstalledCodec; RegScanner (durchsucht die Registry, listet jedoch alle Ergebnisse übersichtlich auf wie die Windows Dateisuche); VideoCacheView (dursucht Browsercaches nach Videos und kann diese auf Platte sichern; funktioniert auch mit Firefox; ob es auch mit Grooveshark läuft?)
  • Nicht ganz so viele tolle Tools bietet Roadkil [sic!]. In dem Chip-Artikel wurde der Unstoppable Copier hervorgehoben. Das Programm versucht, so viele Daten wie möglich von beschädigten DVDs kopieren.
  • Ganz sinnvoll finde ich Don't Sleep von SoftwareOK. Don't Sleep verhindert das Energiesparen von Rechnern. Klingt im ersten Moment komisch, hat aber einen sinnvollen Hintergrund: die Energiesparprofile bei Notebooks sind häufig sehr aggressiv auf Energie sparen eingestellt. Will man Film schauen oder einen längeren Download starten, kann es schon mal passieren, dass sich das Notebook irgendwann einfach ausschaltet. Für dieses Problem hilft Don't Sleep - ohne, dass die Energiesparprofile extra umgestellt werden müssen. Ansonsten gibt es bei SoftwareOK noch weitere Tools, die zum Teil Clones von bekannten Programmen wie CPU-Z oder Prime sind.
  • Wer dagegen gezielt seinen Rechner runterfahren möchte, kann sich auch diesen Shutdown Timer anschauen. Das Programm ermöglicht einen Shutdown nicht nach x Minuten sondern auch abhängig von der CPU-Auslastung eines Prozesses oder der Aktivität einer Netzwerkkarte (= Download- und Uploadrate).
Nachfolgend noch einige weitere Tools:
  • Wer speziell Tools für sein Notebook sucht, kann auch hier bei Chip fündig werden.
  • Zum Schluss noch ein besonders tolles Programm, dass sich selbst mehrfach erfolgreich benutzt habe: Wondershare Time Freeze. Vereinfacht gesagt, verwandelt das Programm komplette System ein eine riesige Sandbox. Wer damit nicht viel anfangen kann, hier ein Beispiel: man möchte dieses oder jenes Programm aus dem Internet austesten. Da jedoch das andauernde Installieren und Deinstallieren auch Spuren im System hinterlässt, verwendet man Time Freeze. Man startet das Programm und aktiviert die Freeze Funktion. Alle nun nachfolgend getätigten Systemänderungen werden aufgezeichnet und nach einem Neustart wieder rückgängig gemacht. Wo ist der Haken? - Eigentlich gibt es keinen. Allerdings können Programme, die einen Neustart erfordern, nicht installiert werden. Des Weiteren sinkt die Systemperformance geringfügig. Leider kostet das Programm Geld. Als Time Freeze 1 veröffentlicht wurde, wurden viele Lizenzen verschenkt, die mit Time Freeze 2 immer funktionieren.
Nachtrag: wer Programme o. Ä. auf der Windows-Oberfläche live vorführen möchte, hat oft das Problem, dass Symbole oder Menüs auf dem Beamer viel zu klein dargestellt werden. Abhilfe schafft das Programm ZoomIt. Neben der Zoom-Funktion gibt es eine Zeichenfunktion (vergleichbar mit der von Powerpoint) und ab Win Vista einen "Super-Zoom", der einen Bereich um den Mauscursor herum vergrößert.

Cebit


Nein, es geht nicht um Halloween. Auch wenn das Bild ganz danach aussieht. Dieser Beitrag ist keine kurze Nachbereitung zur Cebit.
1. Google verteilte kleine Androidfiguren. Die gibts hier. Demnächst soll eine neue Serie aufgelegt werden. Vielleicht gibt es eine kleine Sammelbestellung. Das Bild stammt vom Android-Erfinder und kann auch als Wallpaper verwendet werden.

2. Bei Scythe gibt es mal wieder einige neue Kühler zu sehen. Nachdem der Orochi vor ein paar Jahren doch nicht so der Renner wurde, gibt es ein neues Monster: Scythe Susanoo. Ganz interessant ist auch diese Bildergalerie.

3. Klaus Knopper gibt es wirklich! Er verteilte eigenhändig auf der Cebit das aktuelle Knoppix 6.5. Neu daran ist der Untersatz Debian 6.0 Squeeze. Hinweis am Rande: Debian wählt seine Namen nach Toy Story Figuren :D . Einige sinnvolle Links zum Remastern am Rande: die aktuellen Releasenotes und hier. Merkwürdigerweise befinden sich auf der Knopix-DVD kleine Noppen. Dies nennt sich EcoDisc.

LED-Cube für Elektronikanfänger

Heute mal ein Beitrag zum Thema Elektronik. Ursprünglich war das Thema als E-Mail gedacht. Ich habe mir jedoch überlegt, dass auch andere Menschen Interesse an diesem Thema haben könnten, somit möchte ich das Wissen mit der Allgemeinheit teilen.

Es geht um LED-Cubes. Dabei handelt es sich um einen Würfel, der aus LEDs besteht. Klingt komisch, daher hier ein Bild
Was kann man damit machen: eigentlich hat er keinen tieferen Sinn außer schön auszusehen und Programmierprojekte daran auszuprobieren. Wie man sieht, besteht der Würfel aus vielen einzelnen LEDs, die möglichst alle einzeln angesteuert werden sollen. Bei einem Würfel aus 5x5x5 ( = 125) LEDs ist das gar nicht so einfach. Allerdings gibt es einige Tricks, wie man auch mit begrenztem Hardwareeinsatz das Teil zum Leuchten bekommt. Zuerst aber eine kleine Übersicht der einzelnen Komponenten des Würfels:
- LEDs
- der Mikrocontroller zur Ansteuerung der LEDs
- Verdrahten/Platine
- Stromversorgung
- Software

Da die ganzen Einzelkomponenten teils stark miteinander verzahnt sind, empfiehlt es sich, den Beitrag vollständig zu lesen. Ich versuche hier nicht alle Informationen von anderen Bauanleitungen widerzukäuen - vielmehr möchte ich zu bereits vorhandenen Einträgen im Netz Anregungen und Tipps geben, die einem Anfängerden Einstieg erleichtern sollen.

Die LEDs
Wenn man auf Youtube nach LED-Cube sucht, findet man Würfel in unterschiedlichsten Farben. Qausi die ganze Palette, die die LED-Farbenwelt hergibt: grün, rot, blau, gelb, orange, ja sogar bunt (RGB) ist möglich. Da die Auswahl so unendlich groß ist, möchte ich an dieser Stelle ein paar Einschränkungen (als Entscheidungserleichterung) geben:
- keine RGB-LEDs verwenden. Diese LEDs besitzen 3 statt den üblichen 2 Beinchen. Des Weiteren sind PWM-Steuerungen (o.Ä.) nötig um alle Farbstufen mischen zu können. So schön wie RGB-LEDs sind, Finger weg.
- Wahl der LEDs nach Leistungsaufnahme. Standard-LEDs ziehen im Arbeitspunkt 20 mA. Das ist an sich erstmal nicht viel. Will man jedoch 100 LEDs ansteuern, ist man schnell bei einem Eingangsstrom von 2 A. So viel Strom kann ein handelsüblicher USB-Port nicht zur Verfügung zu stellen (ohne nach kurzer Zeit Rauchzeichen von sich zu geben). Alternativ gibt es auch Low-Current LEDs, die nur 2 mA im Arbeitspunkt benötigen. Für eine sehr einfache Stromversorgung per USB sollte man sich diese LEDs einmal anschauen. Weiteres findet man im Abschnitt Stromversorgung.
Folgende Hinweise habe ich auch noch durch Forenbeiträge angelesen:
- die LEDs sollten vor dem Verlöten unbedingt mehrere Tage am Stück einem Dauertest unterzogen werden. Grund: nachträgliche Herumlöten am fertigen Cube ist äußerst problematisch. Um spätere "Pixelfehler", also kaputte LEDs, zu reduzieren, kann der Dauertest helfen.
- es gibt klare und difuse LEDs. Es sollten diffuse LEDs bevorzugt werden, da diese in einem größeren Bereich Licht streuen. Somit hat man aus verschiedenen Betrachtungswinkeln ein gutes Bild

Wie findet man den Arbeitspunkt und damit den Vorwiderstand der LEDs: Bitte keine Low-Costversion der Art: ein Vorwiderstand für alle LEDs gemeinsam. Nicht nur, dass dieser schneller durchbrennen könnte: umso mehr LEDs eingeschaltet sind, umso dunkler werden sie. Daher: jede LED bekommt einen eigenen Vorwiderstand. Ganz wichtig: das Datasheet der LED. Dieses sollte man sich sogar lokal auf der Festplatte speichern. Wie berechnet man den Vorwiderstand:
Beispiel: eine LED hat laut Datenblatt bei 1,75 Volt und 20 mA den Betriebspunkt. Die Eingangsspannung beträgt 5 Volt. Damit ergibt sich: R = (5 V - 1,75 V) / 20 mA = 162,5 Ohm. Nun kann es passieren, dass Reichelt und Co. keinen solchen Widerstand findet. Man könnte diesen Wert aus mehreren Widerständen zusammenbauen, aber das ist unsinnig. Besserer Vorschlag: 20 mA sind recht viel und die LED würde auch mit weniger Strom funktionieren. Daher sollte man den berechneten Widerstand einfach ein wenig Aufrunden, beispielsweise auf 170 Ohm. Gegenrechnung: I_LED = (5 V - 1,75 V) / 170 Ohm = 19,1 mA --> passt!
Wer es wirklich genau wissen will, sollte sich das "Forward Current Vs Forward Voltage" Diagramm anschauen (sieht ein wenig aus wie eine quadratische Funktion oder e-Funktion). Bei den Low Current LEDs würde ich aber eher aufrunden!

Der Mikrocontroller
Möchte man tolle Animationen auf dem LED-Cube darstellen, wird eine entsprechende Ansteuerung benötigt. Diese wird mit einem Mikrocontroller realisiert. Mikrocontroller sind recht preisgünstig (unter 5 Euro), vielseitig einsetzbar und benötigen nicht hunderte weitere Bauteile als externe Beschaltung. In dem LED-Cube Artikel von mikrocontroller.net wird ein ATMega16 der Firma Atmel verwendet. An sich kein schlechtes Teil aber es gibt ein entscheidendes Problem für Anfänger: wie kommt das Programm vom PC auf den Controller. Klar könnte man sagen: es gibt günstige Programmiergeräte für unter 30 Euro oder man baut sich eines selbst. Dann muss man sich nur noch mit dem Programmieren befassen, den Fusebits und den Programmierarten und ist ja alles kein Problem. Nach einem Jahr Bücher wälzen (Vorlesungen in der örtlichen Hochschule besuchen ist auch von Vorteil), kann man irgendwann einen ATMega16 programmieren. - Toll! Geht es vielleicht noch komplizierter?
Es ist natürlich unsinnig, für den Bau des Würfels noch mehrere 100 Euro für Programmiergeräte und Bücher auszugeben. Daher möchte ich eine schönere Alternative vorstellen: das Arduino-Projekt. Arduino ist einfach, günstig, Open Source, vielseitig, flexibel.

Was ist Arduino?
Dabei handelt es sich um eine Platine mit einem Mikrocontroller und einiger weiterer Bauteile für einen sehr schnellen Einstieg in die Embedded Programmierung. Die Platine wird einfach per USB-Kabel am PC angeschlossen und die Programmierung kann losgehen (ok, man muss noch einen Treiber installieren). Die Programmierumgebung gibt ist ebenfalls Open Source und für viele Betriebssysteme verfügbar (der Treiber ebenfalls). Ein erfolgreich kompilliertes Programm wird über einen virtuellen COM-Port an USB übertragen. Mit ein bisschen Glück läuft der Mikrocontroller sofort los. Klingt einfach - ist es auch.
Einen Arduino kann man für unter 30 Euro kaufen, verschiedene 100% kompatible Clones gibt es für teilweise unter 20 Euro. Ich hatte mir damals bei Watterott einen Boarduino gekauft und zusätzlich einen weiteren Ersatz-ATMega, der bereits den Arduino-Bootloader enthält. Falls der Mikrocontroller auf dem Board das Zeitliche segnet, kann man ihn problemlos gegen dem Ersatzchip austauschen. Aus diesem Grund würde ich ebenfalls ein Board mit Mikrocontroller auf DIL-/DIP-Gehäuse empfehlen. DIL und DIP ist das Gleiche; es bezeichnet allgemein Chips mit großen, gut lötbaren Beinchen. Ein bekannter Pendant ist SMD. Diese Chips sind für Normalsterbliche kaum lötbar! D.h.: ein Arduino mit SMD-ATMega ist tendenziell doof.

Den Boarduino gibt es auch als Selbstbauversion. Auf der Platine ist ebenfalls ein kleiner SMD-Chip verbaut (dieser sorgt für den virtuellen COM-Port). Der Chip ist jedoch bereits vorgelötet!

Als Mikrocontroller wird beim Arduino statt eines ATMega16 ein ATMega168 oder ATMega328 eingesetzt. Leistungstechnisch unterscheiden sich beide Mikrocontroller kaum vom ATMega16, haben jedoch weniger Pins. Schaut man die anderen Artikel an, stellt man fest: ein 8x8x8 Würfel benötigt 8+8+8 = 24 Pins. Der Arduino hat insgesamt jedoch nur 24. Davon gehen jedoch noch einige Pins weg für Programmieren, für den Taktgeber und Reset, bleiben noch 18 Pins übrig. Damit könnte man ungefähr einen 6x6x6 Würfel aufbauen. Allerdings muss der Code dann auch effizient geschrieben sein, damit die Performance noch passt. Für kleinere Würfel wird die Effizienz unwichtiger.

Für Leute, die also einen leistungsfähigeren Controller mit mehr "Bumms" haben oder 8x8x8 Würfel bauen wollen, bleibt an dieser Stelle noch ein Verweis auf den Sanguino. Der Sanguino ist der große Bruder des Arduino - bzw. ein Clone. Die Programmierumgebung, die Befehle usw. sind alle gleich. Allerdings wird der Sanguino mit einem leistungsfähigeren Mikrocontroller, dem ATMega644(P), aufgebaut. Er bietet mehr Pins und viel viel mehr Speicher. Für Leute, die Mikrocontroller etwas umfangreicher nutzen wollen, sicherlich sinnvoll. Leider ist der Sanguino momentan in Deutschland ganz schlecht erhältlich. Bestellungen gehen nur aus den USA. Allerdings muss sich niemand einschränken: man kann den Arduino auch als Programmiergerät benutzen. Damit lässt sich aus einen gekauften ATMega644 ein Sanguino selber bauen (z.B. mit einem Breadboard).

Noch ein paar sinnvolle Hintergrundinfos:
- ein Pin des ATMega darf maximal 20 mA Strom geben. der gesamte Controller an sich darf maximal 100 mA abgeben. Größere LED-Lichterketten können daher gefährlich werden
- die Analogeingänge und die PWM-Pins können auch ganz normal als digitaler Ausgang verwendet werden! (dies ist im ersten Moment nicht unbedingt klar und man hätte nur sehr wenige verfügbare Pins)
- auf weitere Infos wird im Abschnitt Software eingegangen

Verdrahten/Platine:
Irgendwann müssen dann die Steuersignale vom Mikrocontroller zu den LEDs kommen. Für diese Beschaltungen verweise ich wieder an andere Artikel. Wem nicht klar ist, was dieser oder jener Chip macht: einfach im Netz nach den Bezeichnungen googlen. Am Anfang empfiehlt es sich, die Bauteile erstmal auf einem Steckbrett (auch Breadboard genannt) aufzubauen. Einige Arduinos (wie der Boarduino) sind so aufgebaut, dass man die Platine auf das Steckbrett steckt. Damit lassen sich dann die Signale der Pins direkt auf dem Steckbrett abgreifen. Wer in dem Drahtsalat irgendwann nicht mehr durchblickt oder alles genau planen möchte, sollte sich das Programm Fritzing anschauen. Dort hat man ein virtuelles Steckbrett.

Hinweise:
- auch das Steckbrett wird bei 2 Ampere Strom Probleme bekommen! Es gibt im Netz entsprechende Hinweise, wo die Maximalgrenze liegt, ohne dass das Brett schwarze Stellen bekommt
- Leitungen: es gibt Pakete mit fertig konfektionierten Drähten. Ist zwar schön aber meist überteuert. Wer einen Elektroinstallateur kennt, sollte ihn nach Datenleitungen oder Signalleitungen fragen. Daraus lassen sich mit wenig Aufwand beliebige Verbindungsleitungen für das Board bauen. Eventuell gibt es sogar für ganz kleines Geld kurze Reststücke. Wichtig: es darf keine Litze sein sondern "massive" Leiter! Leiterquerschnitt ist fast egal. Er sollte nur nicht zu groß sein, da man damit das Brett beschädigt. Ich kann mich dunkel an etwas mit 0,15 mm erinnern. 1,5 mm oder gar 2,5 mm sind zu dick, starr und unflexibel! Nicht isolierten Blankdraht sollte man aufgrund von Kurzschlussmöglichkeiten ebenfalls vermeiden.


Stromversorgung:
Bei der Versorgung des LED-Cubes mit Strom gibt es ebenfalls viele Möglichkeiten. Die einfachste Möglichkeit ist die Versorgung über den USB-Port. Dies ist jedoch mit Vorsicht zu genießen. USB erlaubt nach Spezifikation maximal 500 mA pro Port. Für größere Würfel sollte die Energieversorgung von einem externen Netzteil erledigt werden. Dabei ist natürlich drauf zu achten, dass es bei den üblichen 5 Volt Spannung auch ausreichend Strom liefert. Wer nicht weiß, welches Netzteil sinnvoll ist, sollte nach Labornetzteilen suchen.

Wichtig bei der Beschaltung:
- die 5 Volt vom USB dürfen nicht mit den 5 Volt des Netzteils verbunden werden
- dafür sollen die Masse von USB mit der Masse des Netzteils verbunden werden
- Masse = GND = Ground (meist schwarz Farbe für Leitungen)


Software:
Nach der vielen komplizierten Hardware, noch einige Hinweise zur Programmierung.

Normalerweise ist die Programmierung von Mikrocontrollern für Anfänger recht ungewohnt. Als Programmiersprache wird zwar C benutzt. Um jedoch Ein- und Ausgänge ansprechen zu können, muss man kryptische Register auslesen oder in sie hineinschreiben. Besondere Befehle im Arduinoprojekt vereinfachen dies deutlich. Ein weiterer Grund, warum ich den Arduino so toll finde. Kurzer Hintergrund: die Befehle sind größtenteils so etwas wie Metafunktionen. D.h.: hinter dem Arduino-Befehl stecken ein bis zwei Zeilen klassischer C-Code, um mit dem Register zu kommunizieren. Das Schöne daran: auch regulärer C-Code kann parallel zu den Arduino-Befehlen verwendet werden. Somit lassen sich auch die Code-Beispiele des mikrocontroller.net Artikels austesten.

Nun noch ein paar Hinweise, die sich aufgrund der Hardware ergeben:
- Integer haben 16 Bit
- alle oben erwähnten ATMega-Controller sind 8Bit-Kisten. Daher sollte man Datentypen mit Bedacht wählen. Konkret: ein long int mit 32 Bit benötigt 4 Takte zum Berechnen; ein char mit 8 Bit dagegen nur einen Takt
- Gleitkommazahlen sollten mit aller Gewalt vermieden werden. Grund: die Mikrocontroller unterstützen hardwareseitig kein Gleitkomma. Float und Co können zwar benutzt werden, sind jedoch ausschließlich in Software implementiert ( = sehr sehr langsame Verarbeitung)
- aufgrund des Gleitkommaproblems sind Drehungen und Rotationen problematisch. Abhilfe schaffen fertige Arrays mit Sinus- und Cosinustabellen. Entweder kann man sie als fertige Codeschnipsel klauen oder an muss sie sich selber basteln
- leider ist mit dem Arduino kein Debuggen möglich. Grund: für die ATMega 168, 328 und 644 wird eine spezielle Hardware benötigt (Kostenpunkt 80 Euro aufwärts). Debughilfe: man verwendet den virtuellen COM-Port um Daten zwischen PC und Mikrocontroller auszutauschen.
- schneller Daten an die Pins schieben: verwendet man die Arduino-Befehle, wird normalerweise immer nur ein Pin auf einmal geändert. Hardwaremäßig sind jedoch immer 8 Pins zu einem Port (bzw. einem Register) zusammengefasst. Damit lässt sich effizienter programmieren, als jedes Bit einzeln zu schubsen.
- Hex lässt sich klassisch in C mit 0x... angeben ( z.B.: 0xFF = 255); zusätzlich gibt es Defines für binäre Schreibweise: %... (z.B.: 01001 = 9), dabei wichtig: es MÜSSEN alle 8 Bits geschrieben werden, selbst wenn sie 0 sind


Zum Schluss die Links:
http://www.arduino.cc - Arduino Website
http://www.ladyada.net/make/boarduino/ - Boarduino Website
http://www.sanguino.cc - Sanguino Website
http://www.mikrocontroller.net/articles/LED_cube - Artikel von mikrocontroller.net
http://arduino.cc/en/Tutorial/ArduinoISP - Arduino als Programmer
http://itp.nyu.edu/physcomp/Tutorials/ArduinoBreadboard - Arduino auf dem Breadboard

5. März 2011

Ein paar Flashgames

Ein paar kleine Browsergames für zwischendurch: (ein Cebit-Special kommt bald)
Rebuild: ein rundenbasierendes Strategiespiel (?) mit dem Ziel, Zombies auszurotten. Man ist der Anführer über eine kleine Kolonie in einer Großstadt. Die Zombies kratzen täglich an den Verteidigungsmauern und das Essen ist knapp. Ziel ist es, die Menschen im Lager so aufzuteilen, dass keiner verhungert, gleichzeitig den Ansturm der Zombies zu stoppen und das Lager zu vergrößern. Man sollte sich die Tutorial-Infos zu Gemüte führen, dann spielt es sich eigentlich ganz gut.
Elephant Quest: es gibt bereits einige Flashgames mit diesem kleinen Elefanten. Diesmal geht es um ein kleines Jump&Run mit einigen Subquests und umfangreichen Skilltree.
Interlocked: Holz-Knobelspiele als 3D-Version für Arme... Ziel ist es, die vorgegebenen Knobeleien (auch Vexiere (sic!) genannt) auseinander zu nehmen. Die Steuerung ist etwas hakelig aber der Rest ist ok. Viele dieser Rätsel sind eigentlich Knobelspiele aus Holz, die teilweise schon mehrere 100 Jahre alt sind und sogar wissenschaftlich erforscht wurden.
Burrito Bison: Standardspiel a la Yeti Sports. Allerdings mit vielen Upgrades. Dauert ein wenig länger aber ganz ok.