Adam

Oct 052013
 

IMG_1298

Was kann man mit einer etwas größeren H-Brücke und einem Servo steuern? Richtig ein Auto.

Wenn ihr euch meine Beiträge zum PiFace anschaut, werdet ihr feststellen, dass jedes davon ein Teil eines großen ganzen sind. Ich würde euch allerdings raten, einen anderen Spannungsregulator zu benutzen. Bei meinem tritt immer folgendes Problem auf: wenn der Servo den Strom von der Batterie zieht, bricht kurzzeitig die Spannung am Raspi ein und er startet neu. D.h. mit diesem Spannungsregulator funktioniert zwar der Raspi alleine, aber für eine parallele Ansteuerung eines Motor reicht es nicht aus. Eine alternative könnt ihr euch auf der Seite von Texas Instruments ti.com individuell zusammenstellen.

Das Auto kann jetzt entweder für eine Strecke programmiert, oder aber durch die Tastatur meines PCs (über WLAN und ssh) gesteuert werden.

Ansonsten wünsche ich euch sehr viel Spaß und Erfolg bei euren Projekten!

 Posted by at 7:24 pm
Oct 052013
 

ein Servo kann ganz leicht angesteuert werden. Am einfachsten ist es, wenn ihr eine PWM invertiert und den Servo folgendermaßen anschließt:

  • schwarzes Kabel: Masse
  • rotes Kabel: 5V (am besten direkt vom PiFace)
  • gelbes oder weißes Kabel: invertiertes Signal

Nachdem alles angeschlossen ist, könnt ihr euch die PWM anzeigen lassen. Wenn ihr sie jetzt schrittweise erhöht, fängt sich irgendwann der Motor an zu drehen.
Bei mir lag die Mitte bei einem PWM-Wert von 13, Links beim Wert von 1 und Rechts beim Wert von 25. Bei Signalen über 25 hat sich der Motor nicht mehr bewegt.

 

Quellen:

http://www.heli-blog.de/images/Servostecker.png

 Posted by at 7:05 pm
Sep 222013
 

13-09-22 - H-Brücke

INVERTER
Die Pins an den LEDs geben ein Signal aus, wenn sie gegen 5V geschaltet werden. Für die Brückenschaltung wird aber ein Signal, welches gegen die Masse geschaltet wird, benötigt. Zusätzlich ist noch ein gemeinsames Massepotential zwischen der externen Batterie und dem PiFace notwendig. Aus diesen Gründen wird die Inverterschaltung benötigt.

Grundfunktion einer H-Brücke
Die LEDs an den Pins des PiFaces haben nicht nur die Funktion des Leuchtens, sie lassen den Strom auch nur in eine Richtung laufen. Wenn ein Motor sich aber in beide Richtungen drehen soll, wird eine sogenannte H-Brücke benötigt. Die Transistoren schalten eine Seite des Motors zur Masse und die andere zur externen 9V Batterie.

Benötigte Teile:

  • 1x 10Ohm Widerstand (R7)
  • 4x 1kOhm Widerstände (R3, R6, R8, R11)
  • 2x 3,3kOhm Widerstände (R2, R12)
  • 4x 10kOhm Widerstände (R4, R5, R9, R10)
  • 2x 47kOhm Widerstände (R1, R13)
  • 4 PNP-Transistoren (empfohlen 800mA)
  • 4 NPN-Transistoren (empfohlen 800mA)
  • 1x 9V Batterie (ich benutze 6x 1,5V AA-Batterien)
  • 1x 9V Motor

Falls Ihr noch nie mit Transistoren gearbeitet habt, schaut euch den Beitrag über die Bipolartransistoren an.

Viel spaß beim Bauen!

 

Quellen:
http://www.rn-wissen.de/images/thumb/c/c2/Inverter_npn_pnp.png/800px-Inverter_npn_pnp.png

 Posted by at 11:21 am
Sep 222013
 

Transistoren

Wie Ihr auf dem oberen Bild erkennen könnt, gibt es zwei verschiedene Transistoren. Diesen Unterschied kann man am Pfeil erkennen. Transistoren erfüllen die Funktion eines Schalters.

PNP-Transistor:
wenn KEIN Strom bzw. KEINE Spannung an der Basis anliegt, schaltet der Transistor den Strom oder Spannung vom Emitter zum Kollektor durch.

NPN-Transistor:
wenn Strom bzw. Spannung an der Basis anliegt, dann schaltet der Transistor den Strom oder Spannung vom Kollektor zum Emitter durch.

 Posted by at 10:52 am
Jul 252013
 

Anbei das Schaltbild für einen 5V Regulator.

Am Eingang können 7-18V anliegen. Am Ausgang bekommt ihr immer 5V. Ihr könnt auch mehrere parallele Ausgänge bauen.

13-07-25

Zum USB-Kabel:

Wenn ihr das USB-Kabel aufschneidet, werdet ihr 4 (oder mehr) bunte Einzelkabel finden. Das rote ist eure Spannungsversorgung, das schwarze die Masse.

Quellen:
http://www.flytron.com/camera-transmitter-shutter/93-tiny-5volt-regulator.html

 Posted by at 1:44 pm
Jun 152013
 

Allgemeines

Auf dem PiFace befinden sich zwei Relais (siehe Bild). Alle Relais haben die Funktion eines Schalters. Dieser spezielle Schalter lässt sich elektrisch steuern. Wenn man aber etwas einschalten möchte, muss man diesen Schalter mit dem Verbraucher und einer Quelle in Reihe schalten. Möglicher Aufbau: Spannungsquelle in Reihe mit einem Motor in Reihe mit einem Relais.

Die blauen Pfeile zeigen, welche Pins im nichtbetätigten Zustand miteinander verbunden sind, die grünen hingegen, wenn das Relais geschaltet wurde.

Die Relais sind auf dem PiFace intern mit den ersten beiden LEDs verbunden. D.h. wenn man die erste LED einschaltet, dann schaltet man auch gleichzeitig das erste Relais. Dabei hört man auch ein klicken.

 Relais

Testprogramm

#include <wiringPi.h>
#include <piFace.h>
#include <softPwm.h>

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

#define PIFACE    200
#define BUTTON1 200
#define BUTTON2 201
#define BUTTON3 202
#define BUTTON4 203
#define LOW        0
#define HIGH    1
#define LED1 200    //Relais1
#define LED2 201    //Relais2
#define LED3 202
#define LED4 203
#define LED5 204
#define LED6 205
#define LED7 206
#define LED8 207

 

int main (void)
{
    int i, r1=LOW,r2=LOW;
   
    printf(“RELAIS TESTPROGRAMM\n”);

      wiringPiSetup();
      piFaceSetup(PIFACE);

// Enable internal pull-ups & start with all off
      for(i=LED1;i<=LED8;i++)
      {
        pullUpDnControl(i,PUD_UP);
        digitalWrite(i,LOW);
      }
    delay(100);

//INFO
    printf(“(Button1 befindet sich am Rand)\n”);
    printf(“Button1 schaltet das 1. Relais ein und aus\n”);
    printf(“Button2 schaltet das 2. Relais ein und aus\n”);
    printf(“Buttton3 schaltet beide Relais um\n”);
    printf(“Button4 schaltet das Programm aus\n”);
    while(digitalRead(BUTTON4)!=LOW)
    {
        if(digitalRead(BUTTON1)==LOW)
        {
            r1^=1;
            digitalWrite(LED1,r1);
            delay(200);
        }
        if(digitalRead(BUTTON2)==LOW)
        {
            r2^=1;
            digitalWrite(LED2,r2);
            delay(200);
        }
        if(digitalRead(BUTTON3)==LOW)
        {
            r1^=1;
            r2^=1;
            digitalWrite(LED1,r1);
            digitalWrite(LED2,r2);
            delay(200);
        }
    }
//Ausschalten der Relais zum Schuluss
    for(i=LED1;i<=LED2;i++)
        digitalWrite(i,LOW);

  return 0 ;
}

 Posted by at 9:35 pm
May 212013
 

Dem letzt habe ich etwas mit Transistorschaltungen experimentiert und leider durch einen Kurzschluss mein System zerschossen. Zum Glück habe ich davor meine Daten gesichert, ansonsten wäre alles weg.

Nachdem ich festgestellt habe, dass mein Raspi nicht mehr bootet, habe ich die SD-Karte neu bespielt. MAC-User sollten hier lieber auf Windows zugreifen, da der SD-Card-Builder nicht richtig funktioniert. Als ich alles wieder eingerichtet hatte, wollte ich schauen, ob mein PiFace einen Schaden davon getragen hat. Leider konnte ich kein Programm starten.

Im folgenden probierte ich einen neuen Raspi und ein neues PiFace, das Ergebnis war immer noch das gleiche. Schließlich habe ich festgestellt, dass Gordon seine PiFace-Umgebung auf einen neueren Stand gebracht hat und daher muss das PiFace etwas anders eingerichtet werden:

  1. Raspbian updaten (der Upgrade-Befehls dauert etwa eine halbe Stunde und muss einmal bestätigt werden):
    sudo apt-get update
    sudo apt-get install git-core
    sudo apt-get upgrade
     
  2. Gordons Verzeichnis laden
    git clone git://git.drogon.net/wiringPi
  3. Verzeichnis wechseln
    cd wiringPi
  4. Einrichtung
    git pull origin
    ./build

hier kam bei mir immer eine Fehlermeldung: unable to open SPI-device

  • manuelle Behebung dieser Fehlermeldung (muss nach jedem Neustart neu ausgeführt werden):
    gpio load spi
    sudo modprobe spi_bcm2708
    sudo chown `id -u`.`id -g` /dev/spidev0.*
  • automatische Behebung (muss nur einmalig gemacht werden, dauert aber ein paar Minuten):
    sudo sed -i -r ‘s/^(blacklist spi-bcm2708)/#\1/’ /etc/modprobe.d/raspi-blacklist.conf
    wget -O –
    http://pi.cs.man.ac.uk/download/install.txt | bash
    sudo reboot

Test, ob es funktioniert:

  1. richtiges Verzeichnis auswählen
    cd wiringPi/examples/PiFace/
  2. Anzeigen der Dateien
    ls
  3. Binden des Programms (Programmname = Name des Programms, aber ohne “.c”)
    make Programmname
    (Bsp: make blink)
  4. Ausführen des Programms als root (die ausführbare Datei hat kein “Punktsuffix am Ende, es steht also nur der Name)
    sudo ./Programmname

 

Quellen:
http://peregrineplanet.com/post/a-facefull-of-pi-working-with-pi-face
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/

 Posted by at 7:38 pm
May 192013
 

Die USB-Soundkarte ist recht einfach zu installieren:

  1. Soundkarte einstecken und Raspi einschalten
  2. mit der folgenden Zeile öffnet ihr dann eine Datei
    sudo nano /etc/modprobe.d/alsa-base.conf
  3. jetzt müsst ihr die folgende Zeile mit einer “#” auskommentieren (Zeile befindet sich im unteren Drittel des Files):
    options snd-usb-audio index=-2

    (oder siehe Bild unten die nachfolgende Zeile mit “Edit Max und Adam”)

    13_05_04_alsa-base_conf

  4. das File speichern
  5. den Raspi neustarten:
    sudo reboot
  6. jetzt seid ihr fertig!
    Ihr könnt euch auch noch die angeschlossenen Geräte anzeigen lassen:
    aplay –l

Viel Spaß mit eurer neuen Airplay Station!

 

Quelle:
http://root42.blogspot.de/2013/03/attaching-usb-sound-card-to-raspberry-pi.html

 Posted by at 1:14 pm
May 032013
 

Der Raspberry Pi kann in einen Airplay Empfänger verwandelt werden.

Voraussetzung: der RasPi muss mit dem Internet verbunden sein.

(den Roten Text in die Konsole vom Raspberry entweder reinschreiben oder kopieren)

  1. Vorbereitung
    Ihr müsst den Raspberry so einstellen, dass er sich automatisch anmeldet
    sudo raspi-config
    beim Punkt “Start Desktop on Boot” ja auswählen
  2. Update des Systems
    sudo apt-get update
    sudo apt-get upgrade
  3. Shairport installieren:
    sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl
  4. Update vom Shairport (Modul fürs iOS 6)
    git clone https://github.com/njh/perl-net-sdp.git perl-net-sdp 
    cd perl-net-sdp 
    perl Build.PL 
    sudo ./Build 
    sudo ./Build test 
    sudo ./Build install 
    cd ..
  5. Installation vom Modul
    git clone https://github.com/hendrikw82/shairport.git
    cd shairport
    make
  6. Shairport einschalten (AirPi ist der Name des Airplay Empfängers)
    ./shairport.pl -a AirPi
  7. Automatischer Start vom AirPi
    cd shairport 
    make install
    cp shairport.init.sample /etc/init.d/shairport
    cd /etc/init.d
    chmod a+x shairport
    update-rc.d shairport defaults
  8. Autostart-Datei öffnen
    sudo nano shairport
  9. Autostart-Datei bearbeiten (mit “#” kann eine Zeile kommentiert werden)
    Die vorhandene DAEMON_ARGS Zeile auskommentieren und folgende Zeile einfügen:
    DAEMON_ARGS=”-w $PIDFILE -a AirPi”
  10. Neustart
    sudo reboot

Voila, euer neuer Airplay-Empfänger funktioniert.

Wenn euer Airplay-Empfänger aktiviert ist, bekommt ihr in iTunes dann ein neues Symbol:

13_05_04_airplay1

Man kann auch unter Systemeinstellung/Ton die Standartausgabe auf Airplay legen. Damit werden die Multimediaknöpfe auch auf dem Airplay-Empfänger funtionieren.

Eine Abkurzüng: “alt” halten und mit der linken Maustaste auf das Tonsymbol bei der Uhr drücken.

Für Filme ist Airplay leider etwas ungeeignet, da der Ton ein paar Sekunden später in den Lautsprächern zu hören ist.
Das störende Knacken kann auch behoben werden, dazu schaut euch den Beitrag: “USB-Soundkarte” an

Quelle:

http://lifehacker.com/5978594/turn-a-raspberry-pi-into-an-airplay-receiver-for-streaming-music-in-your-living-room

 Posted by at 1:31 pm
Apr 222013
 

Habt ihr euch schon gefragt, wie ihr vielleicht etwas mehr Struktur und Übersicht in eure Programme bekommt?

Die Lösung: Unterteilung in mehrere C-Files und Header unterteilen.

Hier habe ich mir von Gordon helfen lassen. Auf der folgenden Seite müsst ihr nach Adam im Browser suchen (Beitrag vom 4. April) https://projects.drogon.net/raspberry-pi/wiringpi/

oder ihr geht in euren Ordner mit euren Projekten/Programmen und kopiert folgendes ein:

git clone git://git.drogon.net/halloweenPi

Anschließend bekommt ihr ein Programm von Gordon geliefert, welches ein Makefile mit einem Beispiel enthällt.

 

Ein dickes Danke an Gordon!

 Posted by at 6:56 pm
Optimization WordPress Plugins & Solutions by W3 EDGE