Hauptmenü

Blobby Spiel, Gampad Bauanleitung

Blobby ist ein Spiel, das leicht süchtig macht. Zwei Spieler Kämpfen um den Pokal im Beachvolleyball. Normalerweise wird das Spiel auf einer Tastatur und einem Computer Monitor gespielt. Wird das Spiel über einen Beamer und ein Gamepad mit 3 Tasten gespielt, wird es genial. Im Freundeskreis spielen wir Blobby gegeneinander und es gab auch schon Blobbyturniere. Da es mit der Tastatur gegeneinander wenig Spaß macht, gibt es hier die Bauanleitung für das Gamepad. Zwei Stück davon an den PC und ihr habt auf dem Computer bzw. der Leinwand ein richtiges Nintendo WII oder Playstation feeling.  

Weiterlesen: Blobby Spiel, Gampad Bauanleitung

DC Motor mit Arduino und Minibloq betreiben

Einen Motor über einen Arduino zu betreiben ist relativ einfach, allerdings wird in aber in 90% aller Fälle eine externe Spannungsquelle benötigt um den Motor zu betreiben. Das liegt in der Leistungsaufnahme des Motors. Dieser benötigt mehr Strom und oft auch mehr Spannung als die 5 Volt des Arduino Bords. 

Weiterlesen: DC Motor mit Arduino und Minibloq betreiben

Der push Button mit Ardublock und Arduion

Mit einem Taster etwas ein- und ausschalten, hier im Beispiel eine LED, ist gar nicht so einfach. Ein Schalter behält seine Schaltstellung nach einem Schaltvorgang bei. Ein Taster kann immer nur das gleiche Signal weitergeben. Deshalb muss irgendwo der Zustand vor dem letzten Drücken gespeichert werden, oder der aktuelle Zustand ausgelesen werden. 

In der Grafik seht ihr den Aufbau auf dem Breadbord. 

fritzing-push-button Steckplatine

Push button mit Ardublock und einer Variablen:

Mit Ardublock wird lediglich eine Variable benötigt, die den Zustand speichert. In diesem Fall wird die Variable (var) pin 2 auf high gesetzt. So rechnet das Skript +1 zur Variablen dazu: 0+1 = 1. Im nächsten Schritt wird "getestet" ob "var" = 1 ist. Dies ist nun der Fall, also wird pin 4 auf high gesetzt. Wird nun der Taster noch einmal gedrückt, rechnet die Variable "var" wieder +1, also: 1+1=2. Im nächsten Schritt wird geprüft ob "var" = 2 ist. Dies ist der Fall, also wird pin 4 auf "low" gesetzt. Damit der Speicher nicht "überläuft", wird die Variable "var" automatisch auf 0 gesetzt und alles beginnt von vorne. 

ardublock-arduino-tutorial-push-button

Hier noch das mit ardublock ausgegebene skript:

int _ABVAR_1_var = 0 ;

void setup()
{
pinMode( 2 , INPUT);
pinMode( 4 , OUTPUT);
_ABVAR_1_var = 0 ;
}void loop()
{
if ( digitalRead( 2))
{
_ABVAR_1_var = ( 1 + _ABVAR_1_var ) ;
delay( 10 );
if (( ( _ABVAR_1_var ) == ( 1 ) ))
{
digitalWrite( 4 , HIGH );
delay( 300 );
}
if (( ( _ABVAR_1_var ) == ( 2 ) ))
{
digitalWrite( 4 , LOW );
delay( 300 );
_ABVAR_1_var = 0 ;
}
}

Push Button mit Ardublock und Pinabfrage:

Eine zweite Möglichkeit einen push Button zu programmieren ist, den pin Ausgang abzufragen. Beim Drücken des Tasters wird nicht nur pin 2 abgefragt, sondern auch pin 4 mit der LED. Ist die LED an, ist pin 4 high. Ist sie aus, ist pin 4 low. Wird der Taster gedrückt, fragt der Arduino also zusätzlich den pin Ausgang ab. Dabei ergeben sich nur zwei Möglichkeiten

  • Ist pin 2 high (Taster gedrückt) und pin 4 low = schalte die LED an, denn sie ist gerade aus
  • Ist pin 2 high (Taster gedrückt) und pin 4 high = schalte die LED aus, denn sie ist gerade an

ardublock-arduino-tutorial-push-button-variable

Hier noch das mit ardublock ausgegebene skript

int _ABVAR_1_var = 0 ;

void setup()
{
pinMode( 2 , INPUT);
pinMode( 4 , INPUT);
pinMode( 4 , OUTPUT);
_ABVAR_1_var = 300 ;
}void loop()
{
if (( digitalRead( 2) && !( digitalRead( 4) ) ))
{
digitalWrite( 4 , HIGH );
delay( _ABVAR_1_var );
}
if (( digitalRead( 2) && digitalRead( 4) ))
{
digitalWrite( 4 , LOW );
delay( _ABVAR_1_var );
}
}