<?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=Philn</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=Philn"/>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Spezial:Beitr%C3%A4ge/Philn"/>
		<updated>2026-04-11T21:50:33Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=RN-Control&amp;diff=22494</id>
		<title>RN-Control</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=RN-Control&amp;diff=22494"/>
				<updated>2013-04-12T09:36:38Z</updated>
		
		<summary type="html">&lt;p&gt;Philn: /* Steckerbelegung und Jumper-Funktionen */ siehe auch http://de.wikipedia.org/wiki/Apostrophitis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein bewährtes Microcontrollerboard, das wie das RNBFRA-Board in der Roboternetz-Community infolge einer Diskussion entstand. Es sollte ein Board werden, das ein gutes Preis-Leistungs-Verhältnis bietet und für vielfältige Aufgaben geeignet ist. &lt;br /&gt;
Das Vorhaben ist dank der zahlreichen Anregungen gut gelungen, das Board gibt es inzwischen nicht nur als Bauanleitung mit Platine, sondern auch als Bausatz und sogar Fertigmodul.&lt;br /&gt;
Es hat sich als preiswertes Universalboard für Roboter, Steuerungsaufgaben etc. als auch als ideales Einsteigerboard einen guten Namen im Roboternetz gemacht, daher gibt es für dieses Board auch ein eigenes Unterforum im Roboternetz.  &lt;br /&gt;
Es gibt inzwischen unzählige Anwendungen, die mit RN-Control umgesetzt wurden.&lt;br /&gt;
Trotz günstigem Preis ist ein sehr flexibles Board für unzählige Anwendungsmöglichkeiten entstanden. Über den I2C-Bus stehen zahlreiche Erweiterungsboards zur Verfügung, so können beispielsweise die gleichen I2C-Erweiterungen wie beim großen RNBFRA-Board kombiniert werden (Relaiskarte, Sprachausgabe usw.) Roboternetz &lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrol1.4diagramm.jpg|thumb|Funktionen des Boards]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrol1.4schaltplan.gif|thumb|Schaltplan zum Board [[:Bild:Rncontrol1.4schaltplan90grad.gif|(gedreht)]] ]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrol1.4bestückungsplan.gif|thumb|Bestückungsplan zum Board]]&lt;br /&gt;
&lt;br /&gt;
Besonders viel Wert wurde auch auf den einfachen Aufbau und viele Experimentier- und Einsatzmöglichkeiten gelegt. Mit diesem Board läßt sich u.a. schon ein recht ausgereifter Roboter konstruieren. Ultraschallsensoren, Infrarot-Entfernungssensoren, Motoren u.v.m. können direkt angeschlossen werden. Da das Board auch in der Community Roboternetz recht beliebt ist, findet man dort auch viele Tips und Programme. &lt;br /&gt;
&lt;br /&gt;
[[http://www.robotikhardware.de/bilder/rncontrol14diagrammmittel.jpg Diagramm hier]]&lt;br /&gt;
&lt;br /&gt;
==Hier die Leistungsmerkmale auf einen Blick:==&lt;br /&gt;
&lt;br /&gt;
*Wahlweise 8 oder 16 MHz Taktfrequenz (beide Quarze werden mitgeliefert, 16 MHz bereits eingesteckt) &lt;br /&gt;
*Schneller AVR Mega 32  Mikrocontroller,32K Speicher, 2K Ram und 1K EEPROM), 32 programmierbare I/O Pins,8 AD Ports u.v.m. &lt;br /&gt;
*8 Leuchtdioden per DIP-Schalter deaktivierbar und anderen Ports per Steckbrücke beliebig zuzuordnen &lt;br /&gt;
*alle Portleitungen sind über Stecker nach außen geführt. Die Steckernorm entspricht der Roboternetz-Definition als auch der des Atmel Entwicklungsboards STK500 &lt;br /&gt;
*alle Ports sowie +5V und GND sind zusätzlich über Steckbuchsen erreichbar. Ideal zum Experimentieren, da einfach Drähte (ca. 0,5mm) eingesteckt werden (kein Löten oder Schrauben). So können einfach andere LEDs zugeordnet werden oder ein Steckbrett verbunden werden &lt;br /&gt;
*Der wichtige Port A (wahlweise 8 digitale oder analoge Ein- o. Ausgänge) ist zusätzlich noch über eine Qualitätssteckklemme mit Hebel herausgeführt &lt;br /&gt;
*Motortreiber ca. 1 A belastbar - für zwei Getriebemotoren oder 1 Schrittmotor. Dieser kann auch für andere Zwecke (Relaisansteuerung, Lämpchen etc.) genutzt oder einfach entfernt werden &lt;br /&gt;
*Integrierter programmierbarer Mini-Lautsprecher, um Töne auszugeben &lt;br /&gt;
*1 Reset-Taster &lt;br /&gt;
*5 Taster für beliebige Verwendung. Sie belegen nur einen analogen Port! &lt;br /&gt;
*5 V Spannungsstabilisierung mit 2 A Belastbarkeit, auch herausgeführt für Erweiterungen; Eingangsspannung gegen Verpolung geschützt &lt;br /&gt;
*RS232 mit normgerechtem Pegelwandler (MAX232) - PC direkt anschließbar &lt;br /&gt;
*Batteriespannung kann im Programm abgefragt werden &lt;br /&gt;
*ISP-Programmierschnittstelle für übliche AVR-Programmieradapter (10polig) &lt;br /&gt;
*Betriebsspannung wahlweise zwischen 7 und 18V (empfohlen 7 bis 14 V) - wahlweise auch höhere Motorspannung bis 24 V möglich) &lt;br /&gt;
*Sehr kompakt, nur halbes Europaformat nach Roboternetz-Norm (ca. 100x75mm) &lt;br /&gt;
*I2C-Bus, über den zahlreiche Erweiterungsplatinen anschließbar sind (z.B. Sprachausgabe RN-Speak, Relaisboard RN-Relais, Servoboards, LCDs uvm.) &lt;br /&gt;
*Programmierbar in zahlreichen Sprachen, z.B. Basic (BASCOM Compiler, eingeschränkt bis 4K wird mitgeliefert), C (C-Compiler GCC wird mitgeliefert), Assembler, Pascal &lt;br /&gt;
*Deutsche Doku mit Basic-Programmbeispiel &lt;br /&gt;
*Preiswerter Bausatz erhältlich - einfacher Aufbau &lt;br /&gt;
*Kein Starter- oder Applikationsboard notwendig - bereits alles integriert! &lt;br /&gt;
*alle wichtigen Bauteile gesockelt, somit auch bei falscher Beschaltung durch Einsteiger immer kostengünstig reparierbar (einfach neues IC einstecken) &lt;br /&gt;
&lt;br /&gt;
http://www.robotikhardware.de/bilder/rncontro4.jpg&lt;br /&gt;
&lt;br /&gt;
==Belegung der RN-Control Steckklemmen==&lt;br /&gt;
Um auch schnell und praktisch mit RN-Control experimentieren zu können, verfügt dieses Board über Steckklemmen die alle Ports herausführen. 0,5mm Drähte lassen sich dort direkt einstecken, so das Sensoren und dergleichen schnell und einfach verdrahtet werden können. Die genaue Belegung lässt sich in nachfolgendem Ausschnitt aus dem Bestückungsplan gut entnehmen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrolsteckklemmen.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Steckerbelegung und Jumper-Funktionen==&lt;br /&gt;
Erläuterung der Anschlüsse, Regler und Kurzschlussbrücken&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Anschluss-Bezeichnung'''&lt;br /&gt;
|'''Erläuterung'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Port A'''&lt;br /&gt;
|Digitaler I/O und analoger Port (PA 0 bis PA7 und ADC0 bis ADC7)&lt;br /&gt;
Über  eine Steckklemme werden hier die 8 Portleitungen PA0 bis PA 7 zur Verfügung gestellt. PA7 befindet sich dabei ganz links und PA0 ganz rechts. Anschlußdrähte können einfach eingesteckt werden, indem man mit einem Kugelschreiber oder Schraubenziehen den oberen weißen Hebel etwas nach unten drückt.&lt;br /&gt;
Die Ports PA7 bis PA0 können sowohl als normaler I/O-Port  (Ein- und Ausgabeport) oder als AD-Ports programmiert werden. Somit könnten also auch bis zu 8 Spannungen quasi gleichzeitig gemessen werden. &lt;br /&gt;
&lt;br /&gt;
Ist der Kurzschlusstecker  UREF eingesteckt, dann können Spannungen bis zu 5V gemessen werden. Ist UREF offen, dann können Spannungen nur bis 2,5V gemessen werden. Durch geeignete Spannungsteiler kann der Meßbereich natürlich beliebig erhöht werden.&lt;br /&gt;
&lt;br /&gt;
Achtung: Die zulässige Höchstspannung 2,5V oder 5V darf am Port nicht überschritten werden, dieses würde den Port zerstören! &lt;br /&gt;
&lt;br /&gt;
Vorbelegung:&lt;br /&gt;
Port  PA7 wird auch für die Tastenabfrage genutzt. indem über einen Spannungsteiler verschiedene Spannungen per Tastendruck angelegt werden (siehe Schaltplan). &lt;br /&gt;
Solange keine Taste gedrückt ist, ist dieser jedoch frei Verfügbar.&lt;br /&gt;
Port PA6 wird über einen Spannungsteiler (22k und 5,1K) zur Batteriespannungsmessung benutzt  (siehe Schaltplan und Demoprogramm) wenn der Kurzschlusstecker UMESS eingesteckt ist.  Durch entfernen dieses Steckers steht der Port zur freien Verfügung.&lt;br /&gt;
&lt;br /&gt;
Der komplette Port steht auch nochmals über die Buchsenleiste JP2 zur Verfügung. Auch dort können Drähte zum experimentieren eingesteckt werden (möglichst 0,6mm²). &lt;br /&gt;
|-&lt;br /&gt;
|'''Port B'''&lt;br /&gt;
|Digitale I/O Port B  (PB0 bis PB 7)&lt;br /&gt;
Über einen Wannenstecker werden gemäß der Roboternetz-Definition 8 I/O Portleitungen mit Sonderfunktionen als auch GND und +5V bereitgestellt. &lt;br /&gt;
&lt;br /&gt;
Die genaue Belegung sieht wie folgt aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pin 1   PB0  /  T0 / XCL / wird vom Motortreiber für Motor 2 Kanal 1 genutzt&lt;br /&gt;
Pin 2   PB1  /  T1 / wird vom Motortreiber für Motor 2 Kanal 2 genutzt&lt;br /&gt;
Pin 3   PB2  /  AIN0 / INT2  / wird auch vom I2C-Bus genutzt&lt;br /&gt;
Pin 4   PB3  /  AIN1 / OC0&lt;br /&gt;
Pin 5   PB4  /  SS&lt;br /&gt;
Pin 6   PB5  /  MOSI / wird auch vom ISP Anschluss genutzt&lt;br /&gt;
Pin 7   PB6  /  MISO / wird auch  vom ISP Anschluss genutzt&lt;br /&gt;
Pin 8   PB7  /  SCK / wird auch  vom ISP Anschluss genutzt&lt;br /&gt;
Pin 9   GND&lt;br /&gt;
Pin 10  +5V&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach Entfernen des Motortreiber-ICs (IC3) aus der Fassung stehen PB0 und PB1 zur freien Verfügung.&lt;br /&gt;
&lt;br /&gt;
Der komplette Port steht auch nochmals über die Buchsenleiste JP3 zur Verfügung. Auch dort können Drähte zum Experimentieren eingesteckt werden (möglichst 0,6mm²).&lt;br /&gt;
|-&lt;br /&gt;
|'''Port C'''&lt;br /&gt;
|Digitale I/O Port C  (PC0 bis PC 7)&lt;br /&gt;
Über einen Wannenstecker werden gemäß der Roboternetz-Definition 8 I/O Portleitungen mit Sonderfunktionen als auch GND und +5V bereitgestellt. &lt;br /&gt;
&lt;br /&gt;
Die genaue Belegung sieht wie folgt aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pin 1   PC0  /  SCL wird vom I2C-Bus genutzt&lt;br /&gt;
Pin 2   PC1  /  SDA wird vom I2C-Bus genutzt&lt;br /&gt;
Pin 3   PC2  /  TCK&lt;br /&gt;
Pin 4   PC3  /  TMS&lt;br /&gt;
Pin 5   PC4  /  TDO&lt;br /&gt;
Pin 6   PC5  /  TDI&lt;br /&gt;
Pin 7   PC6  /  TOSC1 / wird vom Motortreiber für Motor 1 Kanal 1 genutzt&lt;br /&gt;
Pin 8   PC7  /  TOSC2 / wird vom Motortreiber für Motor 1 Kanal 2 genutzt&lt;br /&gt;
Pin 9   GND&lt;br /&gt;
Pin 10  +5V&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Über den 8 fachen DIP Schalter können den Ports auch LEDs zugeschaltet werden! Die LEDs leuchten wenn Port LOW-Zustand annimmt!&lt;br /&gt;
&lt;br /&gt;
Nach Entfernen des Motortreiber ICs (IC3) aus der Fassung stehen PC6 und PC7 zur freien Verfügung.&lt;br /&gt;
Der komplette Port steht auch nochmals über die Buchsenleiste JP4 zur Verfügung. Auch dort können Drähte zum experimentieren eingesteckt werden (möglichst 0,6mm²).&lt;br /&gt;
|-&lt;br /&gt;
|'''Port D'''&lt;br /&gt;
|Digitale I/O Port D  (PD0 bis PD 7)&lt;br /&gt;
Über einen Wannenstecker werden gemäß der Roboternetz-Definition 8 I/O Portleitungen mit Sonderfunktionen als auch GND und +5V bereitgestellt. &lt;br /&gt;
&lt;br /&gt;
Die genaue Belegung sieht wie folgt aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pin 1   PD0  /  RXD / wird für RS232 Schnittstelle genutzt&lt;br /&gt;
Pin 2   PD1  /  TXD  / wird für RS232 Schnittstelle genutzt&lt;br /&gt;
Pin 3   PD2  /  INT0&lt;br /&gt;
Pin 4   PD3  /  INT1 &lt;br /&gt;
Pin 5   PD4  /  OC1B  / wird für PWM Motor 1 benutzt (Geschwindigkeitsregelung)&lt;br /&gt;
Pin 6   PD5  /  OC1A  / wird für PWM Motor 2 benutzt (Geschwindigkeitsregelung)&lt;br /&gt;
Pin 7   PD6  /  ICP&lt;br /&gt;
Pin 8   PD7  /  OC2&lt;br /&gt;
Pin 9   GND&lt;br /&gt;
Pin 10  +5V&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach Entfernen des Motortreiber ICs aus der Fassung stehen PD4 und PD5 zur freien Verfügung.&lt;br /&gt;
Der komplette Port steht auch nochmal über die Buchsenleiste JP5 zur Verfügung. Auch dort können Drähte zum experimentieren eingesteckt werden (möglichst 0,6mm²).&lt;br /&gt;
|-&lt;br /&gt;
|'''I2C-Bus'''&lt;br /&gt;
|I2C-Bus&lt;br /&gt;
Über diesen Bus lassen sich zahlreiche Erweiterungen an dieses Board anschließen. Zum Beispiel werden auf der Seite robotikhardware.de passende Boards mit Sprachausgabe, Relais, Schrittmotorsteuerung etc. angeboten.&lt;br /&gt;
Aber auch dieses Board kann selbst als Slave-Board, also als Erweiterung an ein anderes Hauptboard angeschlossen werden.&lt;br /&gt;
Der I2C-Bus benötig nur 2 Leitungen für alle Funktionen. Entsprechend der Roboternetz-Norm wird hier ein 2x5 poliger Stecker angeschlossen. Die Belegung entspricht exakt der anderer Roboternetz Boards.&lt;br /&gt;
&amp;lt;pre&amp;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&lt;br /&gt;
Pin 2,4,6,8 GND&lt;br /&gt;
Pin 10  INT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
INT - Diese Leitung kann von allen I2C-Bus Erweiterungen genutzt &lt;br /&gt;
werden um den Hauptcontroller darüber zu informieren das sich Daten (z.B. von Sensoren) verändert haben. In diesem Fall wird die Leitung solange auf Masse gelegt bis der entsprechende  I2C-Baustein ausgelesen wird.&lt;br /&gt;
Die Controller muß also immer alle I2C-Bausteine auslesen solange diese Leitung auf Masse liegt. Diese Leitung ist mit Port PD2 verbunden&lt;br /&gt;
&lt;br /&gt;
Die PINs 5,7,9 und 10 können über  herausnehmbare Kurzschlussbrücken (Jumper JP6) vom Board getrennt werden. Dies ist zum Beispiel dann notwendig, wenn bereits ein anderes Masterboard die Spannungen auf den Bus legt. Es darf immer nur ein Board die Spannungen bereitstellen.&lt;br /&gt;
|-&lt;br /&gt;
|'''ISP'''&lt;br /&gt;
|ISP – IN SYSTEM PROGRAMMING&lt;br /&gt;
Über diesen Anschluß kann der  Controller auf dem Sprachboard 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 verbreitetet STK200 Programmier Dongle kompatibel. Ein entsprechender Dongle kann man sich entweder selber basteln (siehe Artikel „ARV Einstieg leicht gemacht“ unter www.roboternetz.de) oder fertig bestellen (z.B. www.robotikhardware.de). &lt;br /&gt;
&amp;lt;pre&amp;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;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|'''Power'''&lt;br /&gt;
|Spannungsversorgung&lt;br /&gt;
Über diese Schraubklemme wird das Board mit Spannung versorgt. Es reicht eine unstabilisierte Gleichspannung von 7 bis 14V aus (max. 18V wenn Kühlkörper verwendet wird)&lt;br /&gt;
+ und – sind auf der Platine markiert. Das Board ist jedoch auch gegen ein verpolen geschützt, so das nichts kaputt geht!&lt;br /&gt;
|-&lt;br /&gt;
|'''Motoren'''&lt;br /&gt;
|Motoren&lt;br /&gt;
Über diese 4 polige Schraubklemme können zwei Getriebemotoren (jeweils die beiden linken oder rechten Kontakte) oder ein Schrittmotor angeschlossen werden. &lt;br /&gt;
Der Motortreiber kann jedoch auch für andere Dinge genutzt werden, z.B zum Ansteuern von Relais, Lämpchen etc. verwendet werden. Die Belastbarkeit liegt bei 1A.  Sollen größere Motoren angeschlossen werden,  so kann z.B. über den I2C-Port eine andere Endstufe angeschlossen werden. &lt;br /&gt;
|-&lt;br /&gt;
|'''JP6'''&lt;br /&gt;
|I2C-Bus Belegung&lt;br /&gt;
Über drei Kurzschlussstecker können wahlweise die Bateriespannung (UB), +5V sowie INT mit dem I2C-Bus verbunden werden. Wenn INT nicht benötigt wird, kann man diesen Jumper offen lassen. Somit hat man einen Port zusätzlich frei zur Verfügung&lt;br /&gt;
Möchte man das Board über den I2C-Bus mit Spannung versorgen, dann kann man UB oder +5V Jumper einstecken. In diesem Fall braucht/darf keine Spannung an dem Power Schraubklemen angelegt werden. Möchte man umgekehrt andere Boards über den I2C-Bus mit Spannung versorgen, dann müssen die Jumper UB und/oder +5V eingesteckt werden. &lt;br /&gt;
Durch diesen Jumper ist man für alle Fälle gerüstet. Bei älteren RN-Control Versionen mußte man dazu noch das Kabel ändern.&lt;br /&gt;
|-&lt;br /&gt;
|'''JP8'''&lt;br /&gt;
|Über diesen Stecker kann die stabilisierte 5V Logikspannung für Erweiterungen oder Experimente entnommen werden. Wird mehr als 500mA entnommen, so sollte der Spannungsregler  mit einem kleinen Kühlkörper versehen werden.&lt;br /&gt;
|-&lt;br /&gt;
|'''UREF'''&lt;br /&gt;
|Referenzspannung&lt;br /&gt;
Über eine Kurzschlussstecker kann hier die Referenzspannung von 5V eingestellt werden. Wird der Stecker entfernt, so kann an den analogen Ports nur bis 2,5V gemessen werden (jedoch mit höherer Genauigkeit). &lt;br /&gt;
Sicherheitshalber sollten Sie den Stecker anfangs eingesteckt lassen!  Wird er entfernt, so sollte man daran denken das auch die Batteriespannung über einen analogen Port gemessen wird. Diese darf dann nicht viel höher als 13V  sein!&lt;br /&gt;
|-&lt;br /&gt;
|'''UMOT'''&lt;br /&gt;
|Motorspannung&lt;br /&gt;
Wenn dieser Kurzschlussstecker eingesteckt wird, dann wird die volle Batteriespannung auch für die Motoren benutzt. Ansonsten könnte man über einen PIN dieses Jumpers auch eine höhere Versorgungsspannung für die Motoren nutzen. Dazu sollte sie aber nochmals in den Schaltplan schaun.&lt;br /&gt;
In der Regel sollte hier ein Jumper eingesteckt sein!&lt;br /&gt;
|-&lt;br /&gt;
|'''UMESS'''&lt;br /&gt;
|Batteriespannungsmessung&lt;br /&gt;
Wenn diese Kurzschlussbrücke gesteckt ist, dann wird über Port PA6 die Batteriespannung überwacht. Ansonsten ist der Port frei!&lt;br /&gt;
|-&lt;br /&gt;
|'''S1'''&lt;br /&gt;
|DIP Schalter&lt;br /&gt;
Mit einem kleinen Schraubenzieher kann über diesen 8 poligen Schalter den Portleitungen PC0 bis PC7 eine LED zugeschaltet werden. Die LEDs leuchten immer dann wenn der Port LOW  (0 Pegel) führt.&lt;br /&gt;
Wenn die LED auf Off geschaltet wird, so kann die LED über eine Drahtbrücke von JP7 mit einem anderen Port verbunden werden.&lt;br /&gt;
|-&lt;br /&gt;
|'''RS232'''&lt;br /&gt;
|PC kompatible RS232 Schnittstelle&lt;br /&gt;
Über ein Adapterkabel kann die serielle Schnittstelle des PC direkt mit dem Board verbunden werden. Dies ist dann sinnvoll, wenn Fehler in Programmen gesucht . Einfache PRINT Anweisungen werden von einem Terminalprogramm angezeigt.&lt;br /&gt;
Hier kann Hyperterminal von Windows oder das eingebaute Terminalprogramm von Bascom empfohlen werden.&lt;br /&gt;
&lt;br /&gt;
Die Belegung ist kompatibel zum Conrad Roboter CCRP5:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pin 1 RX&lt;br /&gt;
Pin 2 GND&lt;br /&gt;
Pin 3 TX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ein geeignetes Anschlußkabel kann schnell [[RN-Definitionen#RS232_Stecker|selbst angefertigt]] werden oder gibt  es bei robotikhardware.de bereits fertig&lt;br /&gt;
|-&lt;br /&gt;
|'''JP7'''&lt;br /&gt;
|Über diese Buchse sind alle LEDs ganz einfach durch Einstecken eines Drahtes beschaltbar.&lt;br /&gt;
Bedenken muß man dabei das die Anode über einen Vorwiderstand immer mit 5V verbunden ist. Die LED leuchtet also nur wenn sie mit der Drahtbrücke auf GND bzw. einen Port mit 0 Pegel gelegt wird. &lt;br /&gt;
|-&lt;br /&gt;
|'''JP1'''&lt;br /&gt;
|Buchsenleiste die dreimal +5V und drei mal GND für Experimente bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''JP2'''&lt;br /&gt;
|Buchsenleiste die den gesamten Port A für steckbare Drähte bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''JP3'''&lt;br /&gt;
|Buchsenleiste die den gesamten Port B für steckbare Drähte bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''JP4'''&lt;br /&gt;
|Buchsenleiste die den gesamten Port C für steckbare Drähte bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''JP5'''&lt;br /&gt;
|Buchsenleiste die den gesamten Port D für steckbare Drähte bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''TASTER T1 bis T5'''&lt;br /&gt;
|Stehen zur freien Verfügung&lt;br /&gt;
Die Abfrage ist im Demoprogramm beschrieben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Stückliste==&lt;br /&gt;
 Bauteil Wert       Beschreibung                   Reichelt Best.Nr.&lt;br /&gt;
 C1      100n       Keramik Kondensator            KERKO100N&lt;br /&gt;
 C2      100n       Keramik Kondensator            KERKO100N   &lt;br /&gt;
 C3      22pf       Keramik Kondensator            KERKO-500 22p           &lt;br /&gt;
 C4      22pf       Keramik Kondensator            KERKO-500 22p          &lt;br /&gt;
 C5      4,7uF      Elko                           SM 4,7/50RAD           &lt;br /&gt;
 C6      4,7uF      Elko                           SM 4,7/50RAD           &lt;br /&gt;
 C7      4,7uF      Elko                           SM 4,7/50RAD           &lt;br /&gt;
 C8      4,7uF      Elko                           SM 4,7/50RAD           &lt;br /&gt;
 C9      1uF        Elko                           SM 1,0/63RAD           &lt;br /&gt;
 C10     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C11     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C12     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C13     1000uF     Elko                           RAD 1.000/35            &lt;br /&gt;
 C14     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C15     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C16     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C17     220uF      Elko                           RAD 220/35             &lt;br /&gt;
 C18     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 D1      1N4148     Diode                          1n 4148                &lt;br /&gt;
 D2      BYV27      Diode                          BYV 27/200             &lt;br /&gt;
 I2C-BUS I2C        Wannenbuchse                   WSL 10G                &lt;br /&gt;
 IC1     MAX232     RS232 Treiber                  MAX 232 CPE             &lt;br /&gt;
 IC2     7805       Spannungsregler                µA 78S05                  &lt;br /&gt;
 IC3     L293D      Motortreiber                   L 293 D                &lt;br /&gt;
 IC4     MEGA16-P   Atmel Mega 16 oder 32          ATMEGA 16-16           &lt;br /&gt;
 ISP     AVR-ISP    Wannenbuchse                   WSL 10G                &lt;br /&gt;
 JP1                Kontaktbuchse (manuell kürzen) SPL 20                  &lt;br /&gt;
 JP2                Kontaktbuchse (manuell kürzen) SPL 20                 &lt;br /&gt;
 JP3                Kontaktbuchse (manuell kürzen) SPL 20                  &lt;br /&gt;
 JP4                Kontaktbuchse (manuell kürzen) SPL 20                 &lt;br /&gt;
 JP5                Kontaktbuchse (manuell kürzen) SPL 20                 &lt;br /&gt;
 JP6                Stiftleiste   (teilen)         SL 2X50G 2,54 &lt;br /&gt;
 JP7                Kontaktbuchse (manuell kürzen) SPL 20                 &lt;br /&gt;
 JP8                Stiftleiste                    LU 2,5 MS 2             &lt;br /&gt;
 LED1               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED2               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED3               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED4               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED5               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED6               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED7               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED8               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 MOTOREN            Schraubklemme 4 polig          AKL 101-04             &lt;br /&gt;
 PORTA              Steckklemme 8 polig            WAGO 233-508           &lt;br /&gt;
 PORTB              Wannenbuchse                   WSL 10G                &lt;br /&gt;
 PORTC              Wannenbuchse                   WSL 10G                &lt;br /&gt;
 PORTD              Wannenbuchse                   WSL 10G                &lt;br /&gt;
 POWER              Schraubklemme 2 polig          AKL 101-02              &lt;br /&gt;
 Q1                 Quarz 16 Mhz                   16,0000-HC18                &lt;br /&gt;
 R1      100k       Widerstand 100k                1/4W 100k              &lt;br /&gt;
 R2      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R3      10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 R4      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R5      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R6      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R7      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R8      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R9      22k        Widerstand 22k                 1/4W 22k               &lt;br /&gt;
 R10     5,1k       Widerstand 5,1k                1/4W 5,1k              &lt;br /&gt;
 R11     10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 R12     10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 R13     10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 R14     10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 RESET   TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 RN1                Widerstandsnetzwerk            SIL 9-8 1,0k           &lt;br /&gt;
 RS232              Stiftleiste 3 polig            LU 2,5 MS 3             &lt;br /&gt;
 S1                 DIP Schalter 8 polig           NT08                   &lt;br /&gt;
 SPEAKER F/CM12P    Mini Piezo Lautsprecher        SUMMER EPM 121         &lt;br /&gt;
 T1      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 T2      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 T3      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 T4      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 T5      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 UMESS              Stiftleiste                    LU 2,5 MS 2             &lt;br /&gt;
 UMOT               Stiftleiste                    LU 2,5 MS 2             &lt;br /&gt;
 UREF               Stiftleiste                    LU 2,5 MS 2&lt;br /&gt;
&lt;br /&gt;
==Basic Beispieltestprogramm==&lt;br /&gt;
Das gleiche Demo findet man jetzt auch für C unter &amp;quot;[[RN-Control Demoprogramm in C]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'################################################### &lt;br /&gt;
'rncontroltest.BAS &lt;br /&gt;
'für &lt;br /&gt;
'RoboterNetz Board RN-CONTROL ab Version 1.1 &lt;br /&gt;
'Das neue preiswerte Controllerboard zum Experimentieren &lt;br /&gt;
&lt;br /&gt;
' Achtung: &lt;br /&gt;
' Diese Demo ist mit Bascom Compiler 1.11.7.7 getestet &lt;br /&gt;
&lt;br /&gt;
' &lt;br /&gt;
'Aufgabe: &lt;br /&gt;
' Dieses Testprogramm testet gleich mehrere Eigenschaften auf dem Board &lt;br /&gt;
' Den verschiedenen Tasten sind bestimmte Funktionen zugeordnet &lt;br /&gt;
' Taste 1: Zeigt Batteriespannung über RS232 an &lt;br /&gt;
' Taste 2: Angeschlossene Motoren beschleunigen und abbremsen &lt;br /&gt;
' Taste 3: Einige Male Lauflicht über LEDs anzeigen. Am I2C-Bus &lt;br /&gt;
'          darf in diesem Moment nichts angeschlossen sein &lt;br /&gt;
' Taste 4: Zeigt analoge Messwerte an allen Port A PINs über RS232 an &lt;br /&gt;
''Taste 5: Zeigt digitalen I/O Zustand von PA0 bis PA5 an &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
' Sehr gut kann man aus dem Demo auch entnehmen wie Sound ausgegeben wird, &lt;br /&gt;
' wie Tasten abgefragt werden und wie Subroutinen und Funktionen angelegt werden &lt;br /&gt;
&lt;br /&gt;
'Autor: Frank &lt;br /&gt;
'####################################################### &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Declare Sub Batteriespannung() &lt;br /&gt;
Declare Sub Motortest() &lt;br /&gt;
Declare Sub Lauflicht() &lt;br /&gt;
Declare Sub Showporta() &lt;br /&gt;
Declare Sub Showdigitalporta() &lt;br /&gt;
Declare Function Tastenabfrage() As Byte &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot; &lt;br /&gt;
' bei Mega 16 $regfile = &amp;quot;m16def.dat&amp;quot; &lt;br /&gt;
$framesize = 32 &lt;br /&gt;
$swstack = 32 &lt;br /&gt;
$hwstack = 32 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dim I As Integer &lt;br /&gt;
Dim N As Integer &lt;br /&gt;
Dim Ton As Integer &lt;br /&gt;
&lt;br /&gt;
$crystal = 16000000                           'Quarzfrequenz &lt;br /&gt;
$baud = 9600 &lt;br /&gt;
&lt;br /&gt;
Config Adc = Single , Prescaler = Auto        'Für Tastenabfrage und Spannungsmessung &lt;br /&gt;
&lt;br /&gt;
Config Pina.7 = Input                         'Für Tastenabfrage &lt;br /&gt;
Porta.7 = 1                                   'Pullup Widerstand ein &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Const Ref = 5 / 1023                          'Für Batteriespannungsberechnung &lt;br /&gt;
&lt;br /&gt;
Dim Taste As Byte &lt;br /&gt;
Dim Volt As Single &lt;br /&gt;
&lt;br /&gt;
' Für Motorentest &lt;br /&gt;
'Ports für linken Motor &lt;br /&gt;
Config Pinc.6 = Output                       'Linker Motor Kanal 1 &lt;br /&gt;
Config Pinc.7 = Output                       'Linker Motor Kanal 2 &lt;br /&gt;
Config Pind.4 = Output                       'Linker Motor PWM &lt;br /&gt;
'Ports für rechten Motor &lt;br /&gt;
Config Pinb.0 = Output                       'Rechter Motor Kanal 1 &lt;br /&gt;
Config Pinb.1 = Output                       'Rechter Motor Kanal 2 &lt;br /&gt;
Config Pind.5 = Output                       'Rechter Motor PWM &lt;br /&gt;
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down &lt;br /&gt;
Pwm1a = 0 &lt;br /&gt;
Pwm1b = 0 &lt;br /&gt;
Tccr1b = Tccr1b Or &amp;amp;H02                      'Prescaler = 8 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I = 0 &lt;br /&gt;
Sound Portd.7 , 400 , 450                    'BEEP &lt;br /&gt;
Sound Portd.7 , 400 , 250                    'BEEP &lt;br /&gt;
Sound Portd.7 , 400 , 450                    'BEEP &lt;br /&gt;
Print &lt;br /&gt;
Print &amp;quot;**** RN-CONTROL 1.4 *****&amp;quot; &lt;br /&gt;
Print &amp;quot;Das neue Experimentier- und Roboterboard&amp;quot; &lt;br /&gt;
Print &amp;quot;Weitere passende Zusatzboards bei www.robotikhardware.de&amp;quot; &lt;br /&gt;
Print &lt;br /&gt;
Do &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   Taste = Tastenabfrage() &lt;br /&gt;
   If Taste &amp;lt;&amp;gt; 0 Then &lt;br /&gt;
&lt;br /&gt;
      Select Case Taste &lt;br /&gt;
         Case 1 &lt;br /&gt;
            Call Batteriespannung    'Taste 1 Zeigt Bateriespannung über RS232 an &lt;br /&gt;
         Case 2 &lt;br /&gt;
            Call Motortest           'Taste 2 Motoren beschleunigen und abbremsen &lt;br /&gt;
         Case 3 &lt;br /&gt;
            Call Lauflicht           'Einige Male Lauflicht über LEDs anzeigen. &lt;br /&gt;
                                     'Am I2C-Port darf in diesem Moment nichts angeschlossen sein &lt;br /&gt;
         Case 4 &lt;br /&gt;
            Call Showporta           'Zeigt Messwerte an allen Port A PINs &lt;br /&gt;
         Case 5 &lt;br /&gt;
            Call Showdigitalporta    'Zeigt digitalen I/O Zustand von PA0 bis PA5 an &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      End Select &lt;br /&gt;
      Sound Portd.7 , 400 , 500      'BEEP &lt;br /&gt;
   End If &lt;br /&gt;
&lt;br /&gt;
   Waitms 100 &lt;br /&gt;
Loop &lt;br /&gt;
&lt;br /&gt;
End &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Diese Unterfunktion fragt die Tastatur am analogen Port ab &lt;br /&gt;
Function Tastenabfrage() As Byte &lt;br /&gt;
Local Ws As Word &lt;br /&gt;
&lt;br /&gt;
   Tastenabfrage = 0 &lt;br /&gt;
   Ton = 600 &lt;br /&gt;
   Start Adc &lt;br /&gt;
   Ws = Getadc(7) &lt;br /&gt;
  ' Print &amp;quot;Tastenabfrage anpassen!ADC Wert ws=&amp;quot; ; Ws &lt;br /&gt;
   If Ws &amp;lt; 500 Then &lt;br /&gt;
      Select Case Ws &lt;br /&gt;
         Case 400 To 450 &lt;br /&gt;
            Tastenabfrage = 1 &lt;br /&gt;
            Ton = 550 &lt;br /&gt;
         Case 330 To 380 &lt;br /&gt;
            Tastenabfrage = 2 &lt;br /&gt;
            Ton = 500 &lt;br /&gt;
         Case 260 To 305 &lt;br /&gt;
            Tastenabfrage = 3 &lt;br /&gt;
            Ton = 450 &lt;br /&gt;
         Case 180 To 220 &lt;br /&gt;
            Tastenabfrage = 4 &lt;br /&gt;
            Ton = 400 &lt;br /&gt;
         Case 90 To 130 &lt;br /&gt;
            Tastenabfrage = 5 &lt;br /&gt;
             Ton = 350 &lt;br /&gt;
 '        Case Else &lt;br /&gt;
'              Print &amp;quot;Tastenabfrage anpassen!ADC Wert ws=&amp;quot; ; Ws &lt;br /&gt;
      End Select &lt;br /&gt;
      Sound Portd.7 , 400 , Ton                             'BEEP &lt;br /&gt;
&lt;br /&gt;
   End If &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
End Function &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Diese Unterfunktion zeigt Batteriespannung an &lt;br /&gt;
Sub Batteriespannung() &lt;br /&gt;
Local W As Word &lt;br /&gt;
   Start Adc &lt;br /&gt;
   W = Getadc(6) &lt;br /&gt;
   Volt = W * Ref &lt;br /&gt;
   Volt = Volt * 5.2941 &lt;br /&gt;
   Print &amp;quot;Die aktuelle Spannung beträgt: &amp;quot; ; Volt ; &amp;quot; Volt&amp;quot; &lt;br /&gt;
&lt;br /&gt;
End Sub &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Testet Motoren und Geschwindigkeitsreglung &lt;br /&gt;
Sub Motortest() &lt;br /&gt;
   'Linker Motor ein &lt;br /&gt;
   Portc.6 = 1                          'bestimmt Richtung &lt;br /&gt;
   Portc.7 = 0                          'bestimmt Richtung &lt;br /&gt;
   Portd.4 = 1                          'Linker Motor EIN &lt;br /&gt;
&lt;br /&gt;
   'Rechter Motor ein &lt;br /&gt;
   Portb.0 = 1                          'bestimmt Richtung rechter Motor &lt;br /&gt;
   Portb.1 = 0                          'bestimmt Richtung rechter Motor &lt;br /&gt;
   Portd.5 = 1                          'rechter Motor EIN &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   I = 0 &lt;br /&gt;
   Do &lt;br /&gt;
      Pwm1a = I &lt;br /&gt;
      Pwm1b = I &lt;br /&gt;
      Waitms 40 &lt;br /&gt;
      I = I + 5 &lt;br /&gt;
   Loop Until I &amp;gt; 1023 &lt;br /&gt;
&lt;br /&gt;
   Wait 1 &lt;br /&gt;
   Do &lt;br /&gt;
      Pwm1a = I &lt;br /&gt;
      Pwm1b = I &lt;br /&gt;
      Waitms 40 &lt;br /&gt;
      I = I - 5 &lt;br /&gt;
   Loop Until I &amp;lt; 1 &lt;br /&gt;
   Pwm1a = 0                            'Linker Motor aus &lt;br /&gt;
   Pwm1b = 0                            'rechter Motor aus &lt;br /&gt;
End Sub &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
' Einige Male Lauflicht über LEDs anzeigen. Am I2C-Port darf in diesem &lt;br /&gt;
' Moment nichts angeschlossen sein &lt;br /&gt;
Sub Lauflicht() &lt;br /&gt;
&lt;br /&gt;
   Config Portc = Output &lt;br /&gt;
   Portd = 0 &lt;br /&gt;
   For N = 1 To 10 &lt;br /&gt;
      For I = 0 To 7 &lt;br /&gt;
         Portc.i = 0 &lt;br /&gt;
         Waitms 100 &lt;br /&gt;
         Portc.i = 1 &lt;br /&gt;
      Next I &lt;br /&gt;
   Next N &lt;br /&gt;
   Config Portc = Input &lt;br /&gt;
End Sub &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Zeigt die analogen Messwerte an Port A an &lt;br /&gt;
Sub Showporta() &lt;br /&gt;
Local Ws As Word &lt;br /&gt;
&lt;br /&gt;
   Config Porta = Input &lt;br /&gt;
   For I = 0 To 5                        ' Alle internen Pullup Widerstände ein, bis auf Batteriespannungsmessungsport &lt;br /&gt;
      Porta.i = 1 &lt;br /&gt;
   Next I &lt;br /&gt;
&lt;br /&gt;
   Print &lt;br /&gt;
   Print &amp;quot;Ermittelte Messwerte an Port A:&amp;quot; &lt;br /&gt;
   For I = 0 To 7                        ' Alle Eingänge inkl. messen &lt;br /&gt;
      Start Adc &lt;br /&gt;
      Ws = Getadc(i) &lt;br /&gt;
      Volt = Ws * Ref &lt;br /&gt;
      Print &amp;quot;Pin &amp;quot; ; I ; &amp;quot; ADC-Wert= &amp;quot; ; Ws ; &amp;quot; bei 5V REF waeren das &amp;quot; ; Volt ; &amp;quot; Volt&amp;quot; &lt;br /&gt;
   Next I &lt;br /&gt;
End Sub &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Zeigt den Zustand einiger freier I/O von Die Analogen Messwerte An Port A An &lt;br /&gt;
Sub Showdigitalporta() &lt;br /&gt;
Local Zustand As String * 6 &lt;br /&gt;
   Config Porta = Input &lt;br /&gt;
   For I = 0 To 5                        ' Alle internen Pullup Widerstände ein, bis auf Batteriespannungsmessungsport &lt;br /&gt;
      Porta.i = 1 &lt;br /&gt;
   Next I &lt;br /&gt;
&lt;br /&gt;
   Print &lt;br /&gt;
   Print &amp;quot;Ermittelter I/O Zustand Port A:&amp;quot; &lt;br /&gt;
   For I = 0 To 5                        ' Alle Eingänge inkl. messen &lt;br /&gt;
      If Pina.i = 1 Then &lt;br /&gt;
         Zustand = &amp;quot;High&amp;quot; &lt;br /&gt;
      Else &lt;br /&gt;
         Zustand = &amp;quot;Low&amp;quot; &lt;br /&gt;
      End If &lt;br /&gt;
      Print &amp;quot;Pin &amp;quot; ; I ; &amp;quot; I/O Zustand= &amp;quot; ; Pina.i ; &amp;quot; &amp;quot; ; Zustand &lt;br /&gt;
   Next I &lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmierung per Druckerport, [[USB]] oder [[RS232]]==&lt;br /&gt;
RN-Control wird üblicherweise mit einem sogenannten [[ISP]]-Dongel programmiert. Die günstigste Ausführung gibt es für einen parallelen Druckerport, siehe auch unter [[AVR-ISP Programmierkabel]]. Etwas teurer aber auch schneller ist ein USBISP-Dongel. Wie genau der Ablauf vonstatten geht wird in der Anleitung (PDF-Dokument siehe Links) genau beschrieben.&lt;br /&gt;
Seit März 2007 wird RN-Control aber auch mit installiertem Bootloader ausgeliefert. Dies hat den Vorteil, dass das Board nun auch ohne ISP-Dongel per RS232 Kabel mit dem Bascom Compiler programmiert werden kann. Dies ist recht angenehm für Notebook Besitzer, die keinen parallelen Druckerport haben und denen der USBISP-Dongel am Anfang etwas zu teuer erscheint. Nähere Hinweise dazu sind ebenfalls in der überarbeiteten PDF-Anleitung (siehe Weblinks unten auf der Seite) zu finden.&lt;br /&gt;
&lt;br /&gt;
==Anschlussbeispiele==&lt;br /&gt;
Da sich Einsteiger mit dem Anschluss von Sensoren oder Verbrauchern manchmal etwas schwer tun, hier eine Skizze, wie man zum Beispiel bestimmte Dinge wie Entfernungssensoren, Servos, Lämpchen oder Helligkeits- bzw. Temperatursensoren anschließen könnte. Bei den Lämpchen sollte man beachten, dass sie zusammen weniger als 1A Strom benötigen, da ansonsten der zuständige Treiber (Motortreiber L293D) überhitzt würde. Natürlich könnte man auch größere Lasten schalten, indem man z.B. statt den Lämpchen Relais anschließt. Auch viele weitere Sensoren könnten natürlich an die noch freien Ports angeschlossen werden, beachten muss man nur, ob der Sensor einen Digital- oder Analogport benötigt.&lt;br /&gt;
Das Servo wird in der Skizze mit 5V versorgt, daher sollte man den Spannungsregler mit einem Kühlkörper versehen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrolanschlussbeispiel.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10anrncontrol.gif|framed|center|Ultraschallmodul am I2C-Bus (mehrere möglich)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:kompassmodul_an_rncontrol.jpg|framed|center|Auch ein elektronischer Kompass läßt sich leicht am I2C Bus anschließen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:drehgeber_an_rncontrol.gif|center|framed|Beispielschaltung wenn man lediglich die Drehzahl ohne Drehrichtung auswerten möchte. Als Widerstand hat sich 330 Ohm als gut erwiesen. Als Sensor wurde hier ein GP1A30 verwendet]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rnjoycontrolanrncontrol.jpg|center|framed|Auch passende Joysticks/Joypads lassen sich einfach an RN-Control anschließen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rn_adapter_mit_rncontrol.jpg|center|framed|Über Adapter lassen sich die Wannenstecker auch durch Steckklemmen mit Portüberwachung ersetzen. Dadurch wird die Verdrahtung noch flexibler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rndigicontrol.jpg|thumb|center|Digitalanzeige an RN-Control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf02_i2c_rncontrol.jpg|framed|center|Der neue Ultraschallsensor SRF02 im I2C Mode über Adapter an RN-Control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf02_an_rncontrol_rs232mode.jpg|framed|center|Der neue Ultraschallsensor SRF02 im RS232 Mode an RN-Control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rn_lcd_adapter_rncontrol.gif|framed|center|Ein LCD mittels RN-LCDAdapter angeschlossen.]]&lt;br /&gt;
&lt;br /&gt;
==Projektbeispiel mit RN-Control==&lt;br /&gt;
&lt;br /&gt;
[[Bild:allwetterbot.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RN-Control die Alternative zu Arduino ==&lt;br /&gt;
Wenn man in C-Programmieren möchte kann man sich die Arbeit etwas erleichtern indem man die Entwicklungsumgebung und sogar Bibliotheken von [[Arduino]] nutzt. Bernd Klein hat die Arduino Bibliothek für RN-Control angepasst, siehe Link ganz unten auf dieser Wiki-Seite. Dadurch nutzt man die Vorteile beider Welten, die Leistung und vielen Ports des RN-Control (hier ist RN-Control mit einem Mega32 den gängigen Arduino Boards (z.B. Arduino Uno,doch erheblich überlegen) und gleichzeitig die kostenlose Entwicklungsumgebung und Tools von Arduino die besonders für C-Einsteiger hilfreich sein können.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Beispiel Drehzahlmessung mit RN-Control]]&lt;br /&gt;
* [[Ultraschall SRF10 an RN-Control]]&lt;br /&gt;
* [[Ultraschallsensor SRF02 am RN-Board]]&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
* [[RN-Digi|4 stellige Digitalanzeige an RN-Control]]&lt;br /&gt;
* [[LCD an RN-Control]]&lt;br /&gt;
* [[RN-Control Demprogramm in C]]&lt;br /&gt;
*[[Bascom]]&lt;br /&gt;
*[[Bascom - Erstes Programm in den AVR Controller übertragen]]&lt;br /&gt;
* [[Versenden von Emails's direkt vom RN-Control aus]]&lt;br /&gt;
*[[RN-Definitionen]]&lt;br /&gt;
*[[RN-Board FAQ-Seite]]&lt;br /&gt;
* [[Avr]]&lt;br /&gt;
* [[RN-Mega8]] &lt;br /&gt;
* [[RNBFRA-Board]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.roboternetz.de/phpBB2/dload.php?action=file&amp;amp;file_id=138 Ausführliche Anleitung und Bauplan als PDF-Datei]&lt;br /&gt;
* [http://de.youtube.com/watch?v=JjuNS5BT7Qo Video Servoboard SD21 am RN-Control]&lt;br /&gt;
* [http://de.youtube.com/watch?v=DPnY5T0AH_0 Video zum Motorboard MD23 und RN-Control]&lt;br /&gt;
* [http://robocupjuniorunibremen.wordpress.com/2011/05/23/rncontrol-arduino/ ARDUINO–Bibliothek für RN-Control]&lt;br /&gt;
&lt;br /&gt;
{{Platinenservice|http://www.robotikhardware.de}}&lt;br /&gt;
{{Bausatzservice|http://www.robotikhardware.de}}&lt;br /&gt;
{{Fertigservice|http://www.robotikhardware.de}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Praxis]]&lt;br /&gt;
[[Category:Elektronik]]&lt;br /&gt;
[[Category:Projekte]]&lt;br /&gt;
[[Category:Microcontroller]]&lt;br /&gt;
[[Kategorie:Quellcode Bascom]]&lt;/div&gt;</summary>
		<author><name>Philn</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=RN-Control&amp;diff=22493</id>
		<title>RN-Control</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=RN-Control&amp;diff=22493"/>
				<updated>2013-04-12T09:32:22Z</updated>
		
		<summary type="html">&lt;p&gt;Philn: /* Steckerbelegung und Jumper-Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein bewährtes Microcontrollerboard, das wie das RNBFRA-Board in der Roboternetz-Community infolge einer Diskussion entstand. Es sollte ein Board werden, das ein gutes Preis-Leistungs-Verhältnis bietet und für vielfältige Aufgaben geeignet ist. &lt;br /&gt;
Das Vorhaben ist dank der zahlreichen Anregungen gut gelungen, das Board gibt es inzwischen nicht nur als Bauanleitung mit Platine, sondern auch als Bausatz und sogar Fertigmodul.&lt;br /&gt;
Es hat sich als preiswertes Universalboard für Roboter, Steuerungsaufgaben etc. als auch als ideales Einsteigerboard einen guten Namen im Roboternetz gemacht, daher gibt es für dieses Board auch ein eigenes Unterforum im Roboternetz.  &lt;br /&gt;
Es gibt inzwischen unzählige Anwendungen, die mit RN-Control umgesetzt wurden.&lt;br /&gt;
Trotz günstigem Preis ist ein sehr flexibles Board für unzählige Anwendungsmöglichkeiten entstanden. Über den I2C-Bus stehen zahlreiche Erweiterungsboards zur Verfügung, so können beispielsweise die gleichen I2C-Erweiterungen wie beim großen RNBFRA-Board kombiniert werden (Relaiskarte, Sprachausgabe usw.) Roboternetz &lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrol1.4diagramm.jpg|thumb|Funktionen des Boards]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrol1.4schaltplan.gif|thumb|Schaltplan zum Board [[:Bild:Rncontrol1.4schaltplan90grad.gif|(gedreht)]] ]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrol1.4bestückungsplan.gif|thumb|Bestückungsplan zum Board]]&lt;br /&gt;
&lt;br /&gt;
Besonders viel Wert wurde auch auf den einfachen Aufbau und viele Experimentier- und Einsatzmöglichkeiten gelegt. Mit diesem Board läßt sich u.a. schon ein recht ausgereifter Roboter konstruieren. Ultraschallsensoren, Infrarot-Entfernungssensoren, Motoren u.v.m. können direkt angeschlossen werden. Da das Board auch in der Community Roboternetz recht beliebt ist, findet man dort auch viele Tips und Programme. &lt;br /&gt;
&lt;br /&gt;
[[http://www.robotikhardware.de/bilder/rncontrol14diagrammmittel.jpg Diagramm hier]]&lt;br /&gt;
&lt;br /&gt;
==Hier die Leistungsmerkmale auf einen Blick:==&lt;br /&gt;
&lt;br /&gt;
*Wahlweise 8 oder 16 MHz Taktfrequenz (beide Quarze werden mitgeliefert, 16 MHz bereits eingesteckt) &lt;br /&gt;
*Schneller AVR Mega 32  Mikrocontroller,32K Speicher, 2K Ram und 1K EEPROM), 32 programmierbare I/O Pins,8 AD Ports u.v.m. &lt;br /&gt;
*8 Leuchtdioden per DIP-Schalter deaktivierbar und anderen Ports per Steckbrücke beliebig zuzuordnen &lt;br /&gt;
*alle Portleitungen sind über Stecker nach außen geführt. Die Steckernorm entspricht der Roboternetz-Definition als auch der des Atmel Entwicklungsboards STK500 &lt;br /&gt;
*alle Ports sowie +5V und GND sind zusätzlich über Steckbuchsen erreichbar. Ideal zum Experimentieren, da einfach Drähte (ca. 0,5mm) eingesteckt werden (kein Löten oder Schrauben). So können einfach andere LEDs zugeordnet werden oder ein Steckbrett verbunden werden &lt;br /&gt;
*Der wichtige Port A (wahlweise 8 digitale oder analoge Ein- o. Ausgänge) ist zusätzlich noch über eine Qualitätssteckklemme mit Hebel herausgeführt &lt;br /&gt;
*Motortreiber ca. 1 A belastbar - für zwei Getriebemotoren oder 1 Schrittmotor. Dieser kann auch für andere Zwecke (Relaisansteuerung, Lämpchen etc.) genutzt oder einfach entfernt werden &lt;br /&gt;
*Integrierter programmierbarer Mini-Lautsprecher, um Töne auszugeben &lt;br /&gt;
*1 Reset-Taster &lt;br /&gt;
*5 Taster für beliebige Verwendung. Sie belegen nur einen analogen Port! &lt;br /&gt;
*5 V Spannungsstabilisierung mit 2 A Belastbarkeit, auch herausgeführt für Erweiterungen; Eingangsspannung gegen Verpolung geschützt &lt;br /&gt;
*RS232 mit normgerechtem Pegelwandler (MAX232) - PC direkt anschließbar &lt;br /&gt;
*Batteriespannung kann im Programm abgefragt werden &lt;br /&gt;
*ISP-Programmierschnittstelle für übliche AVR-Programmieradapter (10polig) &lt;br /&gt;
*Betriebsspannung wahlweise zwischen 7 und 18V (empfohlen 7 bis 14 V) - wahlweise auch höhere Motorspannung bis 24 V möglich) &lt;br /&gt;
*Sehr kompakt, nur halbes Europaformat nach Roboternetz-Norm (ca. 100x75mm) &lt;br /&gt;
*I2C-Bus, über den zahlreiche Erweiterungsplatinen anschließbar sind (z.B. Sprachausgabe RN-Speak, Relaisboard RN-Relais, Servoboards, LCDs uvm.) &lt;br /&gt;
*Programmierbar in zahlreichen Sprachen, z.B. Basic (BASCOM Compiler, eingeschränkt bis 4K wird mitgeliefert), C (C-Compiler GCC wird mitgeliefert), Assembler, Pascal &lt;br /&gt;
*Deutsche Doku mit Basic-Programmbeispiel &lt;br /&gt;
*Preiswerter Bausatz erhältlich - einfacher Aufbau &lt;br /&gt;
*Kein Starter- oder Applikationsboard notwendig - bereits alles integriert! &lt;br /&gt;
*alle wichtigen Bauteile gesockelt, somit auch bei falscher Beschaltung durch Einsteiger immer kostengünstig reparierbar (einfach neues IC einstecken) &lt;br /&gt;
&lt;br /&gt;
http://www.robotikhardware.de/bilder/rncontro4.jpg&lt;br /&gt;
&lt;br /&gt;
==Belegung der RN-Control Steckklemmen==&lt;br /&gt;
Um auch schnell und praktisch mit RN-Control experimentieren zu können, verfügt dieses Board über Steckklemmen die alle Ports herausführen. 0,5mm Drähte lassen sich dort direkt einstecken, so das Sensoren und dergleichen schnell und einfach verdrahtet werden können. Die genaue Belegung lässt sich in nachfolgendem Ausschnitt aus dem Bestückungsplan gut entnehmen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrolsteckklemmen.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Steckerbelegung und Jumper-Funktionen==&lt;br /&gt;
Erläuterung der Anschlüsse, Regler und Kurzschlussbrücken&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Anschluss-Bezeichnung'''&lt;br /&gt;
|'''Erläuterung'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Port A'''&lt;br /&gt;
|Digitaler I/O und analoger Port (PA 0 bis PA7 und ADC0 bis ADC7)&lt;br /&gt;
Über  eine Steckklemme werden hier die 8 Portleitungen PA0 bis PA 7 zur Verfügung gestellt. PA7 befindet sich dabei ganz links und PA0 ganz rechts. Anschlußdrähte können einfach eingesteckt werden, indem man mit einem Kugelschreiber oder Schraubenziehen den oberen weißen Hebel etwas nach unten drückt.&lt;br /&gt;
Die Ports PA7 bis PA0 können sowohl als normaler I/O-Port  (Ein- und Ausgabeport) oder als AD-Port´s programmiert werden. Somit könnten also auch bis zu 8 Spannungen quasi gleichzeitig gemessen werden. &lt;br /&gt;
&lt;br /&gt;
Ist der Kurzschlusstecker  UREF eingesteckt, dann können Spannungen bis zu 5V gemessen werden. Ist UREF offen, dann können Spannungen nur bis 2,5V gemessen werden. Durch geeignete Spannungsteiler kann der Meßbereich natürlich beliebig erhöht werden.&lt;br /&gt;
&lt;br /&gt;
Achtung: Die zulässige Höchstspannung 2,5V oder 5V darf am Port nicht überschritten werden, dieses würde den Port zerstören! &lt;br /&gt;
&lt;br /&gt;
Vorbelegung:&lt;br /&gt;
Port  PA7 wird auch für die Tastenabfrage genutzt. indem über einen Spannungsteiler verschiedene Spannungen per Tastendruck angelegt werden (siehe Schaltplan). &lt;br /&gt;
Solange keine Taste gedrückt ist, ist dieser jedoch frei Verfügbar.&lt;br /&gt;
Port PA6 wird über einen Spannungsteiler (22k und 5,1K) zur Batteriespannungsmessung benutzt  (siehe Schaltplan und Demoprogramm) wenn der Kurzschlusstecker UMESS eingesteckt ist.  Durch entfernen dieses Steckers steht der Port zur freien Verfügung.&lt;br /&gt;
&lt;br /&gt;
Der komplette Port steht auch nochmals über die Buchsenleiste JP2 zur Verfügung. Auch dort können Drähte zum experimentieren eingesteckt werden (möglichst 0,6mm²). &lt;br /&gt;
|-&lt;br /&gt;
|'''Port B'''&lt;br /&gt;
|Digitale I/O Port B  (PB0 bis PB 7)&lt;br /&gt;
Über einen Wannenstecker werden gemäß der Roboternetz-Definition 8 I/O Portleitungen mit Sonderfunktionen als auch GND und +5V bereitgestellt. &lt;br /&gt;
&lt;br /&gt;
Die genaue Belegung sieht wie folgt aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pin 1   PB0  /  T0 / XCL / wird vom Motortreiber für Motor 2 Kanal 1 genutzt&lt;br /&gt;
Pin 2   PB1  /  T1 / wird vom Motortreiber für Motor 2 Kanal 2 genutzt&lt;br /&gt;
Pin 3   PB2  /  AIN0 / INT2  / wird auch vom I2C-Bus genutzt&lt;br /&gt;
Pin 4   PB3  /  AIN1 / OC0&lt;br /&gt;
Pin 5   PB4  /  SS&lt;br /&gt;
Pin 6   PB5  /  MOSI / wird auch vom ISP Anschluss genutzt&lt;br /&gt;
Pin 7   PB6  /  MISO / wird auch  vom ISP Anschluss genutzt&lt;br /&gt;
Pin 8   PB7  /  SCK / wird auch  vom ISP Anschluss genutzt&lt;br /&gt;
Pin 9   GND&lt;br /&gt;
Pin 10  +5V&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach Entfernen des Motortreiber-ICs (IC3) aus der Fassung stehen PB0 und PB1 zur freien Verfügung.&lt;br /&gt;
&lt;br /&gt;
Der komplette Port steht auch nochmals über die Buchsenleiste JP3 zur Verfügung. Auch dort können Drähte zum Experimentieren eingesteckt werden (möglichst 0,6mm²).&lt;br /&gt;
|-&lt;br /&gt;
|'''Port C'''&lt;br /&gt;
|Digitale I/O Port C  (PC0 bis PC 7)&lt;br /&gt;
Über einen Wannenstecker werden gemäß der Roboternetz-Definition 8 I/O Portleitungen mit Sonderfunktionen als auch GND und +5V bereitgestellt. &lt;br /&gt;
&lt;br /&gt;
Die genaue Belegung sieht wie folgt aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pin 1   PC0  /  SCL wird vom I2C-Bus genutzt&lt;br /&gt;
Pin 2   PC1  /  SDA wird vom I2C-Bus genutzt&lt;br /&gt;
Pin 3   PC2  /  TCK&lt;br /&gt;
Pin 4   PC3  /  TMS&lt;br /&gt;
Pin 5   PC4  /  TDO&lt;br /&gt;
Pin 6   PC5  /  TDI&lt;br /&gt;
Pin 7   PC6  /  TOSC1 / wird vom Motortreiber für Motor 1 Kanal 1 genutzt&lt;br /&gt;
Pin 8   PC7  /  TOSC2 / wird vom Motortreiber für Motor 1 Kanal 2 genutzt&lt;br /&gt;
Pin 9   GND&lt;br /&gt;
Pin 10  +5V&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Über den 8 fachen DIP Schalter können den Ports auch LED´s zugeschaltet werden! Die LED´s leuchten wenn Port LOW-Zustand annimmt!&lt;br /&gt;
&lt;br /&gt;
Nach Entfernen des Motortreiber ICs (IC3) aus der Fassung stehen PC6 und PC7 zur freien Verfügung.&lt;br /&gt;
Der komplette Port steht auch nochmals über die Buchsenleiste JP4 zur Verfügung. Auch dort können Drähte zum experimentieren eingesteckt werden (möglichst 0,6mm²).&lt;br /&gt;
|-&lt;br /&gt;
|'''Port D'''&lt;br /&gt;
|Digitale I/O Port D  (PD0 bis PD 7)&lt;br /&gt;
Über einen Wannenstecker werden gemäß der Roboternetz-Definition 8 I/O Portleitungen mit Sonderfunktionen als auch GND und +5V bereitgestellt. &lt;br /&gt;
&lt;br /&gt;
Die genaue Belegung sieht wie folgt aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pin 1   PD0  /  RXD / wird für RS232 Schnittstelle genutzt&lt;br /&gt;
Pin 2   PD1  /  TXD  / wird für RS232 Schnittstelle genutzt&lt;br /&gt;
Pin 3   PD2  /  INT0&lt;br /&gt;
Pin 4   PD3  /  INT1 &lt;br /&gt;
Pin 5   PD4  /  OC1B  / wird für PWM Motor 1 benutzt (Geschwindigkeitsregelung)&lt;br /&gt;
Pin 6   PD5  /  OC1A  / wird für PWM Motor 2 benutzt (Geschwindigkeitsregelung)&lt;br /&gt;
Pin 7   PD6  /  ICP&lt;br /&gt;
Pin 8   PD7  /  OC2&lt;br /&gt;
Pin 9   GND&lt;br /&gt;
Pin 10  +5V&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach Entfernen des Motortreiber ICs aus der Fassung stehen PD4 und PD5 zur freien Verfügung.&lt;br /&gt;
Der komplette Port steht auch nochmal über die Buchsenleiste JP5 zur Verfügung. Auch dort können Drähte zum experimentieren eingesteckt werden (möglichst 0,6mm²).&lt;br /&gt;
|-&lt;br /&gt;
|'''I2C-Bus'''&lt;br /&gt;
|I2C-Bus&lt;br /&gt;
Über diesen Bus lassen sich zahlreiche Erweiterungen an dieses Board anschließen. Zum Beispiel werden auf der Seite robotikhardware.de passende Boards mit Sprachausgabe, Relais, Schrittmotorsteuerung etc. angeboten.&lt;br /&gt;
Aber auch dieses Board kann selbst als Slave-Board, also als Erweiterung an ein anderes Hauptboard angeschlossen werden.&lt;br /&gt;
Der I2C-Bus benötig nur 2 Leitungen für alle Funktionen. Entsprechend der Roboternetz-Norm wird hier ein 2x5 poliger Stecker angeschlossen. Die Belegung entspricht exakt der anderer Roboternetz Boards.&lt;br /&gt;
&amp;lt;pre&amp;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&lt;br /&gt;
Pin 2,4,6,8 GND&lt;br /&gt;
Pin 10  INT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
INT - Diese Leitung kann von allen I2C-Bus Erweiterungen genutzt &lt;br /&gt;
werden um den Hauptcontroller darüber zu informieren das sich Daten (z.B. von Sensoren) verändert haben. In diesem Fall wird die Leitung solange auf Masse gelegt bis der entsprechende  I2C-Baustein ausgelesen wird.&lt;br /&gt;
Die Controller muß also immer alle I2C-Bausteine auslesen solange diese Leitung auf Masse liegt. Diese Leitung ist mit Port PD2 verbunden&lt;br /&gt;
&lt;br /&gt;
Die PIN´s 5,7,9 und 10 können über  herausnehmbare Kurzschlussbrücken (Jumper JP6) vom Board getrennt werden. Dies ist zum Beispiel dann notwendig, wenn bereits ein anderes Masterboard die Spannungen auf den Bus legt. Es darf immer nur ein Board die Spannungen bereitstellen.&lt;br /&gt;
|-&lt;br /&gt;
|'''ISP'''&lt;br /&gt;
|ISP – IN SYSTEM PROGRAMMING&lt;br /&gt;
Über diesen Anschluß kann der  Controller auf dem Sprachboard mit einem Standard ISP-Kabel direkt an einen Parallelport des PC´s angeschlossen und programmiert werden.&lt;br /&gt;
Die Belegung des ISP-Anschlusses ist zu dem weit verbreitetet STK200 Programmier Dongle kompatibel. Ein entsprechender Dongle kann man sich entweder selber basteln (siehe Artikel „ARV Einstieg leicht gemacht“ unter www.roboternetz.de) oder fertig bestellen (z.B. www.robotikhardware.de). &lt;br /&gt;
&amp;lt;pre&amp;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;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|'''Power'''&lt;br /&gt;
|Spannungsversorgung&lt;br /&gt;
Über diese Schraubklemme wird das Board mit Spannung versorgt. Es reicht eine unstabilisierte Gleichspannung von 7 bis 14V aus (max. 18V wenn Kühlkörper verwendet wird)&lt;br /&gt;
+ und – sind auf der Platine markiert. Das Board ist jedoch auch gegen ein verpolen geschützt, so das nichts kaputt geht!&lt;br /&gt;
|-&lt;br /&gt;
|'''Motoren'''&lt;br /&gt;
|Motoren&lt;br /&gt;
Über diese 4 polige Schraubklemme können zwei Getriebemotoren (jeweils die beiden linken oder rechten Kontakte) oder ein Schrittmotor angeschlossen werden. &lt;br /&gt;
Der Motortreiber kann jedoch auch für andere Dinge genutzt werden, z.B zum Ansteuern von Relais, Lämpchen etc. verwendet werden. Die Belastbarkeit liegt bei 1A.  Sollen größere Motoren angeschlossen werden,  so kann z.B. über den I2C-Port eine andere Endstufe angeschlossen werden. &lt;br /&gt;
|-&lt;br /&gt;
|'''JP6'''&lt;br /&gt;
|I2C-Bus Belegung&lt;br /&gt;
Über drei Kurzschlussstecker können wahlweise die Bateriespannung (UB), +5V sowie INT mit dem I2C-Bus verbunden werden. Wenn INT nicht benötigt wird, kann man diesen Jumper offen lassen. Somit hat man einen Port zusätzlich frei zur Verfügung&lt;br /&gt;
Möchte man das Board über den I2C-Bus mit Spannung versorgen, dann kann man UB oder +5V Jumper einstecken. In diesem Fall braucht/darf keine Spannung an dem Power Schraubklemen angelegt werden. Möchte man umgekehrt andere Boards über den I2C-Bus mit Spannung versorgen, dann müssen die Jumper UB und/oder +5V eingesteckt werden. &lt;br /&gt;
Durch diesen Jumper ist man für alle Fälle gerüstet. Bei älteren RN-Control Versionen mußte man dazu noch das Kabel ändern.&lt;br /&gt;
|-&lt;br /&gt;
|'''JP8'''&lt;br /&gt;
|Über diesen Stecker kann die stabilisierte 5V Logikspannung für Erweiterungen oder Experimente entnommen werden. Wird mehr als 500mA entnommen, so sollte der Spannungsregler  mit einem kleinen Kühlkörper versehen werden.&lt;br /&gt;
|-&lt;br /&gt;
|'''UREF'''&lt;br /&gt;
|Referenzspannung&lt;br /&gt;
Über eine Kurzschlussstecker kann hier die Referenzspannung von 5V eingestellt werden. Wird der Stecker entfernt, so kann an den analogen Ports nur bis 2,5V gemessen werden (jedoch mit höherer Genauigkeit). &lt;br /&gt;
Sicherheitshalber sollten Sie den Stecker anfangs eingesteckt lassen!  Wird er entfernt, so sollte man daran denken das auch die Batteriespannung über einen analogen Port gemessen wird. Diese darf dann nicht viel höher als 13V  sein!&lt;br /&gt;
|-&lt;br /&gt;
|'''UMOT'''&lt;br /&gt;
|Motorspannung&lt;br /&gt;
Wenn dieser Kurzschlussstecker eingesteckt wird, dann wird die volle Batteriespannung auch für die Motoren benutzt. Ansonsten könnte man über einen PIN dieses Jumpers auch eine höhere Versorgungsspannung für die Motoren nutzen. Dazu sollte sie aber nochmals in den Schaltplan schaun.&lt;br /&gt;
In der Regel sollte hier ein Jumper eingesteckt sein!&lt;br /&gt;
|-&lt;br /&gt;
|'''UMESS'''&lt;br /&gt;
|Batteriespannungsmessung&lt;br /&gt;
Wenn diese Kurzschlussbrücke gesteckt ist, dann wird über Port PA6 die Batteriespannung überwacht. Ansonsten ist der Port frei!&lt;br /&gt;
|-&lt;br /&gt;
|'''S1'''&lt;br /&gt;
|DIP Schalter&lt;br /&gt;
Mit einem kleinen Schraubenzieher kann über diesen 8 poligen Schalter den Portleitungen PC0 bis PC7 eine LED zugeschaltet werden. Die LED´s leuchten immer dann wenn der Port LOW  (0 Pegel) führt.&lt;br /&gt;
Wenn die LED auf Off geschaltet wird, so kann die LED über eine Drahtbrücke von JP7 mit einem anderen Port verbunden werden.&lt;br /&gt;
|-&lt;br /&gt;
|'''RS232'''&lt;br /&gt;
|PC kompatible RS232 Schnittstelle&lt;br /&gt;
Über ein Adapterkabel kann die serielle Schnittstelle des PC direkt mit dem Board verbunden werden. Dies ist dann sinnvoll, wenn Fehler in Programmen gesucht . Einfache PRINT Anweisungen werden von einem Terminalprogramm angezeigt.&lt;br /&gt;
Hier kann Hyperterminal von Windows oder das eingebaute Terminalprogramm von Bascom empfohlen werden.&lt;br /&gt;
&lt;br /&gt;
Die Belegung ist kompatibel zum Conrad Roboter CCRP5:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pin 1 RX&lt;br /&gt;
Pin 2 GND&lt;br /&gt;
Pin 3 TX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ein geeignetes Anschlußkabel kann schnell [[RN-Definitionen#RS232_Stecker|selbst angefertigt]] werden oder gibt  es bei robotikhardware.de bereits fertig&lt;br /&gt;
|-&lt;br /&gt;
|'''JP7'''&lt;br /&gt;
|Über diese Buchse sind alle LED´s ganz einfach durch Einstecken eines Drahtes beschaltbar.&lt;br /&gt;
Bedenken muß man dabei das die Anode über einen Vorwiderstand immer mit 5V verbunden ist. Die LED leuchtet also nur wenn sie mit der Drahtbrücke auf GND bzw. einen Port mit 0 Pegel gelegt wird. &lt;br /&gt;
|-&lt;br /&gt;
|'''JP1'''&lt;br /&gt;
|Buchsenleiste die dreimal +5V und drei mal GND für Experimente bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''JP2'''&lt;br /&gt;
|Buchsenleiste die den gesamten Port A für steckbare Drähte bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''JP3'''&lt;br /&gt;
|Buchsenleiste die den gesamten Port B für steckbare Drähte bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''JP4'''&lt;br /&gt;
|Buchsenleiste die den gesamten Port C für steckbare Drähte bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''JP5'''&lt;br /&gt;
|Buchsenleiste die den gesamten Port D für steckbare Drähte bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''TASTER T1 bis T5'''&lt;br /&gt;
|Stehen zur freien Verfügung&lt;br /&gt;
Die Abfrage ist im Demoprogramm beschrieben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Stückliste==&lt;br /&gt;
 Bauteil Wert       Beschreibung                   Reichelt Best.Nr.&lt;br /&gt;
 C1      100n       Keramik Kondensator            KERKO100N&lt;br /&gt;
 C2      100n       Keramik Kondensator            KERKO100N   &lt;br /&gt;
 C3      22pf       Keramik Kondensator            KERKO-500 22p           &lt;br /&gt;
 C4      22pf       Keramik Kondensator            KERKO-500 22p          &lt;br /&gt;
 C5      4,7uF      Elko                           SM 4,7/50RAD           &lt;br /&gt;
 C6      4,7uF      Elko                           SM 4,7/50RAD           &lt;br /&gt;
 C7      4,7uF      Elko                           SM 4,7/50RAD           &lt;br /&gt;
 C8      4,7uF      Elko                           SM 4,7/50RAD           &lt;br /&gt;
 C9      1uF        Elko                           SM 1,0/63RAD           &lt;br /&gt;
 C10     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C11     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C12     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C13     1000uF     Elko                           RAD 1.000/35            &lt;br /&gt;
 C14     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C15     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C16     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C17     220uF      Elko                           RAD 220/35             &lt;br /&gt;
 C18     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 D1      1N4148     Diode                          1n 4148                &lt;br /&gt;
 D2      BYV27      Diode                          BYV 27/200             &lt;br /&gt;
 I2C-BUS I2C        Wannenbuchse                   WSL 10G                &lt;br /&gt;
 IC1     MAX232     RS232 Treiber                  MAX 232 CPE             &lt;br /&gt;
 IC2     7805       Spannungsregler                µA 78S05                  &lt;br /&gt;
 IC3     L293D      Motortreiber                   L 293 D                &lt;br /&gt;
 IC4     MEGA16-P   Atmel Mega 16 oder 32          ATMEGA 16-16           &lt;br /&gt;
 ISP     AVR-ISP    Wannenbuchse                   WSL 10G                &lt;br /&gt;
 JP1                Kontaktbuchse (manuell kürzen) SPL 20                  &lt;br /&gt;
 JP2                Kontaktbuchse (manuell kürzen) SPL 20                 &lt;br /&gt;
 JP3                Kontaktbuchse (manuell kürzen) SPL 20                  &lt;br /&gt;
 JP4                Kontaktbuchse (manuell kürzen) SPL 20                 &lt;br /&gt;
 JP5                Kontaktbuchse (manuell kürzen) SPL 20                 &lt;br /&gt;
 JP6                Stiftleiste   (teilen)         SL 2X50G 2,54 &lt;br /&gt;
 JP7                Kontaktbuchse (manuell kürzen) SPL 20                 &lt;br /&gt;
 JP8                Stiftleiste                    LU 2,5 MS 2             &lt;br /&gt;
 LED1               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED2               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED3               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED4               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED5               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED6               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED7               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED8               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 MOTOREN            Schraubklemme 4 polig          AKL 101-04             &lt;br /&gt;
 PORTA              Steckklemme 8 polig            WAGO 233-508           &lt;br /&gt;
 PORTB              Wannenbuchse                   WSL 10G                &lt;br /&gt;
 PORTC              Wannenbuchse                   WSL 10G                &lt;br /&gt;
 PORTD              Wannenbuchse                   WSL 10G                &lt;br /&gt;
 POWER              Schraubklemme 2 polig          AKL 101-02              &lt;br /&gt;
 Q1                 Quarz 16 Mhz                   16,0000-HC18                &lt;br /&gt;
 R1      100k       Widerstand 100k                1/4W 100k              &lt;br /&gt;
 R2      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R3      10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 R4      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R5      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R6      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R7      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R8      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R9      22k        Widerstand 22k                 1/4W 22k               &lt;br /&gt;
 R10     5,1k       Widerstand 5,1k                1/4W 5,1k              &lt;br /&gt;
 R11     10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 R12     10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 R13     10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 R14     10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 RESET   TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 RN1                Widerstandsnetzwerk            SIL 9-8 1,0k           &lt;br /&gt;
 RS232              Stiftleiste 3 polig            LU 2,5 MS 3             &lt;br /&gt;
 S1                 DIP Schalter 8 polig           NT08                   &lt;br /&gt;
 SPEAKER F/CM12P    Mini Piezo Lautsprecher        SUMMER EPM 121         &lt;br /&gt;
 T1      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 T2      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 T3      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 T4      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 T5      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 UMESS              Stiftleiste                    LU 2,5 MS 2             &lt;br /&gt;
 UMOT               Stiftleiste                    LU 2,5 MS 2             &lt;br /&gt;
 UREF               Stiftleiste                    LU 2,5 MS 2&lt;br /&gt;
&lt;br /&gt;
==Basic Beispieltestprogramm==&lt;br /&gt;
Das gleiche Demo findet man jetzt auch für C unter &amp;quot;[[RN-Control Demoprogramm in C]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'################################################### &lt;br /&gt;
'rncontroltest.BAS &lt;br /&gt;
'für &lt;br /&gt;
'RoboterNetz Board RN-CONTROL ab Version 1.1 &lt;br /&gt;
'Das neue preiswerte Controllerboard zum Experimentieren &lt;br /&gt;
&lt;br /&gt;
' Achtung: &lt;br /&gt;
' Diese Demo ist mit Bascom Compiler 1.11.7.7 getestet &lt;br /&gt;
&lt;br /&gt;
' &lt;br /&gt;
'Aufgabe: &lt;br /&gt;
' Dieses Testprogramm testet gleich mehrere Eigenschaften auf dem Board &lt;br /&gt;
' Den verschiedenen Tasten sind bestimmte Funktionen zugeordnet &lt;br /&gt;
' Taste 1: Zeigt Batteriespannung über RS232 an &lt;br /&gt;
' Taste 2: Angeschlossene Motoren beschleunigen und abbremsen &lt;br /&gt;
' Taste 3: Einige Male Lauflicht über LEDs anzeigen. Am I2C-Bus &lt;br /&gt;
'          darf in diesem Moment nichts angeschlossen sein &lt;br /&gt;
' Taste 4: Zeigt analoge Messwerte an allen Port A PINs über RS232 an &lt;br /&gt;
''Taste 5: Zeigt digitalen I/O Zustand von PA0 bis PA5 an &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
' Sehr gut kann man aus dem Demo auch entnehmen wie Sound ausgegeben wird, &lt;br /&gt;
' wie Tasten abgefragt werden und wie Subroutinen und Funktionen angelegt werden &lt;br /&gt;
&lt;br /&gt;
'Autor: Frank &lt;br /&gt;
'####################################################### &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Declare Sub Batteriespannung() &lt;br /&gt;
Declare Sub Motortest() &lt;br /&gt;
Declare Sub Lauflicht() &lt;br /&gt;
Declare Sub Showporta() &lt;br /&gt;
Declare Sub Showdigitalporta() &lt;br /&gt;
Declare Function Tastenabfrage() As Byte &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot; &lt;br /&gt;
' bei Mega 16 $regfile = &amp;quot;m16def.dat&amp;quot; &lt;br /&gt;
$framesize = 32 &lt;br /&gt;
$swstack = 32 &lt;br /&gt;
$hwstack = 32 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dim I As Integer &lt;br /&gt;
Dim N As Integer &lt;br /&gt;
Dim Ton As Integer &lt;br /&gt;
&lt;br /&gt;
$crystal = 16000000                           'Quarzfrequenz &lt;br /&gt;
$baud = 9600 &lt;br /&gt;
&lt;br /&gt;
Config Adc = Single , Prescaler = Auto        'Für Tastenabfrage und Spannungsmessung &lt;br /&gt;
&lt;br /&gt;
Config Pina.7 = Input                         'Für Tastenabfrage &lt;br /&gt;
Porta.7 = 1                                   'Pullup Widerstand ein &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Const Ref = 5 / 1023                          'Für Batteriespannungsberechnung &lt;br /&gt;
&lt;br /&gt;
Dim Taste As Byte &lt;br /&gt;
Dim Volt As Single &lt;br /&gt;
&lt;br /&gt;
' Für Motorentest &lt;br /&gt;
'Ports für linken Motor &lt;br /&gt;
Config Pinc.6 = Output                       'Linker Motor Kanal 1 &lt;br /&gt;
Config Pinc.7 = Output                       'Linker Motor Kanal 2 &lt;br /&gt;
Config Pind.4 = Output                       'Linker Motor PWM &lt;br /&gt;
'Ports für rechten Motor &lt;br /&gt;
Config Pinb.0 = Output                       'Rechter Motor Kanal 1 &lt;br /&gt;
Config Pinb.1 = Output                       'Rechter Motor Kanal 2 &lt;br /&gt;
Config Pind.5 = Output                       'Rechter Motor PWM &lt;br /&gt;
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down &lt;br /&gt;
Pwm1a = 0 &lt;br /&gt;
Pwm1b = 0 &lt;br /&gt;
Tccr1b = Tccr1b Or &amp;amp;H02                      'Prescaler = 8 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I = 0 &lt;br /&gt;
Sound Portd.7 , 400 , 450                    'BEEP &lt;br /&gt;
Sound Portd.7 , 400 , 250                    'BEEP &lt;br /&gt;
Sound Portd.7 , 400 , 450                    'BEEP &lt;br /&gt;
Print &lt;br /&gt;
Print &amp;quot;**** RN-CONTROL 1.4 *****&amp;quot; &lt;br /&gt;
Print &amp;quot;Das neue Experimentier- und Roboterboard&amp;quot; &lt;br /&gt;
Print &amp;quot;Weitere passende Zusatzboards bei www.robotikhardware.de&amp;quot; &lt;br /&gt;
Print &lt;br /&gt;
Do &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   Taste = Tastenabfrage() &lt;br /&gt;
   If Taste &amp;lt;&amp;gt; 0 Then &lt;br /&gt;
&lt;br /&gt;
      Select Case Taste &lt;br /&gt;
         Case 1 &lt;br /&gt;
            Call Batteriespannung    'Taste 1 Zeigt Bateriespannung über RS232 an &lt;br /&gt;
         Case 2 &lt;br /&gt;
            Call Motortest           'Taste 2 Motoren beschleunigen und abbremsen &lt;br /&gt;
         Case 3 &lt;br /&gt;
            Call Lauflicht           'Einige Male Lauflicht über LEDs anzeigen. &lt;br /&gt;
                                     'Am I2C-Port darf in diesem Moment nichts angeschlossen sein &lt;br /&gt;
         Case 4 &lt;br /&gt;
            Call Showporta           'Zeigt Messwerte an allen Port A PINs &lt;br /&gt;
         Case 5 &lt;br /&gt;
            Call Showdigitalporta    'Zeigt digitalen I/O Zustand von PA0 bis PA5 an &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      End Select &lt;br /&gt;
      Sound Portd.7 , 400 , 500      'BEEP &lt;br /&gt;
   End If &lt;br /&gt;
&lt;br /&gt;
   Waitms 100 &lt;br /&gt;
Loop &lt;br /&gt;
&lt;br /&gt;
End &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Diese Unterfunktion fragt die Tastatur am analogen Port ab &lt;br /&gt;
Function Tastenabfrage() As Byte &lt;br /&gt;
Local Ws As Word &lt;br /&gt;
&lt;br /&gt;
   Tastenabfrage = 0 &lt;br /&gt;
   Ton = 600 &lt;br /&gt;
   Start Adc &lt;br /&gt;
   Ws = Getadc(7) &lt;br /&gt;
  ' Print &amp;quot;Tastenabfrage anpassen!ADC Wert ws=&amp;quot; ; Ws &lt;br /&gt;
   If Ws &amp;lt; 500 Then &lt;br /&gt;
      Select Case Ws &lt;br /&gt;
         Case 400 To 450 &lt;br /&gt;
            Tastenabfrage = 1 &lt;br /&gt;
            Ton = 550 &lt;br /&gt;
         Case 330 To 380 &lt;br /&gt;
            Tastenabfrage = 2 &lt;br /&gt;
            Ton = 500 &lt;br /&gt;
         Case 260 To 305 &lt;br /&gt;
            Tastenabfrage = 3 &lt;br /&gt;
            Ton = 450 &lt;br /&gt;
         Case 180 To 220 &lt;br /&gt;
            Tastenabfrage = 4 &lt;br /&gt;
            Ton = 400 &lt;br /&gt;
         Case 90 To 130 &lt;br /&gt;
            Tastenabfrage = 5 &lt;br /&gt;
             Ton = 350 &lt;br /&gt;
 '        Case Else &lt;br /&gt;
'              Print &amp;quot;Tastenabfrage anpassen!ADC Wert ws=&amp;quot; ; Ws &lt;br /&gt;
      End Select &lt;br /&gt;
      Sound Portd.7 , 400 , Ton                             'BEEP &lt;br /&gt;
&lt;br /&gt;
   End If &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
End Function &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Diese Unterfunktion zeigt Batteriespannung an &lt;br /&gt;
Sub Batteriespannung() &lt;br /&gt;
Local W As Word &lt;br /&gt;
   Start Adc &lt;br /&gt;
   W = Getadc(6) &lt;br /&gt;
   Volt = W * Ref &lt;br /&gt;
   Volt = Volt * 5.2941 &lt;br /&gt;
   Print &amp;quot;Die aktuelle Spannung beträgt: &amp;quot; ; Volt ; &amp;quot; Volt&amp;quot; &lt;br /&gt;
&lt;br /&gt;
End Sub &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Testet Motoren und Geschwindigkeitsreglung &lt;br /&gt;
Sub Motortest() &lt;br /&gt;
   'Linker Motor ein &lt;br /&gt;
   Portc.6 = 1                          'bestimmt Richtung &lt;br /&gt;
   Portc.7 = 0                          'bestimmt Richtung &lt;br /&gt;
   Portd.4 = 1                          'Linker Motor EIN &lt;br /&gt;
&lt;br /&gt;
   'Rechter Motor ein &lt;br /&gt;
   Portb.0 = 1                          'bestimmt Richtung rechter Motor &lt;br /&gt;
   Portb.1 = 0                          'bestimmt Richtung rechter Motor &lt;br /&gt;
   Portd.5 = 1                          'rechter Motor EIN &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   I = 0 &lt;br /&gt;
   Do &lt;br /&gt;
      Pwm1a = I &lt;br /&gt;
      Pwm1b = I &lt;br /&gt;
      Waitms 40 &lt;br /&gt;
      I = I + 5 &lt;br /&gt;
   Loop Until I &amp;gt; 1023 &lt;br /&gt;
&lt;br /&gt;
   Wait 1 &lt;br /&gt;
   Do &lt;br /&gt;
      Pwm1a = I &lt;br /&gt;
      Pwm1b = I &lt;br /&gt;
      Waitms 40 &lt;br /&gt;
      I = I - 5 &lt;br /&gt;
   Loop Until I &amp;lt; 1 &lt;br /&gt;
   Pwm1a = 0                            'Linker Motor aus &lt;br /&gt;
   Pwm1b = 0                            'rechter Motor aus &lt;br /&gt;
End Sub &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
' Einige Male Lauflicht über LEDs anzeigen. Am I2C-Port darf in diesem &lt;br /&gt;
' Moment nichts angeschlossen sein &lt;br /&gt;
Sub Lauflicht() &lt;br /&gt;
&lt;br /&gt;
   Config Portc = Output &lt;br /&gt;
   Portd = 0 &lt;br /&gt;
   For N = 1 To 10 &lt;br /&gt;
      For I = 0 To 7 &lt;br /&gt;
         Portc.i = 0 &lt;br /&gt;
         Waitms 100 &lt;br /&gt;
         Portc.i = 1 &lt;br /&gt;
      Next I &lt;br /&gt;
   Next N &lt;br /&gt;
   Config Portc = Input &lt;br /&gt;
End Sub &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Zeigt die analogen Messwerte an Port A an &lt;br /&gt;
Sub Showporta() &lt;br /&gt;
Local Ws As Word &lt;br /&gt;
&lt;br /&gt;
   Config Porta = Input &lt;br /&gt;
   For I = 0 To 5                        ' Alle internen Pullup Widerstände ein, bis auf Batteriespannungsmessungsport &lt;br /&gt;
      Porta.i = 1 &lt;br /&gt;
   Next I &lt;br /&gt;
&lt;br /&gt;
   Print &lt;br /&gt;
   Print &amp;quot;Ermittelte Messwerte an Port A:&amp;quot; &lt;br /&gt;
   For I = 0 To 7                        ' Alle Eingänge inkl. messen &lt;br /&gt;
      Start Adc &lt;br /&gt;
      Ws = Getadc(i) &lt;br /&gt;
      Volt = Ws * Ref &lt;br /&gt;
      Print &amp;quot;Pin &amp;quot; ; I ; &amp;quot; ADC-Wert= &amp;quot; ; Ws ; &amp;quot; bei 5V REF waeren das &amp;quot; ; Volt ; &amp;quot; Volt&amp;quot; &lt;br /&gt;
   Next I &lt;br /&gt;
End Sub &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Zeigt den Zustand einiger freier I/O von Die Analogen Messwerte An Port A An &lt;br /&gt;
Sub Showdigitalporta() &lt;br /&gt;
Local Zustand As String * 6 &lt;br /&gt;
   Config Porta = Input &lt;br /&gt;
   For I = 0 To 5                        ' Alle internen Pullup Widerstände ein, bis auf Batteriespannungsmessungsport &lt;br /&gt;
      Porta.i = 1 &lt;br /&gt;
   Next I &lt;br /&gt;
&lt;br /&gt;
   Print &lt;br /&gt;
   Print &amp;quot;Ermittelter I/O Zustand Port A:&amp;quot; &lt;br /&gt;
   For I = 0 To 5                        ' Alle Eingänge inkl. messen &lt;br /&gt;
      If Pina.i = 1 Then &lt;br /&gt;
         Zustand = &amp;quot;High&amp;quot; &lt;br /&gt;
      Else &lt;br /&gt;
         Zustand = &amp;quot;Low&amp;quot; &lt;br /&gt;
      End If &lt;br /&gt;
      Print &amp;quot;Pin &amp;quot; ; I ; &amp;quot; I/O Zustand= &amp;quot; ; Pina.i ; &amp;quot; &amp;quot; ; Zustand &lt;br /&gt;
   Next I &lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmierung per Druckerport, [[USB]] oder [[RS232]]==&lt;br /&gt;
RN-Control wird üblicherweise mit einem sogenannten [[ISP]]-Dongel programmiert. Die günstigste Ausführung gibt es für einen parallelen Druckerport, siehe auch unter [[AVR-ISP Programmierkabel]]. Etwas teurer aber auch schneller ist ein USBISP-Dongel. Wie genau der Ablauf vonstatten geht wird in der Anleitung (PDF-Dokument siehe Links) genau beschrieben.&lt;br /&gt;
Seit März 2007 wird RN-Control aber auch mit installiertem Bootloader ausgeliefert. Dies hat den Vorteil, dass das Board nun auch ohne ISP-Dongel per RS232 Kabel mit dem Bascom Compiler programmiert werden kann. Dies ist recht angenehm für Notebook Besitzer, die keinen parallelen Druckerport haben und denen der USBISP-Dongel am Anfang etwas zu teuer erscheint. Nähere Hinweise dazu sind ebenfalls in der überarbeiteten PDF-Anleitung (siehe Weblinks unten auf der Seite) zu finden.&lt;br /&gt;
&lt;br /&gt;
==Anschlussbeispiele==&lt;br /&gt;
Da sich Einsteiger mit dem Anschluss von Sensoren oder Verbrauchern manchmal etwas schwer tun, hier eine Skizze, wie man zum Beispiel bestimmte Dinge wie Entfernungssensoren, Servos, Lämpchen oder Helligkeits- bzw. Temperatursensoren anschließen könnte. Bei den Lämpchen sollte man beachten, dass sie zusammen weniger als 1A Strom benötigen, da ansonsten der zuständige Treiber (Motortreiber L293D) überhitzt würde. Natürlich könnte man auch größere Lasten schalten, indem man z.B. statt den Lämpchen Relais anschließt. Auch viele weitere Sensoren könnten natürlich an die noch freien Ports angeschlossen werden, beachten muss man nur, ob der Sensor einen Digital- oder Analogport benötigt.&lt;br /&gt;
Das Servo wird in der Skizze mit 5V versorgt, daher sollte man den Spannungsregler mit einem Kühlkörper versehen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrolanschlussbeispiel.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10anrncontrol.gif|framed|center|Ultraschallmodul am I2C-Bus (mehrere möglich)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:kompassmodul_an_rncontrol.jpg|framed|center|Auch ein elektronischer Kompass läßt sich leicht am I2C Bus anschließen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:drehgeber_an_rncontrol.gif|center|framed|Beispielschaltung wenn man lediglich die Drehzahl ohne Drehrichtung auswerten möchte. Als Widerstand hat sich 330 Ohm als gut erwiesen. Als Sensor wurde hier ein GP1A30 verwendet]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rnjoycontrolanrncontrol.jpg|center|framed|Auch passende Joysticks/Joypads lassen sich einfach an RN-Control anschließen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rn_adapter_mit_rncontrol.jpg|center|framed|Über Adapter lassen sich die Wannenstecker auch durch Steckklemmen mit Portüberwachung ersetzen. Dadurch wird die Verdrahtung noch flexibler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rndigicontrol.jpg|thumb|center|Digitalanzeige an RN-Control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf02_i2c_rncontrol.jpg|framed|center|Der neue Ultraschallsensor SRF02 im I2C Mode über Adapter an RN-Control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf02_an_rncontrol_rs232mode.jpg|framed|center|Der neue Ultraschallsensor SRF02 im RS232 Mode an RN-Control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rn_lcd_adapter_rncontrol.gif|framed|center|Ein LCD mittels RN-LCDAdapter angeschlossen.]]&lt;br /&gt;
&lt;br /&gt;
==Projektbeispiel mit RN-Control==&lt;br /&gt;
&lt;br /&gt;
[[Bild:allwetterbot.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RN-Control die Alternative zu Arduino ==&lt;br /&gt;
Wenn man in C-Programmieren möchte kann man sich die Arbeit etwas erleichtern indem man die Entwicklungsumgebung und sogar Bibliotheken von [[Arduino]] nutzt. Bernd Klein hat die Arduino Bibliothek für RN-Control angepasst, siehe Link ganz unten auf dieser Wiki-Seite. Dadurch nutzt man die Vorteile beider Welten, die Leistung und vielen Ports des RN-Control (hier ist RN-Control mit einem Mega32 den gängigen Arduino Boards (z.B. Arduino Uno,doch erheblich überlegen) und gleichzeitig die kostenlose Entwicklungsumgebung und Tools von Arduino die besonders für C-Einsteiger hilfreich sein können.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Beispiel Drehzahlmessung mit RN-Control]]&lt;br /&gt;
* [[Ultraschall SRF10 an RN-Control]]&lt;br /&gt;
* [[Ultraschallsensor SRF02 am RN-Board]]&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
* [[RN-Digi|4 stellige Digitalanzeige an RN-Control]]&lt;br /&gt;
* [[LCD an RN-Control]]&lt;br /&gt;
* [[RN-Control Demprogramm in C]]&lt;br /&gt;
*[[Bascom]]&lt;br /&gt;
*[[Bascom - Erstes Programm in den AVR Controller übertragen]]&lt;br /&gt;
* [[Versenden von Emails's direkt vom RN-Control aus]]&lt;br /&gt;
*[[RN-Definitionen]]&lt;br /&gt;
*[[RN-Board FAQ-Seite]]&lt;br /&gt;
* [[Avr]]&lt;br /&gt;
* [[RN-Mega8]] &lt;br /&gt;
* [[RNBFRA-Board]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.roboternetz.de/phpBB2/dload.php?action=file&amp;amp;file_id=138 Ausführliche Anleitung und Bauplan als PDF-Datei]&lt;br /&gt;
* [http://de.youtube.com/watch?v=JjuNS5BT7Qo Video Servoboard SD21 am RN-Control]&lt;br /&gt;
* [http://de.youtube.com/watch?v=DPnY5T0AH_0 Video zum Motorboard MD23 und RN-Control]&lt;br /&gt;
* [http://robocupjuniorunibremen.wordpress.com/2011/05/23/rncontrol-arduino/ ARDUINO–Bibliothek für RN-Control]&lt;br /&gt;
&lt;br /&gt;
{{Platinenservice|http://www.robotikhardware.de}}&lt;br /&gt;
{{Bausatzservice|http://www.robotikhardware.de}}&lt;br /&gt;
{{Fertigservice|http://www.robotikhardware.de}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Praxis]]&lt;br /&gt;
[[Category:Elektronik]]&lt;br /&gt;
[[Category:Projekte]]&lt;br /&gt;
[[Category:Microcontroller]]&lt;br /&gt;
[[Kategorie:Quellcode Bascom]]&lt;/div&gt;</summary>
		<author><name>Philn</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=RN-Control&amp;diff=22492</id>
		<title>RN-Control</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=RN-Control&amp;diff=22492"/>
				<updated>2013-04-12T09:27:39Z</updated>
		
		<summary type="html">&lt;p&gt;Philn: /* Steckerbelegung und Jumper-Funktionen */ Rechtschreibung, Zeichensetzung, Ergänzung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein bewährtes Microcontrollerboard, das wie das RNBFRA-Board in der Roboternetz-Community infolge einer Diskussion entstand. Es sollte ein Board werden, das ein gutes Preis-Leistungs-Verhältnis bietet und für vielfältige Aufgaben geeignet ist. &lt;br /&gt;
Das Vorhaben ist dank der zahlreichen Anregungen gut gelungen, das Board gibt es inzwischen nicht nur als Bauanleitung mit Platine, sondern auch als Bausatz und sogar Fertigmodul.&lt;br /&gt;
Es hat sich als preiswertes Universalboard für Roboter, Steuerungsaufgaben etc. als auch als ideales Einsteigerboard einen guten Namen im Roboternetz gemacht, daher gibt es für dieses Board auch ein eigenes Unterforum im Roboternetz.  &lt;br /&gt;
Es gibt inzwischen unzählige Anwendungen, die mit RN-Control umgesetzt wurden.&lt;br /&gt;
Trotz günstigem Preis ist ein sehr flexibles Board für unzählige Anwendungsmöglichkeiten entstanden. Über den I2C-Bus stehen zahlreiche Erweiterungsboards zur Verfügung, so können beispielsweise die gleichen I2C-Erweiterungen wie beim großen RNBFRA-Board kombiniert werden (Relaiskarte, Sprachausgabe usw.) Roboternetz &lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrol1.4diagramm.jpg|thumb|Funktionen des Boards]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrol1.4schaltplan.gif|thumb|Schaltplan zum Board [[:Bild:Rncontrol1.4schaltplan90grad.gif|(gedreht)]] ]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrol1.4bestückungsplan.gif|thumb|Bestückungsplan zum Board]]&lt;br /&gt;
&lt;br /&gt;
Besonders viel Wert wurde auch auf den einfachen Aufbau und viele Experimentier- und Einsatzmöglichkeiten gelegt. Mit diesem Board läßt sich u.a. schon ein recht ausgereifter Roboter konstruieren. Ultraschallsensoren, Infrarot-Entfernungssensoren, Motoren u.v.m. können direkt angeschlossen werden. Da das Board auch in der Community Roboternetz recht beliebt ist, findet man dort auch viele Tips und Programme. &lt;br /&gt;
&lt;br /&gt;
[[http://www.robotikhardware.de/bilder/rncontrol14diagrammmittel.jpg Diagramm hier]]&lt;br /&gt;
&lt;br /&gt;
==Hier die Leistungsmerkmale auf einen Blick:==&lt;br /&gt;
&lt;br /&gt;
*Wahlweise 8 oder 16 MHz Taktfrequenz (beide Quarze werden mitgeliefert, 16 MHz bereits eingesteckt) &lt;br /&gt;
*Schneller AVR Mega 32  Mikrocontroller,32K Speicher, 2K Ram und 1K EEPROM), 32 programmierbare I/O Pins,8 AD Ports u.v.m. &lt;br /&gt;
*8 Leuchtdioden per DIP-Schalter deaktivierbar und anderen Ports per Steckbrücke beliebig zuzuordnen &lt;br /&gt;
*alle Portleitungen sind über Stecker nach außen geführt. Die Steckernorm entspricht der Roboternetz-Definition als auch der des Atmel Entwicklungsboards STK500 &lt;br /&gt;
*alle Ports sowie +5V und GND sind zusätzlich über Steckbuchsen erreichbar. Ideal zum Experimentieren, da einfach Drähte (ca. 0,5mm) eingesteckt werden (kein Löten oder Schrauben). So können einfach andere LEDs zugeordnet werden oder ein Steckbrett verbunden werden &lt;br /&gt;
*Der wichtige Port A (wahlweise 8 digitale oder analoge Ein- o. Ausgänge) ist zusätzlich noch über eine Qualitätssteckklemme mit Hebel herausgeführt &lt;br /&gt;
*Motortreiber ca. 1 A belastbar - für zwei Getriebemotoren oder 1 Schrittmotor. Dieser kann auch für andere Zwecke (Relaisansteuerung, Lämpchen etc.) genutzt oder einfach entfernt werden &lt;br /&gt;
*Integrierter programmierbarer Mini-Lautsprecher, um Töne auszugeben &lt;br /&gt;
*1 Reset-Taster &lt;br /&gt;
*5 Taster für beliebige Verwendung. Sie belegen nur einen analogen Port! &lt;br /&gt;
*5 V Spannungsstabilisierung mit 2 A Belastbarkeit, auch herausgeführt für Erweiterungen; Eingangsspannung gegen Verpolung geschützt &lt;br /&gt;
*RS232 mit normgerechtem Pegelwandler (MAX232) - PC direkt anschließbar &lt;br /&gt;
*Batteriespannung kann im Programm abgefragt werden &lt;br /&gt;
*ISP-Programmierschnittstelle für übliche AVR-Programmieradapter (10polig) &lt;br /&gt;
*Betriebsspannung wahlweise zwischen 7 und 18V (empfohlen 7 bis 14 V) - wahlweise auch höhere Motorspannung bis 24 V möglich) &lt;br /&gt;
*Sehr kompakt, nur halbes Europaformat nach Roboternetz-Norm (ca. 100x75mm) &lt;br /&gt;
*I2C-Bus, über den zahlreiche Erweiterungsplatinen anschließbar sind (z.B. Sprachausgabe RN-Speak, Relaisboard RN-Relais, Servoboards, LCDs uvm.) &lt;br /&gt;
*Programmierbar in zahlreichen Sprachen, z.B. Basic (BASCOM Compiler, eingeschränkt bis 4K wird mitgeliefert), C (C-Compiler GCC wird mitgeliefert), Assembler, Pascal &lt;br /&gt;
*Deutsche Doku mit Basic-Programmbeispiel &lt;br /&gt;
*Preiswerter Bausatz erhältlich - einfacher Aufbau &lt;br /&gt;
*Kein Starter- oder Applikationsboard notwendig - bereits alles integriert! &lt;br /&gt;
*alle wichtigen Bauteile gesockelt, somit auch bei falscher Beschaltung durch Einsteiger immer kostengünstig reparierbar (einfach neues IC einstecken) &lt;br /&gt;
&lt;br /&gt;
http://www.robotikhardware.de/bilder/rncontro4.jpg&lt;br /&gt;
&lt;br /&gt;
==Belegung der RN-Control Steckklemmen==&lt;br /&gt;
Um auch schnell und praktisch mit RN-Control experimentieren zu können, verfügt dieses Board über Steckklemmen die alle Ports herausführen. 0,5mm Drähte lassen sich dort direkt einstecken, so das Sensoren und dergleichen schnell und einfach verdrahtet werden können. Die genaue Belegung lässt sich in nachfolgendem Ausschnitt aus dem Bestückungsplan gut entnehmen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrolsteckklemmen.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Steckerbelegung und Jumper-Funktionen==&lt;br /&gt;
Erläuterung der Anschlüsse, Regler und Kurzschlussbrücken&lt;br /&gt;
&lt;br /&gt;
{|{{Blauetabelle}}&lt;br /&gt;
|'''Anschluss-Bezeichnung'''&lt;br /&gt;
|'''Erläuterung'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Port A'''&lt;br /&gt;
|Digitaler I/O und analoger Port (PA 0 bis PA7 und ADC0 bis ADC7)&lt;br /&gt;
Über  eine Steckklemme werden hier die 8 Portleitungen PA0 bis PA 7 zur Verfügung gestellt. PA7 befindet sich dabei ganz links und PA0 ganz rechts. Anschlußdrähte können einfach eingesteckt werden, indem man mit einem Kugelschreiber oder Schraubenziehen den oberen weißen Hebel etwas nach unten drückt.&lt;br /&gt;
Die Ports PA7 bis PA0 können sowohl als normaler I/O-Port  (Ein- und Ausgabeport) oder als AD-Port´s programmiert werden. Somit könnten also auch bis zu 8 Spannungen quasi gleichzeitig gemessen werden. &lt;br /&gt;
&lt;br /&gt;
Ist der Kurzschlusstecker  UREF eingesteckt, dann können Spannungen bis zu 5V gemessen werden. Ist UREF offen, dann können Spannungen nur bis 2,5V gemessen werden. Durch geeignete Spannungsteiler kann der Meßbereich natürlich beliebig erhöht werden.&lt;br /&gt;
&lt;br /&gt;
Achtung: Die zulässige Höchstspannung 2,5V oder 5V darf am Port nicht überschritten werden, dieses würde den Port zerstören! &lt;br /&gt;
&lt;br /&gt;
Vorbelegung:&lt;br /&gt;
Port  PA7 wird auch für die Tastenabfrage genutzt. indem über einen Spannungsteiler verschiedene Spannungen per Tastendruck angelegt werden (siehe Schaltplan). &lt;br /&gt;
Solange keine Taste gedrückt ist, ist dieser jedoch frei Verfügbar.&lt;br /&gt;
Port PA6 wird über einen Spannungsteiler (22k und 5,1K) zur Batteriespannungsmessung benutzt  (siehe Schaltplan und Demoprogramm) wenn der Kurzschlusstecker UMESS eingesteckt ist.  Durch entfernen dieses Steckers steht der Port zur freien Verfügung.&lt;br /&gt;
&lt;br /&gt;
Der komplette Port steht auch nochmals über die Buchsenleiste JP2 zur Verfügung. Auch dort können Drähte zum experimentieren eingesteckt werden (möglichst 0,6mm²). &lt;br /&gt;
|-&lt;br /&gt;
|'''Port B'''&lt;br /&gt;
|Digitale I/O Port B  (PB0 bis PB 7)&lt;br /&gt;
Über einen Wannenstecker werden gemäß der Roboternetz-Definition 8 I/O Portleitungen mit Sonderfunktionen als auch GND und +5V bereitgestellt. &lt;br /&gt;
&lt;br /&gt;
Die genaue Belegung sieht wie folgt aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pin 1   PB0  /  T0 / XCL / wird vom Motortreiber für Motor 2 Kanal 1 genutzt&lt;br /&gt;
Pin 2   PB1  /  T1 / wird vom Motortreiber für Motor 2 Kanal 2 genutzt&lt;br /&gt;
Pin 3   PB2  /  AIN0 / INT2  / wird auch vom I2C-Bus genutzt&lt;br /&gt;
Pin 4   PB3  /  AIN1 / OC0&lt;br /&gt;
Pin 5   PB4  /  SS&lt;br /&gt;
Pin 6   PB5  /  MOSI / wird auch vom ISP Anschluss genutzt&lt;br /&gt;
Pin 7   PB6  /  MISO / wird auch  vom ISP Anschluss genutzt&lt;br /&gt;
Pin 8   PB7  /  SCK / wird auch  vom ISP Anschluss genutzt&lt;br /&gt;
Pin 9   GND&lt;br /&gt;
Pin 10  +5V&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach Entfernen des Motortreiber-ICs (IC2) aus der Fassung stehen PB0 und PB1 zur freien Verfügung.&lt;br /&gt;
&lt;br /&gt;
Der komplette Port steht auch nochmals über die Buchsenleiste JP3 zur Verfügung. Auch dort können Drähte zum Experimentieren eingesteckt werden (möglichst 0,6mm²).&lt;br /&gt;
|-&lt;br /&gt;
|'''Port C'''&lt;br /&gt;
|Digitale I/O Port C  (PC0 bis PC 7)&lt;br /&gt;
Über einen Wannenstecker werden gemäß der Roboternetz-Definition 8 I/O Portleitungen mit Sonderfunktionen als auch GND und +5V bereitgestellt. &lt;br /&gt;
&lt;br /&gt;
Die genaue Belegung sieht wie folgt aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pin 1   PC0  /  SCL wird vom I2C-Bus genutzt&lt;br /&gt;
Pin 2   PC1  /  SDA wird vom I2C-Bus genutzt&lt;br /&gt;
Pin 3   PC2  /  TCK&lt;br /&gt;
Pin 4   PC3  /  TMS&lt;br /&gt;
Pin 5   PC4  /  TDO&lt;br /&gt;
Pin 6   PC5  /  TDI&lt;br /&gt;
Pin 7   PC6  /  TOSC1 / wird vom Motortreiber für Motor 1 Kanal 1 genutzt&lt;br /&gt;
Pin 8   PC7  /  TOSC2 / wird vom Motortreiber für Motor 1 Kanal 2 genutzt&lt;br /&gt;
Pin 9   GND&lt;br /&gt;
Pin 10  +5V&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Über den 8 fachen DIP Schalter können den Ports auch LED´s zugeschaltet werden! Die LED´s leuchten wenn Port LOW-Zustand annimmt!&lt;br /&gt;
&lt;br /&gt;
Nach Entfernen des Motortreiber ICs (IC2) aus der Fassung stehen PC6 und PC7 zur freien Verfügung.&lt;br /&gt;
Der komplette Port steht auch nochmals über die Buchsenleiste JP4 zur Verfügung. Auch dort können Drähte zum experimentieren eingesteckt werden (möglichst 0,6mm²).&lt;br /&gt;
|-&lt;br /&gt;
|'''Port D'''&lt;br /&gt;
|Digitale I/O Port D  (PD0 bis PD 7)&lt;br /&gt;
Über einen Wannenstecker werden gemäß der Roboternetz-Definition 8 I/O Portleitungen mit Sonderfunktionen als auch GND und +5V bereitgestellt. &lt;br /&gt;
&lt;br /&gt;
Die genaue Belegung sieht wie folgt aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pin 1   PD0  /  RXD / wird für RS232 Schnittstelle genutzt&lt;br /&gt;
Pin 2   PD1  /  TXD  / wird für RS232 Schnittstelle genutzt&lt;br /&gt;
Pin 3   PD2  /  INT0&lt;br /&gt;
Pin 4   PD3  /  INT1 &lt;br /&gt;
Pin 5   PD4  /  OC1B  / wird für PWM Motor 1 benutzt (Geschwindigkeitsregelung)&lt;br /&gt;
Pin 6   PD5  /  OC1A  / wird für PWM Motor 2 benutzt (Geschwindigkeitsregelung)&lt;br /&gt;
Pin 7   PD6  /  ICP&lt;br /&gt;
Pin 8   PD7  /  OC2&lt;br /&gt;
Pin 9   GND&lt;br /&gt;
Pin 10  +5V&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach Entfernen des Motortreiber ICs aus der Fassung stehen PD4 und PD5 zur freien Verfügung.&lt;br /&gt;
Der komplette Port steht auch nochmal über die Buchsenleiste JP5 zur Verfügung. Auch dort können Drähte zum experimentieren eingesteckt werden (möglichst 0,6mm²).&lt;br /&gt;
|-&lt;br /&gt;
|'''I2C-Bus'''&lt;br /&gt;
|I2C-Bus&lt;br /&gt;
Über diesen Bus lassen sich zahlreiche Erweiterungen an dieses Board anschließen. Zum Beispiel werden auf der Seite robotikhardware.de passende Boards mit Sprachausgabe, Relais, Schrittmotorsteuerung etc. angeboten.&lt;br /&gt;
Aber auch dieses Board kann selbst als Slave-Board, also als Erweiterung an ein anderes Hauptboard angeschlossen werden.&lt;br /&gt;
Der I2C-Bus benötig nur 2 Leitungen für alle Funktionen. Entsprechend der Roboternetz-Norm wird hier ein 2x5 poliger Stecker angeschlossen. Die Belegung entspricht exakt der anderer Roboternetz Boards.&lt;br /&gt;
&amp;lt;pre&amp;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&lt;br /&gt;
Pin 2,4,6,8 GND&lt;br /&gt;
Pin 10  INT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
INT - Diese Leitung kann von allen I2C-Bus Erweiterungen genutzt &lt;br /&gt;
werden um den Hauptcontroller darüber zu informieren das sich Daten (z.B. von Sensoren) verändert haben. In diesem Fall wird die Leitung solange auf Masse gelegt bis der entsprechende  I2C-Baustein ausgelesen wird.&lt;br /&gt;
Die Controller muß also immer alle I2C-Bausteine auslesen solange diese Leitung auf Masse liegt. Diese Leitung ist mit Port PD2 verbunden&lt;br /&gt;
&lt;br /&gt;
Die PIN´s 5,7,9 und 10 können über  herausnehmbare Kurzschlussbrücken (Jumper JP6) vom Board getrennt werden. Dies ist zum Beispiel dann notwendig, wenn bereits ein anderes Masterboard die Spannungen auf den Bus legt. Es darf immer nur ein Board die Spannungen bereitstellen.&lt;br /&gt;
|-&lt;br /&gt;
|'''ISP'''&lt;br /&gt;
|ISP – IN SYSTEM PROGRAMMING&lt;br /&gt;
Über diesen Anschluß kann der  Controller auf dem Sprachboard mit einem Standard ISP-Kabel direkt an einen Parallelport des PC´s angeschlossen und programmiert werden.&lt;br /&gt;
Die Belegung des ISP-Anschlusses ist zu dem weit verbreitetet STK200 Programmier Dongle kompatibel. Ein entsprechender Dongle kann man sich entweder selber basteln (siehe Artikel „ARV Einstieg leicht gemacht“ unter www.roboternetz.de) oder fertig bestellen (z.B. www.robotikhardware.de). &lt;br /&gt;
&amp;lt;pre&amp;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;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|'''Power'''&lt;br /&gt;
|Spannungsversorgung&lt;br /&gt;
Über diese Schraubklemme wird das Board mit Spannung versorgt. Es reicht eine unstabilisierte Gleichspannung von 7 bis 14V aus (max. 18V wenn Kühlkörper verwendet wird)&lt;br /&gt;
+ und – sind auf der Platine markiert. Das Board ist jedoch auch gegen ein verpolen geschützt, so das nichts kaputt geht!&lt;br /&gt;
|-&lt;br /&gt;
|'''Motoren'''&lt;br /&gt;
|Motoren&lt;br /&gt;
Über diese 4 polige Schraubklemme können zwei Getriebemotoren (jeweils die beiden linken oder rechten Kontakte) oder ein Schrittmotor angeschlossen werden. &lt;br /&gt;
Der Motortreiber kann jedoch auch für andere Dinge genutzt werden, z.B zum Ansteuern von Relais, Lämpchen etc. verwendet werden. Die Belastbarkeit liegt bei 1A.  Sollen größere Motoren angeschlossen werden,  so kann z.B. über den I2C-Port eine andere Endstufe angeschlossen werden. &lt;br /&gt;
|-&lt;br /&gt;
|'''JP6'''&lt;br /&gt;
|I2C-Bus Belegung&lt;br /&gt;
Über drei Kurzschlussstecker können wahlweise die Bateriespannung (UB), +5V sowie INT mit dem I2C-Bus verbunden werden. Wenn INT nicht benötigt wird, kann man diesen Jumper offen lassen. Somit hat man einen Port zusätzlich frei zur Verfügung&lt;br /&gt;
Möchte man das Board über den I2C-Bus mit Spannung versorgen, dann kann man UB oder +5V Jumper einstecken. In diesem Fall braucht/darf keine Spannung an dem Power Schraubklemen angelegt werden. Möchte man umgekehrt andere Boards über den I2C-Bus mit Spannung versorgen, dann müssen die Jumper UB und/oder +5V eingesteckt werden. &lt;br /&gt;
Durch diesen Jumper ist man für alle Fälle gerüstet. Bei älteren RN-Control Versionen mußte man dazu noch das Kabel ändern.&lt;br /&gt;
|-&lt;br /&gt;
|'''JP8'''&lt;br /&gt;
|Über diesen Stecker kann die stabilisierte 5V Logikspannung für Erweiterungen oder Experimente entnommen werden. Wird mehr als 500mA entnommen, so sollte der Spannungsregler  mit einem kleinen Kühlkörper versehen werden.&lt;br /&gt;
|-&lt;br /&gt;
|'''UREF'''&lt;br /&gt;
|Referenzspannung&lt;br /&gt;
Über eine Kurzschlussstecker kann hier die Referenzspannung von 5V eingestellt werden. Wird der Stecker entfernt, so kann an den analogen Ports nur bis 2,5V gemessen werden (jedoch mit höherer Genauigkeit). &lt;br /&gt;
Sicherheitshalber sollten Sie den Stecker anfangs eingesteckt lassen!  Wird er entfernt, so sollte man daran denken das auch die Batteriespannung über einen analogen Port gemessen wird. Diese darf dann nicht viel höher als 13V  sein!&lt;br /&gt;
|-&lt;br /&gt;
|'''UMOT'''&lt;br /&gt;
|Motorspannung&lt;br /&gt;
Wenn dieser Kurzschlussstecker eingesteckt wird, dann wird die volle Batteriespannung auch für die Motoren benutzt. Ansonsten könnte man über einen PIN dieses Jumpers auch eine höhere Versorgungsspannung für die Motoren nutzen. Dazu sollte sie aber nochmals in den Schaltplan schaun.&lt;br /&gt;
In der Regel sollte hier ein Jumper eingesteckt sein!&lt;br /&gt;
|-&lt;br /&gt;
|'''UMESS'''&lt;br /&gt;
|Batteriespannungsmessung&lt;br /&gt;
Wenn diese Kurzschlussbrücke gesteckt ist, dann wird über Port PA6 die Batteriespannung überwacht. Ansonsten ist der Port frei!&lt;br /&gt;
|-&lt;br /&gt;
|'''S1'''&lt;br /&gt;
|DIP Schalter&lt;br /&gt;
Mit einem kleinen Schraubenzieher kann über diesen 8 poligen Schalter den Portleitungen PC0 bis PC7 eine LED zugeschaltet werden. Die LED´s leuchten immer dann wenn der Port LOW  (0 Pegel) führt.&lt;br /&gt;
Wenn die LED auf Off geschaltet wird, so kann die LED über eine Drahtbrücke von JP7 mit einem anderen Port verbunden werden.&lt;br /&gt;
|-&lt;br /&gt;
|'''RS232'''&lt;br /&gt;
|PC kompatible RS232 Schnittstelle&lt;br /&gt;
Über ein Adapterkabel kann die serielle Schnittstelle des PC direkt mit dem Board verbunden werden. Dies ist dann sinnvoll, wenn Fehler in Programmen gesucht . Einfache PRINT Anweisungen werden von einem Terminalprogramm angezeigt.&lt;br /&gt;
Hier kann Hyperterminal von Windows oder das eingebaute Terminalprogramm von Bascom empfohlen werden.&lt;br /&gt;
&lt;br /&gt;
Die Belegung ist kompatibel zum Conrad Roboter CCRP5:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Pin 1 RX&lt;br /&gt;
Pin 2 GND&lt;br /&gt;
Pin 3 TX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ein geeignetes Anschlußkabel kann schnell [[RN-Definitionen#RS232_Stecker|selbst angefertigt]] werden oder gibt  es bei robotikhardware.de bereits fertig&lt;br /&gt;
|-&lt;br /&gt;
|'''JP7'''&lt;br /&gt;
|Über diese Buchse sind alle LED´s ganz einfach durch Einstecken eines Drahtes beschaltbar.&lt;br /&gt;
Bedenken muß man dabei das die Anode über einen Vorwiderstand immer mit 5V verbunden ist. Die LED leuchtet also nur wenn sie mit der Drahtbrücke auf GND bzw. einen Port mit 0 Pegel gelegt wird. &lt;br /&gt;
|-&lt;br /&gt;
|'''JP1'''&lt;br /&gt;
|Buchsenleiste die dreimal +5V und drei mal GND für Experimente bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''JP2'''&lt;br /&gt;
|Buchsenleiste die den gesamten Port A für steckbare Drähte bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''JP3'''&lt;br /&gt;
|Buchsenleiste die den gesamten Port B für steckbare Drähte bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''JP4'''&lt;br /&gt;
|Buchsenleiste die den gesamten Port C für steckbare Drähte bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''JP5'''&lt;br /&gt;
|Buchsenleiste die den gesamten Port D für steckbare Drähte bereitstellt&lt;br /&gt;
|-&lt;br /&gt;
|'''TASTER T1 bis T5'''&lt;br /&gt;
|Stehen zur freien Verfügung&lt;br /&gt;
Die Abfrage ist im Demoprogramm beschrieben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Stückliste==&lt;br /&gt;
 Bauteil Wert       Beschreibung                   Reichelt Best.Nr.&lt;br /&gt;
 C1      100n       Keramik Kondensator            KERKO100N&lt;br /&gt;
 C2      100n       Keramik Kondensator            KERKO100N   &lt;br /&gt;
 C3      22pf       Keramik Kondensator            KERKO-500 22p           &lt;br /&gt;
 C4      22pf       Keramik Kondensator            KERKO-500 22p          &lt;br /&gt;
 C5      4,7uF      Elko                           SM 4,7/50RAD           &lt;br /&gt;
 C6      4,7uF      Elko                           SM 4,7/50RAD           &lt;br /&gt;
 C7      4,7uF      Elko                           SM 4,7/50RAD           &lt;br /&gt;
 C8      4,7uF      Elko                           SM 4,7/50RAD           &lt;br /&gt;
 C9      1uF        Elko                           SM 1,0/63RAD           &lt;br /&gt;
 C10     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C11     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C12     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C13     1000uF     Elko                           RAD 1.000/35            &lt;br /&gt;
 C14     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C15     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C16     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 C17     220uF      Elko                           RAD 220/35             &lt;br /&gt;
 C18     100n       Keramik Kondensator            KERKO100N              &lt;br /&gt;
 D1      1N4148     Diode                          1n 4148                &lt;br /&gt;
 D2      BYV27      Diode                          BYV 27/200             &lt;br /&gt;
 I2C-BUS I2C        Wannenbuchse                   WSL 10G                &lt;br /&gt;
 IC1     MAX232     RS232 Treiber                  MAX 232 CPE             &lt;br /&gt;
 IC2     7805       Spannungsregler                µA 78S05                  &lt;br /&gt;
 IC3     L293D      Motortreiber                   L 293 D                &lt;br /&gt;
 IC4     MEGA16-P   Atmel Mega 16 oder 32          ATMEGA 16-16           &lt;br /&gt;
 ISP     AVR-ISP    Wannenbuchse                   WSL 10G                &lt;br /&gt;
 JP1                Kontaktbuchse (manuell kürzen) SPL 20                  &lt;br /&gt;
 JP2                Kontaktbuchse (manuell kürzen) SPL 20                 &lt;br /&gt;
 JP3                Kontaktbuchse (manuell kürzen) SPL 20                  &lt;br /&gt;
 JP4                Kontaktbuchse (manuell kürzen) SPL 20                 &lt;br /&gt;
 JP5                Kontaktbuchse (manuell kürzen) SPL 20                 &lt;br /&gt;
 JP6                Stiftleiste   (teilen)         SL 2X50G 2,54 &lt;br /&gt;
 JP7                Kontaktbuchse (manuell kürzen) SPL 20                 &lt;br /&gt;
 JP8                Stiftleiste                    LU 2,5 MS 2             &lt;br /&gt;
 LED1               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED2               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED3               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED4               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED5               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED6               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED7               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 LED8               Leuchtdiode Low                LED 3MM 2MA GN         &lt;br /&gt;
 MOTOREN            Schraubklemme 4 polig          AKL 101-04             &lt;br /&gt;
 PORTA              Steckklemme 8 polig            WAGO 233-508           &lt;br /&gt;
 PORTB              Wannenbuchse                   WSL 10G                &lt;br /&gt;
 PORTC              Wannenbuchse                   WSL 10G                &lt;br /&gt;
 PORTD              Wannenbuchse                   WSL 10G                &lt;br /&gt;
 POWER              Schraubklemme 2 polig          AKL 101-02              &lt;br /&gt;
 Q1                 Quarz 16 Mhz                   16,0000-HC18                &lt;br /&gt;
 R1      100k       Widerstand 100k                1/4W 100k              &lt;br /&gt;
 R2      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R3      10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 R4      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R5      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R6      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R7      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R8      1k         Widerstand 1k                  1/4W 1,0k                &lt;br /&gt;
 R9      22k        Widerstand 22k                 1/4W 22k               &lt;br /&gt;
 R10     5,1k       Widerstand 5,1k                1/4W 5,1k              &lt;br /&gt;
 R11     10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 R12     10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 R13     10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 R14     10k        Widerstand 10k                 1/4W 10k               &lt;br /&gt;
 RESET   TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 RN1                Widerstandsnetzwerk            SIL 9-8 1,0k           &lt;br /&gt;
 RS232              Stiftleiste 3 polig            LU 2,5 MS 3             &lt;br /&gt;
 S1                 DIP Schalter 8 polig           NT08                   &lt;br /&gt;
 SPEAKER F/CM12P    Mini Piezo Lautsprecher        SUMMER EPM 121         &lt;br /&gt;
 T1      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 T2      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 T3      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 T4      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 T5      TASTER3301 Minitaster liegend             TASTER 3301            &lt;br /&gt;
 UMESS              Stiftleiste                    LU 2,5 MS 2             &lt;br /&gt;
 UMOT               Stiftleiste                    LU 2,5 MS 2             &lt;br /&gt;
 UREF               Stiftleiste                    LU 2,5 MS 2&lt;br /&gt;
&lt;br /&gt;
==Basic Beispieltestprogramm==&lt;br /&gt;
Das gleiche Demo findet man jetzt auch für C unter &amp;quot;[[RN-Control Demoprogramm in C]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'################################################### &lt;br /&gt;
'rncontroltest.BAS &lt;br /&gt;
'für &lt;br /&gt;
'RoboterNetz Board RN-CONTROL ab Version 1.1 &lt;br /&gt;
'Das neue preiswerte Controllerboard zum Experimentieren &lt;br /&gt;
&lt;br /&gt;
' Achtung: &lt;br /&gt;
' Diese Demo ist mit Bascom Compiler 1.11.7.7 getestet &lt;br /&gt;
&lt;br /&gt;
' &lt;br /&gt;
'Aufgabe: &lt;br /&gt;
' Dieses Testprogramm testet gleich mehrere Eigenschaften auf dem Board &lt;br /&gt;
' Den verschiedenen Tasten sind bestimmte Funktionen zugeordnet &lt;br /&gt;
' Taste 1: Zeigt Batteriespannung über RS232 an &lt;br /&gt;
' Taste 2: Angeschlossene Motoren beschleunigen und abbremsen &lt;br /&gt;
' Taste 3: Einige Male Lauflicht über LEDs anzeigen. Am I2C-Bus &lt;br /&gt;
'          darf in diesem Moment nichts angeschlossen sein &lt;br /&gt;
' Taste 4: Zeigt analoge Messwerte an allen Port A PINs über RS232 an &lt;br /&gt;
''Taste 5: Zeigt digitalen I/O Zustand von PA0 bis PA5 an &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
' Sehr gut kann man aus dem Demo auch entnehmen wie Sound ausgegeben wird, &lt;br /&gt;
' wie Tasten abgefragt werden und wie Subroutinen und Funktionen angelegt werden &lt;br /&gt;
&lt;br /&gt;
'Autor: Frank &lt;br /&gt;
'####################################################### &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Declare Sub Batteriespannung() &lt;br /&gt;
Declare Sub Motortest() &lt;br /&gt;
Declare Sub Lauflicht() &lt;br /&gt;
Declare Sub Showporta() &lt;br /&gt;
Declare Sub Showdigitalporta() &lt;br /&gt;
Declare Function Tastenabfrage() As Byte &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot; &lt;br /&gt;
' bei Mega 16 $regfile = &amp;quot;m16def.dat&amp;quot; &lt;br /&gt;
$framesize = 32 &lt;br /&gt;
$swstack = 32 &lt;br /&gt;
$hwstack = 32 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dim I As Integer &lt;br /&gt;
Dim N As Integer &lt;br /&gt;
Dim Ton As Integer &lt;br /&gt;
&lt;br /&gt;
$crystal = 16000000                           'Quarzfrequenz &lt;br /&gt;
$baud = 9600 &lt;br /&gt;
&lt;br /&gt;
Config Adc = Single , Prescaler = Auto        'Für Tastenabfrage und Spannungsmessung &lt;br /&gt;
&lt;br /&gt;
Config Pina.7 = Input                         'Für Tastenabfrage &lt;br /&gt;
Porta.7 = 1                                   'Pullup Widerstand ein &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Const Ref = 5 / 1023                          'Für Batteriespannungsberechnung &lt;br /&gt;
&lt;br /&gt;
Dim Taste As Byte &lt;br /&gt;
Dim Volt As Single &lt;br /&gt;
&lt;br /&gt;
' Für Motorentest &lt;br /&gt;
'Ports für linken Motor &lt;br /&gt;
Config Pinc.6 = Output                       'Linker Motor Kanal 1 &lt;br /&gt;
Config Pinc.7 = Output                       'Linker Motor Kanal 2 &lt;br /&gt;
Config Pind.4 = Output                       'Linker Motor PWM &lt;br /&gt;
'Ports für rechten Motor &lt;br /&gt;
Config Pinb.0 = Output                       'Rechter Motor Kanal 1 &lt;br /&gt;
Config Pinb.1 = Output                       'Rechter Motor Kanal 2 &lt;br /&gt;
Config Pind.5 = Output                       'Rechter Motor PWM &lt;br /&gt;
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down &lt;br /&gt;
Pwm1a = 0 &lt;br /&gt;
Pwm1b = 0 &lt;br /&gt;
Tccr1b = Tccr1b Or &amp;amp;H02                      'Prescaler = 8 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I = 0 &lt;br /&gt;
Sound Portd.7 , 400 , 450                    'BEEP &lt;br /&gt;
Sound Portd.7 , 400 , 250                    'BEEP &lt;br /&gt;
Sound Portd.7 , 400 , 450                    'BEEP &lt;br /&gt;
Print &lt;br /&gt;
Print &amp;quot;**** RN-CONTROL 1.4 *****&amp;quot; &lt;br /&gt;
Print &amp;quot;Das neue Experimentier- und Roboterboard&amp;quot; &lt;br /&gt;
Print &amp;quot;Weitere passende Zusatzboards bei www.robotikhardware.de&amp;quot; &lt;br /&gt;
Print &lt;br /&gt;
Do &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   Taste = Tastenabfrage() &lt;br /&gt;
   If Taste &amp;lt;&amp;gt; 0 Then &lt;br /&gt;
&lt;br /&gt;
      Select Case Taste &lt;br /&gt;
         Case 1 &lt;br /&gt;
            Call Batteriespannung    'Taste 1 Zeigt Bateriespannung über RS232 an &lt;br /&gt;
         Case 2 &lt;br /&gt;
            Call Motortest           'Taste 2 Motoren beschleunigen und abbremsen &lt;br /&gt;
         Case 3 &lt;br /&gt;
            Call Lauflicht           'Einige Male Lauflicht über LEDs anzeigen. &lt;br /&gt;
                                     'Am I2C-Port darf in diesem Moment nichts angeschlossen sein &lt;br /&gt;
         Case 4 &lt;br /&gt;
            Call Showporta           'Zeigt Messwerte an allen Port A PINs &lt;br /&gt;
         Case 5 &lt;br /&gt;
            Call Showdigitalporta    'Zeigt digitalen I/O Zustand von PA0 bis PA5 an &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      End Select &lt;br /&gt;
      Sound Portd.7 , 400 , 500      'BEEP &lt;br /&gt;
   End If &lt;br /&gt;
&lt;br /&gt;
   Waitms 100 &lt;br /&gt;
Loop &lt;br /&gt;
&lt;br /&gt;
End &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Diese Unterfunktion fragt die Tastatur am analogen Port ab &lt;br /&gt;
Function Tastenabfrage() As Byte &lt;br /&gt;
Local Ws As Word &lt;br /&gt;
&lt;br /&gt;
   Tastenabfrage = 0 &lt;br /&gt;
   Ton = 600 &lt;br /&gt;
   Start Adc &lt;br /&gt;
   Ws = Getadc(7) &lt;br /&gt;
  ' Print &amp;quot;Tastenabfrage anpassen!ADC Wert ws=&amp;quot; ; Ws &lt;br /&gt;
   If Ws &amp;lt; 500 Then &lt;br /&gt;
      Select Case Ws &lt;br /&gt;
         Case 400 To 450 &lt;br /&gt;
            Tastenabfrage = 1 &lt;br /&gt;
            Ton = 550 &lt;br /&gt;
         Case 330 To 380 &lt;br /&gt;
            Tastenabfrage = 2 &lt;br /&gt;
            Ton = 500 &lt;br /&gt;
         Case 260 To 305 &lt;br /&gt;
            Tastenabfrage = 3 &lt;br /&gt;
            Ton = 450 &lt;br /&gt;
         Case 180 To 220 &lt;br /&gt;
            Tastenabfrage = 4 &lt;br /&gt;
            Ton = 400 &lt;br /&gt;
         Case 90 To 130 &lt;br /&gt;
            Tastenabfrage = 5 &lt;br /&gt;
             Ton = 350 &lt;br /&gt;
 '        Case Else &lt;br /&gt;
'              Print &amp;quot;Tastenabfrage anpassen!ADC Wert ws=&amp;quot; ; Ws &lt;br /&gt;
      End Select &lt;br /&gt;
      Sound Portd.7 , 400 , Ton                             'BEEP &lt;br /&gt;
&lt;br /&gt;
   End If &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
End Function &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Diese Unterfunktion zeigt Batteriespannung an &lt;br /&gt;
Sub Batteriespannung() &lt;br /&gt;
Local W As Word &lt;br /&gt;
   Start Adc &lt;br /&gt;
   W = Getadc(6) &lt;br /&gt;
   Volt = W * Ref &lt;br /&gt;
   Volt = Volt * 5.2941 &lt;br /&gt;
   Print &amp;quot;Die aktuelle Spannung beträgt: &amp;quot; ; Volt ; &amp;quot; Volt&amp;quot; &lt;br /&gt;
&lt;br /&gt;
End Sub &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Testet Motoren und Geschwindigkeitsreglung &lt;br /&gt;
Sub Motortest() &lt;br /&gt;
   'Linker Motor ein &lt;br /&gt;
   Portc.6 = 1                          'bestimmt Richtung &lt;br /&gt;
   Portc.7 = 0                          'bestimmt Richtung &lt;br /&gt;
   Portd.4 = 1                          'Linker Motor EIN &lt;br /&gt;
&lt;br /&gt;
   'Rechter Motor ein &lt;br /&gt;
   Portb.0 = 1                          'bestimmt Richtung rechter Motor &lt;br /&gt;
   Portb.1 = 0                          'bestimmt Richtung rechter Motor &lt;br /&gt;
   Portd.5 = 1                          'rechter Motor EIN &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   I = 0 &lt;br /&gt;
   Do &lt;br /&gt;
      Pwm1a = I &lt;br /&gt;
      Pwm1b = I &lt;br /&gt;
      Waitms 40 &lt;br /&gt;
      I = I + 5 &lt;br /&gt;
   Loop Until I &amp;gt; 1023 &lt;br /&gt;
&lt;br /&gt;
   Wait 1 &lt;br /&gt;
   Do &lt;br /&gt;
      Pwm1a = I &lt;br /&gt;
      Pwm1b = I &lt;br /&gt;
      Waitms 40 &lt;br /&gt;
      I = I - 5 &lt;br /&gt;
   Loop Until I &amp;lt; 1 &lt;br /&gt;
   Pwm1a = 0                            'Linker Motor aus &lt;br /&gt;
   Pwm1b = 0                            'rechter Motor aus &lt;br /&gt;
End Sub &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
' Einige Male Lauflicht über LEDs anzeigen. Am I2C-Port darf in diesem &lt;br /&gt;
' Moment nichts angeschlossen sein &lt;br /&gt;
Sub Lauflicht() &lt;br /&gt;
&lt;br /&gt;
   Config Portc = Output &lt;br /&gt;
   Portd = 0 &lt;br /&gt;
   For N = 1 To 10 &lt;br /&gt;
      For I = 0 To 7 &lt;br /&gt;
         Portc.i = 0 &lt;br /&gt;
         Waitms 100 &lt;br /&gt;
         Portc.i = 1 &lt;br /&gt;
      Next I &lt;br /&gt;
   Next N &lt;br /&gt;
   Config Portc = Input &lt;br /&gt;
End Sub &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Zeigt die analogen Messwerte an Port A an &lt;br /&gt;
Sub Showporta() &lt;br /&gt;
Local Ws As Word &lt;br /&gt;
&lt;br /&gt;
   Config Porta = Input &lt;br /&gt;
   For I = 0 To 5                        ' Alle internen Pullup Widerstände ein, bis auf Batteriespannungsmessungsport &lt;br /&gt;
      Porta.i = 1 &lt;br /&gt;
   Next I &lt;br /&gt;
&lt;br /&gt;
   Print &lt;br /&gt;
   Print &amp;quot;Ermittelte Messwerte an Port A:&amp;quot; &lt;br /&gt;
   For I = 0 To 7                        ' Alle Eingänge inkl. messen &lt;br /&gt;
      Start Adc &lt;br /&gt;
      Ws = Getadc(i) &lt;br /&gt;
      Volt = Ws * Ref &lt;br /&gt;
      Print &amp;quot;Pin &amp;quot; ; I ; &amp;quot; ADC-Wert= &amp;quot; ; Ws ; &amp;quot; bei 5V REF waeren das &amp;quot; ; Volt ; &amp;quot; Volt&amp;quot; &lt;br /&gt;
   Next I &lt;br /&gt;
End Sub &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'Zeigt den Zustand einiger freier I/O von Die Analogen Messwerte An Port A An &lt;br /&gt;
Sub Showdigitalporta() &lt;br /&gt;
Local Zustand As String * 6 &lt;br /&gt;
   Config Porta = Input &lt;br /&gt;
   For I = 0 To 5                        ' Alle internen Pullup Widerstände ein, bis auf Batteriespannungsmessungsport &lt;br /&gt;
      Porta.i = 1 &lt;br /&gt;
   Next I &lt;br /&gt;
&lt;br /&gt;
   Print &lt;br /&gt;
   Print &amp;quot;Ermittelter I/O Zustand Port A:&amp;quot; &lt;br /&gt;
   For I = 0 To 5                        ' Alle Eingänge inkl. messen &lt;br /&gt;
      If Pina.i = 1 Then &lt;br /&gt;
         Zustand = &amp;quot;High&amp;quot; &lt;br /&gt;
      Else &lt;br /&gt;
         Zustand = &amp;quot;Low&amp;quot; &lt;br /&gt;
      End If &lt;br /&gt;
      Print &amp;quot;Pin &amp;quot; ; I ; &amp;quot; I/O Zustand= &amp;quot; ; Pina.i ; &amp;quot; &amp;quot; ; Zustand &lt;br /&gt;
   Next I &lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmierung per Druckerport, [[USB]] oder [[RS232]]==&lt;br /&gt;
RN-Control wird üblicherweise mit einem sogenannten [[ISP]]-Dongel programmiert. Die günstigste Ausführung gibt es für einen parallelen Druckerport, siehe auch unter [[AVR-ISP Programmierkabel]]. Etwas teurer aber auch schneller ist ein USBISP-Dongel. Wie genau der Ablauf vonstatten geht wird in der Anleitung (PDF-Dokument siehe Links) genau beschrieben.&lt;br /&gt;
Seit März 2007 wird RN-Control aber auch mit installiertem Bootloader ausgeliefert. Dies hat den Vorteil, dass das Board nun auch ohne ISP-Dongel per RS232 Kabel mit dem Bascom Compiler programmiert werden kann. Dies ist recht angenehm für Notebook Besitzer, die keinen parallelen Druckerport haben und denen der USBISP-Dongel am Anfang etwas zu teuer erscheint. Nähere Hinweise dazu sind ebenfalls in der überarbeiteten PDF-Anleitung (siehe Weblinks unten auf der Seite) zu finden.&lt;br /&gt;
&lt;br /&gt;
==Anschlussbeispiele==&lt;br /&gt;
Da sich Einsteiger mit dem Anschluss von Sensoren oder Verbrauchern manchmal etwas schwer tun, hier eine Skizze, wie man zum Beispiel bestimmte Dinge wie Entfernungssensoren, Servos, Lämpchen oder Helligkeits- bzw. Temperatursensoren anschließen könnte. Bei den Lämpchen sollte man beachten, dass sie zusammen weniger als 1A Strom benötigen, da ansonsten der zuständige Treiber (Motortreiber L293D) überhitzt würde. Natürlich könnte man auch größere Lasten schalten, indem man z.B. statt den Lämpchen Relais anschließt. Auch viele weitere Sensoren könnten natürlich an die noch freien Ports angeschlossen werden, beachten muss man nur, ob der Sensor einen Digital- oder Analogport benötigt.&lt;br /&gt;
Das Servo wird in der Skizze mit 5V versorgt, daher sollte man den Spannungsregler mit einem Kühlkörper versehen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:rncontrolanschlussbeispiel.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10anrncontrol.gif|framed|center|Ultraschallmodul am I2C-Bus (mehrere möglich)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:kompassmodul_an_rncontrol.jpg|framed|center|Auch ein elektronischer Kompass läßt sich leicht am I2C Bus anschließen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:drehgeber_an_rncontrol.gif|center|framed|Beispielschaltung wenn man lediglich die Drehzahl ohne Drehrichtung auswerten möchte. Als Widerstand hat sich 330 Ohm als gut erwiesen. Als Sensor wurde hier ein GP1A30 verwendet]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rnjoycontrolanrncontrol.jpg|center|framed|Auch passende Joysticks/Joypads lassen sich einfach an RN-Control anschließen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rn_adapter_mit_rncontrol.jpg|center|framed|Über Adapter lassen sich die Wannenstecker auch durch Steckklemmen mit Portüberwachung ersetzen. Dadurch wird die Verdrahtung noch flexibler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rndigicontrol.jpg|thumb|center|Digitalanzeige an RN-Control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf02_i2c_rncontrol.jpg|framed|center|Der neue Ultraschallsensor SRF02 im I2C Mode über Adapter an RN-Control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf02_an_rncontrol_rs232mode.jpg|framed|center|Der neue Ultraschallsensor SRF02 im RS232 Mode an RN-Control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:rn_lcd_adapter_rncontrol.gif|framed|center|Ein LCD mittels RN-LCDAdapter angeschlossen.]]&lt;br /&gt;
&lt;br /&gt;
==Projektbeispiel mit RN-Control==&lt;br /&gt;
&lt;br /&gt;
[[Bild:allwetterbot.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RN-Control die Alternative zu Arduino ==&lt;br /&gt;
Wenn man in C-Programmieren möchte kann man sich die Arbeit etwas erleichtern indem man die Entwicklungsumgebung und sogar Bibliotheken von [[Arduino]] nutzt. Bernd Klein hat die Arduino Bibliothek für RN-Control angepasst, siehe Link ganz unten auf dieser Wiki-Seite. Dadurch nutzt man die Vorteile beider Welten, die Leistung und vielen Ports des RN-Control (hier ist RN-Control mit einem Mega32 den gängigen Arduino Boards (z.B. Arduino Uno,doch erheblich überlegen) und gleichzeitig die kostenlose Entwicklungsumgebung und Tools von Arduino die besonders für C-Einsteiger hilfreich sein können.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Beispiel Drehzahlmessung mit RN-Control]]&lt;br /&gt;
* [[Ultraschall SRF10 an RN-Control]]&lt;br /&gt;
* [[Ultraschallsensor SRF02 am RN-Board]]&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
* [[RN-Digi|4 stellige Digitalanzeige an RN-Control]]&lt;br /&gt;
* [[LCD an RN-Control]]&lt;br /&gt;
* [[RN-Control Demprogramm in C]]&lt;br /&gt;
*[[Bascom]]&lt;br /&gt;
*[[Bascom - Erstes Programm in den AVR Controller übertragen]]&lt;br /&gt;
* [[Versenden von Emails's direkt vom RN-Control aus]]&lt;br /&gt;
*[[RN-Definitionen]]&lt;br /&gt;
*[[RN-Board FAQ-Seite]]&lt;br /&gt;
* [[Avr]]&lt;br /&gt;
* [[RN-Mega8]] &lt;br /&gt;
* [[RNBFRA-Board]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.roboternetz.de/phpBB2/dload.php?action=file&amp;amp;file_id=138 Ausführliche Anleitung und Bauplan als PDF-Datei]&lt;br /&gt;
* [http://de.youtube.com/watch?v=JjuNS5BT7Qo Video Servoboard SD21 am RN-Control]&lt;br /&gt;
* [http://de.youtube.com/watch?v=DPnY5T0AH_0 Video zum Motorboard MD23 und RN-Control]&lt;br /&gt;
* [http://robocupjuniorunibremen.wordpress.com/2011/05/23/rncontrol-arduino/ ARDUINO–Bibliothek für RN-Control]&lt;br /&gt;
&lt;br /&gt;
{{Platinenservice|http://www.robotikhardware.de}}&lt;br /&gt;
{{Bausatzservice|http://www.robotikhardware.de}}&lt;br /&gt;
{{Fertigservice|http://www.robotikhardware.de}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Praxis]]&lt;br /&gt;
[[Category:Elektronik]]&lt;br /&gt;
[[Category:Projekte]]&lt;br /&gt;
[[Category:Microcontroller]]&lt;br /&gt;
[[Kategorie:Quellcode Bascom]]&lt;/div&gt;</summary>
		<author><name>Philn</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=LCD_an_RN-Control&amp;diff=20167</id>
		<title>LCD an RN-Control</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=LCD_an_RN-Control&amp;diff=20167"/>
				<updated>2012-07-01T16:02:42Z</updated>
		
		<summary type="html">&lt;p&gt;Philn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es gibt verschiedene Möglichkeiten um ein LCD an [[RN-Control]] anzuschließen. Zwei besonders bequeme stellen entweder das Board [[RN-KeyLCD]] oder der Adapter RN-LCDAdapter dar. Dieses Beispiel demonstriert die Verwendung von RN-LCDAdapter. &lt;br /&gt;
&lt;br /&gt;
==Vorteile des Adapters==&lt;br /&gt;
Dieser Adapter erleichtert die Verwendung eines sogenannten DIP-LCDs erheblich, denn diese LCDs haben ein etwas ungünstiges Raster und könnten daher nicht mit herkömmlichen Experimentierplatinen genutzt werden. Das LCD wird einfach in den Adapter eingesteckt (oder gelötet) und der Adapter über ein 10 poliges Flachkabel mit dem Controllerboard verbunden. Es kann also alles gesteckt werden. Ein Poti auf der Rückseite der Platine stellt den Kontrast ein. Der Adapter bietet auch die Möglichkeit per Software die Beleuchtung abzuschalten.&lt;br /&gt;
&lt;br /&gt;
[[Bild:rn_lcd_adapter_hand.gif|framed|center|Display kann auch gesteckt werden.]]&lt;br /&gt;
&lt;br /&gt;
==Einfacher Anschluss über Port B==&lt;br /&gt;
In unserem Beispiel verwenden wir den Wannenstecker von Port B, damit wir keine wichtigen Ports wie I2C, RS232 etc. belegen. Allerdings kann es hier Konflikte geben, wenn gleichzeitig der Motortreiber genutzt wird, denn zwei Ports überscheiden sich. Wenn man beides hintereinander nutzt, kann man das per Software allerdings schon regeln.&lt;br /&gt;
&lt;br /&gt;
[[Bild:rn_lcd_adapter_rncontrol.gif|framed|center|Ein LCD mittels RN-LCDAdapter angeschlossen.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Selbsterklärendes Bascom Beispielprogramm==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'###################################################&lt;br /&gt;
'Ein LCD EADIP204 mit RN-LCDAdapter an Port B&lt;br /&gt;
'von RN-Control angeschlossen&lt;br /&gt;
'rnlcdadaptertest.bas&lt;br /&gt;
'&lt;br /&gt;
'Autor: Frank&lt;br /&gt;
'Verwendet wurden: RN-Control &amp;amp; RN-LCDAdapter (robotikhardware.de)&lt;br /&gt;
'Weitere Beispiele sind im Roboternetz gerne willkommen!&lt;br /&gt;
'##############################################################&lt;br /&gt;
&lt;br /&gt;
$programmer = 12        'MCS USB  (Zeile weglassen wenn anderer Programmer)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'  -------------- RN-Control übliche _____________________&lt;br /&gt;
Declare Function Tastenabfrage() As Byte&lt;br /&gt;
&lt;br /&gt;
$regfile = &amp;quot;m32def.dat&amp;quot;&lt;br /&gt;
$framesize = 32&lt;br /&gt;
$swstack = 32&lt;br /&gt;
$hwstack = 64&lt;br /&gt;
&lt;br /&gt;
$crystal = 16000000                                         'Quarzfrequenz&lt;br /&gt;
$baud = 9600&lt;br /&gt;
Config Scl = Portc.0                                        'Ports fuer IIC-Bus&lt;br /&gt;
Config Sda = Portc.1&lt;br /&gt;
&lt;br /&gt;
Config Adc = Single , Prescaler = Auto                      'Für Tastenabfrage und Spannungsmessung&lt;br /&gt;
Config Pina.7 = Input                                       'Für Tastenabfrage&lt;br /&gt;
Porta.7 = 1                                                 'Pullup Widerstand ein&lt;br /&gt;
Dim Taste As Byte&lt;br /&gt;
Dim Ton As Integer&lt;br /&gt;
&lt;br /&gt;
I2cinit&lt;br /&gt;
Start Adc&lt;br /&gt;
Sound Portd.7 , 400 , 450                                   'BEEP&lt;br /&gt;
Sound Portd.7 , 400 , 250                                   'BEEP&lt;br /&gt;
Sound Portd.7 , 400 , 450                                   'BEEP&lt;br /&gt;
Print&lt;br /&gt;
Print &amp;quot;**** RN-CONTROL  V1.4 *****&amp;quot;&lt;br /&gt;
Print &amp;quot;Demoprogramm um Zusatzboard RN-LCDAdapter zu demonstrieren&amp;quot;&lt;br /&gt;
Print&lt;br /&gt;
'  -------------- Ende RN-Control übliche _____________________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Config Pinb.4 = Output        'Spannung an LCD aktivieren&lt;br /&gt;
Lcdpower Alias Portb.4&lt;br /&gt;
&lt;br /&gt;
Config Pinb.6 = Output&lt;br /&gt;
Lcd_rw Alias Portb.6&lt;br /&gt;
Lcd_rw = 0&lt;br /&gt;
&lt;br /&gt;
Lcdpower = 1&lt;br /&gt;
Wait 1&lt;br /&gt;
&lt;br /&gt;
Config Lcd = 20 * 4a , Chipset = Ks077&lt;br /&gt;
Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.5 , Rs = Portb.7&lt;br /&gt;
&lt;br /&gt;
Initlcd&lt;br /&gt;
&lt;br /&gt;
Cls&lt;br /&gt;
Locate 1 , 1                  'Cursor auf 1 Zeile, 1 Spalte&lt;br /&gt;
Lcd &amp;quot;RN-LCDADAPTER&amp;quot;&lt;br /&gt;
Locate 2 , 1&lt;br /&gt;
Lcd &amp;quot;an RN-Control&amp;quot;&lt;br /&gt;
Locate 3 , 1&lt;br /&gt;
Lcd &amp;quot;beides Bausaetze von&amp;quot;&lt;br /&gt;
Locate 4 , 1&lt;br /&gt;
Lcd &amp;quot;robotikhardware.de&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do&lt;br /&gt;
   Taste = Tastenabfrage()&lt;br /&gt;
   If Taste &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
&lt;br /&gt;
      Select Case Taste&lt;br /&gt;
&lt;br /&gt;
         Case 1:&lt;br /&gt;
               Cls&lt;br /&gt;
               Locate 1 , 1&lt;br /&gt;
               Lcd &amp;quot;Gedrueckt wurde nun:&amp;quot;&lt;br /&gt;
               Locate 2 , 1&lt;br /&gt;
               Lcd &amp;quot;Taste 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         Case 2&lt;br /&gt;
               Cls&lt;br /&gt;
               Locate 1 , 1&lt;br /&gt;
               Lcd &amp;quot;Gedrueckt wurde nun:&amp;quot;&lt;br /&gt;
               Locate 2 , 1&lt;br /&gt;
               Lcd &amp;quot;Taste 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
         Case 3&lt;br /&gt;
               Cls&lt;br /&gt;
               Locate 1 , 1&lt;br /&gt;
               Lcd &amp;quot;Gedrueckt wurde nun:&amp;quot;&lt;br /&gt;
               Locate 2 , 1&lt;br /&gt;
               Lcd &amp;quot;Taste 3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         Case 4&lt;br /&gt;
               Cls&lt;br /&gt;
               Locate 1 , 1&lt;br /&gt;
               Lcd &amp;quot;Gedrueckt wurde nun:&amp;quot;&lt;br /&gt;
               Locate 2 , 1&lt;br /&gt;
               Lcd &amp;quot;Taste 4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         Case 5&lt;br /&gt;
               Cls&lt;br /&gt;
               Locate 1 , 1&lt;br /&gt;
               Lcd &amp;quot;Licht wird umgeschaltet&amp;quot;&lt;br /&gt;
               Toggle Lcdpower&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      End Select&lt;br /&gt;
      Sound Portd.7 , 400 , 500                             'BEEP&lt;br /&gt;
   End If&lt;br /&gt;
&lt;br /&gt;
   Waitms 100&lt;br /&gt;
Loop&lt;br /&gt;
&lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
' Diese Unterfunktion fragt die Tastatur am analogen Port ab&lt;br /&gt;
' Sollte beim betätigen einer Taste kein Quittungston kommen, dann&lt;br /&gt;
' muss die die Tastenabfrage (Select Case Anweisung in Funktion )&lt;br /&gt;
' an ihr Board angepaßt werden. Widerstandstoleranzen sorgen in&lt;br /&gt;
' Einzelfällen manchmal dafür das die Werte etwas anders ausfallen&lt;br /&gt;
' Am besten dann den WS wert mit Print für jede Taste ausgeben lassen&lt;br /&gt;
&lt;br /&gt;
Function Tastenabfrage() As Byte&lt;br /&gt;
Local Ws As Word&lt;br /&gt;
&lt;br /&gt;
   Tastenabfrage = 0&lt;br /&gt;
   Ton = 600&lt;br /&gt;
   Ws = Getadc(7)&lt;br /&gt;
'   Print &amp;quot;ws= &amp;quot; ; Ws&lt;br /&gt;
   If Ws &amp;lt; 1010 Then&lt;br /&gt;
      Select Case Ws&lt;br /&gt;
         Case 400 To 455&lt;br /&gt;
            Tastenabfrage = 1&lt;br /&gt;
            Ton = 550&lt;br /&gt;
         Case 335 To 380&lt;br /&gt;
            Tastenabfrage = 2&lt;br /&gt;
            Ton = 500&lt;br /&gt;
         Case 250 To 305&lt;br /&gt;
            Tastenabfrage = 3&lt;br /&gt;
            Ton = 450&lt;br /&gt;
         Case 180 To 220&lt;br /&gt;
            Tastenabfrage = 4&lt;br /&gt;
            Ton = 400&lt;br /&gt;
         Case 100 To 130&lt;br /&gt;
            Tastenabfrage = 5&lt;br /&gt;
            Ton = 350&lt;br /&gt;
      End Select&lt;br /&gt;
      Sound Portd.7 , 400 , Ton                        'BEEP&lt;br /&gt;
   End If&lt;br /&gt;
&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[RN-Control]]&lt;br /&gt;
* [[RN-KeyLCD]] &lt;br /&gt;
* [[Bascom]]&lt;br /&gt;
* [[Avr]]&lt;br /&gt;
* [[Bascom und LCD's]]&lt;br /&gt;
* [[LCD an I2C Huckepack auf RN-Miniplatine]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
&lt;br /&gt;
*  [http://www.roboternetz.de/phpBB2/dload.php?action=file&amp;amp;file_id=341 Anleitung zum RN-LCDAdapter]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Quellcode Bascom]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
[[Kategorie:Praxis]]&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Philn</name></author>	</entry>

	</feed>