<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Roboternetz - Allgemeines zum Thema Roboter / Modellbau</title>
		<link>http://www.roboternetz.de/community/</link>
		<description>Alles was nicht in die anderen Rubriken paßt</description>
		<language>de</language>
		<lastBuildDate>Wed, 22 May 2013 20:15:52 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>30</ttl>
		<image>
			<url>http://www.roboternetz.de/community/images/misc/rss.png</url>
			<title>Roboternetz - Allgemeines zum Thema Roboter / Modellbau</title>
			<link>http://www.roboternetz.de/community/</link>
		</image>
		<item>
			<title>Hallo Forum</title>
			<link>http://www.roboternetz.de/community/threads/62032-Hallo-Forum?goto=newpost</link>
			<pubDate>Wed, 22 May 2013 17:51:50 GMT</pubDate>
			<description>Hey Leute, 
 
bin neu hier und habe einen Haufen Fragen mit im Gepäck. 
Um euch nicht von der ersten Minute auf die Nerven zu gehen werde ich hier...</description>
			<content:encoded><![CDATA[<div>Hey Leute,<br />
<br />
bin neu hier und habe einen Haufen Fragen mit im Gepäck.<br />
Um euch nicht von der ersten Minute auf die Nerven zu gehen werde ich hier nur meine Hauptfrage rein stellen. Den Rest werde ich versuchen mir aus bestehenden Themen im Forum raus zu suchen.<br />
<br />
Na ja, worum es geht:<br />
Ich wollte mir einen kleinen Roboter bauen, den ich bei YouTube gefunden habe.<br />
<a href="http://www.youtube.com/watch?v=kQ_VG9ZNPT4" target="_blank">http://www.youtube.com/watch?v=kQ_VG9ZNPT4</a><br />
Leider gibt es dort keine Anständige Liste welche Teile nun gebraucht werden. Habe mir eine Einkaufsliste bei Conrad zusammengestellt und wollte mal Fragen was ihr davon haltet.<br />
zum einen von dem YouTube Video und zum anderen von meiner Liste.<br />
<br />
Fotowiderstand A 9060 Gehäuseart 5 mm »<br />
Best.-Nr.: 145475-62<br />
<br />
Potentiometer Service GmbH Drehpotentiometer ALPHA POT 16 9305 Mono Lin 10 k&#937; 0,2 W »<br />
Best.-Nr.: 450034-62<br />
<br />
Relais Standardtyp G2R-2, 5 A, 2 x UM Omron G2R-2-24V 24 V/DC 2 Wechsler Max. 5 A Max. 125 V/DC/400 V/AC 1250 VA/AC 150 »<br />
Best.-Nr.: 503991-62<br />
<br />
Abbildung ähnlich<br />
Freilauf-/Leuchtdiode bis 24 V 99.80.9.024.90.0 »<br />
Best.-Nr.: 502847-62<br />
<br />
Experimentier-Platine (L x B) 80 mm x 52 mm Rastermaß 2.54 mm »<br />
Best.-Nr.: 530126-62<br />
<br />
Abbildung ähnlich<br />
CMOS-IC 4066 Gehäuseart DIP-14 Ausführung Vier digitale oder analoge bilaterale Schalter »<br />
Best.-Nr.: 172928-62<br />
<br />
Abbildung ähnlich<br />
LED diffus 5 mm L 53 GD Grün 60 ° Gehäuseart 5 mm 40 mcd »<br />
Best.-Nr.: 184705-62<br />
<br />
Hacker LiPo Akku 11.1 V / 900 mAh (25 C) Stecksystem EC3 / XH »<br />
Best.-Nr.: 239505-62<br />
<br />
L100 Lithium Polymer Akku 3,7 V, 10C L100 »<br />
Best.-Nr.: 404240-62<br />
<br />
Igarashi MOTRAXX-Motor mit 3teiligem Anker 1.5 V/DC Leerlaufdrehzahl 244406 »<br />
Best.-Nr.: 244406-62<br />
<br />
PS.: ich habe Tierische Zweifel an dieser Liste</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>Fischkralle</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/62032-Hallo-Forum</guid>
		</item>
		<item>
			<title>Die neue Kinect</title>
			<link>http://www.roboternetz.de/community/threads/62031-Die-neue-Kinect?goto=newpost</link>
			<pubDate>Wed, 22 May 2013 17:08:11 GMT</pubDate>
			<description>Hallo, 
 
habe gerade ein kleines Video über die neue Kinect gefunden. Einige Features sind wiedermal sehr interessant auch für die Robotik. Falls es...</description>
			<content:encoded><![CDATA[<div>Hallo,<br />
<br />
habe gerade ein kleines Video über die neue Kinect gefunden. Einige Features sind wiedermal sehr interessant auch für die Robotik. Falls es interessiert:<br />
<br />

<iframe class="restrain" title="YouTube video player" width="640" height="390" src="//www.youtube.com/embed/Hi5kMNfgDS4?wmode=opaque" frameborder="0"></iframe>
<br />
<br />
Gruß<br />
Malte</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>malthy</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/62031-Die-neue-Kinect</guid>
		</item>
		<item>
			<title>zwischen Koordinaten Winkel ausrechnen</title>
			<link>http://www.roboternetz.de/community/threads/62019-zwischen-Koordinaten-Winkel-ausrechnen?goto=newpost</link>
			<pubDate>Tue, 21 May 2013 19:12:50 GMT</pubDate>
			<description>Hallo, ich versuche gerade eine Navigation zu entwickeln, um mit einem Roboter von Punkt A zu Punkt B zu fahren. Dazu nutze ich GPS und einen...</description>
			<content:encoded><![CDATA[<div>Hallo, ich versuche gerade eine Navigation zu entwickeln, um mit einem Roboter von Punkt A zu Punkt B zu fahren. Dazu nutze ich GPS und einen elektronischen <a href="http://www.robotikhardware.de/download/cmps03kompass.pdf" target="_blank"  >Kompass</a>.<br />
Nun habe ich z.B. folgende Koordinaten in DEC-Schreibweise:<br />
<br />
<b>Punkt A:</b><font size="3"> 49.400728N, 8.685135E</font><br />
<b>Punkt B:</b><font size="3"> 49.400293N, 8.685009E</font><br />
<br />
<font size="2">Wie kann ich jetzt hier möglichst einfach den Winkel zwischen Punkt A und Punkt B ausrechnen ( z.B. 170°S) um dem Roboter zu sagen in welche Richtung er fahren soll?<br />
Bisher versuche ich mit dem Tangens zu rechnen, klappt allerdings nicht so recht :/<br />
<br />
Wäre gut wenn ihr mit helfen könntet :)<br />
<br />
gruß toter_fisch</font></div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>toter_fisch</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/62019-zwischen-Koordinaten-Winkel-ausrechnen</guid>
		</item>
		<item>
			<title>Institut-Wettbewerb</title>
			<link>http://www.roboternetz.de/community/threads/61996-Institut-Wettbewerb?goto=newpost</link>
			<pubDate>Sun, 19 May 2013 00:06:15 GMT</pubDate>
			<description>Hallo, 
 
als Studenten einer Uni dürfen wir an einem Wettbewerb teilnehmen und wir suchen hier nach Empfehlungen bzgl. der Hardware. 
Die...</description>
			<content:encoded><![CDATA[<div>Hallo,<br />
<br />
als Studenten einer Uni dürfen wir an einem Wettbewerb teilnehmen und wir suchen hier nach Empfehlungen bzgl. der Hardware.<br />
Die Herausforderung ist im Groben folgende:<br />
Auf einem Billardtisch sind 15 Kugeln platziert, welche innerhalb von 180 Sekunden mittels einer Maschine eingelocht werden sollen.<br />
<br />
Die Einschränkungen der Maschine sind folgende:<br />
- Würfelabmessung von 450mm <br />
- max. Startgewicht von 3kg<br />
- von einer Energiequelle mit vier Batterien des Typs LR6 oder R6 betrieben<br />
- die Maschine soll die Aufgabe selbstständig ohne Eingriff eines Bediener bewältigen<br />
<br />
Die Zeit ist knapp bemessen, in einem Monat ist der Wettbewerb.<br />
<br />
Leider sind wir Studenten ohne Kenntnisse von Robotik. Wir benötigen einen Überblick bzgl. folgenden Themen:<br />
- Chassis, Mechanik, Aktorik<br />
- Elektronik, Sensorik<br />
- Programmierung<br />
<br />
Das Ganze darf nicht zu teuer werden, da wir alles privat zahlen dürfen.<br />
<br />
Da wir erst in der Konzeptphase sind und uns noch für keine Lösung festgelegt haben, wären wir für Anregungen, Tipps und Empfehlungen sehr dankbar.<br />
<br />
Vielen Dank.</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>kuebm</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61996-Institut-Wettbewerb</guid>
		</item>
		<item>
			<title>Sensoren eines Smartphones nutzen</title>
			<link>http://www.roboternetz.de/community/threads/61961-Sensoren-eines-Smartphones-nutzen?goto=newpost</link>
			<pubDate>Wed, 15 May 2013 08:34:54 GMT</pubDate>
			<description>Hallo zusammen. 
 
Ich habe schon viel danach gesucht, konnte aber nirgends im Inet (und deshalb auch hier nicht) eine Antwort auf meine Frage...</description>
			<content:encoded><![CDATA[<div>Hallo zusammen.<br />
<br />
Ich habe schon viel danach gesucht, konnte aber nirgends im Inet (und deshalb auch hier nicht) eine Antwort auf meine Frage finden:<br />
<br />
Kann man denn nicht die <a href="http://www.rn-wissen.de/index.php/Sensorarten" target="_blank"  >Sensoren</a>, die üblicherweise in einem Smartphone enthalten sind, für einen Roboter nutzen? Insbesondere die Kamera ist in den heutigen Smartphones ja schon mit viel Rechenleistung und features umgeben. Gibt es kein Interface, um das zu nutzen? Z.B. Farberkennung, Objekterkennung, Entfernungsabschätzung.<br />
<br />
Gibt es einen Grund dafür, daß man sich trotzdem mit separaten Kameramodulen herumschlagen muss, die teilweise mehr kosten als ein Handy von Huawei?<br />
<br />
Grüße, Dayzz</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>Dayzz</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61961-Sensoren-eines-Smartphones-nutzen</guid>
		</item>
		<item>
			<title>bitte ein klein wenig Hilfe zum Start :)</title>
			<link>http://www.roboternetz.de/community/threads/61922-bitte-ein-klein-wenig-Hilfe-zum-Start-%29?goto=newpost</link>
			<pubDate>Sun, 12 May 2013 11:05:39 GMT</pubDate>
			<description>Heya ihr Pro´s da draussen, 
 
ich bin grad dabei in die Robotik einzusteigen. 
Problem bei mir ist gerade, das ich zwar willens bin und des sicher...</description>
			<content:encoded><![CDATA[<div>Heya ihr Pro´s da draussen,<br />
<br />
ich bin grad dabei in die Robotik einzusteigen.<br />
Problem bei mir ist gerade, das ich zwar willens bin und des sicher auch vom logischen gedanken her geschissen bekomme. Nur wenn man seit Tagen am lesen ist, übersteigt irgendwann der Input die Kapazität :)<br />
Nun kommt Learning by Doing :cool:<br />
Den Artikel mit der Grundausstattung habe ich soweit schon gelesen und werd auch erstma shoppen gehen.<br />
<br />
Nun erstmal mal zu meinem fernen Ziel...<br />
<a href="http://www.roboternetz.de/community/attachment.php?attachmentid=25449&amp;d=1368355792"  title="Name:  1.jpg
Hits: 27
Größe:  18,4 KB">1.jpg</a><a href="http://www.roboternetz.de/community/attachment.php?attachmentid=25450&amp;d=1368355805"  title="Name:  2.jpg
Hits: 24
Größe:  18,5 KB">2.jpg</a><br />
<br />
Das ganze soll am Ende mal so präzise wie möglich sein, angestrebt ist eine genauigkeit von 0,05mm, sofern des keine Wunschvorstellung ist.<br />
Der Arm soll unter der Grundplatte drehbar gelagert sein und zudem noch eine Linearführung bekommen.<br />
Aber des ist noch in weiter Ferne.<br />
<br />
Bevor ich da weiter an der Mechanik bastel, dachte ich mir...fängst ma mit der Elektotechnik an.<br />
<br />
Zum Einstieg wollte ich mir 1 kleinen spassigen <a href="http://www.rn-wissen.de/index.php/Schrittmotoren" target="_blank"  >Schrittmotor</a> kaufen oder besorgen(wo kann man die zum basteln ausbauen?).<br />
Diesen würd ich dann erstmal versuchen gesteuert zu bekommen.<br />
Was für mich nun fraglich ist. Was brauch ich alles dafür, außer dem Lötkolben, ner Experimentierplatine und Drähten :D<br />
Bei den Controllern und laienhaft bezeichneten sonstigen Chippis sehe ich zB nicht ganz durch. Das Funktionsprinzip eines Schrittmotors und dessen direkte Ansteuerung für 1 Schritt habe ich soweit schonmal begriffen.<br />
Zum Versuchsaufbau sei gegeben, das ich den Motor direkt vom PC aus ansteuern möchte, also ohne irgendein Progrämmchen irgendwohin zu flashen, weil viel anders wird es beim Projekt am Ende auch nicht werden.<br />
Weiterhin sollen bei paar LED´s bei einem noch unbestimmten Winkel des Motors dies mit einem Leuchten kommentieren.<br />
<br />
Diverse Programmierkenntnisse sind soweit vorhanden und können bedarfsweise auch ausgebaut werden.<br />
<br />
Ich danke schomal allen, die sich hier meinen Kopf zerbrechen und bitte ein wenig nachvollziehbar erläutern ;)</div>


	<div style="padding:10px">

	

	

	
		<fieldset class="fieldset">
			<legend>Angehängte Grafiken</legend>
			<ul>
			<li>
	<img class="inlineimg" src="http://www.roboternetz.de/community/images/attach/jpg.gif" alt="Dateityp: jpg" />
	<a href="http://www.roboternetz.de/community/attachment.php?attachmentid=25449&amp;d=1368355792">1.jpg</a> 
(18,4 KB)
</li><li>
	<img class="inlineimg" src="http://www.roboternetz.de/community/images/attach/jpg.gif" alt="Dateityp: jpg" />
	<a href="http://www.roboternetz.de/community/attachment.php?attachmentid=25450&amp;d=1368355805">2.jpg</a> 
(18,5 KB)
</li>
			</ul>
			</fieldset>
	

	

	</div>
]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>Banane</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61922-bitte-ein-klein-wenig-Hilfe-zum-Start-%29</guid>
		</item>
		<item>
			<title>Programmierung für Modellbau</title>
			<link>http://www.roboternetz.de/community/threads/61911-Programmierung-f%C3%BCr-Modellbau?goto=newpost</link>
			<pubDate>Sat, 11 May 2013 09:41:51 GMT</pubDate>
			<description>Hallo, 
 
ich suche jemanden der mit dem SSC 32 programmieren kann und Lust hat mit mir ein Modellbau Projekt zu starten.  
Vorzugsweise aus der...</description>
			<content:encoded><![CDATA[<div>Hallo,<br />
<br />
ich <a href="http://www.roboternetz.de/community/content/50-volltextsuche" target="_blank"  >suche</a> jemanden der mit dem SSC 32 programmieren kann und Lust hat mit mir ein Modellbau Projekt zu starten. <br />
Vorzugsweise aus der Region Bremen.<br />
<br />
Mein Ziel wäre im ersten Schritt ein Schiff zu bauen, welches per SSC 32 gesteuert wird. <br />
Leider kann ich (noch) gar nicht programmieren, daher brauche ich jemanden der vom PC auf die Serielle Schnittstelle Programmieren kann, alles andere bekomme ich hin :-).<br />
<br />
Meine Herausforderung ist per UMTS/LTE das Schiff zu steuern, inkl. Bild Übertragung der drehbaren Kameras, ein Roboterarm, GPS Logging, Autopilot :-), und was noch alles rein geht.<br />
Wahrscheinlich braucht man mehr als einen SSC32 :-)<br />
Das ganze Netzwerk im Schiff aufzubauen, Kameras zu suchen etc ist für mich als IT-Profi überhaupt kein Problem.<br />
Auch die Beschaffung der Hardware würde ich komplett übernehmen, auch zwei mal für den, der gerne mit macht und sich das nicht so direkt leisten kann :-).<br />
<br />
Also, wer Lust hat dieses Projekt anzugehen, kann mich gerne anschreiben. Würde mich echt freuen!<br />
<br />
besten Gruß!</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>Dustin781</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61911-Programmierung-f%C3%BCr-Modellbau</guid>
		</item>
		<item>
			<title>Muss man Robotik studiert haben, damit man erfolgreich neue Konzepte bauen kann?</title>
			<link>http://www.roboternetz.de/community/threads/61908-Muss-man-Robotik-studiert-haben-damit-man-erfolgreich-neue-Konzepte-bauen-kann?goto=newpost</link>
			<pubDate>Fri, 10 May 2013 21:26:09 GMT</pubDate>
			<description>Hi, 
 
ob Selbstständigkeit oder als Angestellter ist mir egal. Wie schwer ist die Robotik? Mir ist klar, dass man im Studium nicht alles lernen...</description>
			<content:encoded><![CDATA[<div>Hi,<br />
<br />
ob Selbstständigkeit oder als Angestellter ist mir egal. Wie schwer ist die Robotik? Mir ist klar, dass man im Studium nicht alles lernen kann, nur das Grundgerüst. Es gibt ja Berufe bei denen man eine Ausbildung/Studium unbedingt braucht, weil man die Kosten die man dafür bräuchte nicht selber bezahlen kann. Ist das bei der Robotik auch der Fall? Mix-Fragen. xD</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>SirAnonymous</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61908-Muss-man-Robotik-studiert-haben-damit-man-erfolgreich-neue-Konzepte-bauen-kann</guid>
		</item>
		<item>
			<title>Video drahtlos übertragen</title>
			<link>http://www.roboternetz.de/community/threads/61904-Video-drahtlos-%C3%BCbertragen?goto=newpost</link>
			<pubDate>Fri, 10 May 2013 18:57:15 GMT</pubDate>
			<description>Hallo, 
Ich überlege seit geraumer Zeit, wie ich ein Bild von einer CMOS-Kamera oder ähnlichem drahtlos auf meinen Computerbildschirm übertragen...</description>
			<content:encoded><![CDATA[<div>Hallo,<br />
Ich überlege seit geraumer Zeit, wie ich ein Bild von einer CMOS-Kamera oder ähnlichem drahtlos auf meinen Computerbildschirm übertragen kann. Ich besitze jedoch lediglich Kenntnisse mit Arduino-Boards, und mit diesen werde ich ja bekanntlich nicht über 1 Bild pro 20 Sekunden hinauskommen. Kennt jemand leistungsfähigere Chips, die Bilder innerhalb von Sekundenbruchteilen verarbeiten können?</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>Nachbarino</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61904-Video-drahtlos-%C3%BCbertragen</guid>
		</item>
		<item>
			<title>RNB-FRA 1.22 start Probleme</title>
			<link>http://www.roboternetz.de/community/threads/61867-RNB-FRA-1-22-start-Probleme?goto=newpost</link>
			<pubDate>Tue, 07 May 2013 17:39:55 GMT</pubDate>
			<description>Hey, 
ich hoffe ihr könnt mir helfen... 
 
Ich hab mir  das Board RNB FRA 1.22 gekauft um einen Roboter zubauen. Ich hab bisher nur ein wenig Ahnung...</description>
			<content:encoded><![CDATA[<div>Hey,<br />
ich hoffe ihr könnt mir helfen...<br />
<br />
Ich hab mir  das Board RNB FRA 1.22 gekauft um einen Roboter zubauen. Ich hab bisher nur ein wenig Ahnung mit C am 3pi von <a href="http://www.shop.robotikhardware.de/shop/catalog/index.php" target="_blank"  >Pololu</a>.<br />
<br />
Beim Aufbau des Boards hatte ich keine Probleme und meine 4LED's leuten auch.<br />
Meinen <a href="http://www.rn-wissen.de/index.php/Bascom" target="_blank"  >Bascom</a> Editor hab ich auch schon so weit eingestellt das er meinen <a href="http://www.shop.robotikhardware.de/shop/catalog/index.php?cPath=88" target="_blank"  >Programmer</a> erkennt (STK500v2).<br />
Wenn ich jetzt das erste TestProgramm über tragen will sagt mit das Verlaufs-Fenster &quot;Chip ID: FFFFFF&quot;. Da stimmt doch dann was nicht und das Programm ist auch nicht über tragen oder? Denn die Led's verändern sich nicht... :(<br />
<br />
danke für eure Hilfe <br />
                              Nafets</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>Naftes</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61867-RNB-FRA-1-22-start-Probleme</guid>
		</item>
		<item>
			<title>Funkmodulwahl</title>
			<link>http://www.roboternetz.de/community/threads/61865-Funkmodulwahl?goto=newpost</link>
			<pubDate>Tue, 07 May 2013 15:31:53 GMT</pubDate>
			<description>Hallo, 
Ich bastel schon länger an meiner Dx5e von Spektrum rum um diese Kanalmässig zu erweitern. 
Da die Funke einen Mega88P (jetzt einen m88pA)...</description>
			<content:encoded><![CDATA[<div>Hallo,<br />
Ich bastel schon länger an meiner Dx5e von Spektrum rum um diese Kanalmässig zu erweitern.<br />
Da die Funke einen Mega88P (jetzt einen m88pA) enthält und das Funkmodul über den USART total simpel angesteuert werden kann hat das auch gut geklappt, sodass ich jetzt einen alternative Firmware für den Sender habe.<br />
Leider haben sich durch das häufige Löten ein paar banen des China PCB's gelöst und allgemein ist sie durch den kleinen uC sehr begrenzt was Erweiterung angeht. Deshalb möchte ich nun ein eigenes Board für die Steuerung erstellen und bin nun an dem Punkt, andem ich mir die Frage stelle ob ich das aktuelle Modul beibehalte, ein Xbee verwende oder eine Mischlösung mache.<br />
Vorteile Spektrum Modul:<br />
+ Volle DSMX Kompatibilität<br />
+ Für RC optimiert<br />
+ 200mW Leistung legal in DE<br />
Nachteile:<br />
- Nur 60 bit pro Paket<br />
- NULL Dokumentation<br />
<br />
Vorteile XBee:<br />
+ Freie Protokollwahl<br />
+ Rückkanal<br />
+ Gut dokumentiert<br />
Nachteile:<br />
- &quot;Angeblich&quot; hohe Latenz<br />
- Relativ groß für Empfänger<br />
- Keine kaufempfänger verfügbar<br />
- relativ niedrige Leistung (100mW)<br />
<br />
Die Mischlösung würde dass Spektrum modul für die ersten 6 Kanäle nutzen und das Xbee für Telemetrie und &quot;unwichtige&quot; Kanäle.<br />
Nachteil dieser Lösung:<br />
- Mehr Platzbedarf<br />
- Mögliche Störung (ist Spread Spektrum so gut ?)<br />
<br />
Was Meint ihr dazu ?<br />
Was würdet ihr nehmen ?<br />
<br />
MFG Thalhammer</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>Thalhammer</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61865-Funkmodulwahl</guid>
		</item>
		<item>
			<title>Interessante Quadbot-Konstruktion</title>
			<link>http://www.roboternetz.de/community/threads/61859-Interessante-Quadbot-Konstruktion?goto=newpost</link>
			<pubDate>Mon, 06 May 2013 14:07:28 GMT</pubDate>
			<description><![CDATA[Hallo Leute,  
 
habe gerade das hier (http://www.lynxmotion.net/viewtopic.php?f=8&t=7256) entdeckt und wollte es euch nocht vorenthalten. Ist mal...]]></description>
			<content:encoded><![CDATA[<div>Hallo Leute, <br />
<br />
habe gerade <a href="http://www.lynxmotion.net/viewtopic.php?f=8&amp;t=7256" target="_blank">das hier</a> entdeckt und wollte es euch nocht vorenthalten. Ist mal ein etwas anderer Quadbot, das Antriebskonzept gefällt mir!</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>RAM</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61859-Interessante-Quadbot-Konstruktion</guid>
		</item>
		<item>
			<title>Rovio 8233</title>
			<link>http://www.roboternetz.de/community/threads/61825-Rovio-8233?goto=newpost</link>
			<pubDate>Wed, 01 May 2013 18:09:33 GMT</pubDate>
			<description><![CDATA[hallo zusammen , 
 
zuallererst , ich bin totaler neuling in sachen "roboter" , 
mit pc / internet kenn ich mich auch kaum aus.... 
bischen chatten,...]]></description>
			<content:encoded><![CDATA[<div>hallo zusammen ,<br />
<br />
zuallererst , ich bin totaler neuling in sachen &quot;roboter&quot; ,<br />
mit pc / internet kenn ich mich auch kaum aus....<br />
bischen chatten, surfen das bekomm ich noch hin aber alles weitere...<br />
-&gt; hoffe ich auf eure unterstützung<br />
<br />
ich war übers verlängerte weekend bei meinen grosseltern, mein opa ( totaler technikfreak , 86jahre alt )<br />
sagte bei der abfahrt zu mir , er hätte da was für mich.....er gab mir das paket und er meinte viel spass damit.... <br />
zuhause angekommen , hab ich das ding ausgepackt und erstmal die akkus aufgeladen...und dann die bedinungsanleitung gelesen....o.k. ab auf die internetseite um die software runterzuladen...<br />
<br />
....na super , alles auf englisch ....<br />
ich kann kein englisch :-(<br />
wer kann mir helfen ???<br />
<br />
mfg Alex</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>alex-75417</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61825-Rovio-8233</guid>
		</item>
		<item>
			<title><![CDATA[KUKA-Roboter: Externe Ansteuerung & Programmierung]]></title>
			<link>http://www.roboternetz.de/community/threads/61808-KUKA-Roboter-Externe-Ansteuerung-Programmierung?goto=newpost</link>
			<pubDate>Tue, 30 Apr 2013 15:25:14 GMT</pubDate>
			<description>Hallo Zusammen, 
 
wir möchten unseren Kuka-Roboter flexibel extern ansteuern. Und zwar, der Roboter bei uns hat eine Transportfunktion. Wir möchten...</description>
			<content:encoded><![CDATA[<div>Hallo Zusammen,<br />
<br />
wir möchten unseren Kuka-Roboter flexibel extern ansteuern. Und zwar, der Roboter bei uns hat eine Transportfunktion. Wir möchten jedem Objekt eine Nummer zuweisen, z.B. Fräsmaschine ist Nr.1 und Drehmaschine ist Nr.2. Und die Objektenummern müssen mit bestimmten Programmen verknüpft sein (die vorher schon geteacht sind). So, z.B. der Roboter muss das Werkstük von der Fräsmaschine zur Drehmaschine transportieren, d.h. von 1 nach 2. Genau die 2 Zahlen tippen wir bei der Systemsteuerung ein und dadurch wird ein entsprechendes Programm aufgerufen und der Roboter bewegt sich von der Fräsmaschine zur Drehmaschine. Das Ziel ist es, den Roboter von jeder Position zu jeder anderen Position extern bewegen zu können, So wie ich das verstehe, wir müssen entsprechende Informationen auf der Roboterseite und auch auf der Systemsteuerungseite eintragen. Hätte jemand Idee, wie man so was schaffen kann? Vor allem wie kann den Roboter dafür programmieren? Welche Kuka-Dateien muss man editieren?<br />
<br />
Danke!<br />
<br />
Grüße</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>HaiInDerKiste</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61808-KUKA-Roboter-Externe-Ansteuerung-Programmierung</guid>
		</item>
		<item>
			<title>Sprachsteuerung</title>
			<link>http://www.roboternetz.de/community/threads/61800-Sprachsteuerung?goto=newpost</link>
			<pubDate>Mon, 29 Apr 2013 16:49:57 GMT</pubDate>
			<description>Hallo liebe Mitglieder! 
 
Ich bin auf der Suche nach einer robusten Sprachsteuerung, Software- und Hardwareseitig und zwar für mobile Plattformen....</description>
			<content:encoded><![CDATA[<div>Hallo liebe Mitglieder!<br />
<br />
Ich bin auf der Suche nach einer robusten Sprachsteuerung, Software- und Hardwareseitig und zwar für mobile Plattformen. Hat vielleicht jemand schon Erfahrungen gemacht oder gute und &quot;vertretbare&quot; Artikel gelesen und könnte mir hierzu etwas empfehlen?<br />
Ich habe schon einiges über Dragon Naturally Speaking gelesen, überzeugt bin ich davon noch nicht wirklich.<br />
Zur Hardware, welche für eine spitzenklassige Sprachsteuerung benötigt wird leider auch noch nicht.<br />
Hoffe auf eure Antworten<br />
<br />
Liebe Grüße<br />
Dave</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>Dave01</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61800-Sprachsteuerung</guid>
		</item>
		<item>
			<title>ferngesteuerte Bremse für Fahrrad</title>
			<link>http://www.roboternetz.de/community/threads/61771-ferngesteuerte-Bremse-f%C3%BCr-Fahrrad?goto=newpost</link>
			<pubDate>Thu, 25 Apr 2013 14:15:17 GMT</pubDate>
			<description>Hallo, 
 
Hier kommt eine Newbie-Frage 
Ich habe einen behinderten Sohn. Der ist zwar mit einem Kettcar super mobil aber auf seine allgemeine...</description>
			<content:encoded><![CDATA[<div>Hallo,<br />
<br />
Hier kommt eine Newbie-Frage<br />
Ich habe einen behinderten Sohn. Der ist zwar mit einem Kettcar super mobil aber auf seine allgemeine Verkehrstüchtigkeit kann man sich noch nicht verlassen. Gerade denken wir darüber nach, ihm ein Fahrrad (Dreirad) anzuschaffen. <br />
<br />
Um ihn besser in unserem Wohngebiet &quot;erziehen&quot; zu können, wäre es gut eine Art ferngesteuerte Bremse bei dem Dreirad anzubauen. Wir müssen sowieso immer auf ihn schauen, damit er nicht in die vorhandenen Abwassergräben hinein fährt. <br />
<br />
Es gab vor anderthalb Jahren mal diverse Artikel über eine &quot;verlässliche&quot; Bremse. Dort wurde die Bremse drahtlos betätigt. Leider ist diese Art der Bremse nicht in die Produktion gekommen. Das hätte vielen Familien dieses Problem abgenommen. Im Netz gibt es den ein oder anderen Bauplan mit umgebauten Akkuschaubern (wegen der Drehmomentbegrenzung). Ich bin der Auffassung es geht garantiert eleganter.<br />
<br />
Vielleicht hat ja jemand hier schon mal ein ähnliches Problem gelöst. Kann mir jemand helfen?<br />
Meine Vorstellung wäre halt, mit einem ZigBee oder Xbee oder ähnlichem ein PWM Signal zu generieren und drahtlos an das Fahrrad zu schicken - Reichweite ca. 200-300m. Dort wird die Bremse über ein Servo gesteuert. Leider in ich mir auch über die Art der Bremse unsicher?<br />
<br />
Es wäre schön, wenn ihr mir helfen könntet.<br />
<br />
Vielen Dank<br />
<br />
Gruß<br />
<br />
Kai</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>doens</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61771-ferngesteuerte-Bremse-f%C3%BCr-Fahrrad</guid>
		</item>
		<item>
			<title>RP6 mit TTS256 und Speakjet</title>
			<link>http://www.roboternetz.de/community/threads/61754-RP6-mit-TTS256-und-Speakjet?goto=newpost</link>
			<pubDate>Tue, 23 Apr 2013 15:51:41 GMT</pubDate>
			<description><![CDATA[Servus, 
 
Hab mir vor kurzen ein Platine mit TTS256 und Speakjet realisiert. Hab alle Eingänge richtig angeschlossen. 
Rx ---> Tx, Tx ---> Rx aber...]]></description>
			<content:encoded><![CDATA[<div>Servus,<br />
<br />
Hab mir vor kurzen ein Platine mit TTS256 und Speakjet realisiert. Hab alle Eingänge richtig angeschlossen.<br />
Rx ---&gt; Tx, Tx ---&gt; Rx aber der TTS256 IC reagiert überhaupt nicht darauf wenn ich ein Befehl über die Serielle Schnittstelle übertrage. Wollte fragen ob jemand weiß was ich verkehrt mache oder was mir noch fehlt. Hab auch nach Beispielprogramm und Lib. gesucht aber fehlanzeige.<br />
<br />
Danke für eure Hilfe.<br />
<br />
MFG<br />
Roandl</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>Roandl</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61754-RP6-mit-TTS256-und-Speakjet</guid>
		</item>
		<item>
			<title>PWM Frage</title>
			<link>http://www.roboternetz.de/community/threads/61750-PWM-Frage?goto=newpost</link>
			<pubDate>Tue, 23 Apr 2013 08:33:10 GMT</pubDate>
			<description><![CDATA[Hallo Leute,  
 
ich habe ein kleines Problem: 
 
Ich habe ein Gehäuse mit Motoren des CC-RP5, AT89C5131 & einen PCF8591 welchen ich über I²C an den...]]></description>
			<content:encoded><![CDATA[<div>Hallo Leute, <br />
<br />
ich habe ein kleines Problem:<br />
<br />
Ich habe ein Gehäuse mit Motoren des CC-RP5, AT89C5131 &amp; einen PCF8591 welchen ich über I²C an den µC angebunden habe(zum auslesen von Analogsensoren). Das wird ein kleiner autonomer Roboter / ist es schon.<br />
<br />
Mein derzeitiges Programm :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"> /*------------------------------------------------------------------+<br />
|&nbsp; &nbsp; &nbsp;  File:&nbsp; &nbsp; &nbsp;  Roboterfahrzeug&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />
|&nbsp; &nbsp; &nbsp;  Autor:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />
|&nbsp; &nbsp; &nbsp;  Klasse:&nbsp; &nbsp;  E3GS1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />
|&nbsp; &nbsp; &nbsp;  Controller: at89c5131&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | <br />
|&nbsp; &nbsp; &nbsp;  Datum:&nbsp; &nbsp; &nbsp; 27.03.13&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |<br />
|&nbsp; &nbsp; &nbsp;  Version:&nbsp; &nbsp; 2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  |<br />
+--------------------------------------------------------------------+<br />
|&nbsp; Beschreibung:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
+-----------------------------------------------------------------------------*/<br />
<br />
&nbsp;#include &lt;at89c5131.h&gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // fuer Atmel AT89C5131<br />
<br />
/* adda_kniel.c *********************************************************************************<br />
&nbsp;* Hilfsprogramme für den AD- und DA- Umsetzer mit I2C-Bus ********************************&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  <br />
&nbsp;* An DA-Umsetzer&nbsp; &nbsp; &nbsp; &nbsp; wert ausgeben:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void aout (unsigned char wert)<br />
&nbsp;* AD-Umsetzer einlesen, Kanal = 0,1,2,3:&nbsp; &nbsp; &nbsp; &nbsp; unsigned char ain (unsigned char kanal)<br />
&nbsp;******************************************************************************************/<br />
// geänderte Version 11/2007: Start und Stop-Bedingungen, funktioniert mit US-Sensoren<br />
// geänderte Version 12/2006: funktioniert endlich aus als Library: adda.obj mit <br />
// Tool -&gt; Library-Manager in die Bibliothek RC51atms.lib einfügen <br />
<br />
#include &lt;reg51.h&gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Registerdefinitionen&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
//#include &lt;intrins.h&gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; für Rotationsfunktion<br />
<br />
//&nbsp; &nbsp; &nbsp; &nbsp; !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
//****** verwendete I2C-Leitungen *********************************************************<br />
sbit SDA = P4^1;&nbsp; &nbsp; &nbsp; &nbsp; // SDA-Leitung: ED2-Boards P3_5, (USB-Boards P4_1)<br />
sbit SCL = P4^0;&nbsp; &nbsp; &nbsp; &nbsp; // SCL-Leitung: ED2-Boards P3_4, (USB-Boards P4_0)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
//****************************************************************************************<br />
//&nbsp; &nbsp; &nbsp; &nbsp; !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!<br />
<br />
//***** verwendete Adressen und Kontrollbyte für den AD- und DA-Umsetzter ****************<br />
#define Motor1 P1<br />
#define Motor2 P2<br />
#define vor 0x50 <br />
#define zurueck 0x44<br />
#define stopp 0x40<br />
#define adr_lies 0x91&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  //&nbsp; &nbsp; &nbsp; &nbsp; 10010001&nbsp; &nbsp; &nbsp; &nbsp; -&gt;&nbsp; &nbsp; &nbsp; &nbsp; 1001 fest, 000 durch Platine, 1 Wert lesen&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
#define adr_schreib 0x90&nbsp; &nbsp; &nbsp; &nbsp; // 10010000&nbsp; &nbsp; &nbsp; &nbsp; -&gt;&nbsp; &nbsp; &nbsp; &nbsp; 1001 fest, 000 durch Platine, 0 Wert lesen&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
#define contr_ain&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0x40&nbsp; &nbsp; &nbsp; &nbsp; // 01000000&nbsp; &nbsp; &nbsp; &nbsp; -&gt;&nbsp; &nbsp; &nbsp; &nbsp; Kontrollbyte 4 einzelne ADU, Kanal= Offset dazu&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
sbit&nbsp; &nbsp; &nbsp; &nbsp; acc7 = 0xE7;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; für Aus- und Eingabe eines Bits des Akkus&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
//void warte(int z);<br />
// *****************************************************************************************<br />
// I2C- Routinen zur Ansteuerung eins I2C-Slaves<br />
// I2C-Bus-Funktionen i2c_init, i2c_start, i2c_stop, i2c_schreiben, i2c_lesen auch für andere<br />
// I2C-Bus-ICs verwendbar<br />
// *****************************************************************************************<br />
<br />
// **** Zeitverzögerung zur Verlangsamung der Datenübertragungsrate ***********************<br />
// **** i=2 bis i=100 wählen je nach I2C-IC und Pull-Up-Widerstand<br />
void zeit (void) {unsigned char i; for (i=5;i!=0;i--) ;}<br />
void vorwaerts (void);<br />
void rueckwaerts (void);<br />
void drehen (void);<br />
void speaker(void);<br />
void warte(int z);<br />
void stop(void);<br />
// ****************************************************************************************<br />
// ****** Initialiserung I2C-Bus **********************************************************<br />
void i2c_init (void)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; SDA = 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Leitungen in den Grundzustand High&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit ();&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; SCL&nbsp; &nbsp; &nbsp; &nbsp; = 1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit ();<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp;  <br />
// ****** Startbedingung I2C-Bus **********************************************************<br />
void i2c_start (void)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; SDA = 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Grundzustand<br />
&nbsp; &nbsp; &nbsp; &nbsp; SCL = 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // neu eingefügt 11/07<br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit();<br />
&nbsp; &nbsp; &nbsp; &nbsp; SDA = 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Wechsel SDA von 1 -&gt; 0 während SCL = 1<br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit ();<br />
&nbsp; &nbsp; &nbsp; &nbsp; SCL = 0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit ();<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
//****** Stoppbedingung I2C-Bus ***********************************************************<br />
void i2c_stop (void)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; SDA = 0; // neu eingefügt 11/07<br />
&nbsp; &nbsp; &nbsp; &nbsp; SCL = 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit&nbsp; &nbsp; &nbsp; &nbsp; ();<br />
&nbsp; &nbsp; &nbsp; &nbsp; SDA = 1;&nbsp; &nbsp; &nbsp; &nbsp; // Wechsel von SDA 0 -&gt; 1 während SCL =1<br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit ();<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
//*****************************************************************************************<br />
// * Byte ausgeben an I2C-Bus , Rückgabewert = Acknoledgebit = 0 wenn erfolgreich&nbsp; &nbsp; &nbsp; &nbsp;  <br />
// ****************************************************************************************<br />
bit i2c_schreiben (unsigned char byte)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; unsigned char z;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Zähler&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  <br />
&nbsp; &nbsp; &nbsp; &nbsp; bit ack;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Acknoledge-Bit&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; ACC = byte;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Rotationsregister Akku&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; for (z = 8; z != 0; z --)&nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Zähler: serielle Ausgabe von 8 Bit&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SDA = acc7;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Bit7 des Akku ausgeben&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; zeit&nbsp; &nbsp; &nbsp; &nbsp; ();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SCL = 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Daten sind gültig&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; asm {0x23};&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Akku links schieben<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //ACC = _crol_ (ACC,1);&nbsp; &nbsp; &nbsp; &nbsp; // links rotieren, Funktion von intrins.h&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; zeit&nbsp; &nbsp; &nbsp; &nbsp; ();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SCL = 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Datenausabe beendet&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; zeit&nbsp; &nbsp; &nbsp; &nbsp; ();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; SDA = 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Leitung freigeben für Acknoledge-Bit&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit&nbsp; &nbsp; &nbsp; &nbsp; ();<br />
&nbsp; &nbsp; &nbsp; &nbsp; SCL = 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Slave kann bestätigen&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit ();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // warten&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; ack = SDA;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Acknoledge-Bit lesen&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit&nbsp; &nbsp; &nbsp; &nbsp; ();<br />
&nbsp; &nbsp; &nbsp; &nbsp; SCL = 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Slave soll Ackn-Ausgabe beenden&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; return (ack);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Acknoledge-Bit ist Rückgabewert der Funktion&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; ack = 0 bedeutet &quot;verstanden&quot; !!!!!!&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
<br />
//*****************************************************************************************<br />
// * Byte einlesen vom I2C-Bus. Bei Ack=1 wird Acknoledgebit gesendet, sonst nicht<br />
// *****************************************************************************************<br />
unsigned char i2c_lesen (bit ack)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; unsigned char z,byte;<br />
&nbsp; &nbsp; &nbsp; &nbsp; SDA = 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Leitung freigeben (high) für Daten&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; for (z = 8; z != 0; z --)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Zähler: serielles Einlesen von 8 Bit&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SCL = 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Daten sind gültig&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; zeit&nbsp; &nbsp; &nbsp; &nbsp; ();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; acc7 = SDA;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Datenbit in den Akku&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; asm {0x23};&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Akku links schieben <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ACC = _crol_ (ACC,1);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // links rotieren, Funktion von intrins.h&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //P2_7 = SDA;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; zeit();&nbsp; &nbsp; &nbsp; &nbsp;  <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SCL = 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Daten lesen beendet&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; zeit();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; byte = ACC;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Eingelesenes Byte&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  <br />
&nbsp; &nbsp; &nbsp; &nbsp; if (ack == 1)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {SDA = 0;}&nbsp; &nbsp; &nbsp; &nbsp; // Acknowledge-Bit senden&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else&nbsp; &nbsp; &nbsp; &nbsp; {SDA = 1;}&nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; kein Acknowledge-Bit&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit&nbsp; &nbsp; &nbsp; &nbsp; ();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; SCL = 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Ackn. gültig&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit&nbsp; &nbsp; &nbsp; &nbsp; ();<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; SCL = 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Ackn. beendet&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit&nbsp; &nbsp; &nbsp; &nbsp; ();<br />
&nbsp; &nbsp; &nbsp; &nbsp; SDA = 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Leitung SDA vorbereiten für Stoppbed.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; zeit ();<br />
&nbsp; &nbsp; &nbsp; &nbsp; return (byte);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; eingelesenes Byte = Rückgabewert&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp;  }<br />
&nbsp;  <br />
//************************** ADU und DAU- Funktionen *************************************<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
//*****************************************************************************************<br />
// * AD-Umsetzter einlesen, Kanal = Nr des ADU: 0,1,2,3<br />
// *****************************************************************************************<br />
unsigned char ain (unsigned char kanal)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; unsigned char wert;<br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_init ();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; I2C-Bus initialisieren&nbsp; &nbsp; &nbsp; &nbsp; (Grundzustand)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_start ();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Startbedingung I2C-Bus ausgeben&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_schreiben (adr_schreib);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Adresse des IC und Schreibwunsch (zur Kanalwahl)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_schreiben ( (kanal&amp;0x03) | contr_ain);&nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Controll-Byte mit Kanalnummer&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_stop ();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Stoppbedingung I2C-Bus ausgeben&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_start ();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Startbedingung I2C-Bus ausgeben&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_schreiben (adr_lies);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Adresse des IC und Lesewunsch&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp;<br />
&nbsp;  i2c_lesen (1);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; neue AD-Wandlung&nbsp; &nbsp; &nbsp; &nbsp; Acknoledge = 1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; wert = i2c_lesen (0);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Wert abholen&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Acknoledge&nbsp; &nbsp; &nbsp; &nbsp; =0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_stop ();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Stoppbedingung I2C-Bus ausgeben&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; return (wert);<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
//*****************************************************************************************<br />
// * An DA-Umsetzer&nbsp; &nbsp; &nbsp; &nbsp; wert ausgeben<br />
// *****************************************************************************************<br />
void aout (unsigned char wert)<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_init ();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; I2C-Bus initialisieren&nbsp; &nbsp; &nbsp; &nbsp; (Grundzustand)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_start ();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Startbedingung I2C-Bus ausgeben&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_schreiben (adr_schreib);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Adresse ADU&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_schreiben (contr_ain);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Control-Byte acu für Analogwert einlesen&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_schreiben (wert);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Wert ausgeben&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; i2c_stop ();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; &nbsp; &nbsp; Stoppbedingung I2C-Bus ausgeben&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
<br />
void main (void)&nbsp; &nbsp; &nbsp; &nbsp; // Hauptprogramm<br />
{<br />
unsigned char wert;&nbsp; &nbsp;  //Definition Variable wert&nbsp;  <br />
unsigned char swert;&nbsp; &nbsp; //Definition Variable swert zum abfragen<br />
P0=0x00;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Port0 - Port3 als Ausgang deklarieren<br />
P1=0x00;<br />
P2=0x00;<br />
P3=0x00;<br />
while(1)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //While Schleife<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; P3_1=1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  //linke weiße LED ausschalten<br />
&nbsp; &nbsp; P3_3=1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  //linke rote LED ausschalten<br />
&nbsp; &nbsp; P3_5=1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  //rechte rote LED ausschalten<br />
&nbsp; &nbsp; P3_7=1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  //rechte linke LED ausschalten<br />
&nbsp; &nbsp; wert = ain(0);&nbsp; &nbsp; &nbsp; //Kanal 0 einlesen und auf wert schreiben<br />
&nbsp; &nbsp; P0 = ~wert;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //wert auf P0 schreiben <br />
&nbsp; &nbsp; swert=wert&amp;0x80;&nbsp; &nbsp; //swert = wert mit 80 Hex &quot;und&quot;-Verknüpft<br />
&nbsp; &nbsp; switch(swert)&nbsp; &nbsp; &nbsp;  // abfrage von swert<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; case 0x80: rueckwaerts(); //Wenn swert = 80 Hex dann führe das Programm rückwärtsfahren aus<br />
&nbsp; &nbsp; break;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  // Break um die Abfragen von einander zu trennen<br />
&nbsp; &nbsp; default: vorwaerts(); break; // Wenn swert ungleich 80 Hex dann führe das Programm vorwärtsfahren aus<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; wert = ain(1);<br />
&nbsp; &nbsp; P0 = ~wert;<br />
&nbsp; &nbsp; swert=wert&amp;0x80;<br />
&nbsp; &nbsp; switch(swert)<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; case 0x80: rueckwaerts();<br />
&nbsp; &nbsp; break;<br />
&nbsp; &nbsp; default: vorwaerts();&nbsp; break;<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; wert = ain(2);<br />
&nbsp; &nbsp; P0 = ~wert;<br />
&nbsp; &nbsp; swert=wert&amp;0x80;<br />
&nbsp; &nbsp; switch(swert)<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; case 0x80: rueckwaerts(); <br />
&nbsp; &nbsp; break;<br />
&nbsp; &nbsp; default: vorwaerts(); break;<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
}<br />
<br />
void vorwaerts (void)&nbsp; //Unterprogramm Vorwärtsfahren<br />
{<br />
&nbsp; &nbsp; Motor1 = vor;&nbsp; &nbsp; &nbsp; &nbsp; // die höherwertige 1 ist der Enable Pin<br />
&nbsp; &nbsp; Motor2 = vor;&nbsp; &nbsp; &nbsp; &nbsp; // die niederwertige 1 ist die Richtung des Motors<br />
}<br />
<br />
void rueckwaerts (void) //Unterprogramm Rückwärtsfahren<br />
{<br />
&nbsp; &nbsp; unsigned char hinten_abfrage;<br />
&nbsp; &nbsp; hinten_abfrage = ain(3);<br />
&nbsp; &nbsp; if(hinten_abfrage&gt;=0x40)<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; drehen();<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; else<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; stop();&nbsp; &nbsp; &nbsp; &nbsp;  // Sprung ins Unterprogramm stop<br />
&nbsp; &nbsp; P3_1=0;&nbsp; &nbsp; &nbsp; &nbsp;  // LED links weiß an<br />
&nbsp; &nbsp; P3_3=1;&nbsp; &nbsp; &nbsp; &nbsp;  // LED links rot aus<br />
&nbsp; &nbsp; P3_5=1;&nbsp; &nbsp; &nbsp; &nbsp;  // LED rechts rot aus<br />
&nbsp; &nbsp; P3_7=0;&nbsp; &nbsp; &nbsp; &nbsp;  // LED rechts weiß an<br />
&nbsp; &nbsp; Motor1 = zurueck; // Motoren nach hinten fahren lassen<br />
&nbsp; &nbsp; Motor2 = zurueck;&nbsp; &nbsp; <br />
&nbsp; &nbsp; speaker();&nbsp; &nbsp; &nbsp; // Unterprogramm für den Piepser<br />
&nbsp; &nbsp; drehen();&nbsp; &nbsp; &nbsp;  // Verzweigungs ins Unterprogramm drehen<br />
&nbsp; &nbsp; }<br />
}<br />
<br />
void drehen (void)&nbsp; &nbsp; &nbsp; // Unterprogramm drehen<br />
{<br />
&nbsp; &nbsp; double long x;&nbsp; &nbsp; &nbsp; // Variable x mit einem großen Datenbereich adressieren<br />
&nbsp; &nbsp; Motor1 = zurueck;&nbsp; &nbsp; // Motor 1 rückwärts fahren lassen<br />
&nbsp; &nbsp; Motor2 = vor;&nbsp; &nbsp; // Motor 2 vorwärts fahren lassen<br />
&nbsp; &nbsp; for(x=0;x&lt;2100;x++);&nbsp; &nbsp; // Warteschleife in der x hochgezählt wird<br />
}<br />
<br />
void stop(void) // Unterprogramm stop &amp; rote LEDS an<br />
{<br />
Motor1=stopp;&nbsp; // Enable pin &amp; Drehrichtungsangabe aus<br />
Motor2=stopp;<br />
P3_3=0;&nbsp; &nbsp; &nbsp; &nbsp;  // LED links rot an<br />
P3_5=0;&nbsp; &nbsp; &nbsp; &nbsp;  // LED rechts rot an<br />
warte(50);&nbsp; &nbsp; &nbsp; // Sprung ins unterprogramm warte mit Übergabe einer Variablen<br />
}<br />
<br />
void speaker (void) // Unterprogamm für die Lautsprecher<br />
{<br />
P3_0=1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  // Lautsprecher an<br />
warte(25);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Sprung ins unterprogramm warte mit Übergabe einer Variablen<br />
P3_0=0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  // Lautsprecher aus<br />
warte(10);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Sprung ins unterprogramm warte mit Übergabe einer Variablen<br />
P3_0=1;<br />
warte(25);<br />
P3_0=0;<br />
}<br />
<br />
void warte(int z)&nbsp; &nbsp; &nbsp; // Unterprogramm fürs Warten<br />
{<br />
int s, x;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  // definieren von Variablen<br />
for(s=z;s&gt;0;s--)&nbsp; &nbsp; &nbsp; &nbsp; // s nimmt den Wert von z an welche vorher übergeben wurde. s wird runtergezählt<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; for(x=2000;x&gt;0;x--);&nbsp; &nbsp; // for schleife in welcher x runtergezählt wird<br />
&nbsp; &nbsp; }<br />
}</code><hr />
</div>Nun meine Frage : wie bekomme ich eine PWM zur Steuerung der Motoren möglichst einfach hin ? Die Motoren werden über einen L298 geschalten.</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>Regnator</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61750-PWM-Frage</guid>
		</item>
		<item>
			<title>Fusion PID und RC Signale Quadrocopter</title>
			<link>http://www.roboternetz.de/community/threads/61746-Fusion-PID-und-RC-Signale-Quadrocopter?goto=newpost</link>
			<pubDate>Mon, 22 Apr 2013 22:16:59 GMT</pubDate>
			<description>Hallo zusammen! 
 
Bin grad beim selbstbau eines Quadrocopters inkl. Software. Es funktioniert schon alles sehr schön, nur ich habe noch keine...</description>
			<content:encoded><![CDATA[<div>Hallo zusammen!<br />
<br />
Bin grad beim selbstbau eines Quadrocopters inkl. Software. Es funktioniert schon alles sehr schön, nur ich habe noch keine Pilotenerfahrung, deswegen stellt mir sich Softwaretechnisch noch die Frage:<br />
Wie werden die Roll- und Nick Werte, die ich vom Sender bekomm, interpretiert? Die Theorie ist klar, drehen sich die beiden Motoren schneller, als die anderen, kippt das Teil und rollt oder nickt.<br />
Nur wie integriere ich das in meine schon funktionierende PID-Regelung?<br />
Spontan sind mir zwei Sachen eingefallen:<br />
<br />
1.) Ich addiere einfach den Wert des Senders auf die PID Werte drauf.<br />
 --&gt; Problem: Für den Regler sind die RC Signale quasi ein Störsignal und der regelt sofort gegen.<br />
<br />
2.) Ich regle beim Schwebeflug meinen Nick- und Rollwinkel auf 0° zur Horizontalen aus. (Winkel aus Komp.filter aus ACC und Gyro)<br />
Die RC Signale wandel ich dann in einen neuen Soll-Winkel um, der PID-Regler regelt dann z.B. auf 20° aus.<br />
--&gt; Funktioniert schon ganz nett, macht man das so?<br />
<br />
Wäre für ein paar Denkanstöße sehr dankbar! :)<br />
<br />
Viele Grüße,<br />
jojoho</div>

]]></content:encoded>
			<category domain="http://www.roboternetz.de/community/forums/26-Allgemeines-zum-Thema-Roboter-Modellbau">Allgemeines zum Thema Roboter / Modellbau</category>
			<dc:creator>jojoho</dc:creator>
			<guid isPermaLink="true">http://www.roboternetz.de/community/threads/61746-Fusion-PID-und-RC-Signale-Quadrocopter</guid>
		</item>
	</channel>
</rss>
