<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://rn-wissen.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Snafu</id>
		<title>RN-Wissen.de - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://rn-wissen.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Snafu"/>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Spezial:Beitr%C3%A4ge/Snafu"/>
		<updated>2026-04-11T16:12:21Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Benutzer:Snafu&amp;diff=21591</id>
		<title>Benutzer:Snafu</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Benutzer:Snafu&amp;diff=21591"/>
				<updated>2013-02-05T05:11:45Z</updated>
		
		<summary type="html">&lt;p&gt;Snafu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kontakt: com #kringeldings# flipdot #punkt# org&lt;/div&gt;</summary>
		<author><name>Snafu</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Embedded_Linux_Einstieg_leicht_gemacht&amp;diff=21590</id>
		<title>Embedded Linux Einstieg leicht gemacht</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Embedded_Linux_Einstieg_leicht_gemacht&amp;diff=21590"/>
				<updated>2013-02-04T13:00:44Z</updated>
		
		<summary type="html">&lt;p&gt;Snafu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:300px-Raspberry Pi Photo.jpg|right|thumb|Das Raspberry Pi]]&lt;br /&gt;
Embedded Linux findet in immer mehr Bereichen Verwendung. Dementsprechend steigt auch die Anzahl preisgünstiger Entwicklungsboards die den Einstieg und den Umgang mit Embedded Linux erleichtern. Eines dieser Boards ist das Raspberry Pi.&amp;lt;br\&amp;gt; &lt;br /&gt;
Dieser Artikel soll Neulingen den Einstieg in die Welt des Embedded Linux erleichtern und dabei helfen etwas Erfahrung mit dem Raspberry Pi und den Umgang mit Linux zu sammeln.&lt;br /&gt;
&lt;br /&gt;
{{Ausbauwunsch|Mehr Grundlagen und vor allem mal praktische Programmbeispiele / Algorithmen etc.}}&lt;br /&gt;
&lt;br /&gt;
=Wofür das Ganze?=&lt;br /&gt;
Das ist wohl die erste Frage die man sich stellt wenn man von so etwas wie dem Raspberry Pi oder anderen Embedded Systemen hört.&amp;lt;br\&amp;gt;&lt;br /&gt;
Es dürfte wohl klar sein, dass diese Boards komplett anders sind als ganz normale Mikrocontroller wie der Mega32 oder ein PIC. Aber im Gegenzug dazu bieten diese Systeme, im Vergleich zu Mikrocontrollern, eine immense Rechenpower.&amp;lt;br\&amp;gt;&lt;br /&gt;
Dadurch wird es möglich kleine und zugleich komplexe Systeme zu entwickeln.&lt;br /&gt;
Ein einfaches Beispiel ist das aufnehmen von Videos. Videos können mit einem einfachen Mikrocontroller nur sehr bedingt aufgenommen werden und die Qualität ist alles andere als schön.&amp;lt;br\&amp;gt;&lt;br /&gt;
Ein Embedded System besitzt genug Rechenpower um diese Aufgabe problemlos zu bewältigen. &lt;br /&gt;
Dies ist nur eine Aufgabe von vielen. Ohne Embedded Linux würden heute viele Geräte nicht so arbeiten wie sie es tun (IP-Kameras, Router, Webserver, usw.).&lt;br /&gt;
&lt;br /&gt;
=Die ersten Schritte=&lt;br /&gt;
Herzstück dieses Boards ist ein [http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf BCM2835] SoC von Broadcom, der mit einer Taktfrequenz von 700MHz arbeitet. Ein [http://de.wikipedia.org/wiki/System-on-a-Chip SoC] ist ein &amp;quot;System on a Chip&amp;quot; d.h ein komplettes System in Form eines einzigen ICs. Der BCM2835 beinhaltet 256MB RAM, einen [http://de.wikipedia.org/wiki/ARM-Architektur ARM11] Prozessorkern und eine [http://de.wikipedia.org/wiki/Grafikprozessor GPU]. Das Raspberry Pi beinhaltet u.a. zwei USB-Ports, einen HDMI Anschluss, einen SD-Kartenslot und einen LAN Anschluss.&lt;br /&gt;
&lt;br /&gt;
==SD-Karten Setup==&lt;br /&gt;
Bevor ihr mit dem Raspberry Pi losgelegen könnt, müsst ihr erst eine SD-Karte mit einem Debian Image erstellt werden. &amp;lt;br\&amp;gt;Hierbei ist darauf zu achten, dass ihr für die SD-Karte möglichst keine Class 10 Karte und keine Karte mit einer großen Speicherkapazität verwendet wird, da es bei diesen Karten mit sehr hoher Wahrscheinlichkeit vorkommen kann das diese vom Raspberry Pi nicht richtig erkannt wird.&amp;lt;br\&amp;gt;&lt;br /&gt;
Bei diesen zwei [http://www.rn-wissen.de/images/8/8b/DSCF0438-1-.JPG Karten] kann ich jedoch versichern das sie funktionieren.&lt;br /&gt;
&lt;br /&gt;
===Debain &amp;quot;Squeeze&amp;quot; oder Raspian?===&lt;br /&gt;
Für das Raspberry Pi hat sich Debian &amp;quot;Squeeze&amp;quot; als die am meisten verwendete Distribution herausgestellt.&amp;lt;br\&amp;gt;&lt;br /&gt;
Seit kurzem ist aber zusätzlich noch &amp;quot;Raspian&amp;quot; erhältlich. Dies ist eigentlich ein Debian welches für das Raspberry Pi optimiert wurde. Grundsätzlich spricht nichts dagegen Debian weiter zu verwenden aber Raspbian bietet bis zu 20% mehr Performance und es erleichtert die Grundkonfiguration des Raspberry.&lt;br /&gt;
Alle Schritte die nur bei Debian notwendig sind, werden gekennzeichnet.&amp;lt;br\&amp;gt;&lt;br /&gt;
Bei Raspian können diese Schritte mittels Config, welche durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo raspi-config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
aufgerufen wird, durchgeführt werden.&lt;br /&gt;
&lt;br /&gt;
===SD-Karte erstellen unter Windows===&lt;br /&gt;
# Das Image unter: http://www.raspberrypi.org/downloads downloaden &lt;br /&gt;
# Den Win32 DiskImager unter: https://launchpad.net/win32-image-writer downloaden&lt;br /&gt;
# Das Image entpacken&lt;br /&gt;
# SD-Karte in einen Kartenleser einlegen&lt;br /&gt;
# Win32 DiskImager starten&lt;br /&gt;
# Die SD-Karte und das Image im DiskImager auswählen&lt;br /&gt;
# Auf &amp;quot;Write&amp;quot; klicken (VORSICHT: Alle Daten auf der Karte werden gelöscht)&lt;br /&gt;
# Sobald der Schreibvorgang abgeschlossen wurde auf &amp;quot;OK&amp;quot; klicken&lt;br /&gt;
# DiskImager schließen&lt;br /&gt;
# SD-Karte in das Raspberry Pi einlegen&lt;br /&gt;
&lt;br /&gt;
===SD-Karte erstellen unter MAC OS===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SD-Karte erstellen unter Linux===&lt;br /&gt;
# Das Image unter: http://www.raspberrypi.org/downloads downloaden &lt;br /&gt;
# Das Image entpacken&lt;br /&gt;
# Terminal öffnen und &amp;quot;ls /dev/sd*&amp;quot; eingeben&lt;br /&gt;
# SD-Karte in einen Kartenleser einlegen&lt;br /&gt;
# Im Terminal wieder &amp;quot;ls /dev/sd*&amp;quot; eingeben. Im Verleich zum vorherigen &amp;quot;ls /dev/sd*&amp;quot; sollte jetzt eine Device namens &amp;quot;sd*&amp;quot; (z.B. &amp;quot;sdb&amp;quot;, &amp;quot;sdc&amp;quot; usw.) hinzugekommen sein. Sollten mehrere Devices hinzugekommen sein (die mit einer Nummer am Ende, z.b. sdb1, nicht berücksichtigen!), die Karte wieder entfernen und ab Schritt 3 wiederholen.&lt;br /&gt;
# Im Terminal eingeben: &amp;quot;sudo dd if=/home/benutzername/Downloads/Pfad/Zum/Image.img of=/dev/sd*&amp;quot;. Der Pfad nach &amp;quot;if=&amp;quot; und das &amp;quot;sd*&amp;quot; nach &amp;quot;of=/dev/&amp;quot; müssen natürlich angepasst werden! (VORSICHT: Alle Daten auf der Karte werden gelöscht)&lt;br /&gt;
# Warten bis der Befehl abgeschlossen ist&lt;br /&gt;
# SD-Karte in den Raspberry Pi einlegen&lt;br /&gt;
&lt;br /&gt;
==Die erste Inbetriebnahme==&lt;br /&gt;
Jetzt da das Image fertig ist müsst ihr nur noch eine USB-Tastatur, eine USB-Maus, einen Bildschirm und das Powerkabel anschließen.&lt;br /&gt;
&amp;lt;br/&amp;gt;Optional kann das Raspberry Pi noch in das LAN eingebunden werden.&lt;br /&gt;
&amp;lt;br/&amp;gt;Nach einiger Zeit sollte der Bootprozess beendet sein und auf dem Bildschirm ein &amp;quot;raspberrypi login&amp;quot; erscheinen.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Der Standard Login bei Debian Squeeze Images lautet..&lt;br /&gt;
&amp;lt;br/&amp;gt;User: '''pi'''&lt;br /&gt;
&amp;lt;br/&amp;gt;Password: '''raspberry'''&lt;br /&gt;
&amp;lt;br/&amp;gt;Wichtig ist, dass die Keymap beim Raspberry Pi im Lieferzustand auf &amp;quot;uk&amp;quot; gesetzt ist.&lt;br /&gt;
Dadurch sind unter anderem die Tastem &amp;quot;Z&amp;quot; und &amp;quot;Y&amp;quot; vertauscht.&lt;br /&gt;
&lt;br /&gt;
===Passwort ändern===&lt;br /&gt;
Nach der Anmeldung solltet ihr das Passwort für den Benutzernamen &amp;quot;pi&amp;quot; ändern.&lt;br /&gt;
Dies wird so gemacht:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ passwd&lt;br /&gt;
  Das aktuelle Passwort&lt;br /&gt;
  Das neue Passwort&lt;br /&gt;
  Wiederholung vom neuen Passwort&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Admin Account anlegen===&lt;br /&gt;
Der nächste Schritt ist das anlegen eines Root-Accounts und die festlegung eines Root-Passwortes. Der Root-Account kann mit einem Administrator-Account unter Windows oder MAC OS gleichgesetzt werden. Er wird wie folgt angelegt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo su &lt;br /&gt;
  Neues Root-Passwort&lt;br /&gt;
  Wiederholung vom neuen Passwort&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Keyboard Layout ändern (Debian &amp;quot;Squeeze&amp;quot;)===&lt;br /&gt;
Um das lästige Suchen der Sonderzeichen auf der UK Keymap zu vermeiden, sollte diese an die Tastatur angepaßt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo nano /etc/default/keyboard&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Ländercoder muß z.B. für ein deutsches Layout auf &amp;quot;de&amp;quot; gesetzt werden.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sollte der Bootvorgang danach deutlich länger dauern, kann dies mit folgendem Befehl behoben werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo setupcon&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies muß direkt in der Raspberry Pi Konsole erfolgen und funktioniert via SSH o.ä. nicht.&lt;br /&gt;
&lt;br /&gt;
===SSH-Server aktivieren (Debian &amp;quot;Squeeze&amp;quot;)===&lt;br /&gt;
Jetzt wird noch der SSH-Server vom Raspberry Pi aktiviert. Dadurch hat man die Möglichkeit das Raspberry Pi von einem anderen Rechner aus zu bedienen, solange sich beide Geräte in einem Netzwerk befinden. Dazu aber später mehr.&lt;br /&gt;
Das SSH wird wie folgt aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mv /boot/boot_enable_ssh.rc /boot/boot.rc &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anschließend wird das Raspberry Pi neu gebootet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo shutdown -r now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach dem Neustart sollte vor dem &amp;quot;raspberrypi login&amp;quot; ein &amp;quot;starting OpenBSD Secure Shell Server: sshd&amp;quot; erscheinen. Dann ist der SSH-Server aktiviert und kann verwendet werden.&lt;br /&gt;
Die IP-Adresse vom Raspberry Pi findet ihr so heraus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ip addr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Raspberry Pi gibt nun folgendes zurück:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 16436 qdisc noqueue state UNKNOWN&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP qlen 1000&lt;br /&gt;
    link/ether b8:27:eb:ac:5e:2a brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.178.25/24 brd 192.168.178.255 scope global eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die IP-Adresse meines Boards lautet also &amp;quot;192.168.178.25&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Ändern von Hostname und IP (Debian &amp;quot;Squeeze&amp;quot;)===&lt;br /&gt;
&lt;br /&gt;
Debian ist per default auf eine dynamische IP Zuweisung (DHCP) und auf den Hostname 'raspberrypi' konfiguriert.&lt;br /&gt;
&lt;br /&gt;
Der Hostname kann über das Config-File '/etc/hostname' geändert werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nano /etc/hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Soll das Raspberry Pi eine statische IP erhalten, so muss dies im Config-File '/etc/network/interfaces' geändert werden.&lt;br /&gt;
Bei den Werkseinstellungen steht hier die folgende Zeile zur konfiguration auf DHCP.&lt;br /&gt;
&amp;lt;pre&amp;gt;iface eth0 inet dhcp&amp;lt;/pre&amp;gt;&lt;br /&gt;
Diese muss wie folgt editiert werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
     address 192.168.0.100&lt;br /&gt;
     network 192.168.0.0&lt;br /&gt;
     netmask 255.255.255.0&lt;br /&gt;
     broadcast 192.168.0.255&lt;br /&gt;
     gateway 192.168.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Die Parameter sind dem eigenem Netzwerk anzupassen.&lt;br /&gt;
Damit die Änderungen wirksam werden muß das Raspberry Pi neu gestartet werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo shutdown now -r&amp;lt;/pre&amp;gt;&lt;br /&gt;
Jetzt können die neuen Einstellungen verifiziert werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ip addr&lt;br /&gt;
$ ping google.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fernzugriff auf das Raspberry Pi==&lt;br /&gt;
Da nicht immer die Möglichkeit besteht das Raspberry Pi mit einem Monitor und einer Tastatur bzw. einer Maus zu verbinden (weil es z.B. irgendwo verbaut ist), haben wir SSH aktiviert. Nun wollen wir dies auch mal nutzen.&lt;br /&gt;
Wir verbinden also unser Raspberry Pi mittels eines LAN-Hub, eines Routers oder direkt mit einem PC. Anschließend benötigen wir noch ein Programm welches SSH unterstützt. &lt;br /&gt;
Ich verwende für Windows das Programm [http://www.chip.de/downloads/PuTTY_12997392.html PuTTY].&lt;br /&gt;
Das Programm wird gedownloadet und anschließend installiert. &lt;br /&gt;
Unter Linux kann das Programm einfach über das Softwarecenter gedownloadet werden.&lt;br /&gt;
Nach dem Öffnen sieht das Programm so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Puttyq.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nun wird bei &amp;quot;Host Name&amp;quot; die IP-Adresse des Boards eingegeben (bei mir wäre dies 192.168.178.25). Als Port wird 22 (Standard für SSH) angegeben und bei &amp;quot;Connection type&amp;quot; wird der Haken bei &amp;quot;SSH&amp;quot; gesetzt. &lt;br /&gt;
Als nächstes könnt ihr bei &amp;quot;Saved Sessions&amp;quot; noch einen Namen eingeben unter dem das Profil gespeichert wird und nach einem Klick auf &amp;quot;Save&amp;quot; wird das Profil gespeichert.&lt;br /&gt;
Sobald ihr nun einen Doppelklick auf den Namen macht, öffnet sich ein Fenster und nach kurzer Zeit sollte dies hier erscheinen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Putty2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Dort könnt ihr euch nun ganz normal anmelden. PuTTY verhält sich anschließend exakt genauso wie die Konsole direkt auf dem Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
Falls ihr ein Linuxsystem verwenden, könnt ihr alternativ mit dem Befehl &amp;quot;ssh pi@xxx.xxx.xxx.xxx&amp;quot; auf das Raspberry Pi zugreifen. (x = IP-Adresse). Der Zugriff erfolgt dann ohne PuTTY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Datentransfer mit dem Raspberry Pi==&lt;br /&gt;
Nun wollen wir Dateien zwischen dem Raspberry Pi und unserem PC austauschen. Dies ermöglicht später einen Upload von fertig geschriebenen Programmen o.ä.&lt;br /&gt;
Der Datenaustausch geschieht auch wieder über LAN, allerdings werden für Windows und Linux unterschiedliche Programme verwendet. &lt;br /&gt;
Für Windows können Programme wie [http://www.filezilla.de/ FileZilla] oder [http://winscp.net/eng/docs/lang:de Winscp] verwendet werden.&amp;lt;br\&amp;gt;&lt;br /&gt;
Ich verwende aber lieber ein Linuxsystem da es später besser ist die Programme auf einem Linuxsystem zu kompilieren und anschließend zu übertragen.&lt;br /&gt;
Aber darauf gehe ich später nochmal etwas genauer ein, wenn die ersten Programme geschrieben werden.&lt;br /&gt;
Für die Leute die aber weiterhin Windows benutzen wollen, empfiehlt sich eine [[VM]] (z.B. [http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html Virtual Box]).&lt;br /&gt;
&lt;br /&gt;
Für den ersten Versuch erstellen wir uns ein einfaches Dokument mit dem Namen &amp;quot;Test.txt&amp;quot; auf dem Desktop. In dieses Dokument schreiben wir den Text &amp;quot;Hallo&amp;quot;. Dieses Dokument wollen wir anschließend auf unser Raspberry Pi übertragen.&lt;br /&gt;
&lt;br /&gt;
===Via Konsole===&lt;br /&gt;
Nun öffnen wir die Konsole und geben folgendes ein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp /home/daniel/Arbeitsfläche/Test.txt pi@192.168.178.25:&lt;br /&gt;
  Passwort&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Kommando &amp;quot;SCP&amp;quot; setzt sich aus mehreren Parametern zusammen. Das erste Parameter ist der Pfad der Datei die wir kopieren wollen (in unserem Fall &amp;quot;Test.txt&amp;quot;).&amp;lt;br\&amp;gt; Den Pfad könnt ihr erfahren, indem ihr einen, wie bei Windows, einen Rechtsklick auf die Datei macht und anschließend auf &amp;quot;Eigenschaften&amp;quot; geht.&amp;lt;br\&amp;gt;&lt;br /&gt;
Der nächste Parameter ist der Name mit dem ihr euch beim Raspberry Pi anmelden wollt, gefolgt von einem @ und der IP-Adresse des Raspberry Pi.&amp;lt;br\&amp;gt; Soll die Datei &amp;quot;Test.txt&amp;quot; an den Benutzer &amp;quot;xy&amp;quot; gesendet werden, lautet der Parameter xy@IP-Adresse.&lt;br /&gt;
Das Passwort ist das Passwort des Accounts den ihr bei dem Befehl &amp;quot;SCP&amp;quot; angegeben habt.&lt;br /&gt;
Nach dem Transfer sollte folgendes in der Konsole stehen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Scpo.jpg]]&lt;br /&gt;
&lt;br /&gt;
Schreibt ihr hingegen folgendes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scp /home/daniel/Arbeitsfläche/Test.txt pi@192.168.178.25:abc/Text.txt&lt;br /&gt;
  Passwort&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann wird die Datei auf dem Raspberry Pi in dem Ordner /home/pi/abc unter dem Namen &amp;quot;Text.txt&amp;quot; gespeichert. Wenn ihr den Parameter &amp;quot;abc/Text.txt&amp;quot; weglasst wird die Datei unter /home/pi gespeichert. &lt;br /&gt;
Wird als Benutzername &amp;quot;xy&amp;quot; angegeben, befindet sich die Datei anschließend im Ordner /home/xy. &amp;lt;br\&amp;gt;&lt;br /&gt;
Nun überprüfen wir ob die Datei übertragen wurde.&lt;br /&gt;
Dazu öffnen wir PuTTY und stellen eine Verbindung zum Raspberry Pi her.&amp;lt;br\&amp;gt;&lt;br /&gt;
Anschließend loggen wir uns ein und tippen folgendes in die Konsole:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd /home/pi&lt;br /&gt;
$ ls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Befehl &amp;quot;cd&amp;quot; wechseln wir in ein bestimmtes Verzeichnis (in dem Fall in das Verzeichnis &amp;quot;pi&amp;quot;). &amp;lt;br\&amp;gt; Dann werden alle Dateien mit dem Befehl &amp;quot;ls&amp;quot; aufgelistet die sich in dem Verzeichnis befinden zu dem wir gerade hingewechselt sind.&lt;br /&gt;
Es sollte nun die Datei &amp;quot;Test.txt&amp;quot; angezeigt werden.&lt;br /&gt;
Wenn wir nun folgendes eingeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat Test.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann wird der Text, den wir vorhin in das Textdokument reingeschrieben haben, im Terminal angezeigt.&amp;lt;br\&amp;gt;&lt;br /&gt;
Um die Datei zu löschen schreiben wir einfach:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ rm Test.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Via Nautilus===&lt;br /&gt;
Eine weitere Möglichkeit Daten auszutauschen besteht darin, den Dateimanager eines Linuxbetriebssystems (z.B. Nautilus von Ubuntu) zu öffnen, dessen Adressleiste mit Strg+L in den Bearbeiten-Modus schalten und als Adresse &amp;quot;sftp://xxx.xxx.xxx.xxx&amp;quot; (x = IP-Adresse des Raspberry Pi) einzugeben. Dann nur noch die Anmeldedaten (Benutzername = pi, Passwort = raspberry) eingeben und schon kann man Datein beliebig hin- und herkopieren, erstellen, bearbeiten und löschen, wie man es eben von einem Dateimanager gewohnt ist.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Nautilus_Pi_SFTP.png]]&lt;br /&gt;
&lt;br /&gt;
==Speichergröße der SD-Karte wiederherstellen (Debian &amp;quot;Squeeze&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
Nun schauen wir uns die Speicherbelegung auf der SD-Karte etwas genauer an.&lt;br /&gt;
Dazu stellen wir entweder eine SSH-Verbindung her oder wir machen es direkt am Raspberry Pi. &amp;lt;br\&amp;gt;&lt;br /&gt;
Um die aktuelle Speicherbelegung anzeigen zu lassen tippen wir folgendes ein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ df -h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei mir sieht diese so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;
/dev/mmcb1k0p2        1.6G  1.2G  5.5G  21% /&lt;br /&gt;
tmpfs                  94M     0   94M   0% /lib/init/rw&lt;br /&gt;
udev                   10M  152K  9.9M   2% /dev&lt;br /&gt;
tmpfs                  94M     0   94M   0% /dev/shm&lt;br /&gt;
/dev/mmcblk0p1         75M   29M   46M  39% /boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie ihr seht, wird sich diese Liste sehr wahrscheinlich von der eigentlichen Speichergröße eurer SD-Karte unterscheiden.&amp;lt;br\&amp;gt;&lt;br /&gt;
Der Grund dafür ist relativ simpel.&lt;br /&gt;
Das Debian-Image, welches ganz am Anfang aufgespielt wurde, ist für SD-Karten mit einer Speichergröße von 2GB ausgelegt.&amp;lt;br\&amp;gt;&lt;br /&gt;
Um uns das mal genauer anzuschauen geben wir folgendes ein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo fdisk -l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Raspberry Pi gibt nun folgendes zurück:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/mmcblk0p1              17        1216       76800    c  W95 FAT32 (LBA)&lt;br /&gt;
/dev/mmcblk0p2            1233       26672     1628160   83  Linux&lt;br /&gt;
/dev/mmcblk0p3           26689       29744      195584   82  Linux swap / Solaris&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die SD-Karte trägt unter Linux den Namen &amp;quot;mmcblk0&amp;quot;. Weitere SD-Karten würde &amp;quot;mmcblk1&amp;quot; usw. heißen. Die einzelnen Partitionen auf der SD-Karte werden mit &amp;quot;p1&amp;quot;, &amp;quot;p2&amp;quot;, &amp;quot;p3&amp;quot;, usw. abgekürzt.&amp;lt;br\&amp;gt;&lt;br /&gt;
Wie zu erkennen ist, besteht die SD-Karte aus drei Partitionen, wovon es sich bei einer Partition um eine FAT32 Partition (Partition &amp;quot;p1&amp;quot;) handelt. Die anderen beiden sind Linux Partition (Partitionen &amp;quot;p2&amp;quot; und &amp;quot;p3&amp;quot;).&amp;lt;br\&amp;gt;&lt;br /&gt;
Die FAT32 Partition ist die Partition, die für den Bootvorgang notwendig ist. Auf dieser Partition befindet sich u.a das Kernelimage.&amp;lt;br\&amp;gt;&lt;br /&gt;
Diese Partition sieht man übrigends auch wenn die Karte an einem Windowsrechner in ein Kartenleser gesteckt wird. &amp;lt;br\&amp;gt;&lt;br /&gt;
Da das Debian-Image nur für 2GB Karten gedacht ist, verwendet es auch nur 2GB der SD-Karte, egal wie groß eure Karte ist.&amp;lt;br\&amp;gt;&lt;br /&gt;
Da wir aber natürlich die gesamte SD-Karte nutzen wollen, müssen wir die Linux Partition &amp;quot;vergrößern&amp;quot;. &amp;lt;br\&amp;gt;&lt;br /&gt;
Dafür löschen wir die gesamte Partition (die ja nur etwas um die 2GB groß ist) und erzeugen eine neue Partition. Diese Partition erstreckt sich anschließend über den gesamten Restspeicherplatz der SD-Karte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
´{{FarbigerRahmen|&lt;br /&gt;
'''VORSICHT!!!!&amp;lt;br\&amp;gt;&lt;br /&gt;
Wenn ihr hier einen Fehler macht, sind alle Daten futsch. Also lieber ein Back-Up eurer SD-Karte erstellen!&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Formatierung wird nun wie folgt gestartet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo fdisk -uc /dev/mmcblk0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anschließend werdet ihr aufgefordert ein Kommando einzugeben. Als erstes lassen wir uns mit &amp;quot;&amp;lt;b&amp;gt;p&amp;lt;/b&amp;gt;&amp;quot; die Partitionstabelle anzeigen.&amp;lt;br\&amp;gt;&lt;br /&gt;
Diese sieht anschließend so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Disk /dev/mmcblk0: 7958 MB, 7958691840 bytes&lt;br /&gt;
4 heads, 32 sectors/track, 121440 cylinders, total 15544320 sectors&lt;br /&gt;
Units = sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 512 bytes&lt;br /&gt;
I/O size (minimum/optimal): 512 bytes / 512 bytes&lt;br /&gt;
Disk identifier: 0x000ee283&lt;br /&gt;
&lt;br /&gt;
        Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
/dev/mmcblk0p1            2048      155647       76800    c  W95 FAT32 (LBA)&lt;br /&gt;
/dev/mmcblk0p2          157696     3414015     1628160   83  Linux&lt;br /&gt;
/dev/mmcblk0p3         3416064     3807231      195584   82  Linux swap / Solaris&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Jetzt müssen wir die Partitionen 2 und 3 löschen. Hierbei löschen wir NUR die Partitionen. Nicht aber die Daten.&amp;lt;br\&amp;gt;&lt;br /&gt;
Um eine Partition zu löschen geben wir den Befehl &amp;quot;&amp;lt;b&amp;gt;d&amp;lt;/b&amp;gt;&amp;quot; ein und anschließend müsst ihr dann angeben welche Partition gelöscht werden soll. &amp;lt;br\&amp;gt;&lt;br /&gt;
Wir fangen mit Partition 2 an und dafür geben wir die Zahl &amp;quot;&amp;lt;b&amp;gt;2&amp;lt;/b&amp;gt;&amp;quot; ein. Dasselbe machen wir für die Partition 3.&lt;br /&gt;
Jetzt müssen wir eine neue Primärpartition erstellen.&lt;br /&gt;
Dafür teilen wir dem Raspberry Pi mit dem Befehl &amp;quot;&amp;lt;b&amp;gt;n&amp;lt;/b&amp;gt;&amp;quot; mit, dass wir eine neue Partition erstellen wollen.&lt;br /&gt;
Anschließend erstellen wir mit dem Befehl &amp;quot;&amp;lt;b&amp;gt;p&amp;lt;/b&amp;gt;&amp;quot; eine neue Primärpartition.&amp;lt;br\&amp;gt;&lt;br /&gt;
Diese Partition soll auch eine Nummer bekommen und da Partition 1 schon vorhanden ist (wir erinnern uns, dass Partition 1 die Bootpartition ist) nummerieren wir die Partition mit der Nummer &amp;quot;&amp;lt;b&amp;gt;2&amp;lt;/b&amp;gt;&amp;quot;.&amp;lt;br\&amp;gt;&lt;br /&gt;
Jetzt müssen wir die Größe der neuen Partition festlegen und diese dann erstellen. Dafür teilen wir dem Raspberry Pi als erstes den ersten Sektor der neuen Partition mit.&amp;lt;br\&amp;gt;&lt;br /&gt;
Wichtig ist das für den ersten Sektor &amp;lt;b&amp;gt;NICHT&amp;lt;/b&amp;gt; der default-Wert genommen wird. Hier müsst ihr den Wert nehmen der weiter oben bei &amp;quot;/dev/mmcblk0&amp;quot; steht, sprich in diesem Beispiel 157696 (den Wert könnt ihr einfach aus der Liste rauskopieren.).&amp;lt;br\&amp;gt;&lt;br /&gt;
Bei dem letzten Sektor könnt ihr hingegen den default-Wert nehmen. Um diesen zu nehmen, reicht ein Druck auf &amp;quot;Enter&amp;quot; aus.&lt;br /&gt;
Danach werdet ihr wieder aufgefordert einen Befehl einzugeben. Jetzt gebt ihr &amp;quot;&amp;lt;b&amp;gt;w&amp;lt;/b&amp;gt;&amp;quot; ein.&amp;lt;br\&amp;gt;&lt;br /&gt;
Jetzt müsst ihr das Raspberry Pi mit diesem Befehl rebooten, damit die Änderungen übernommen werden und die Partition erstellt wird:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn ihr euch wieder eingeloggt habt, müsst ihr die Partition noch &amp;quot;formatieren&amp;quot;. Dies geschieht mit folgendem Befehl:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo resize2fs /dev/mmcblk0p2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Die Zeit zum Ausführen dieses Befehls hängt von der Größe der SD-Karte ab, sprich bei großen Karten dauert dies um einiges länger!&lt;br /&gt;
Nachdem dieser Befehl ausgeführt wurde, beinhaltet die neue Partition allen Speicher der noch keiner Partition zugeordnet war.&amp;lt;br\&amp;gt;&lt;br /&gt;
Wenn ihr anschließend&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ df -h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
eingebt, sollte eure neue Speichertabelle so aussehen (dieses Beispiel gilt für eine 8GB Karte):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;
/dev/mmcb1k0p2        7.3G  1.5G  5.5G  21% /&lt;br /&gt;
tmpfs                  94M     0   94M   0% /lib/init/rw&lt;br /&gt;
udev                   10M  152K  9.9M   2% /dev&lt;br /&gt;
tmpfs                  94M     0   94M   0% /dev/shm&lt;br /&gt;
/dev/mmcblk0p1         75M   29M   46M  39% /boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nun ist die Kartengröße erfolgreich wiederhergestellt und ihr könnt den kompletten Speicherplatz eurer Karte benutzen.&lt;br /&gt;
&lt;br /&gt;
==Erstellen einer Auslagerungsdatei (Debian &amp;quot;Squeeze&amp;quot;)==&lt;br /&gt;
&lt;br /&gt;
Da das Raspberry Pi nur einen sehr kleinen Arbeitsspeicher hat, zeige ich euch hier wie ihr eine [http://de.wikipedia.org/wiki/Auslagerungsdatei Auslagerungsdatei] erstellt. &amp;lt;br\&amp;gt;&lt;br /&gt;
Diese Datei unterstützt den Arbeitsspeicher etwas, indem dadurch der Arbeitsspeicher quasi &amp;quot;vergrößert&amp;quot; wird.&amp;lt;br\&amp;gt;&lt;br /&gt;
Als erstes wechseln wir mit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd /var&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in das Verzeichnis /var. Anschließend erstellen wir die Auslagerungsdatei.&lt;br /&gt;
Dies geschieht mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo dd if=/dev/zero of=swapfile bs=1M count=128&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach wird die Datei als Auslagerungsdatei eingerichtet.&amp;lt;br\&amp;gt;&lt;br /&gt;
Dafür verwenden wir folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkswap /var/swapfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anschließend wird die Auslagerungsdatei aktiviert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo swapon /var/swapfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Schritt dauert nun einen Augenblick. Damit die Auslagerungsdatei genutzt werden kann, muss diese in die &amp;quot;Filesystemtable&amp;quot; eingetragen werden.&amp;lt;br\&amp;gt;&lt;br /&gt;
Als erstes rufen wir diese mit folgendem Befehl auf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nano /etc/fstab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese sollte dann etwa so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
proc            /proc   proc    defaults                        0 0&lt;br /&gt;
/dev/mmcblk0p1  /boot   vfat    defaults                        0 0&lt;br /&gt;
#/dev/mmcblk0p3  none    swap   sw                              0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie unschwer zu erkennen ist, steht die Partition 3 von &amp;quot;MMC0&amp;quot; noch als Swapfile drin.&amp;lt;br\&amp;gt;&lt;br /&gt;
Da diese Partition aber gelöscht wurde, muss dies korrigiert werden.&amp;lt;br\&amp;gt;&lt;br /&gt;
Dazu löscht ihr erstmal alles und anschließend könnt ihr mittels Copy &amp;amp; Paste diesen Text einfügen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
proc            /proc   proc    defaults                        0 0&lt;br /&gt;
/dev/mmcblk0p1  /boot   vfat    defaults                        0 0&lt;br /&gt;
/dev/mmcblk0p2  /       ext4    defaults,noatime,nodiratime     0 0&lt;br /&gt;
/var/swapfile   none    swap    sw                              0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird die vorher angelegte Datei namens &amp;quot;swapfile&amp;quot; auch als Auslagerungsdatei verwendet.&amp;lt;br\&amp;gt;&lt;br /&gt;
Mit &amp;quot;Strg + O&amp;quot; wird die Datei &amp;quot;fstab&amp;quot; anschließend gespeichert und mit &amp;quot;Strg + X&amp;quot; schließt ihr den Editor.&lt;br /&gt;
Jetzt muss das System noch rebootet werden.&amp;lt;br\&amp;gt;&lt;br /&gt;
Nach dem reboot können wir alles nochmal kontrollieren. Dazu tippen wir als erstes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ top&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ein und dann sollte das hier angezeigt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Swap:   131068k total,        0k used,   131068k free,    82376k cached&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun ist die Auslagerungsdatei bereit und kann verwendet werden.&lt;br /&gt;
&lt;br /&gt;
==Einrichten eines Webservers==&lt;br /&gt;
&lt;br /&gt;
=Anwendungen=&lt;br /&gt;
Internetradio [[Raspberry_PI:_Internetradio|Internetradio]]&lt;br /&gt;
&lt;br /&gt;
==Ansteuern der GPIO's==&lt;br /&gt;
Informationen zu den [[Raspberry_PI:_GPIO|GPIO Pins]]&lt;br /&gt;
&lt;br /&gt;
== Serielle Schnittstelle unter PHP / Apache2 ==&lt;br /&gt;
Am Beispiel eines Webservers mit dem RasPi, &lt;br /&gt;
* der im Intranet läuft, &lt;br /&gt;
* von einem angeschlossenen AVR Messdaten über die serielle Schnittstelle einsammelt&lt;br /&gt;
* diese via HTTP GET an einen Webserver draussen im Internet sendet&lt;br /&gt;
* welcher die Daten auf einer Website anzeigt und dann &lt;br /&gt;
* vom Benutzer Eingaben abfragt, &lt;br /&gt;
* diese wieder an den RasPi abliefert,&lt;br /&gt;
* der (Raspi) sie dann schließlich wieder seriell an den Controller schickt.&lt;br /&gt;
&lt;br /&gt;
Die Anleitung ist [http://flipdot.org/wiki/index.php?title=Raspberry_telefoniert_nach_draussen hier] zu finden.&lt;br /&gt;
&lt;br /&gt;
= Weblinks =&lt;br /&gt;
[http://www.roboternetz.de/community/forums/68-Raspberry-Pi Roboternetz Forum zum Raspberry Pi]&amp;lt;br\&amp;gt;&lt;br /&gt;
[http://www.raspberrypi.org/ Raspberry Pi.org]&amp;lt;br\&amp;gt;&lt;br /&gt;
[http://wiki.ubuntuusers.de/Startseite Ubuntuuser Wiki]&amp;lt;br\&amp;gt;&lt;br /&gt;
[http://wiki.debian.org/de/FrontPage?action=show&amp;amp;redirect=StartSeite Debian Wiki]&amp;lt;br\&amp;gt;&lt;br /&gt;
[http://hobbyelektronik.org/w/index.php/Raspberry_Pi_IO Tutorial zu den IOs]&amp;lt;br\&amp;gt;&lt;br /&gt;
[http://sparky0815.de/2012/05/raspberry-pi-partition-an-grosere-sd-karte-anpassen Größe der SD-Karte anpassen]&amp;lt;br\&amp;gt;&lt;br /&gt;
[http://www.robot-electronics.co.uk/htm/raspberry_pi_examples.htm Programmbeispiele ( in C )] &lt;br /&gt;
&lt;br /&gt;
=Alternativen zum Raspberry_PI=&lt;br /&gt;
Der Raspberry PI ist mittlerweile nicht mehr das einzige günstige Embedded Linux kompatible Board.&lt;br /&gt;
Es existieren viele (zum Teil deutlich leistungsstärkere) Alternativen dazu.&lt;br /&gt;
&lt;br /&gt;
* [http://thinkembedded.ch/Linux/A13-OLinuXino::156.html OlinuXino A13 Board]&lt;br /&gt;
* [http://cubieboard.org/ Cubieboard]&lt;br /&gt;
* [https://www.miniand.com/products/Hackberry%20A10%20Developer%20Board Hackberry]&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Kampi|Kampi]] 18:20, 5. Jul 2012 (CEST)&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>Snafu</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Bascom_Variablen&amp;diff=17380</id>
		<title>Bascom Variablen</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Bascom_Variablen&amp;diff=17380"/>
				<updated>2011-04-09T05:28:47Z</updated>
		
		<summary type="html">&lt;p&gt;Snafu: /* Strings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Variablen werden benutzt, um Daten zu speichern. Dieser Artikel soll eine Übersicht über die Variablen in Bascom bieten. &lt;br /&gt;
&lt;br /&gt;
== Zur Erklärung ==&lt;br /&gt;
In den Quelltexten zur Erzeugung der Variablen steht &amp;quot;Name&amp;quot; immer für den Namen, der der Variablen zugewiesen werden soll (ist ja auch logisch ;-)&lt;br /&gt;
== Bits ==&lt;br /&gt;
Alle Zahlen und Buchstaben in der Digitaltechnik bestehen letztendlich aus mehreren Bits, doch dazu mehr im Abschnitt Bytes. Ein Bit kann entweder 0 oder 1 sein und ist somit die Variable mit dem kleinsten Wertebereich.&lt;br /&gt;
&lt;br /&gt;
Hier der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertbereich:''' 0 bis 1&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Bit&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 1 'setzt die Variable auf 1&lt;br /&gt;
 Name = 0 'setzt die Variable auf 0&lt;br /&gt;
&lt;br /&gt;
oder&lt;br /&gt;
&lt;br /&gt;
 Set Name 'setzt die Variable auf 1&lt;br /&gt;
 Reset Name 'setzt die Variable auf 0&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bytes ==&lt;br /&gt;
Wie oben angesprochen setzt sich alles in der Digitaltechnik aus Bytes zusammen. Wie das funktioniert soll diese Tabelle erläutern:&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''Bit-Nummer'''&lt;br /&gt;
 |7&lt;br /&gt;
 |6&lt;br /&gt;
 |5&lt;br /&gt;
 |4&lt;br /&gt;
 |3&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bit-Wert'''&lt;br /&gt;
 |128&lt;br /&gt;
 |64&lt;br /&gt;
 |32&lt;br /&gt;
 |16&lt;br /&gt;
 |8&lt;br /&gt;
 |4&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bitmuster'''&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Bitfolge (Bitmuster) stellt die Zahl 100 dar. Ist das Bit unter der entsprechenden Zahl gleich 1, wird die Zahl addiert, ist das Bit 0 dann nicht. So kann man aus einsen und nullen ganze Zahlen machen. Die Menge der Bits bestimmt den Wertebereich der Variablen, z.B. hat die oben gezeigte Tabelle 8 Bits (also ein 8-Bit Byte). Würde man jetzt jedes Bit auf eins setzen, hätte man den maximalen Wertebereich, in unserem Fall 255.&lt;br /&gt;
In Bascom werden passenderweise auch 8-Bit Bytes verwendet.&lt;br /&gt;
&lt;br /&gt;
Da hier ein Binärsystem vorliegt (Basis 2) könnte man auch die folgende Schreibweise anwenden:&lt;br /&gt;
{{Registertabelle8Bit|NEIN|JA|JA|NEIN|NEIN|JA|NEIN|NEIN}}&lt;br /&gt;
(2^2) + (2^5) + (2^6) = 100 Dez. (nur die gesetzten Bits bzw, deren Nummer als Hochzahl addieren) {2^0 = 1}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So viel zur Theorie, kommen wir zur Praxis.&lt;br /&gt;
&lt;br /&gt;
Dazu wieder ein kleiner Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' 0 bis 255 und alle Buchstaben des Alphabets (ausgenommen Umlaute + das ß)&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Byte&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 100 'setzt die Variable auf 100&lt;br /&gt;
 Name = &amp;quot;a&amp;quot; 'speichert den Buchstaben a in der Variable&lt;br /&gt;
 Name = Name + 2 'addiert 2 zur Variablen, funktioniert logischerweise nur korrekt, wenn die Variable eine Zahl als Wert hat&lt;br /&gt;
 Name = Name + &amp;amp;B00000010 (auch wieder 2 Addieren allerdings in binärer (&amp;amp;B) Schreibweise)&lt;br /&gt;
 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Integer ==&lt;br /&gt;
Im Gegensatz zu Bytes können Integer (Integralzahlen) nur Zahlen und keine Buchstaben speichern.&lt;br /&gt;
Außerdem können sie auch Zahlen im negativen Bereich speichern.&lt;br /&gt;
&lt;br /&gt;
Mehr ist dazu nicht zu sagen, also gleich der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' '''-32768''' bis '''+32767'''&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Integer&lt;br /&gt;
&lt;br /&gt;
'''Wertzweisung in Bascom:'''&lt;br /&gt;
 Name = 2500 'setzt die Variable auf 2500&lt;br /&gt;
 Name = Name + 5000 'addiert 5000 zur Variablen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Darstellung von Integerzahlen als Binärwert&lt;br /&gt;
      1 = &amp;amp;B0000000000000001&lt;br /&gt;
     -1 = &amp;amp;B1111111111111111&lt;br /&gt;
      2 = &amp;amp;B0000000000000010&lt;br /&gt;
     -2 = &amp;amp;B1111111111111110&lt;br /&gt;
    255 = &amp;amp;B0000000011111111&lt;br /&gt;
   -255 = &amp;amp;B1111111100000001&lt;br /&gt;
  32767 = &amp;amp;B0111111111111111&lt;br /&gt;
 -32768 = &amp;amp;B1000000000000000&lt;br /&gt;
&lt;br /&gt;
Bascom Code: ''print bin (Name)''&lt;br /&gt;
&lt;br /&gt;
== Long-Variablen ==&lt;br /&gt;
Long-Variablen haben den größten Wertebereich. &lt;br /&gt;
&lt;br /&gt;
Hier wieder ein Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' -2147483648 bis 2147483647&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Long&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 10000000 'setzt die Variable auf 1000000&lt;br /&gt;
 Name = Name + 30234 'addiert 30234 zur Variablen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Word-Variablen ==&lt;br /&gt;
Words können ebenfalls nur Zahlen speichern, aber sind nur im positivem Bereich gültig.&lt;br /&gt;
Steckbrief:&lt;br /&gt;
&lt;br /&gt;
'''Wertebereich:''' 0 bis 65535&lt;br /&gt;
&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
 |'''Bit-Nummer'''&lt;br /&gt;
 |15&lt;br /&gt;
 |14&lt;br /&gt;
 |13&lt;br /&gt;
 |12&lt;br /&gt;
 |11&lt;br /&gt;
 |10&lt;br /&gt;
 |9&lt;br /&gt;
 |8&lt;br /&gt;
 |7&lt;br /&gt;
 |6&lt;br /&gt;
 |5&lt;br /&gt;
 |4&lt;br /&gt;
 |3&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bit-Wert'''&lt;br /&gt;
 |32768&lt;br /&gt;
 |16384&lt;br /&gt;
 |8192&lt;br /&gt;
 |4096 &lt;br /&gt;
 |2048 &lt;br /&gt;
 |1024&lt;br /&gt;
 |512&lt;br /&gt;
 |256&lt;br /&gt;
 |128&lt;br /&gt;
 |64&lt;br /&gt;
 |32&lt;br /&gt;
 |16&lt;br /&gt;
 |8&lt;br /&gt;
 |4&lt;br /&gt;
 |2&lt;br /&gt;
 |1&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bitmuster'''&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |1&lt;br /&gt;
 |1&lt;br /&gt;
 |0&lt;br /&gt;
 |0&lt;br /&gt;
 |}&lt;br /&gt;
Dieses Bitmuster (&amp;amp;B1100110011001100) stellt den Wert 52428 (dez.) dar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As Word&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = 3333 'setzt die Variable auf 3333&lt;br /&gt;
 Name = Name + 20 'addiert 20 zur Variablen&lt;br /&gt;
 Name = Name + &amp;amp;B00010100 'addiert auch 20 (Binär 00010100)zur Variablen&lt;br /&gt;
&lt;br /&gt;
== Strings ==&lt;br /&gt;
Strings können sowohl Zahlen als auch Buchstaben speichern, allerdings kann man mit den Zahlen in Strings nicht rechnen.&lt;br /&gt;
Sie sind besonders für längere Textabschnitte wie Namen, etc. geeignet. &lt;br /&gt;
&lt;br /&gt;
Aber ein Steckbrief sagt mehr als tausend Worte:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:''' max. 70 Zeichen&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom:'''&lt;br /&gt;
 Dim Name As String * 50 'Die Zahl am Ende gibt an, wie viele Zeichen die Variable maximal enthalten kann&lt;br /&gt;
                         'Hier kann man 0 bis 70 auswählen&lt;br /&gt;
&lt;br /&gt;
'''Wertzuweisung in Bascom:'''&lt;br /&gt;
 Name = &amp;quot;Hallo! 123456&amp;quot; 'Weist der Variablen den Text in Anführungszeichen zu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bei der Zuweisung von Text zu Stringvariablen muss man als Programmierer selbst darauf achten, dass die Stringlänge, die man mit z.B. &amp;quot;Dim Name As String * 50&amp;quot; definiert hat,  nicht überschritten wird. Sonst sind unvorhersehbare Effekte und Absturz möglich.&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
Wie dem Namen zu entnehmen ist, handelt es sich hier nicht wirklich um Variablen. &lt;br /&gt;
Aber es wäre unnötig extra dafür einen Artikel anzulegen, also wird dieses Thema hier mit behandelt.&lt;br /&gt;
Konstanten kann man nur einmal einen Wert zuweisen, danach ist dieser unveränderlich.&lt;br /&gt;
Auch sie können sowohl Zahlen als auch Buchstaben speichern.&lt;br /&gt;
&lt;br /&gt;
Der Steckbrief:&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Wertebereich:'''Von mir noch nicht erprobt, sollte ihn jemand kennen bitte hier eintragen.&lt;br /&gt;
&lt;br /&gt;
'''Erzeugung in Bascom + Wertzuweisung:'''&lt;br /&gt;
 Const Name = &amp;quot;test&amp;quot; 'Weist der Variablen den Text in Anführungszeichen zu&lt;br /&gt;
mit Zahlen funktioniert das auch:&lt;br /&gt;
 Const Name = 1234 'Weist der Variablen den Wert 1234 zu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Wie man sieht muss man den Wert direkt bei der Erzeugung angeben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Und was soll das ganze? ==&lt;br /&gt;
Für alle die sich jetzt fragen, was genau dieser Artikel bewirken soll:&lt;br /&gt;
&lt;br /&gt;
Ich weiß, dass viel erklärt wird, was die meisten sowieso schon wissen (z.B. dass die Zahlen aus Bits bestehen), aber keiner wusste es von Anfang an, jeder muss es irgendwann gelernt haben. Dennoch dient dieser Artikel nicht nur Anfängern als Tutorial, sondern auch Fortgeschrittenen als Nachschlagewerk (Ich wette es gibt nicht viele Leute, die den Wertebereich der Long-Variablen auswendig können ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
*[[Benutzer:Shahri|Shahri]] 17:45, 17. Mai 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Quellcode Bascom]]&lt;/div&gt;</summary>
		<author><name>Snafu</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Diskussion:Abblockkondensator&amp;diff=14464</id>
		<title>Diskussion:Abblockkondensator</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Diskussion:Abblockkondensator&amp;diff=14464"/>
				<updated>2009-01-04T21:45:11Z</updated>
		
		<summary type="html">&lt;p&gt;Snafu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es wäre denkbar, diesen Artikel in zwei Teile zu gliedern: eine grobe, aber anschauliche und verständliche Beschreibung für alle Einsteiger, und für alle, die mehr wissen wollen, eine genaue physikalische Betrachtung. Ich fang dann mal mit was (hoffentlich) Verständlichem an... --[[Benutzer:Uwegw|Uwegw]] 19:40, 21. Dez 2005 (CET)&lt;/div&gt;</summary>
		<author><name>Snafu</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Abblockkondensator&amp;diff=14463</id>
		<title>Abblockkondensator</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Abblockkondensator&amp;diff=14463"/>
				<updated>2009-01-04T21:45:00Z</updated>
		
		<summary type="html">&lt;p&gt;Snafu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Viele Anfänger in Sachen Elektronik bekommen, wenn sie eine selbst entworfene Schaltung im Forum posten, als erstes zu hören: &amp;quot;Alle ICs mit Kondensatoren an den Stromversorgungspins versehen!!!&amp;quot;. Die Erklärungen, die dazu geliefert werden, schwanken zwischen &amp;lt;nicht vorhanden&amp;gt;, und langen, ausführlichen, physikalisch korrekten, aber für Laien kaum verständlichen Ausführungen. &lt;br /&gt;
Dieser Artikel soll nun dazu dienen, die Wirkung eines Abblockkondensators zu beschreiben und zu erklären, sodass in Zukunft vom Forum einfach hierhin verlinkt werden kann, wenn das Thema mal wieder zur Sprache kommt...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Theorie ==&lt;br /&gt;
&lt;br /&gt;
Erklärung in wenigen Sätzen: Digitale ICs ziehen impulsweise sehr hohe Ströme, sodass die Spannung einbrechen kann. Das kann sich störend auf andere Teile der Schaltung auswirken. Ein Kondensator kann Energie speichern und sie sehr schnell wieder abgeben, wenn plötzlich viel Strom benötigt wird. Dadurch wird die Spannung im Rest der Schaltung stabiler gehalten. Aber jetzt Schluss mit der Theorie, die folgenden Bilder sprechen für sich (alle Aufnahmen mit Zeitbasis 0,5µs/Div):   &lt;br /&gt;
&lt;br /&gt;
[[Bild:Abblockkondensator OhneC amAVR.jpg]]&lt;br /&gt;
&lt;br /&gt;
So sieht es auf der 5V-Versorgungsleitung aus, wenn ein AVR (90S8515, 4MHz) ohne Abblockkondensatoren betrieben wird. Die periodische hohe Stromaufnahme führt zu kurzen Spannungseinbrüchen und -spitzen, die bis zu 0,25V erreichen können. &lt;br /&gt;
Diese Störungen breiten sich über die Leitungen in die gesamte Schaltung aus, und selbst 30cm Kabellänge entfernt sieht es noch so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Abblockkondensator OhneC weit entfernt.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die Störungen werden schwächer, sind aber immer noch recht deutlich zu erkennen und können andere Bauteile stören.&lt;br /&gt;
&lt;br /&gt;
Abhilfe schafft nun ein Abblockkondensator, der möglichst nahe am Stromversorgungspin des AVRs gegen Masse geschaltet wird. Ein Folien-oder Keramikkondensator mit 100nF schafft Ruhe auf der Leitung:&lt;br /&gt;
 &lt;br /&gt;
[[Bild:Abblockkondensator 100nF amAVR.jpg]]&lt;br /&gt;
&lt;br /&gt;
Das übrig bleibende &amp;quot;Grundrauschen&amp;quot; ist nun so gering, dass es sich in den allermeisten Fällen nicht mehr störend auswirkt.&lt;br /&gt;
&lt;br /&gt;
Die Störungen auf der Versorgungsspannung stören nicht nur die zuverlässige Funktion der Schaltung selbst, sondern sind auch eine Quelle von Funkstörungen. Die Abblockkondensatoren sind also auch aus EMV-Gründen notwendig.&lt;br /&gt;
&lt;br /&gt;
== Praxis==&lt;br /&gt;
=== Welchen Kondensatortyp verwenden? ===&lt;br /&gt;
Als Abblockkondensator werden üblicherweise keramische Kondensatoren verwendet. Geschichtete (flache, nicht gewickelte) Folienkondensatoren sind ebenfalls geeignet, allerdings normalerweise teurer. Elkos sind ungeeignet! Sie sind meist gewickelt, und haben deswegen auch einen induktiven Anteil, verhalten sich also auch ein wenig wie eine Spule, und können daher ihre Ladung nur langsam (im Verhältnis zu Keramik oder Folie) aufnehmen oder abgeben. Daher können sie die Stromspitzen digitaler ICs nicht so effektiv abfangen. Es treten also größere Störungen auf.&lt;br /&gt;
&lt;br /&gt;
=== Welche Kapazität? ===&lt;br /&gt;
Die nötige Kapazität ist von der Schaltfrequenz des ICs abhängig. Im für Mikrocontroller wie AVRs oder PICs üblichen Frequenzbereich bis etwa 20MHz ist der genaue Wert allerdings recht unkritisch, und man kann gewöhnlicherweise einen Standardwert von 100nF verwenden. &lt;br /&gt;
Bei größeren Frequenzen sollte man sich aber etwas eingehender mit der Thematik befassen und die optimale Größe bestimmen.&lt;br /&gt;
&amp;quot;Viel hilft viel&amp;quot; gilt hier übrigens nicht! Ein sehr großer Kondensator hat unter Umständen einen größeren Innenwiderstand als ein kleinerer, und damit evtl. sogar eine geringere Wirkung.&lt;br /&gt;
&lt;br /&gt;
=== Wo montieren? ===&lt;br /&gt;
Damit der Kondensator seine Wirkung optimal entfalten kann, sollte er so nahem wie möglich am IC platziert werden. Bei vielen ICs sind die Versorgungsanschlüssen VCC und GND direkt nebeneinander angeordnet. Hier kann man dann den Kondensator sehr einfach parallel neben dem IC einlöten. &lt;br /&gt;
Manche ICs haben mehrere Anschlüsse für VCC/GND. Hier sollte man möglichst an jedem dieser Anschlüsse eine eigenen Kondensator setzen, wenn diese auf entgegengesetzten Seiten des ICs liegen.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:Praxis]]&lt;br /&gt;
[[Category:Elektronik]]&lt;br /&gt;
[[Category:Microcontroller]]&lt;/div&gt;</summary>
		<author><name>Snafu</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Abblockkondensator&amp;diff=14462</id>
		<title>Abblockkondensator</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Abblockkondensator&amp;diff=14462"/>
				<updated>2009-01-04T21:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;Snafu: /* Welchen Kondensatortyp verwenden? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Viele Anfänger in Sachen Elektronik bekommen, wenn sie eine selbst entworfene Schaltung im Forum posten, als erstes zu hören: &amp;quot;Alle ICs mit Kondensatoren an den Stromversorgungspins versehen!!!&amp;quot;. Die Erklärungen, die dazu geliefert werden, schwanken zwischen &amp;lt;nicht vorhanden&amp;gt;, und langen, ausführlichen, physikalisch korrekten, aber für Laien kaum verständlichen Ausführungen. &lt;br /&gt;
Dieser Artikel soll nun dazu dienen, die Wirkung eines Abblockkondensators zu beschreiben und zu erklären, sodass in Zukunft vom Forum einfach hierhin verlinkt werden kann, wenn das Thema mal wieder zur Sprache kommt...&lt;br /&gt;
&lt;br /&gt;
Es wäre denkbar, diesen Artikel in zwei Teile zu gliedern: eine grobe, aber anschauliche und verständliche Beschreibung für alle Einsteiger, und für alle, die mehr wissen wollen, eine genaue physikalische Betrachtung. Ich fang dann mal mit was (hoffentlich) Verständlichem an... --[[Benutzer:Uwegw|Uwegw]] 19:40, 21. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Theorie ==&lt;br /&gt;
&lt;br /&gt;
Erklärung in wenigen Sätzen: Digitale ICs ziehen impulsweise sehr hohe Ströme, sodass die Spannung einbrechen kann. Das kann sich störend auf andere Teile der Schaltung auswirken. Ein Kondensator kann Energie speichern und sie sehr schnell wieder abgeben, wenn plötzlich viel Strom benötigt wird. Dadurch wird die Spannung im Rest der Schaltung stabiler gehalten. Aber jetzt Schluss mit der Theorie, die folgenden Bilder sprechen für sich (alle Aufnahmen mit Zeitbasis 0,5µs/Div):   &lt;br /&gt;
&lt;br /&gt;
[[Bild:Abblockkondensator OhneC amAVR.jpg]]&lt;br /&gt;
&lt;br /&gt;
So sieht es auf der 5V-Versorgungsleitung aus, wenn ein AVR (90S8515, 4MHz) ohne Abblockkondensatoren betrieben wird. Die periodische hohe Stromaufnahme führt zu kurzen Spannungseinbrüchen und -spitzen, die bis zu 0,25V erreichen können. &lt;br /&gt;
Diese Störungen breiten sich über die Leitungen in die gesamte Schaltung aus, und selbst 30cm Kabellänge entfernt sieht es noch so aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Abblockkondensator OhneC weit entfernt.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die Störungen werden schwächer, sind aber immer noch recht deutlich zu erkennen und können andere Bauteile stören.&lt;br /&gt;
&lt;br /&gt;
Abhilfe schafft nun ein Abblockkondensator, der möglichst nahe am Stromversorgungspin des AVRs gegen Masse geschaltet wird. Ein Folien-oder Keramikkondensator mit 100nF schafft Ruhe auf der Leitung:&lt;br /&gt;
 &lt;br /&gt;
[[Bild:Abblockkondensator 100nF amAVR.jpg]]&lt;br /&gt;
&lt;br /&gt;
Das übrig bleibende &amp;quot;Grundrauschen&amp;quot; ist nun so gering, dass es sich in den allermeisten Fällen nicht mehr störend auswirkt.&lt;br /&gt;
&lt;br /&gt;
Die Störungen auf der Versorgungsspannung stören nicht nur die zuverlässige Funktion der Schaltung selbst, sondern sind auch eine Quelle von Funkstörungen. Die Abblockkondensatoren sind also auch aus EMV-Gründen notwendig.&lt;br /&gt;
&lt;br /&gt;
== Praxis==&lt;br /&gt;
=== Welchen Kondensatortyp verwenden? ===&lt;br /&gt;
Als Abblockkondensator werden üblicherweise keramische Kondensatoren verwendet. Geschichtete (flache, nicht gewickelte) Folienkondensatoren sind ebenfalls geeignet, allerdings normalerweise teurer. Elkos sind ungeeignet! Sie sind meist gewickelt, und haben deswegen auch einen induktiven Anteil, verhalten sich also auch ein wenig wie eine Spule, und können daher ihre Ladung nur langsam (im Verhältnis zu Keramik oder Folie) aufnehmen oder abgeben. Daher können sie die Stromspitzen digitaler ICs nicht so effektiv abfangen. Es treten also größere Störungen auf.&lt;br /&gt;
&lt;br /&gt;
=== Welche Kapazität? ===&lt;br /&gt;
Die nötige Kapazität ist von der Schaltfrequenz des ICs abhängig. Im für Mikrocontroller wie AVRs oder PICs üblichen Frequenzbereich bis etwa 20MHz ist der genaue Wert allerdings recht unkritisch, und man kann gewöhnlicherweise einen Standardwert von 100nF verwenden. &lt;br /&gt;
Bei größeren Frequenzen sollte man sich aber etwas eingehender mit der Thematik befassen und die optimale Größe bestimmen.&lt;br /&gt;
&amp;quot;Viel hilft viel&amp;quot; gilt hier übrigens nicht! Ein sehr großer Kondensator hat unter Umständen einen größeren Innenwiderstand als ein kleinerer, und damit evtl. sogar eine geringere Wirkung.&lt;br /&gt;
&lt;br /&gt;
=== Wo montieren? ===&lt;br /&gt;
Damit der Kondensator seine Wirkung optimal entfalten kann, sollte er so nahem wie möglich am IC platziert werden. Bei vielen ICs sind die Versorgungsanschlüssen VCC und GND direkt nebeneinander angeordnet. Hier kann man dann den Kondensator sehr einfach parallel neben dem IC einlöten. &lt;br /&gt;
Manche ICs haben mehrere Anschlüsse für VCC/GND. Hier sollte man möglichst an jedem dieser Anschlüsse eine eigenen Kondensator setzen, wenn diese auf entgegengesetzten Seiten des ICs liegen.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:Praxis]]&lt;br /&gt;
[[Category:Elektronik]]&lt;br /&gt;
[[Category:Microcontroller]]&lt;/div&gt;</summary>
		<author><name>Snafu</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Terminals&amp;diff=14268</id>
		<title>Terminals</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Terminals&amp;diff=14268"/>
				<updated>2008-11-30T06:19:23Z</updated>
		
		<summary type="html">&lt;p&gt;Snafu: /* Terminalprogramme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Allgemeines zu Terminals==&lt;br /&gt;
Ein Terminal dient dazu, Daten, die z.B. an einen COM-Port geschickt wurden, zu empfangen, oder Daten zu versenden. Die Daten sind meist in Textform (ASCII). Es gibt Terminals ohne GUI, diese laufen dann z.B. in einer Konsole, oder welche mit GUI. Siehe dazu &lt;br /&gt;
&lt;br /&gt;
Man kann ein Terminal u.a. für folgendes verwenden (neben dem simplen Senden und Empfangen):&lt;br /&gt;
* Debugginginformationen protokollieren&lt;br /&gt;
* Daten aufzeichnen (loggen)&lt;br /&gt;
* Daten auswerten&lt;br /&gt;
&lt;br /&gt;
Es sind einige Terminalprogramme für die unterschiedlichsten Betriebsysteme vorhanden (siehe [[Terminalprogramm|Terminalprogramme]]).&lt;br /&gt;
&lt;br /&gt;
Was hat ein Terminal mit Robotik zu tun? Eigentlich nichts. Aber wer nicht ein LCD-Display und eine Tastatur auf seinem Board eingebaut hat, ist darauf angewiesen, mit einer Terminal-Emulation Kontakt mit seinem Controllerboard aufzunehmen. &lt;br /&gt;
&lt;br /&gt;
Gleich vorweg: Da kaum ein Bastler mit einem richtigen &amp;quot;physischen&amp;quot; Terminal zu tun hat, werde ich den Zusatz &amp;quot;Emulation&amp;quot; in Zukunft streichen. Das verwirrt nur und bringt nichts.&lt;br /&gt;
Bei so einem Terminal sind ein paar Dinge einzustellen und auf die sollte man auch achten. Häufig verwendet werden&lt;br /&gt;
&lt;br /&gt;
==Terminalprogramme==&lt;br /&gt;
Es gibt einige bekannte Terminals mit einer GUI. Solche Programme für das Betriebssystem Windows sind u.a.:&lt;br /&gt;
* [[Terminals#Hyperterm Terminal|Hyperterm Terminal]]&lt;br /&gt;
* TTY&lt;br /&gt;
* [http://www.der-hammer.info/terminal/ HTerm]&lt;br /&gt;
&lt;br /&gt;
Entwicklungsumgebungen wie z.B. Bascom haben oft bereits ein Terminalprogramm (siehe [[Terminals#BasCom Terminal|BasCom Terminal]]) integriert. Dies erleichtert das Debuggen (Fehlersuche in eigenen Programmen) erheblich. Links sind im [[Terminals#Weblinks|Weblinks]] Bereich.&lt;br /&gt;
&lt;br /&gt;
==BasCom Terminal==&lt;br /&gt;
Die Entwicklungsumgebung Bascom bringt ein eigenes, in die Entwicklungsumgebung integriertes, Terminalprogramm mit - Bascom Terminal. Die Möglichkeiten des Programms beschränken sich auf das Wichtigste.&lt;br /&gt;
&lt;br /&gt;
Options » Communications&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/basterm1.jpg&lt;br /&gt;
&lt;br /&gt;
Es ist nicht viel einzustellen, die gezeigten Werte sind der Normalfall.&lt;br /&gt;
&lt;br /&gt;
==Hyperterm Terminal==&lt;br /&gt;
Das Hyperterm Terminal wird standardgemäß mit jeder Windowsversion mitgeliefert. Es bietet auch nur Grundfunktionen, ist aber als einfaches Terminalprogramm mit GUI gut zu gebrauchen.&lt;br /&gt;
&lt;br /&gt;
Nach dem Programmstart erscheint:&lt;br /&gt;
&lt;br /&gt;
'''Neue Verbindung'''&lt;br /&gt;
&lt;br /&gt;
[[Bild:Hyper1_v2.png]]&lt;br /&gt;
&lt;br /&gt;
Da gibt man irgendeinen Namen für die Verbindung ein, z.B. &amp;quot;Roboternetz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Es erscheint:&lt;br /&gt;
'''Verbinden mit''' &lt;br /&gt;
&lt;br /&gt;
[[Bild:Hyper2_v2.png]]&lt;br /&gt;
&lt;br /&gt;
Wir geben den COM-Port ein (der Port also, über den die Daten gesendet/empfangen werden sollen):&lt;br /&gt;
&lt;br /&gt;
Nun können wir einige COM-Port Einstellungen wählen. Damit es zu einer Verbindung kommt müssen die gewählten Einstellungen mit den Einstellungen des Endgeräts (das über eine COM-Port Schnittstelle am Computer hängt) übereinstimmen. Sonst empfängt man nur Datenmüll oder gar nichts.&lt;br /&gt;
&lt;br /&gt;
'''Anschlusseinstellungen'''&lt;br /&gt;
&lt;br /&gt;
[[Bild:Hyper3_v2.png]]&lt;br /&gt;
&lt;br /&gt;
* Baudrate (Bits pro Sekunde) - Beliebt ist 9600, dass muss aber mit den Einstellungen des Controllers übereinstimmen&lt;br /&gt;
* Datenbits - Normalerweise &amp;quot;8&amp;quot;&lt;br /&gt;
* Parität - Normalerweise &amp;quot;keine&amp;quot;&lt;br /&gt;
* Stoppbits - Normalerweise &amp;quot;1&amp;quot;&lt;br /&gt;
* Flusssteuerung - Normalerweise &amp;quot;kein&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Jetzt ist das Hyperterm soweit zufrieden, wir aber nicht.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Hyper4_v2.png]]&lt;br /&gt;
&lt;br /&gt;
Es geht weiter bei:&lt;br /&gt;
&lt;br /&gt;
===Einstellungen===&lt;br /&gt;
&lt;br /&gt;
Datei » Eigenschaften » Einstellungen&lt;br /&gt;
&lt;br /&gt;
[[Bild:Hyper5_v2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Interessant sind:&lt;br /&gt;
* Rücktaste sendet*&lt;br /&gt;
** CAN (Ctrl-H) --&amp;gt; Terminalsteuerung&lt;br /&gt;
** DEL --&amp;gt; Terminalsteuerung&lt;br /&gt;
&lt;br /&gt;
'''Emulation''' &lt;br /&gt;
wird hier Verschiedenes angeboten&lt;br /&gt;
* Auto Detect&lt;br /&gt;
* TTY&lt;br /&gt;
Solange man nur &amp;quot;print&amp;quot; und &amp;quot;input&amp;quot; sagt, ist dies völlig ausreichend.&lt;br /&gt;
&lt;br /&gt;
* VT100 / VT220 und evtl. andere&lt;br /&gt;
Diese Typen verstehen die normalen &amp;quot;ANSI-Steuersequenzen&amp;quot; und einige mehr ANSII-Sequenzen.&lt;br /&gt;
&lt;br /&gt;
Das reicht, um mit dem Roboter (oder einem anderen Endgerät) kommunizieren zu können.&lt;br /&gt;
&lt;br /&gt;
===ASCII-Konfiguration===&lt;br /&gt;
&lt;br /&gt;
Um das Interesse zu wecken, einmal ein Bild der Einstellungen. Beim Thema &amp;quot;Terminalsteuerung&amp;quot; gibt es dazu mehr Information.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Hyper6_v2.png]]&lt;br /&gt;
&lt;br /&gt;
==Terminalsteuerung ANSI==&lt;br /&gt;
&lt;br /&gt;
Ein Terminal bietet aber auch einiges mehr als das, was bei der allgemeinen Terminalsteuerung besprochen wurde. &lt;br /&gt;
&lt;br /&gt;
* Volle Kontrolle über den Bildschirm&lt;br /&gt;
* Alle Tasten können verwendet werden&lt;br /&gt;
&lt;br /&gt;
Dazu werden ANSI-Sequenzen verwendet (dass sind Zeichenfolgen mit ganz bestimmtem Aufbau). Und auch die werden noch von verschiedenen Herstellern um zusätzliche Funktionen erweitert. Besonders hervorgetan hat sich hier DEC (Digital Equipment Corporation) mit seinen VTxxx-Terminals. Viele Terminal-Emulationen bieten solche Typen an, wobei besonders die VT220 und aufwärts interessant sind. Aber auch schon VT100 ist ganz nett.&lt;br /&gt;
&lt;br /&gt;
Die ganzen Steuersequenzen sind auch im Internet zu finden und Power-User sind gebeten, sich dort über alle Feinheiten zu informieren.&lt;br /&gt;
&lt;br /&gt;
Für Mikrocontroller ist wohl einiges zu aufwendig, aber einige Möglichkeiten möchte ich hier darstellen, da man damit doch von den unleserlich schnell durchlaufenden Einzelzeilen wegkommen kann.&lt;br /&gt;
&lt;br /&gt;
Nicht jeder hat die Möglichkeit, und manchmal zahlt es sich auch gar nicht aus, eigens ein graphikfähiges PC-Programm zu schreiben, um mit seinem Microcontroller Dialog zu führen, oder ein bisschen Balkengraphik zu zeigen. &lt;br /&gt;
&lt;br /&gt;
Den Typ VT100 bieten BasCom und Hyperterm an, wollen wir mal sehen&lt;br /&gt;
&lt;br /&gt;
===VT100===&lt;br /&gt;
====Was sendet das Terminal? (Auszug)====&lt;br /&gt;
Bei der normalen Schreibmaschinen-Tastatur ändert sich nichts. Aber die anderen Blöcke werden nun lebendig.&lt;br /&gt;
&lt;br /&gt;
Nur das erste Zeichen eine Sequenz ist ein Kontrollzeichen, und zwar:&lt;br /&gt;
 &amp;lt;ESC&amp;gt;, Code 27, die anderen sind normal lesbare ASCII Zeichen&lt;br /&gt;
&lt;br /&gt;
'''Pfeiltasten'''&lt;br /&gt;
* Pfeil oben&lt;br /&gt;
 &amp;lt;ESC&amp;gt;[A&lt;br /&gt;
* Pfeil unten&lt;br /&gt;
 &amp;lt;ESC&amp;gt;[B&lt;br /&gt;
* Pfeil rechts&lt;br /&gt;
 &amp;lt;ESC&amp;gt;[C&lt;br /&gt;
* Pfeil links&lt;br /&gt;
 &amp;lt;ESC&amp;gt;[D&lt;br /&gt;
&lt;br /&gt;
'''EDIT Keys'''&lt;br /&gt;
* Pos 1 (Home)&lt;br /&gt;
 &amp;lt;ESC&amp;gt;[1~&lt;br /&gt;
* Bild rauf&lt;br /&gt;
 &amp;lt;ESC&amp;gt;[5~&lt;br /&gt;
* Bild runter&lt;br /&gt;
 &amp;lt;ESC&amp;gt;[6~&lt;br /&gt;
&lt;br /&gt;
====Was kann man senden? (Auszug)====&lt;br /&gt;
Wie beim Empfangen. Bei den &amp;quot;normalen&amp;quot; Zeichen ändert sich nichts. Ich will auch nur einige Beispiele aufzeigen, die einen auf den Geschmack bringen sollen. &lt;br /&gt;
&lt;br /&gt;
Freie Positionierung des Cursors irgendwo am Schirm:&lt;br /&gt;
 &amp;lt;ESC&amp;gt;[''nn'';''mm''H&lt;br /&gt;
dabei ist &lt;br /&gt;
* nn die Zeilennummer  1-24&lt;br /&gt;
* mm die Spalternummer 1-80 oder 1-132&lt;br /&gt;
&lt;br /&gt;
BasCom Beispiel, das auch der C-Programmierer versteht:&lt;br /&gt;
 PRINT chr(27);&amp;quot;[01;40H&amp;quot;;&lt;br /&gt;
Stellt den Cursor in die oberste Zeile, genau in die Mitte.'- (führende Nullen können sein, müssen aber nicht)-'&lt;br /&gt;
&lt;br /&gt;
'''Zeichen-Attribute:'''&lt;br /&gt;
 &amp;lt;ESC&amp;gt;[''param''m     '-(das ist ein kleines &amp;quot;m&amp;quot; am Schluß)-'&lt;br /&gt;
Mögliche &amp;quot;param&amp;quot; sind:&lt;br /&gt;
* 0 = Normal&lt;br /&gt;
* 1 = Heller (bold)&lt;br /&gt;
* 4 = Unterstrichen&lt;br /&gt;
* 5 = Blinkend&lt;br /&gt;
* 7 = Reverse (dunkel auf hell bzw. umgekehrt) &lt;br /&gt;
Dabei können mehrere Attribute angegeben werden, dann aber mit Semikolon getrennt:&lt;br /&gt;
 &amp;lt;ESC&amp;gt;[''param1'';''param2'';''param3''m &lt;br /&gt;
&lt;br /&gt;
'''Beispiel:''' &lt;br /&gt;
will man bei einer Eingabe den Aufforderungstext verkehrt darstellen, sendet man&lt;br /&gt;
 PRINT chr(27);&amp;quot;[7m&amp;quot;;   ' setzt attribut &amp;quot;revers&amp;quot;&lt;br /&gt;
 PRINT &amp;quot;VORNAME ?&amp;gt;&amp;quot;;    ' der Text&lt;br /&gt;
 PRINT chr(27);&amp;quot;[0m&amp;quot;;   ' Attribut wieder normal&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/Ansii_2.jpg&lt;br /&gt;
&lt;br /&gt;
(Das geht natürlich auch in einem Print-Befehl auf einmal.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Lösch-Befehle:'''&lt;br /&gt;
* Rechts vom Cursor die Zeile löschen &lt;br /&gt;
 &amp;lt;ESC&amp;gt;[K&lt;br /&gt;
* Links vom Cursor die Zeile löschen &lt;br /&gt;
 &amp;lt;ESC&amp;gt;[1K&lt;br /&gt;
* Vom Cursor abwärts den ganzen Schirm löschen &lt;br /&gt;
 &amp;lt;ESC&amp;gt;[2J&lt;br /&gt;
* Oberhalb des Cursors den ganzen Schirm löschen &lt;br /&gt;
 &amp;lt;ESC&amp;gt;[J&lt;br /&gt;
&lt;br /&gt;
'''Beispiel:''' &lt;br /&gt;
Beim Programmstart als Erstes den gesamten Schirm löschen und eine Überschrift in der Mitte  &lt;br /&gt;
 PRINT chr(27);&amp;quot;[1;1f&amp;quot;;    ' Cursor ganz rauf&lt;br /&gt;
 PRINT chr(27);&amp;quot;[J&amp;quot;;       ' den ganzen Schirm löschen&lt;br /&gt;
 PRINT chr(27);&amp;quot;[1;38f&amp;quot;;   ' In die Mitte der ersten Zeile &lt;br /&gt;
 PRINT chr(27);&amp;quot;[7m&amp;quot;;      ' setzt attribut &amp;quot;revers&amp;quot;&lt;br /&gt;
 PRINT &amp;quot;START&amp;quot;;            ' Überschrift&lt;br /&gt;
 PRINT chr(27);&amp;quot;[0m&amp;quot;;      ' setzt attribut normal&lt;br /&gt;
 PRINT                     ' (=neue Zeile) Cursor am Anfang der zweiten Zeile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Anmerkung:'''&lt;br /&gt;
Man kann mit diesen Sequenzen einiges tun. Auch einige [[Terminal_Game_mit_BasCom|Spiele aus der Urzeit]] lassen sich damit programmieren, vor allem aber kann man z.B. Sensorwerte übersichtlich an verschiedenen Stellen des Schirms so platzieren, dass man mehrere im Auge behalten kann.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Terminal_Game_mit_BasCom]]&lt;br /&gt;
* [[UART]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* http://www.der-hammer.info/terminal Terminalprogramm HTherm&lt;br /&gt;
&lt;br /&gt;
''Artikel von [[User:PicNick|PicNick]], bearbeitet von Luma''&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Praxis|Terminalsteuerung]]&lt;/div&gt;</summary>
		<author><name>Snafu</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=I2C_Chip-%C3%9Cbersicht&amp;diff=13746</id>
		<title>I2C Chip-Übersicht</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=I2C_Chip-%C3%9Cbersicht&amp;diff=13746"/>
				<updated>2008-07-27T10:10:03Z</updated>
		
		<summary type="html">&lt;p&gt;Snafu: /* Audio / Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Philips== &lt;br /&gt;
===LCD/LED Drivers:===&lt;br /&gt;
       PCA 9533   4-bit LED dimmer (8-bit PWM) geeignet für H-Bridges (z.B. L293D)&lt;br /&gt;
       PCA 9531   8-bit LED dimmer (8-bit PWM)&lt;br /&gt;
       PCA 9532   16-bit LED dimmer (8-bit PWM)&lt;br /&gt;
       PCF 8566   96 segment LCD driver&lt;br /&gt;
       PCF 8568   LCD Row driver for dot matrix displays.&lt;br /&gt;
       PCF 8569   LCD Column driver for DOT matrix displays&lt;br /&gt;
       PCF 8576   160 segment LCD driver&lt;br /&gt;
       PCD 8577   64 Segment LCD driver&lt;br /&gt;
       PCF 8578   LCD Row driver for Dot matrix LCD's&lt;br /&gt;
       PCD 8579   Column driver for Dot matrix LCD's&lt;br /&gt;
       SAA 1064   4 Digit Led driver&lt;br /&gt;
&lt;br /&gt;
===I/O expanders:===&lt;br /&gt;
       PCF 8574   8 Bit I/O port&lt;br /&gt;
       PCF 8574A  8 Bit I/O port different address.&lt;br /&gt;
       SAA 1300   5 Bit high current driver&lt;br /&gt;
===Data converters===&lt;br /&gt;
       PCF 8591       4 channel ADC + One DAC (all 8 bits)&lt;br /&gt;
       TDA 8442       Quad 6 bit DAC&lt;br /&gt;
       TDA 8444       Octal 6 bit DAC&lt;br /&gt;
&lt;br /&gt;
===Memory===&lt;br /&gt;
       PCF 8570   256 byte static ram&lt;br /&gt;
       PCf 8571   128 byte static ram&lt;br /&gt;
       PCF 8581   128 byte EEprom&lt;br /&gt;
       PCF 8582   256 byte EEprom&lt;br /&gt;
       PCF 8583   256 byte RAM + Realtime clock and calendar&lt;br /&gt;
       PCF 8594   512 byte EEprom&lt;br /&gt;
       PCF 8598   1K  byte EEprom&lt;br /&gt;
===Clocks===&lt;br /&gt;
       PCF 8573   Clock/Calendar&lt;br /&gt;
       PCF 8583   Clock/Calendar with 256 byte Ram&lt;br /&gt;
===Audio / Video===&lt;br /&gt;
       PCD3311 3312  DTMF / Tone generator&lt;br /&gt;
       PCF8200       Voice synthesizer&lt;br /&gt;
       SAA1136       PCM interface&lt;br /&gt;
       SAA524x       Teletext processor&lt;br /&gt;
       SAA7191       S-VHS decoder&lt;br /&gt;
       SAA7192       Digital color space converter&lt;br /&gt;
       SAA7199       Digital encoder&lt;br /&gt;
       SAA9020       Field memory controller&lt;br /&gt;
       SAA9051       Digital TV decoder&lt;br /&gt;
       SAA9068       PIPCO  Picture in picture system&lt;br /&gt;
       SAB3035 3037  Tuning interface&lt;br /&gt;
       SAF1135       VPS decoder&lt;br /&gt;
       TDA4680       Video processor&lt;br /&gt;
       TDA8421       HiFi stereo audio processor&lt;br /&gt;
       TDA8425       Audio processor with loudspeaker channel&lt;br /&gt;
       TDA8440       Video switch&lt;br /&gt;
       TDA8442       Color decoder interface&lt;br /&gt;
       TDA8443       YUV to RGB unit&lt;br /&gt;
       TDA8461       PAL / NTSC color decoder&lt;br /&gt;
       TEA6100       Fm tuning interface&lt;br /&gt;
       TEA6300 6310  Sound fader control&lt;br /&gt;
       TSA551x       TV Pll synthesizer&lt;br /&gt;
       TSA6057       Fm Pll synthesizer&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
       SAA1300    5 bit high current driver&lt;br /&gt;
       UMF1009    Frequency synthesizer&lt;br /&gt;
&lt;br /&gt;
==MAXIM==&lt;br /&gt;
===I/O expanders:===&lt;br /&gt;
       MAX6956    20-Port (DIP) or 28-Port (SSOP,QFN)&lt;br /&gt;
                  LED Display Driver and digital I/O Expander&lt;br /&gt;
                  constant current sink, up to 16 Devices, Interrupt&lt;br /&gt;
===LED Driver===&lt;br /&gt;
       MAX6953    4 Digit Matrix LED Driver, up to 140 LEDs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Data Converters===&lt;br /&gt;
       MAX127/MAX128    octal 12 Bit DAC&lt;br /&gt;
&lt;br /&gt;
==Siemens== &lt;br /&gt;
===Audio Video===&lt;br /&gt;
      SDA3312   TV PLL synthesizer&lt;br /&gt;
      SDA2121   TV PLL synthesizer&lt;br /&gt;
===Memories===&lt;br /&gt;
      SDA2516   1K bit EEprom&lt;br /&gt;
      SDA2526   2K bit EEprom&lt;br /&gt;
      SDA2546   4K bit EEprom&lt;br /&gt;
      SDA2586   8K bit EEprom&lt;br /&gt;
      SDA3526   2K bit EEprom with write protection&lt;br /&gt;
      SDA3546   4K bit EEprom with write protection&lt;br /&gt;
      SDA3586   8K bit EEprom with write protection&lt;br /&gt;
&lt;br /&gt;
==Xicor==&lt;br /&gt;
===Memories===&lt;br /&gt;
      X24X00    128 bit EEprom&lt;br /&gt;
      X24001    128 bit EEprom&lt;br /&gt;
      X24C01    1k  bit EEprom&lt;br /&gt;
      X24012    1k  bit EEprom&lt;br /&gt;
      X24C02    2k  bit EEprom&lt;br /&gt;
      X24022    2k  bit EEprom&lt;br /&gt;
      X24C04    4k  bit EEprom&lt;br /&gt;
      X24042    4k  bit EEprom&lt;br /&gt;
      X24C08    8k  bit EEprom&lt;br /&gt;
      X24C16    16k bit EEprom&lt;br /&gt;
      X24164    16k bit EEprom&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adressen gängiger I2C Chips==&lt;br /&gt;
Das LsB ist für Schreib/Lese Kennzeichnung reserviert. Dadurch sind nur geradzahlige Adressen möglich. Ebenfalls reserviert ist die Adresse Hex 00 (für Broadcast)&lt;br /&gt;
&lt;br /&gt;
{|{{Blaueschmaltabelle}}&lt;br /&gt;
|'''Anmerkung zu I2C-Slave-ID´s:''' Eine Slave ID besteht aus den oberen 7 Bit eines Bytes. Das unterste Bit gibt an ob auf den Baustein lesend (Bit=1) oder schreibend (Bit=0) zugegriffen wird. Zur Vereinfachung geben wir hier im Wiki grundsätzlich die [[I2C]]-Adresse als 8 Bit Wert an. Dabei wird von dem Schreibzugriff (Bit 0=0) ausgegangen. Der Vorteil dieser Darstellung: Man kann dem Wert sofort im Programm nutzen und sich so die Adressen besser einprägen. Um vom [[I2C]]-Baustein lesen zu können, muss lediglich die 1 zur Slave ID addiert werden. Benötigt man doch die 7 Bit Slave ID, so kann man den 8 Bit Wert einfach durch 2 teilen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Hex 02 - 0E===&lt;br /&gt;
===Hex 10 - 1E===&lt;br /&gt;
===Hex 20 - 2E===&lt;br /&gt;
 SAA5240   SAA5240   SAA5240   SAF1134   SAA5252   SAA9020   SAA9020   SAA9020&lt;br /&gt;
 SAA4700   SAA5241   SAB9070   SAF1135   SAA9020&lt;br /&gt;
 SAF1134   SAA5243   SAF1134&lt;br /&gt;
 SAF1135   SAA5244   SAF1135&lt;br /&gt;
 SAA5245&lt;br /&gt;
 SAA5246&lt;br /&gt;
 SAA9041&lt;br /&gt;
 SAA4700&lt;br /&gt;
 SAF1134&lt;br /&gt;
 SAF1135&lt;br /&gt;
===Hex 30 - 3E===&lt;br /&gt;
 SAA7250   SAA7250   SAA1136   PCF1810   PCF1810   PCF1810&lt;br /&gt;
 PCB5020   PCB5020   PCF1810   SAA1770   SAA1770&lt;br /&gt;
 PCB5021   PCB5021&lt;br /&gt;
 PCB5032   PCB5032&lt;br /&gt;
===Hex 40 - 4E===&lt;br /&gt;
 SAA1137   SAA1137   PCA1070   PCA1070   PCD3311   PCD3311   SAB3028   PCD5002&lt;br /&gt;
 PCD4430   PCD4430   PCD3312   PCD3312&lt;br /&gt;
 SAA7194   SAA7194&lt;br /&gt;
 PCF8574   PCF8574   PCF8574   PCF8574   PCF8574   PCF8574   PCF8574   PCF8574&lt;br /&gt;
 TDA8444   TDA8444   TDA8444   TDA8444   TDA8444   TDA8444   TDA8444   TDA8444&lt;br /&gt;
===Hex 50 - 5E===&lt;br /&gt;
===Hex 60 - 6E===&lt;br /&gt;
===Hex 70 - 7E===&lt;br /&gt;
 PCF8576   PCF8576   PCF8577   PCF8577A  PCF8578   PCF8578   PCF8566   PCF8566&lt;br /&gt;
 SAA1064   SAA1064   SAA1064   SAA1064   PCF8579   PCF8579&lt;br /&gt;
 PCF8574A  PCF8574A  PCF8574A  PCF8574A  PCF8574A  PCF8574A  PCF8574A  PCF8574A&lt;br /&gt;
&lt;br /&gt;
===Hex 80 - 8E===&lt;br /&gt;
 TEA6320   TDA8424   TDA8405&lt;br /&gt;
 TEA6330   TDA8425   TDA8415&lt;br /&gt;
 TDA8526   TDA8416&lt;br /&gt;
 TDA8420   TDA8420   TDA9840&lt;br /&gt;
 TDA8421   TDA8421   TDA8940T&lt;br /&gt;
 TDA9860   TDA9860   TDA8417&lt;br /&gt;
 NE5751    NE5751    TDA6360   TDA6360&lt;br /&gt;
 TDA8480   TDA8480&lt;br /&gt;
===Hex 90 - 9E===&lt;br /&gt;
 TDA8440   TDA8440   TDA8440   TDA8440   TDA8440   TDA8440   TDA8440   TDA8440&lt;br /&gt;
 TDA8540   TDA8540   TDA8540   TDA8540   TDA8540   TDA8540   TDA8540   TDA8540&lt;br /&gt;
 PCF8591   PCF8591   PCF8591   PCF8591   PCF8591   PCF8591   PCF8591   PCF8591&lt;br /&gt;
===Hex A0 - AE===&lt;br /&gt;
 PCF8570   PCF8570   PCF8570   PCF8570   PCF8570   PCF8570   PCF8570   PCF8570&lt;br /&gt;
 PCF8571   PCF8571   PCF8571   PCF8571   PCF8571   PCF8571   PCF8571   PCF8571&lt;br /&gt;
 PCF8580   PCF8580   PCF8580   PCF8580   PCF8580   PCF8580   PCF8580   PCF8580&lt;br /&gt;
 PCF8582   PCF8582   PCF8582   PCF8582   PCF8582   PCF8582   PCF8582   PCF8582&lt;br /&gt;
 PCF8581   PCF8581   PCF8581   PCF8581   PCF8581   PCF8581   PCF8581   PCF8581&lt;br /&gt;
 PCF8582   PCF8582   PCF8582   PCF8582   PCF8582   PCF8582   PCF8582   PCF8582&lt;br /&gt;
 PCF8583   PCF8583&lt;br /&gt;
===Hex B0 - BE===&lt;br /&gt;
 SAA7199   SAA7191   TDA8416   TDA2518   PCA8510   SAA7186   SAA9065&lt;br /&gt;
 SAA7152   SAA7186   PCA8516&lt;br /&gt;
 PCF8570C  PCF8570C  PCF8570C  PCF8570C  PCF8570C  PCF8570C  PCF8570C  PCF8570C&lt;br /&gt;
===Hex C0 - CE===&lt;br /&gt;
 TSA5510   TSA5510   TSA5510   TSA5510   TSA5510   TSA5510   TSA5510   TSA5510&lt;br /&gt;
 TSA5511   TSA5511   TSA5511   TSA5511   TSA5511   TSA5511   TSA5511   TSA5511&lt;br /&gt;
 TSA5512   TSA5512   TSA5512   TSA5512   TSA5512   TSA5512   TSA5512   TSA5512&lt;br /&gt;
 TSA5514   TSA5514   TSA5514   TSA5514   TSA5514   TSA5514   TSA5514   TSA5514&lt;br /&gt;
 TSA5519   TSA5519   TSA5519   TSA5519   TSA5519   TSA5519   TSA5519   TSA5519&lt;br /&gt;
 SAB3035   SAB3035   SAB3035   SAB3035   SAB3035   SAB3035   SAB3035   SAB3035&lt;br /&gt;
 SAB3036   SAB3036   SAB3036   SAB3036   SAB3036   SAB3036   SAB3036   SAB3036&lt;br /&gt;
 SAB3037   SAB3037   SAB3037   SAB3037   SAB3037   SAB3037   SAB3037   SAB3037&lt;br /&gt;
 UMA1010   UMA1010   UMA1010   UMA1010   UMA1010   UMA1010   UMA1010   UMA1010&lt;br /&gt;
 UMA1009   UMA1009   UMA1009   UMA1009   UMA1009   UMA1009   UMA1009   UMA1009&lt;br /&gt;
 TEA6000   TSA6057   TSA6057                       PCA9533&lt;br /&gt;
 TEA6100   PCA8516   PCA8516&lt;br /&gt;
 TSA6060   TSA6060&lt;br /&gt;
 TSA6061   TSA6061&lt;br /&gt;
&lt;br /&gt;
===Hex D0 - DE===&lt;br /&gt;
 TDA8443   TDA8443   TDA8443   TDA8443   TDA8443   TDA8443   TDA8443   TDA8443&lt;br /&gt;
 PCF8573   PCF8573   PCF8573   PCF8573   UMA1000   UMA1000   UMA1000   UMA1000&lt;br /&gt;
 TDA1551   PCD4440   PCD4440&lt;br /&gt;
===Hex E0 - EE===&lt;br /&gt;
 SAA7192   SAA7192&lt;br /&gt;
===Hex F0 - FE===&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[RN-Slave ID Übersicht]]&lt;br /&gt;
* [[I2C]]-Bus&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Kommunikation]]&lt;br /&gt;
[[Kategorie:Praxis]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;/div&gt;</summary>
		<author><name>Snafu</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=RS232&amp;diff=13745</id>
		<title>RS232</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=RS232&amp;diff=13745"/>
				<updated>2008-07-27T07:14:49Z</updated>
		
		<summary type="html">&lt;p&gt;Snafu: /* Kontaktbelegung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Serielle Schnittstelle (RS-232)=&lt;br /&gt;
Das RS-232 Übertragungverfahren wurde ursprünglich zur Datenübertragung über Telefonleitung entwickelt. Dabei wurde definiert, daß 8-Bit Datenbytes übertragen werden. Zusätzlich wird am anfang ein Startbit gesendet, das den Anfang eines Bytes Kennzeichnet. Am Ende eines Bytes wird dann noch zusätzlich ein Stopbit gesendet.  D.h. es werden pro Datenbyte 10 Bit gesendet. Der Pegel des Startbits und des Stopbits ist definiert und dient zur sicheren Erkennung der dazwischen liegenden Nutzbits. Zur Übertragung von Nutzdaten hatte man sich auf den ASCII Code (''American Standard Code of Information Interchange'') festgelegt um die Information unabhängig vom Typ des Datenendgeräts einheitlich zu gestalten. Die Schnittstelle ist zur Bedienung von Modems (Modulator/Demodulator) ausgelegt und enthält etliche Signale speziell für diesen Zweck. Anwendungen wie z.B. Werkstatttester im KFZ Bereich oder [[Microcontroller]] die ebenfalls die Übertragungsart RS-232 verwenden brauchen diese modemspezifischen Signale nicht, sonder kommen mit RD, TD und GND aus. Die Signale werden hier im Detail erklärt.&lt;br /&gt;
&lt;br /&gt;
=Begriffe zur RS-232 Verbindung=&lt;br /&gt;
&lt;br /&gt;
;DCE: ''Data Communications Equipment''. Auf deutsch DÜE (Datenübertragungseinrichtung). Ein anderes Wort für Modem, d.h. das Gerät, das die Daten so umsetzt, daß sie über eine Telefonleitung übertragen werden können. Daten-Übertragungs-Einrichtungen (also Modems und Pegelwandler) sind Geräte, die Signale senden und/oder empfangen und sie ohne Verarbeitung an andere Geräte weiterleiten. '''DCE sind daran erkennbar, dass der Anschluss als Buchse ausgeführt ist.'''&lt;br /&gt;
;DTE: ''Data Terminal Equipment''. Auf deutsch manchmal auch als DEE (Datenendeinrichtung) bezeichnet. Das kann einfach ein Computerterminal einer Mainframeanlage sein (daher kommt auch die Bezeichnung!), ein Drucker, Plotter oder PC etc. etc. Daten-End-Einrichtungen sind Geräte, die Signale senden und/oder empfangen ohne sie weiterzuleiten. '''DTE sind daran erkennbar, das der Anschluss als Stiftleiste ausgeführt ist.''' Daran läßt sich beim PC der Stecker auch immer von Druckeranschluß LPT unterscheiden, der immer eine Buchse ist.&lt;br /&gt;
;Null Modem: Dieser Ausdruck bezeichnet eine RS-232 Kabelverbindung zwischen zwei geräten, die dieses Übertragungsprotokoll benutzen, ohne dabei Modems zu verwenden. Z.B. kann das der Fall sein, wenn ein serieller Drucker mit einem PC verbunden wird. Die Kabellänge ist hierbei in der Regel auf 10 Meter begrenzt. Es gibt im Handel jedoch Verstärker, die man zwischenschalten kann und die eine wesentlich längere Kabelverbindung zulassen. Da wie schon erwähnt keine Modems verwendet werden, ist es notwendig auf jeder Seite die modemspezifischen Signale in gewisser Weise miteinander zu verbinden um den Schnittstellen einen Modembetrieb vorzutäuschen. Das Nullmodem ist im Detail weiter unten beschrieben. '''Ein Null Modem Kabel braucht man, um zwei DTE Geräte zu verbinden.''' Das ist ein Kabel mit zwei Buchsen, in dem die Sende/Empfangsleitungen &amp;quot;ausgekreuzt&amp;quot; sind. Umgekehrt: Ein Null-Modem Kabel erkennt man meist daran, daß beide Anschlüsse Buchsen sind.&lt;br /&gt;
&lt;br /&gt;
=Signalerklärung der RS-232 Schnittstelle=&lt;br /&gt;
&lt;br /&gt;
;RD/RX: Empfangsdaten. Auf dieser Leitung werden die Datenbits vom Datenterminal (DTE) empfangen.&lt;br /&gt;
;TD/TX: Sendedaten. Auf dieser Leitung werden Daten vom Datenterminal (DTE) gesendet.&lt;br /&gt;
;CHS GND: Gehäusemasse (chassis ground). Das Datenterminal und das Modem müssen eine gemeinsame Masseverbindung haben um Masseschleifen etc zu verhindern. &lt;br /&gt;
;DSR: ''Data Set Ready''. Dieses Signal wird vom Modem ausgegeben und bedeutet, dass das Modem aktiv und betriebsbereit ist, um mit dem Datenterminal zu kommunizieren.&lt;br /&gt;
;DTR: ''Data Terminal Ready''. Dieses Signal wird vom Datenterminal an das Modem ausgegeben und bedeutet, dass das Datenterminal aktiv und betriebsbereit ist, um mit dem Modem zu kommunizieren.&lt;br /&gt;
;DCD/CD: ''Data Carrier Detect'' oder ''Carrier Detect''. Dieses Signal zeigt an, dass die Modems der beiden Seiten über die Telefonleitung miteinander verbunden sind und Daten über diese Verbindung austauschen können.&lt;br /&gt;
;RTS:  ''Request To Send''. Dieses Signal wird vom Datenterminal ausgegeben und bedeutet, dass das Terminal Daten übertragen möchte.&lt;br /&gt;
;CTS: ''Clear To Send''. Ist das Antwortsignal des Modems an das Datenterminal auf ein RTS hin und zeigt an, daß das Modem bereit ist die Daten vom Terminal aufzunehmen und auf die Leitung umzusetzen.&lt;br /&gt;
;SIG GND: Signalmasse (signal ground). Diese Masse dient als Referenzpotential für alle  Signale. Je nach Gerät kann das ein von der Gehäusemasse getrenntes Potential sein, oder auch mit ihr verbunden sein.&lt;br /&gt;
;RI: ''Ring Indicator''. Ein Signal vom Modem zum Datenterminal, das anzeigt, dass der Telefonanschluß von einem externen Teilnehmer angewählt wurde d.h. daß das Telefon klingelt. Je nach Anwendung wird nach einer bestimmten Anzahl von Klingelimpulsen &amp;quot;abgehoben&amp;quot; (ist im Modem einstellbar).&lt;br /&gt;
&lt;br /&gt;
=Anschlussbelegungen=&lt;br /&gt;
&lt;br /&gt;
Die Pin-Nummern sind bei vielen Steckern/Buchsen auch klein neben die Kontakte ins Plastik eingepresst.&lt;br /&gt;
&lt;br /&gt;
== Kontaktnummerierung ==&lt;br /&gt;
&lt;br /&gt;
* [[Bild:CON-SubD25M.gif|Sub-D Stecker 25 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD25F.gif|Sub-D Buchse 25 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD9M.gif|Sub-D Stecker 9 Pole Kontaktseite]]&lt;br /&gt;
* [[Bild:CON-SubD9F.gif|Sub-D Buchse 9 Pole Kontaktseite]]&lt;br /&gt;
&lt;br /&gt;
== Kontaktbelegung ==&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
|- {{Hintergrund1}}&lt;br /&gt;
!| Signal Name || Richtung * || D-SUB 9 pol. || D-SUB 25 pol.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''DCD''' Trägerpegel (Data Carrier Detect) &lt;br /&gt;
 | Aus&lt;br /&gt;
 |1  &lt;br /&gt;
 |8&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''RxD''' Empfangsdaten (Receive Data) &lt;br /&gt;
 | Ein&lt;br /&gt;
 |2  &lt;br /&gt;
 |3&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |'''TxD''' Sendedaten&lt;br /&gt;
 | Aus&lt;br /&gt;
 |3  &lt;br /&gt;
 |2 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''DTR''' Terminal bereit (Data Terminal Ready)&lt;br /&gt;
 | Ein&lt;br /&gt;
 |4  &lt;br /&gt;
 |20&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |'''GND''' Signal - Masse&lt;br /&gt;
 | -&lt;br /&gt;
 |5  &lt;br /&gt;
 |7 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''DSR''' DÜE bereit (Data Set Ready)&lt;br /&gt;
 | Aus&lt;br /&gt;
 |6  &lt;br /&gt;
 |6 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |'''RTS''' Sender Einschalten (Request to Send)&lt;br /&gt;
 | Aus&lt;br /&gt;
 |7  &lt;br /&gt;
 |4&lt;br /&gt;
|-&lt;br /&gt;
 |'''CTS''' Sender Bereit (Clear to Send)&lt;br /&gt;
 | Ein&lt;br /&gt;
 |8  &lt;br /&gt;
 |5&lt;br /&gt;
 &lt;br /&gt;
|-&lt;br /&gt;
 |'''RI''' Ankommender Anruf (Ring Indicator)&lt;br /&gt;
 | Aus&lt;br /&gt;
 |9  &lt;br /&gt;
 |22&lt;br /&gt;
    &lt;br /&gt;
|-  &lt;br /&gt;
 |'''GND''' Gehäuse - Masse &lt;br /&gt;
 | -&lt;br /&gt;
 | -  &lt;br /&gt;
 |1 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 |Unbelegt&lt;br /&gt;
 | -&lt;br /&gt;
 | - &lt;br /&gt;
 |9-19, 21, 23-25&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* Richtungsangabe aus Sicht des Datenterminal (DTE), also z.B. des PC mit Terminlprogramm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Belegung bei vielen Roboter- und Mikrocontrollerboards ==&lt;br /&gt;
Bei vielen Roboterboards, insbesondere den RN-Boards (Roboternetz-Boards) wird auf den Platinen aus Platzgrünen ein kleiner dreipoliger Stecker für die RS232 Schnittstellen verwendet. Über einen kleinen einfachen Adapter kann man diese Stiftleiste sehr leicht mit dem PC verbinden. Die genaue Belegung findet man unter [[RN-Definitionen#RS232_Stecker]]&lt;br /&gt;
&lt;br /&gt;
=Übertragungsverfahren=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align = &amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[Bild:RS232_Uebertragung.png]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Wie sich erkennen lässt, sind die Datenleitungen invertiert, das heißt in diesem Fall, dass eine logische 0 durch eine Spannung von +3V bis +12V repräsentiert wird. Eine logische 1 hingegen durch eine Spannung von -3V bis -12V. Wenn keine Daten übertragen werden (Ruhezustand), dann liegen an der Datenleitung -3V bis -12V an.&lt;br /&gt;
Jede Datenübertragung beginnt mit einem Startbit, welches dazu dient Sender und Empfänger zu synchronisieren. Der Pegel der Datenleitung wechselt also von logisch 1, dem Ruhezustand, auf logisch 0.&lt;br /&gt;
&lt;br /&gt;
Anschließend werden fünf bis neun Bits übertragen, in der Regel jedoch, wie bereits erwähnt, acht. Die Bits werden &amp;quot;so wie sie sind&amp;quot; übermittelt, das heißt es werden keinerlei Synchronisierungsinformationen mitgeschickt. &lt;br /&gt;
&lt;br /&gt;
Anschließend kann das Paritätsbit (Paritybit) folgen, welches dazu dient mögliche Übertragungsfehler zu entdecken. &lt;br /&gt;
Man unterscheidet hierbei:&lt;br /&gt;
* Even-parität&lt;br /&gt;
* Odd-parität&lt;br /&gt;
Ist als Parität &amp;quot;even&amp;quot; gewählt, dann wird genau dann das Paritätsbit gesetzt, wenn die Anzahl der übertragenen Einsen in den Nutzdaten ungerade ist. Andernfalls ist es nicht gesetzt.&lt;br /&gt;
&lt;br /&gt;
Wählt man jedoch &amp;quot;odd&amp;quot; als Parität, dann wird das Paritätsbit gesetzt, wenn die Anzahl der übertragenen Einsen in den Nutzdaten gerade ist. &lt;br /&gt;
&lt;br /&gt;
Nach dem Paritätsbit folgen ein oder zwei Stoppbits, das bzw. die auch zur Synchronisierung dienen. Ein Stoppbit wird durch einen Pegel von -3 bis -12V dargestellt, also einer logischen 1. Nach dem (den) Stoppbit(s) folgt eine Ruhephase, deren Länge nicht bestimmt ist. Folglich darf nach einem Stoppbit sofort wieder das Startbit folgen, es darf aber auch unendlich lange gewartet werden, bis das nächste Startbit geschickt wird.&lt;br /&gt;
&lt;br /&gt;
=Siehe auch=&lt;br /&gt;
* [[UART]]&lt;br /&gt;
* [[RS485]]&lt;br /&gt;
* [[RN-Definitionen#RS232_Stecker]] - 3 polige Steckerbelegung&lt;br /&gt;
* [[Network_Controller/PC_Praxis#Network_Controller.2FPC_RS232_mit_Windows]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;br /&gt;
[[Kategorie:Grundlagen]]&lt;br /&gt;
[[Kategorie:Kommunikation]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
&lt;br /&gt;
=Autoren=&lt;br /&gt;
--[[Benutzer:Techno|Techno]] 12:44, 19. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Vish|vish]] 09:22, 22. Dez 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Darwin.nuernberg|Darwin.nuernberg]] 14:36, 27. Mai 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Snafu</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=RN-Definitionen&amp;diff=13744</id>
		<title>RN-Definitionen</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=RN-Definitionen&amp;diff=13744"/>
				<updated>2008-07-27T06:03:59Z</updated>
		
		<summary type="html">&lt;p&gt;Snafu: ISP - Programmierstecker, Kompatibilität für STK500 nachgetragen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Steckerbelegungen für den Bereich Robotik- und Mikrocontroller== &lt;br /&gt;
Empfohlen und erarbeitet im RoboterNetz.de, um Schaltungen kompatibler zueinander zu gestalten. Alle Boards mit dem Kürzel RN-... halten sich an die hier festgelegten Definitionen. &lt;br /&gt;
Es wird empfohlen sich bei der Entwicklung eigener Schaltungen möglichst an diese Vereinbarung zu halten. Dadurch ist sichergestellt, dass auch andere Komponenten anderer Mitglieder oder Firmen in eurer Projekt integriert werden können. Und umgekehrt habt ihr dann auch die Möglichkeit, eigene Platinen-Entwürfe steckerkompatibel im RoboterNetz oder an anderer Stelle zu veröffentlichen. &lt;br /&gt;
&lt;br /&gt;
Einheitliche Stecker vereinfachen einfach das Handling!&lt;br /&gt;
&lt;br /&gt;
Die Steckerdefinitionen können auch als PDF geladen werden:&lt;br /&gt;
http://www.roboternetz.de/phpBB2/dload.php?action=file&amp;amp;file_id=81&lt;br /&gt;
&lt;br /&gt;
==Die verschiedenen Steckerarten==&lt;br /&gt;
&lt;br /&gt;
===RN-Busstecker===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====I2C-Bus Stecker====&lt;br /&gt;
Ein universeller serieller Bus, mit dem sich sehr einfach verschiedene Boards ansteuern lassen. Der Bus hat den Vorteil, dass zwei Leitungen ausreichen und keine festen Taktraten und Zyklen beachtet werden müssen. Zahlreiche integrierte Schaltkreise (wie Porterweiterungen, LCD-Treiber, usw.) sowie fast alle RN-Boards nutzen diesen Bus. Am [[I2C]]-Bus können mehrere Boards/Bausteine angeschlossen werden, da jeder Baustein seine Slave-Adresse besitzt. &lt;br /&gt;
&lt;br /&gt;
Dieser Bus (Stecker) sollte auf jedem Controllerboard vorhanden sein, dadurch sind den Erweiterungen kaum Grenzen gesetzt. &lt;br /&gt;
&lt;br /&gt;
Der hier definierte Standard ist nicht nur zu allen RN-Boards kompatibel, sondern auch  zu vielen Schaltungen diverser Hersteller. Auch die Zeitschrift Elektor hat diesen Bus bereits genutzt (Elektor nutzt nur den Pin 10 nicht).&lt;br /&gt;
&lt;br /&gt;
[[Bild:rndefinition_wannenstecker.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:stecker_10pol_i2c.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Pin 1        SCL (Taktleitung)&lt;br /&gt;
 Pin 3        SDA (Datenleitung)&lt;br /&gt;
 Pin 5        +5V&lt;br /&gt;
 Pin 7        +5V&lt;br /&gt;
 Pin 9        Batteriespannung max. +12V&lt;br /&gt;
 Pin 2,4,6,8  GND&lt;br /&gt;
 Pin 10  INT  Diese Leitung kann von allen I2C-Bus Erweiterungen genutzt&lt;br /&gt;
              werden, um den Hauptcontroller darüber zu informieren, dass &lt;br /&gt;
              sich Daten (z.B. von Sensoren) verändert haben. In diesem Fall&lt;br /&gt;
              wird die Leitung solange auf Masse gelegt bis der entsprechende &lt;br /&gt;
              I2C-Baustein ausgelesen wird.&lt;br /&gt;
              Der Controller muss also immer alle I2C-Bausteine auslesen &lt;br /&gt;
              solange diese Leitung auf Masse liegt. Bei einem Hauptboard&lt;br /&gt;
              (wie z.B. RN-Control oder RNBFRA) kann diese Leitung auf einen&lt;br /&gt;
              interruptfähigen Port geleitet werden. &lt;br /&gt;
              Beim Elektor-Standard gibt es diese Leitung nicht, hier liegt &lt;br /&gt;
              dieses Signal immer auf Masse! &lt;br /&gt;
&lt;br /&gt;
Empfehlenswert ist es, dass die Spannungen an Pin 5,7 und 9 über Jumper auf einem Board deaktivierbar sind. Dadurch lassen sich identische Boards mit eigenen Stromversorgungen ebenfalls über I2C verbinden, denn nur ein Board darf diese Spannungen bereitstellen. Bei [[RN-Control]] ist dies bereits ab Version 1,4 über Jumper wählbar.&lt;br /&gt;
&lt;br /&gt;
 Bezugsmöglichkeit für passende Wannenbuchse:&lt;br /&gt;
 z.B. Reichelt (Best.Nr. WSL10G)&lt;br /&gt;
 Conrad-Elektronik (Best.Nr. 742512-12)&lt;br /&gt;
 Robotikhardware.de Kabelset&lt;br /&gt;
 Passender Stecker:&lt;br /&gt;
 z.B. Reichelt: &amp;quot;Pfostenbuchse&amp;quot; (Best.Nr. PFL 10)&lt;br /&gt;
&lt;br /&gt;
====SPI-Bus Stecker====&lt;br /&gt;
Ein universeller Stecker für den [[SPI]]-Bus. Der SPI-Bus eignet sich ähnlich wie der [[I2C]]-Bus zur Vernetzung mehrere Microcontroller oder spezieller Schaltkreise. Genau wie für den I2C-Bus gibt es auch für den SPI-Bus speziele IC´s wie LCD-Treiber, Porterweiterungen usw. &lt;br /&gt;
Vorteil des SPI-Busses ist die höhere Geschwindigkeit. Nachteil ist das mindestens 3 Leitungen notwendig sind (MISO,MOSI und SCK). Wenn mehr als ein Teilnehmer angeschlossen wird, so ist für jeden Teilnehmer noch eine Zusatzleitung zum selektieren des SLAVE (Empfangsboardes) notwendig. Um auch die Verwendung des [[SPI]]-Busses für Roboternetz-User zu standardisieren und möglichst leicht zugänglich zu machen, wird folgende Steckerbelegung empfohlen:&lt;br /&gt;
&lt;br /&gt;
 Pinbelegung&lt;br /&gt;
 Pin 1 Port (kann zur Auswahl anderer Slave genutzt werden) &lt;br /&gt;
 Pin 2 Port (kann zur Auswahl anderer Slave genutzt werden) &lt;br /&gt;
 Pin 3 Port (kann zur Auswahl anderer Slave genutzt werden) &lt;br /&gt;
 Pin 4 Port (kann zur Auswahl anderer Slave genutzt werden) &lt;br /&gt;
 Pin 5 SS (Standard Slave) &lt;br /&gt;
 Pin 6 MISO &lt;br /&gt;
 Pin 7 MOSI &lt;br /&gt;
 Pin 8 SCK &lt;br /&gt;
 Pin 9 GND &lt;br /&gt;
 Pin 10 Logikspannung 5V &lt;br /&gt;
&lt;br /&gt;
Mit diesem Stecker können somit 1 bis 5 Teilnehmer angesprochen werden. Über einen Multiplexer (möglichst an Pin 1 bis 4) könnte dies noch erhöht werden (in dem Sonderfall müssten alle Teilnehmer Multiplexer nutzen).&lt;br /&gt;
Der Vorteil des Steckers ist zudem, das er kompatibel zu den anderen 10 poligen Steckern der RN-Definition ist. Er kann somit auch für ganz andere Dinge wie LCD-Ansteuerung usw. genutzt werden, falls SPI nicht benötigt wird.&lt;br /&gt;
&lt;br /&gt;
[[Bild:rndefinition_wannenstecker.gif|center]]&lt;br /&gt;
&lt;br /&gt;
 Bezugsmöglichkeit für passende Wannenbuchse:&lt;br /&gt;
 z.B. Reichelt (Best.Nr. WSL10G)&lt;br /&gt;
 Conrad-Elektronik (Best.Nr. 742512-12)&lt;br /&gt;
 Passender Stecker:&lt;br /&gt;
 z.B. Reichelt: &amp;quot;Pfostenbuchse&amp;quot; (Best.Nr. PFL 10)&lt;br /&gt;
&lt;br /&gt;
====RS232 Stecker====&lt;br /&gt;
Die serielle Schnittstelle (RS232) kann wahlweise als 9-poliger SUB-D Stecker  (PC üblich) oder als 3-polige Stiftleiste herausgeführt werden. &lt;br /&gt;
Die 3-polige Stiftleiste bietet sich immer dann an, wenn nur wenig Platz auf dem Board vorhanden ist. Da die 3-polige Stiftleiste auch auf fast allen RN-Boards vorhanden ist, sollte man diese dem 9-poligen SUB-D Stecker vorziehen. Ein weiterer Vorteil dieser Stiftleiste ist die einfache Umpolung von RX/TX durch Umdrehen des Steckers.&lt;br /&gt;
&lt;br /&gt;
Die Belegung ist identisch mit der des CCRP5 (Conrad Roboter). Passende PC-Adapterkabel sind leicht anzufertigen und gibt es auch fertig im Fachhandel (z.B. http://robotikhardware.de).&lt;br /&gt;
&lt;br /&gt;
 Empfohlene Steckverbindung auf der Platine:	&lt;br /&gt;
 Stiftleiste 3-polig  Raster 2,54mm &lt;br /&gt;
 Pin 1   RX&lt;br /&gt;
 Pin 2   GND&lt;br /&gt;
 Pin 3   TX&lt;br /&gt;
	&lt;br /&gt;
Wie Abbildung 1 x 3 Kontakte&lt;br /&gt;
 &lt;br /&gt;
[[Bild:stift3.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rn232adapter.jpeg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Bezugsquellen:&lt;br /&gt;
 z.B. Reichelt (Best.Nr. LU2,5MS3)&lt;br /&gt;
 Passende Stecker: &lt;br /&gt;
 Robotikhardware RS232-Kabel &lt;br /&gt;
 Reichelt PS25/3G BR&lt;br /&gt;
 Reichelt Crimpset (PSK254/3W und PSK-Kontakte und CRIMPZANGE PSK)&lt;br /&gt;
&lt;br /&gt;
====RS232 TTL Stecker====&lt;br /&gt;
&lt;br /&gt;
Die serielle Schnittstelle (RS232) im 5V-TTL-Pegel. Diese Schnittstelle ist vor allem dann interessant, wenn mehrere Controller miteinander verbunden werden. Die Stiftleiste ist 4-polig ausgelegt, um Verwechslungen mit der RS232 und dem PC-Pegel (+/-12V) zu vermeiden. Zudem lässt sich so ein Pegelwandler-Schaltkreis (z.B. Max232) anschließen und mit Spannung versorgen). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:stift4.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Empfohlene Steckverbindung auf der Platine:&lt;br /&gt;
  Stiftleiste 4-polig  Raster 2,54mm &lt;br /&gt;
  Pin 1   RX&lt;br /&gt;
  Pin 2   TX&lt;br /&gt;
  Pin 3   GND&lt;br /&gt;
  Pin 4   5V&lt;br /&gt;
 &lt;br /&gt;
Bezugsquellen:&lt;br /&gt;
 z.B. Reichelt (Best.Nr. LU2,5MS4)&lt;br /&gt;
 Passende Stecker:&lt;br /&gt;
 Reichelt PS25/5G BR&lt;br /&gt;
 Reichelt Crimpset (PSK254/5W und PSK-Kontakte und CRIMPZANGE PSK)&lt;br /&gt;
&lt;br /&gt;
====RS485 Stecker====&lt;br /&gt;
Ein weiterer wichtiger Bus ist neben I2C, RS232 der [[RS485]] Bus. Dieser hat einige Vorteile. So können beispielsweise mehrere Slaves an einen Master angeschlossen werden. Die Übertragung kann wahlweise abwechselnd in eine oder in beide Richtungen gleichzeitig erfolgen. Es sind sehr hohe Übertragungsraten bis in den Mbit-Bereich über größere Entfernungen möglich.&lt;br /&gt;
&lt;br /&gt;
[[Bild:rndefinition_wannenstecker.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Empfohlene Steckverbindung auf der Platine:	&lt;br /&gt;
  Wannenstecker Rastermaß 2,54mm 10-polig&lt;br /&gt;
  Pin 1   Volle Batteriespannung&lt;br /&gt;
  Pin 3   GND&lt;br /&gt;
  Pin 5   5V&lt;br /&gt;
  Pin 7   RS485 A   (kein TTL-Pegel)&lt;br /&gt;
  Pin 9   RS 485 B  (kein TTL-Pegel)&lt;br /&gt;
&lt;br /&gt;
  Pin 2   Volle Batteriespannung&lt;br /&gt;
  Pin 4   GND&lt;br /&gt;
  Pin 6   5V&lt;br /&gt;
  Pin 8   RS 485 C  (kein TTL-Pegel)&lt;br /&gt;
  Pin 10  RS 485 D  (kein TTL-Pegel)&lt;br /&gt;
&lt;br /&gt;
Diese Steckerbelegung hat einige Vorteile. Man kann auch nur einen Stecker mit 5 Polen aufstecken, wenn man nur einen Half-Duplex Bus benötigt. Man hat dann in diesen 5 Polen alles drin und die Belegung entspricht sogar noch den bisherigen Normierungen von uns (+12 / GND / +5 / Port / Port). Möchte man Vollduplex nutzen, dann müsste man den vollen Stecker benutzen - man hat also die Wahl! &lt;br /&gt;
&lt;br /&gt;
'''Pinbelegung der 5 poligen Alternative:'''&lt;br /&gt;
&lt;br /&gt;
  Pin 1   Volle Batteriespannung&lt;br /&gt;
  Pin 2   GND&lt;br /&gt;
  Pin 3   5V&lt;br /&gt;
  Pin 4   RS 485 C  (kein TTL-Pegel)&lt;br /&gt;
  Pin 5   RS 485 D  (kein TTL-Pegel)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:stift5.gif|center]]	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternativ zum Wannenstecker können auch Stiftleisten mit gleicher Belegung eingesetzt werden!&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
  Bezugsquellen für Stecker:&lt;br /&gt;
  z.B. Reichelt (Best.Nr. WSL10G)&lt;br /&gt;
  Conrad-Elektronik (Best.Nr. 742512-12)&lt;br /&gt;
  robotikhardware.de Kabelset&lt;br /&gt;
  Passende Stecker:&lt;br /&gt;
  Reichelt PS25/5G BR&lt;br /&gt;
  Reichelt Crimpset (PSK254/5W und PSK-Kontakte und CRIMPZANGE PSK)&lt;br /&gt;
&lt;br /&gt;
===Universelle Anschlüsse für Sensoren und Aktoren===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Servo Stecker (sowie Sensoren/Aktoren die '''einen Port''' benötigen)====&lt;br /&gt;
Für den Anschluss von [[Servos]] gibt es bereits verschiedene Standard-Stecker der Modellbauhersteller. Für die Roboternetz-Definition haben wir uns einen der weitest verbreiteten herausgesucht und übernommen. Boards, die den Anschluss von Servos oder auch Modellbau-Empfängern erlauben, sollten diese 3-polige Stiftleiste vorsehen. Handelsübliche Servos können direkt angesteckt werden.&lt;br /&gt;
&lt;br /&gt;
Diese dreipolige Anschluss eignet sich jedoch auch, um Sensoren oder Aktoren, welche mit einem Datenport auskommen, anzuschließen.  &lt;br /&gt;
&lt;br /&gt;
 Empfohlene Steckverbindung auf der Platine:	&lt;br /&gt;
 Stiftleiste 3-polig  Raster 2,54mm &lt;br /&gt;
 &lt;br /&gt;
 Pin 1  GND&lt;br /&gt;
 Pin 2  +5 V&lt;br /&gt;
 Pin 3  Datenport (PWM-Signal) &lt;br /&gt;
	&lt;br /&gt;
Wie Abbildung 1 x 3 Kontakte&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Bild:stift3.gif|center]]	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wobei sich die Steckerbelegung von Hersteller zu Hersteller unterscheidet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:servosteckerbelegung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:servo.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
 Bezugsquellen:&lt;br /&gt;
 z.B. Reichelt (Best.Nr. LU2,5MS3)&lt;br /&gt;
 Passende Stecker:&lt;br /&gt;
 Reichelt PS25/3G BR&lt;br /&gt;
 Reichelt Crimpset (PSK254/3W und PSK-Kontakte und CRIMPZANGE PSK)&lt;br /&gt;
 Servostecker im Modellbauladen&lt;br /&gt;
&lt;br /&gt;
====Universalanschluss 5 polig ('''2 Ports''' + Spannungen)====&lt;br /&gt;
Für den Anschluss von Aktoren (Relais, LED usw.) als auch Sensoren wurde eine 5-polige Stiftleiste festgelegt. Da viele Aktoren mehrere Ports benötigen, werden immer 2  Portleitungen zusammen mit den Spannungen auf jede Stiftleiste gelegt. &lt;br /&gt;
&lt;br /&gt;
 Empfohlene Steckverbindung auf der Platine:	&lt;br /&gt;
 Stiftleiste 5-polig  Raster 2,54mm &lt;br /&gt;
 &lt;br /&gt;
 Pin 1 Batteriespannung (max. 12 V)&lt;br /&gt;
 Pin 2 GND&lt;br /&gt;
 Pin 3 +5V&lt;br /&gt;
 Pin 4 Port 1 &lt;br /&gt;
 Pin 5 Port 2 &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
[[Bild:stift5.gif|center]]	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Bezugsquellen:&lt;br /&gt;
 z.B. Reichelt (Best.Nr. LU2,5MS5)&lt;br /&gt;
 Passende Stecker:&lt;br /&gt;
 Reichelt PS25/5G BR&lt;br /&gt;
 Reichelt Crimpset (PSK254/5W und PSK-Kontakte und CRIMPZANGE PSK)&lt;br /&gt;
&lt;br /&gt;
====Datenportstecker 10polig ('''8 Ports''')====&lt;br /&gt;
&lt;br /&gt;
Zum Experimentieren benötigt man oft mehrere Ports. Auch gibt es Aktoren/Sensoren oder sonstige Erweiterungen, die viele Ports benötigen. Für all diese Zwecke empfehlen wir den universellen Datenportstecker. Er verwendet die gleiche Belegung wie auch die Atmel Entwicklungsboards (z.B. STK500) und wird z.B. auch mehrfach auf dem Board [[RN-Control]] bereitgestellt.&lt;br /&gt;
&lt;br /&gt;
Seit August 2005 kann ein Datenportstecker auch als [[#Endstufenstecker 10polig (für Motoransteuerungen)|Endstufenstecker]] genutzt werden.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 Empfohlene Steckverbindung auf der Platine:&lt;br /&gt;
 Pin 1   Port 0&lt;br /&gt;
 Pin 2   Port 1&lt;br /&gt;
 Pin 3   Port 2&lt;br /&gt;
 Pin 4   Port 3&lt;br /&gt;
 Pin 5   Port 4&lt;br /&gt;
 Pin 6   Port 5&lt;br /&gt;
 Pin 7   Port 6&lt;br /&gt;
 Pin 8   Port 7&lt;br /&gt;
 Pin 9   GND&lt;br /&gt;
 Pin 10  Logikspannung 5V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rndefinition_wannenstecker.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zu finden bei EAGLE ist der Datenportstecker unter der Bezeichnung &amp;quot;ML10&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 Bezugsmöglichkeit für passende Wannenbuchse:&lt;br /&gt;
 z.B. Reichelt (Best.Nr. WSL10G)&lt;br /&gt;
 Conrad-Elektronik (Best.Nr. 742512-12)&lt;br /&gt;
 http://www.Robotikhardware.de Kabelset&lt;br /&gt;
 Passender Stecker:&lt;br /&gt;
 z.B. Reichelt: &amp;quot;Pfostenbuchse&amp;quot; (Best.Nr. PFL 10)&lt;br /&gt;
&lt;br /&gt;
===Weitere Stecker===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====ISP - Programmierstecker====&lt;br /&gt;
Über diesen Anschluss kann ein RN-Controllerboard sowie fast alle anderen auf dem Markt befindlichen AVR-Boards mit einem Standard ISP-Kabel direkt an einen Parallelport des PCs angeschlossen und programmiert werden.&lt;br /&gt;
Die Belegung des ISP-Anschlusses ist zu dem weit verbreiteten STK200-Programmier-Dongle und zum STK500 Starterkit von Atmel kompatibel. Ein entsprechender Dongle ist für  ca. 13-15 Euro über zahlreiche Händler lieferbar. &lt;br /&gt;
&lt;br /&gt;
Empfohlene Steckverbindung auf der Platine:&lt;br /&gt;
&lt;br /&gt;
 Pin 1  MOSI&lt;br /&gt;
 Pin 2  VCC&lt;br /&gt;
 Pin 3  Nicht belegt&lt;br /&gt;
 Pin 4  GND&lt;br /&gt;
 Pin 5  RESET&lt;br /&gt;
 Pin 6  GND&lt;br /&gt;
 Pin 7  SCK&lt;br /&gt;
 Pin 8  GND&lt;br /&gt;
 Pin 9  MISO&lt;br /&gt;
 Pin 10 GND &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Bild:rndefinition_wannenstecker.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Bezugsmöglichkeit für passende Wannenbuchse:&lt;br /&gt;
 z.B. Reichelt (Best.Nr. WSL10G)&lt;br /&gt;
 Conrad-Elektronik (Best.Nr. 742512-12)&lt;br /&gt;
 Passender Stecker:&lt;br /&gt;
 z.B. Reichelt: &amp;quot;Pfostenbuchse&amp;quot; (Best.Nr. PFL 10)&lt;br /&gt;
&lt;br /&gt;
====JTAG Stecker====&lt;br /&gt;
[[JTAG]] - (Joint Test Action Group) bezeichnet den IEEE-Standard 1149.1, der ein Verfahren zum Debugging von  Hardware beschreibt. Es ist also ein normiertes Interface zum Debuggen und Programmieren von vielen Microcontrollern, zum Beispiel die [[AVR]]-Serie. Er kann somit als Alternative des [[ISP]]-Steckers genutzt werden. Wie auch der ISP-Stecker benötigt man jedoch ein entsprechendes PC-Interface (JTAG-Dongel). Zum Debuggen ist eine spezielle Entwicklersoftware notwendig, derzeit gibt es dies meines Wissens nur für Assembler.&lt;br /&gt;
Das JTAG- Interface wird allerdings in Hobby Bereich deutlich weniger eingesetzt als das weit verbreitete [[ISP]]-Interface, vermutlich wegen der höheren Donglekosten. &lt;br /&gt;
Um auch die Verwendung des [[JTAG]]-Interfaces für Roboternetz-User zu erleichtern und zu standardisieren, wird die untere Steckerbelegung empfohlen. Bei der Ausarbeitung wurden die bisherigen Empfehlungen von [[Atmel]] und anderen Anbietern berücksichtigt, so das bereit passende Interfaces verfügbar sind.&lt;br /&gt;
&lt;br /&gt;
 Pinbelegung&lt;br /&gt;
 Pin 01 - TCK   (Test Clock)  &lt;br /&gt;
 Pin 02 - GND   (Masse)&lt;br /&gt;
 Pin 03 - TDO   (Test Data Output) &lt;br /&gt;
 Pin 04 - VREF  (Wird seltener genutzt und ist oft unbelegt. Kontrolle der Betriebsspannung) &lt;br /&gt;
 Pin 05 - TMS   (Test Mode Select Input)&lt;br /&gt;
 Pin 06 - NSRST (Wird seltener genutzt und ist oft unbelegt. RESET Eingang des Targets.&lt;br /&gt;
                 Ausgang zur Überwachung der RESET-Leitung des Targets)&lt;br /&gt;
 Pin 07 - VCC   (+5V)&lt;br /&gt;
 Pin 08 - NTRST &lt;br /&gt;
 Pin 09 - TDI   (Test Data Input)&lt;br /&gt;
 Pin 10 - GND   (Masse)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rndefinition_wannenstecker.gif|center]]&lt;br /&gt;
&lt;br /&gt;
 Bezugsmöglichkeit für passende Wannenbuchse:&lt;br /&gt;
 z.B. Reichelt (Best.Nr. WSL10G)&lt;br /&gt;
 Conrad-Elektronik (Best.Nr. 742512-12)&lt;br /&gt;
 Passender Stecker:&lt;br /&gt;
 z.B. Reichelt: &amp;quot;Pfostenbuchse&amp;quot; (Best.Nr. PFL 10)&lt;br /&gt;
&lt;br /&gt;
====Endstufenstecker 10polig (für Motoransteuerungen)====&lt;br /&gt;
&lt;br /&gt;
Wenn ein Motorboard nicht über I2C/ RS232 oder anderen Bus angesteuert wird, so wird folgender Wannenstecker als Anschluss empfohlen.  Die Belegung ist angelehnt an die beliebten Motortreiberschaltkreise L293D, L298 und ähnliche H-Brücken.&lt;br /&gt;
&lt;br /&gt;
Der Stecker eignet sich somit zum Ansteuern von einem oder zwei DC-Motoren (z.B. Getriebemotoren) oder einem Schrittmotor. &lt;br /&gt;
Auch Endstufen, die nur einen Motor ansteuern können, sollten diesen Stecker verwenden. Empfehlenswert sind dann Jumper, um zwischen Motor1 und Motor2 zu wählen. Auf diese Weise können einfach zwei Endstufen durchgeschleift werden (zwei gleiche Stecker am Kabel).&lt;br /&gt;
&lt;br /&gt;
Die mit NC (Not Connected) gekennzeichneten PINs sind absichtlich nicht normiert, um diese im Einzelfall auch individuell für Sonderfunktionen nutzen zu können. Allerdings darf hier nur ein Pegel zwischen 0 und 5V angelegt werden, kein höherer Pegel! Die NC-Pins müssen nicht genutzt werden, können also unbelegt bleiben. Wer jedoch für alle Fälle gerüstet sein möchte, sollte die NC-Pins per Jumper auf einen AD-Port legen können. Es ist damit zu rechnen, dass einige Boards die NC-Ports für ein Strommessignal (0 bis 2,5V) nutzen. &lt;br /&gt;
&lt;br /&gt;
Der Motorendstufenstecker ist seit dem August 2005 kompatibel zu dem definierten universellen [[#Datenportstecker 10polig (8 Ports)|Datenportstecker]]. Datenportstecker sind mehrfach auf Standard-Boards wie RN-Control, Atmel STK500 und anderen Boards, die im Roboternetz vorgestellt wurden, vorhanden. Somit lassen sich Datenportstecker sehr schnell als Endstufenstecker nutzen und umgekehrt. Beim Entwickeln neuer Boards kann dies noch verbessert werden, indem man die PWM-Ports entsprechend dem Endstufenstecker auch auf den Datenportstecker legt. &lt;br /&gt;
&lt;br /&gt;
 Empfohlene Steckverbindung auf der Platine:&lt;br /&gt;
 Pin 1 Motor 1 IN 1 &lt;br /&gt;
 Pin 2 Motor 1 IN 2 &lt;br /&gt;
 Pin 3 Motor 2 IN 1 &lt;br /&gt;
 Pin 4 Motor 2 IN 2 &lt;br /&gt;
 Pin 5 NC (siehe Anmerkung)&lt;br /&gt;
 Pin 6 Enable Motor1 ein (eventuell PWM) &lt;br /&gt;
 Pin 7 NC  (siehe Anmerkung)&lt;br /&gt;
 Pin 8 Enable Motor2 ein (eventuell PWM) &lt;br /&gt;
 Pin 9 GND &lt;br /&gt;
 Pin 10 Logikspannung 5V &lt;br /&gt;
&lt;br /&gt;
[[Bild:rndefinition_wannenstecker.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Bezugsmöglichkeit für passende Wannenbuchse:&lt;br /&gt;
 z.B. Reichelt (Best.Nr. WSL10G)&lt;br /&gt;
 Conrad-Elektronik (Best.Nr. 742512-12)&lt;br /&gt;
 Robotikhardware.de Kabelset&lt;br /&gt;
 Passender Stecker:&lt;br /&gt;
 z.B. Reichelt: &amp;quot;Pfostenbuchse&amp;quot; (Best.Nr. PFL 10)&lt;br /&gt;
&lt;br /&gt;
====LCD Stecker====&lt;br /&gt;
Für Boards mit wenig Platz oder freien Ports wurde ein sehr kompakter Stecker mit nur 10 Leitungen definiert. Es sind jedoch alle Leitungen vorhanden, um fast alle LCDs im sogenannten 4-Bit-PIN-Mode zu betreiben. &lt;br /&gt;
Bei Verwendung dieses Steckers muss jedoch die Kontrastspannung am LCD festgelegt werden (ein 10k Poti reicht). LCDs mit Beleuchtung können die Versorgungsspannung mit einem Vorwiderstand auch zur Versorgung der Beleuchtung nutzen. Auf diese Weise reicht ein 10-poliges Kabel aus.&lt;br /&gt;
&lt;br /&gt;
Dieser LCD-Stecker ist seit dem August 2005 kompatibel zu dem definierten universellen [[#Datenportstecker 10polig (8 Ports)|Datenportstecker]]. Datenportstecker sind mehrfach auf Standard-Boards wie RN-Control, Atmel STK500 und anderen Boards, die im Roboternetz vorgestellt wurden, vorhanden. Somit lassen sich Datenportstecker sehr schnell als LCD-Stecker oder Endstufenstecker nutzen und umgekehrt. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Empfohlene Steckverbindung auf der Platine:&lt;br /&gt;
 Pin 1 DB7 &lt;br /&gt;
 Pin 2 DB6 &lt;br /&gt;
 Pin 3 DB5 &lt;br /&gt;
 Pin 4 DB4 &lt;br /&gt;
 Pin 5 EN2 (wird nur bei manchen LCDs benötigt)&lt;br /&gt;
 Pin 6 EN &lt;br /&gt;
 Pin 7 R/W &lt;br /&gt;
 Pin 8 RS &lt;br /&gt;
 Pin 9 GND &lt;br /&gt;
 Pin 10 +5V &lt;br /&gt;
&lt;br /&gt;
[[Bild:rndefinition_wannenstecker.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da auch fast alle LCDs den gleichen 16-poligen Anschluss besitzen, kann alternativ auch eine 16-polige Wannenbuchse vorgesehen werden:&lt;br /&gt;
&lt;br /&gt;
 Pin 1    GND&lt;br /&gt;
 Pin 2    5V&lt;br /&gt;
 Pin 3    Vee Kontrastspannung (0-4V)&lt;br /&gt;
 Pin 4    RS (CS)&lt;br /&gt;
 Pin 5    R/W  (SID)&lt;br /&gt;
 Pin 6    Enable (1)  (SCLK)&lt;br /&gt;
 Pin 7    DB0 (SOD)&lt;br /&gt;
 Pin 8    DB1&lt;br /&gt;
 Pin 9    DB2&lt;br /&gt;
 Pin 10   DB3&lt;br /&gt;
 Pin 11   DB4&lt;br /&gt;
 Pin 12   DB5&lt;br /&gt;
 Pin 13   DB6&lt;br /&gt;
 Pin 14   DB7,MSB&lt;br /&gt;
 Pin 15   LED – Beleuchtung +&lt;br /&gt;
 Pin 16   LED – Beleuchtung -&lt;br /&gt;
&lt;br /&gt;
20 poliger LCD-Anschluss (redefiniert am 27.02.2006)&lt;br /&gt;
Für Grafik-LCD oder Anzeigen bei denen der 16-polige Stecken nicht ausreicht.&lt;br /&gt;
(sollte '''nur in Ausnahmefällen verwendet''' werden)&lt;br /&gt;
 Pin 1 GND &lt;br /&gt;
 Pin 2 5V &lt;br /&gt;
 Pin 3 Vee Kontrastspannung (0-4V) &lt;br /&gt;
 Pin 4 RS (CS) &lt;br /&gt;
 Pin 5 R/W (SID) &lt;br /&gt;
 Pin 6 Enable (1) (SCLK) &lt;br /&gt;
 Pin 7 DB0 (SOD) &lt;br /&gt;
 Pin 8 DB1 &lt;br /&gt;
 Pin 9 DB2 &lt;br /&gt;
 Pin 10 DB3 &lt;br /&gt;
 Pin 11 DB4 &lt;br /&gt;
 Pin 12 DB5 &lt;br /&gt;
 Pin 13 DB6 &lt;br /&gt;
 Pin 14 DB7,MSB &lt;br /&gt;
 Pin 15 Enable2 bei 4 zeiligen Displays für 2. Controller  &lt;br /&gt;
 Pin 16 Reset &lt;br /&gt;
 Pin 17 LED – Beleuchtung + &lt;br /&gt;
 Pin 18 LED – Beleuchtung - &lt;br /&gt;
 Pin 19 CS2 (wird nur bei manchen Displays zusätzlich genutzt) &lt;br /&gt;
 Pin 20 nc (keine fest definierte Verwendung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Bezugsmöglichkeit für passende '''Wannen''':&lt;br /&gt;
 z.B. Reichelt: &amp;quot;Wannenstecker&amp;quot; (Best.Nr. WSL10G, Best.Nr. WSL16G, Best.Nr. WSL20G)&lt;br /&gt;
 z.B. Conrad: &amp;quot;MESSERL. M GER. LÖTSTIFTEN&amp;quot;(Best.Nr. 742512-12, Best.Nr. 742537-MF, Best.Nr. 742551-MF)&lt;br /&gt;
 Bezugsmöglichkeit für passende '''Kabelbuchsen''':&lt;br /&gt;
 z.B. Reichelt: &amp;quot;Pfostenbuchse&amp;quot; (Best.Nr. PFL 10, Best.Nr. PFL 16, Best.Nr. PFL 20)&lt;br /&gt;
 z.B. Conrad: &amp;quot;PFOSTEN-STECKVERBINDER&amp;quot; (Best.Nr. 702013-MF, Best.Nr. 742198-MF, Best.Nr. 742309-MF&lt;br /&gt;
 Robotikhardware.de: '''Kabelset'''&lt;br /&gt;
&lt;br /&gt;
====Encoder Stecker für 2 externe QuadraturEncoder (Drehzahlmessung)====&lt;br /&gt;
Diese Schnittstelle dient zum Anschluss von 2 Quadratur-Encodern mit zusätzlichem Null-Positions-Eingang (SYNC) . &lt;br /&gt;
Encoder dienen vornehmlich als Wegstreckenzähler oder zur Regelung von Drehzahlen.&lt;br /&gt;
&lt;br /&gt;
Dieser Stecker ist auch kompatibel zu dem definierten universellen [[#Datenportstecker 10polig (8 Ports)|Datenportstecker]]. Datenportstecker sind mehrfach auf Standard-Boards wie RN-Control, Atmel STK500 und anderen Boards, die im Roboternetz vorgestellt wurden, vorhanden. Somit lassen sich Datenportstecker sehr schnell als Encoder-Stecker  nutzen und umgekehrt. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Empfohlene Steckverbindung auf der Platine:&lt;br /&gt;
 Pin 1 ENC 1 A (sollte ein Timer Eingang, z.B. Timer0 sein) &lt;br /&gt;
 Pin 2 ENC 1 B&lt;br /&gt;
 Pin 3 ENC 2 A (sollte ein Timer Eingang, z.B. Timer1 sein) &lt;br /&gt;
 Pin 4 ENC 2 B  &lt;br /&gt;
 Pin 5 NC &lt;br /&gt;
 Pin 6 ENC 1 Sync (sollte Interrupt Eingang sein) &lt;br /&gt;
 Pin 7 NC &lt;br /&gt;
 Pin 8 ENC 2 Sync (sollte Interrupt Eingang sein) &lt;br /&gt;
 Pin 9 GND &lt;br /&gt;
 Pin 10 +5V &lt;br /&gt;
&lt;br /&gt;
[[Bild:rndefinition_wannenstecker.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Bezugsmöglichkeit für passende Wannenbuchse:&lt;br /&gt;
 z.B. Reichelt (Best.Nr. WSL10G)&lt;br /&gt;
 Conrad-Elektronik (Best.Nr. 742512-12)&lt;br /&gt;
 Robotikhardware.de Kabelset&lt;br /&gt;
&lt;br /&gt;
==Platinenmaße / Bohrlöcher==&lt;br /&gt;
RN-Boards haben einheitliche Platinengrößen mit definierten Bohrlöchern. Dies gestattet die platzsparende &amp;quot;Huckepack&amp;quot;-Montage. Diese Standardmaße werden dringend empfohlen, RN-Boards die für einen besonderen Zweck konzipiert werden, welches ein anderes Platinenmaß erfordert (z.B. Adapter, speziell für Gehäuseeinbau etc.) können natürlich davon abweichen. &lt;br /&gt;
&lt;br /&gt;
[[Bild:platine_halbeuro.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Passendes Eagle Script hier http://www.roboternetz.de/phpBB2/dload.php?action=file&amp;amp;file_id=127&lt;br /&gt;
&lt;br /&gt;
[[Bild:platine_euro.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:platine_vierteleuro.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Passendes Eagle Script hier http://www.roboternetz.de/phpBB2/dload.php?action=file&amp;amp;file_id=181&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Weitere Definitionen werden regelmäßig ins WIKI übernommen''&lt;br /&gt;
&lt;br /&gt;
== Logo für Standard ==&lt;br /&gt;
Boards, die den Standard nutzen, kann man auch an folgendem Logo erkennen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:roboternetzstandard.gif|center]]&lt;br /&gt;
&lt;br /&gt;
== Kombinationsmöglichkeiten, die sich ergeben==&lt;br /&gt;
Durch einheitlichen Standard sind beispielsweise folgende Kombinationen denkbar:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/bilder/boardkombination.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[RN-Slave ID Übersicht]]&lt;br /&gt;
* [[I2C]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Praxis]]&lt;br /&gt;
[[Kategorie:Elektronik]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Snafu</name></author>	</entry>

	</feed>