<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Selbstfahrendes Modellauto - Logikfehler]]></title><description><![CDATA[<p>Moin!</p>
<p>Ich nehme derzeit an einem Projekt teil, indem es darum geht eine selbstfahrendes Auto (für einen Parkour) zu programmieren.</p>
<p>Leider ist in meinem Code ein Fehler, doch ich verstehe nicht warum dieser passiert. Hierbei hätte ich gerne eure Hilfe, damit ich ihn selbst beheben kann.</p>
<p>Zum Verständnis, mit der Routine Servoberechnung wird nach einer von einem Professor vorgegebenen Formel der Servovert (also das Einlenken des Autos) berechnet. -10 heißt ganz links und 10 ganz rechts. Durch das Invertieren der Variable m1 wird die gesamte Formel wertmäßig umgedreht und somit das Auto von der ursprünglichen Linksorientierung (negatives Vorzeichen) zur Rechtsorientierung (positives Vorzeichen) und wieder zurück.</p>
<p>abstandlinks, abstandrechts und abstandvorne geben die Distanz des Autos zu einem möglichen Hinderniss der entsprechenden Seite in cm an.</p>
<p>Nun zum Problem an sich. Das Auto fährt in einem Gang los, muss also nur geradeaus fahren. Dabei schlingert es jedoch zwischen der linken und rechten Seite hin und her und färt letzten Endes frontal gegen die rechte Wand.</p>
<p>Durch den Einsatz von Lampen habe ich herausgefunden, dass das Programm immer wieder in die Routine springt, wo auf Rechtsorientierung umgestellt wird. Warum dies geschieht, kann ich mir nicht erklären. Die in der if-Anweisungen angegebenen Bedingungen sind eigentlich nicht erfüllt.</p>
<p>Ich vermute daher einen Logikfehler und bitte um eure Hilfe. Langsam drängt die Zeit.</p>
<pre><code>#include &lt;avr/io.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;

#include &quot;uart.h&quot;
#include &quot;adc.h&quot;
#include &quot;global.h&quot;
#include &quot;zyklus.h&quot;
#include &quot;myFunktions.h&quot;
#include &quot;df.h&quot;
#include &quot;cc-lib.h&quot;

int servoberechnung()
{	
	int servowert = 0;

	if (m1 = 45)
	{
		e = abstandrechts - sollwert;
		ledPB1(1);
	}
	else
	{
		e = abstandlinks - sollwert;
		ledPB1(0);
	}

	servowert = (m1*e)/m2;	//Idealwert durch Funktion ermitteln

	return servowert;
}

void fahren1(void)
{
	//Meine Fahrroutine :))))))))))
	//Linksorientiert!!!	

	if (abstandvorne &gt; 25) //Wenn kein Hinderniss unmittelbar in Sicht
	{
		if (abstandvorne &gt; 130)	//Wenn kein Hindernis zu sehen
		{
			fahr(40);
			servo(servoberechnung());

			if (abstandlinks &lt; 60)	//Wenn die große Kurve und der große Freiraum überwunden wurden, stelle wieder auf linksorientiert um
			{
				m1 = -45;
			}

		}
		else if (abstandlinks &lt; 60 &amp;&amp; abstandrechts &gt; 100)	//Vorne und linke Bande blockiert, aber rechts frei
		{
			fahr(30);
			m1 = 45;	//UMSTELLUNG AUF RECHTSORIENTIERUNG, DURCH INVERTIERUNG DER SERVOBERCHNUNGSVARIABLE
			servo(servoberechnung());
		}
		else	//Wenn Hinderniss vorne in Sicht, bremse ab und halte dich links
		{
			fahr(25);

			if (m1 = 45)	//Wenn Rechtsorientiert, biege links ab wenn Hindernis voraus. Mit Servoberechnung würde er rechts abbiegen und so gegen die Wand fahren
			{
				if (abstandvorne &lt; 40)
				{
					servo(-10);	//Fahre Links
				}
			}
			else	//Wenn Linksorientiert nutze normal die Servoberechnung
			{
				servo(servoberechnung());
			}
		}

	}
	else	//Wenn Hinderniss vorne unmittelbar in Sicht, Vollbremsung					ACHTUNG!!!! DIE SEITEN BEIM ZURÜCK FAHREN SIND GLAUBE ICH VERTAUSCHT, DURCH FALSCHE TESTSTRECKE 31.05.2015
	{	//ZU TUN!!!!!!		Rückwärtsprüfung auch für diagonale Hindernisse!!!!

		//DIES MUSS AUSGEFÜHRT WERDEN BIS DAS RÜCKWÄRTSFAHREN ABGESCHLOSSEN IST!!!!

		if (abstandvorne &lt; 17)	//Vor Auto ist ein Hinderniss
		{
			if (abstandrechts &gt; 13)	//Wenn rechts Platz ist
			{
				servo(-10);
				fahr(-25);

			}
			else if (abstandlinks &gt; 13)	//Wenn links Platz ist
			{
				servo(10);
				fahr(-25);
			}
			else	//Wenn auf beiden Seiten kein Platz ist
			{
				servo(0);
				fahr(-25);

			}

		}
	}
}
</code></pre>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/332984/selbstfahrendes-modellauto-logikfehler</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 06:50:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/332984.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 Jun 2015 21:00:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Thu, 04 Jun 2015 14:10:35 GMT]]></title><description><![CDATA[<p>Moin!</p>
<p>Ich nehme derzeit an einem Projekt teil, indem es darum geht eine selbstfahrendes Auto (für einen Parkour) zu programmieren.</p>
<p>Leider ist in meinem Code ein Fehler, doch ich verstehe nicht warum dieser passiert. Hierbei hätte ich gerne eure Hilfe, damit ich ihn selbst beheben kann.</p>
<p>Zum Verständnis, mit der Routine Servoberechnung wird nach einer von einem Professor vorgegebenen Formel der Servovert (also das Einlenken des Autos) berechnet. -10 heißt ganz links und 10 ganz rechts. Durch das Invertieren der Variable m1 wird die gesamte Formel wertmäßig umgedreht und somit das Auto von der ursprünglichen Linksorientierung (negatives Vorzeichen) zur Rechtsorientierung (positives Vorzeichen) und wieder zurück.</p>
<p>abstandlinks, abstandrechts und abstandvorne geben die Distanz des Autos zu einem möglichen Hinderniss der entsprechenden Seite in cm an.</p>
<p>Nun zum Problem an sich. Das Auto fährt in einem Gang los, muss also nur geradeaus fahren. Dabei schlingert es jedoch zwischen der linken und rechten Seite hin und her und färt letzten Endes frontal gegen die rechte Wand.</p>
<p>Durch den Einsatz von Lampen habe ich herausgefunden, dass das Programm immer wieder in die Routine springt, wo auf Rechtsorientierung umgestellt wird. Warum dies geschieht, kann ich mir nicht erklären. Die in der if-Anweisungen angegebenen Bedingungen sind eigentlich nicht erfüllt.</p>
<p>Ich vermute daher einen Logikfehler und bitte um eure Hilfe. Langsam drängt die Zeit.</p>
<pre><code>#include &lt;avr/io.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;

#include &quot;uart.h&quot;
#include &quot;adc.h&quot;
#include &quot;global.h&quot;
#include &quot;zyklus.h&quot;
#include &quot;myFunktions.h&quot;
#include &quot;df.h&quot;
#include &quot;cc-lib.h&quot;

int servoberechnung()
{	
	int servowert = 0;

	if (m1 = 45)
	{
		e = abstandrechts - sollwert;
		ledPB1(1);
	}
	else
	{
		e = abstandlinks - sollwert;
		ledPB1(0);
	}

	servowert = (m1*e)/m2;	//Idealwert durch Funktion ermitteln

	return servowert;
}

void fahren1(void)
{
	//Meine Fahrroutine :))))))))))
	//Linksorientiert!!!	

	if (abstandvorne &gt; 25) //Wenn kein Hinderniss unmittelbar in Sicht
	{
		if (abstandvorne &gt; 130)	//Wenn kein Hindernis zu sehen
		{
			fahr(40);
			servo(servoberechnung());

			if (abstandlinks &lt; 60)	//Wenn die große Kurve und der große Freiraum überwunden wurden, stelle wieder auf linksorientiert um
			{
				m1 = -45;
			}

		}
		else if (abstandlinks &lt; 60 &amp;&amp; abstandrechts &gt; 100)	//Vorne und linke Bande blockiert, aber rechts frei
		{
			fahr(30);
			m1 = 45;	//UMSTELLUNG AUF RECHTSORIENTIERUNG, DURCH INVERTIERUNG DER SERVOBERCHNUNGSVARIABLE
			servo(servoberechnung());
		}
		else	//Wenn Hinderniss vorne in Sicht, bremse ab und halte dich links
		{
			fahr(25);

			if (m1 = 45)	//Wenn Rechtsorientiert, biege links ab wenn Hindernis voraus. Mit Servoberechnung würde er rechts abbiegen und so gegen die Wand fahren
			{
				if (abstandvorne &lt; 40)
				{
					servo(-10);	//Fahre Links
				}
			}
			else	//Wenn Linksorientiert nutze normal die Servoberechnung
			{
				servo(servoberechnung());
			}
		}

	}
	else	//Wenn Hinderniss vorne unmittelbar in Sicht, Vollbremsung					ACHTUNG!!!! DIE SEITEN BEIM ZURÜCK FAHREN SIND GLAUBE ICH VERTAUSCHT, DURCH FALSCHE TESTSTRECKE 31.05.2015
	{	//ZU TUN!!!!!!		Rückwärtsprüfung auch für diagonale Hindernisse!!!!

		//DIES MUSS AUSGEFÜHRT WERDEN BIS DAS RÜCKWÄRTSFAHREN ABGESCHLOSSEN IST!!!!

		if (abstandvorne &lt; 17)	//Vor Auto ist ein Hinderniss
		{
			if (abstandrechts &gt; 13)	//Wenn rechts Platz ist
			{
				servo(-10);
				fahr(-25);

			}
			else if (abstandlinks &gt; 13)	//Wenn links Platz ist
			{
				servo(10);
				fahr(-25);
			}
			else	//Wenn auf beiden Seiten kein Platz ist
			{
				servo(0);
				fahr(-25);

			}

		}
	}
}
</code></pre>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455699</guid><dc:creator><![CDATA[Nowaepon]]></dc:creator><pubDate>Thu, 04 Jun 2015 14:10:35 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Wed, 03 Jun 2015 21:49:29 GMT]]></title><description><![CDATA[<p>Da fällt erst einmal auf, dass du <a href="http://www.if-schleife.de" rel="nofollow">if-Schleifen</a> benutzt und teilweise Zuweisungen hast, wo vermutlich Vergleiche angebracht wären.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455704</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 03 Jun 2015 21:49:29 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Thu, 04 Jun 2015 07:57:02 GMT]]></title><description><![CDATA[<p>Darf ich deine Antwort als reine Ironie verstehen?</p>
<p>Streng genommen sind if-Anweisungen weder Schleifen noch Abfragen, sondern Verzweigungen.</p>
<p>Falls deine Antwort keine pure Ironie war, so verstehe ich nicht worauf du hinaus möchtest. Bitte erklären.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455721</guid><dc:creator><![CDATA[Nowaepon]]></dc:creator><pubDate>Thu, 04 Jun 2015 07:57:02 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Thu, 04 Jun 2015 08:02:22 GMT]]></title><description><![CDATA[<p>Du selbst hast den Begriff 'if-Schleife' verwendet. Konzentriere dich lieber auf den zweiten Teil von Sepps Antwort und schau dir deine Bedingungen in deinen ifs mal genau an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455723</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 04 Jun 2015 08:02:22 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Thu, 04 Jun 2015 08:50:51 GMT]]></title><description><![CDATA[<p>Aktivier die Warnungen in Deinem Compiler!</p>
<p>Hier z.B. sollte eine Warnung kommen. Siehst Du warum?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main() {
  int i=0;
  if(i=42)
    std::cout &lt;&lt; &quot;komich...&quot;;
  std::cout &lt;&lt; i &lt;&lt; &quot;?!\n&quot;;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2455725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455725</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Thu, 04 Jun 2015 08:50:51 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Thu, 04 Jun 2015 14:09:57 GMT]]></title><description><![CDATA[<p>Ah, danke.</p>
<p>Ich habe aufgrund des vorderen Teils der Antwort die ganze Antwort als Ironie gewertet.</p>
<p>Dann habe ich mich in meinem ersten Post verschrieben - danke für den Hinweis.<br />
Das korrigiere ich gleich.</p>
<p>In zweien der if-Anweisungen habe ich stat zwei Gleichheitszeichen nur eines geschrieben. Das korrigiere ich gleich.</p>
<p>Fällt euch sonst noch etwas auf?<br />
Ich kann alle Änderungen erst am Montag testen, da ich erst dann wieder Zugang zum Auto und zur Teststrecke habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455765</guid><dc:creator><![CDATA[Nowaepon]]></dc:creator><pubDate>Thu, 04 Jun 2015 14:09:57 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Thu, 04 Jun 2015 14:19:33 GMT]]></title><description><![CDATA[<p>Nowaepon schrieb:</p>
<blockquote>
<p>In zweien der if-Anweisungen habe ich stat zwei Gleichheitszeichen nur eines geschrieben. Das korrigiere ich gleich.</p>
<p>Fällt euch sonst noch etwas auf?</p>
</blockquote>
<p>Mit einem Gelichheitszeichen ist das eine Zuweisung. Die Variable hat dann den Wert, auf den du eigentlicch testen wolltest.<br />
Das deckt sich doch ganz gut mit deiner Fehlerbeschreibung.</p>
<p>Schalte den Warnlevel vom Compiler auf Maximum und beachte die Warnungen die dann kommen.<br />
Behandele diese wie Fehler und beseitige deren Ursache.</p>
<p>So ein Fehler (nur ein Gleichheitszeichen bei if) erkennt der Compiler, wenn du ihn läßt.</p>
<p>(Am Besten, du erhöhst den Warnlevel noch bevor du den Fehler beseitigst und schaust dir die Meldung mal an.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455766</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Thu, 04 Jun 2015 14:19:33 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Thu, 04 Jun 2015 14:45:36 GMT]]></title><description><![CDATA[<p>Leider kann ich den Warnlevel nicht erhöhen, da es sich bei dem Compiler und ein Plugin für ProgrammersNotepad handelt. Dieses wurde uns ebenfalls vorgegeben und wenn ich da Hand anlege zerstöre ich bei meinem Wissensstand darüber wohl mehr, als ich ausbessern würde.<br />
Ich spreche aber den Professor mal darauf an, danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455770</guid><dc:creator><![CDATA[Nowaepon]]></dc:creator><pubDate>Thu, 04 Jun 2015 14:45:36 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Thu, 04 Jun 2015 17:33:55 GMT]]></title><description><![CDATA[<p>Nowaepon schrieb:</p>
<blockquote>
<p>Leider kann ich den Warnlevel nicht erhöhen, da es sich bei dem Compiler und ein Plugin für ProgrammersNotepad handelt. Dieses wurde uns ebenfalls vorgegeben und wenn ich da Hand anlege zerstöre ich bei meinem Wissensstand darüber wohl mehr, als ich ausbessern würde.</p>
</blockquote>
<p>Faule Ausrede.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455785</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 04 Jun 2015 17:33:55 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Thu, 04 Jun 2015 19:36:56 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Nowaepon schrieb:</p>
<blockquote>
<p>Leider kann ich den Warnlevel nicht erhöhen, da es sich bei dem Compiler und ein Plugin für ProgrammersNotepad handelt. Dieses wurde uns ebenfalls vorgegeben und wenn ich da Hand anlege zerstöre ich bei meinem Wissensstand darüber wohl mehr, als ich ausbessern würde.</p>
</blockquote>
<p>Faule Ausrede.</p>
</blockquote>
<p>Leider nein.<br />
Dieses Projekt ist sehr wichtig.<br />
Das verhaue ich mir nicht, indem ich mir den Compiler zerschiesse.<br />
Da frage ich lieber den Professor.<br />
Wenn du sowas direkt beim ersten Mal kannst, ist das ja wunderbar.<br />
Ich kann es jedenfalls nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455797</guid><dc:creator><![CDATA[Nowaepon]]></dc:creator><pubDate>Thu, 04 Jun 2015 19:36:56 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Thu, 04 Jun 2015 21:07:17 GMT]]></title><description><![CDATA[<p>Ich verstehe nicht. Warnungen hindern niemanden daran etwas zu kompilieren, wenn <code>-Werror</code> nicht ebenfalls angegeben wird. Im Zweifelsfall können Warnungen auch als TODO-Liste betrachtet werden, wobei ich diese unmittelbar erledigen würde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455804</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Thu, 04 Jun 2015 21:07:17 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Thu, 04 Jun 2015 21:35:49 GMT]]></title><description><![CDATA[<p>Es geht mir nicht um das Kompilieren als solches.<br />
Sondern um die Konfiguration des Copilers als solches (für einen höheren Warnlevel).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455805</guid><dc:creator><![CDATA[Nowaepon]]></dc:creator><pubDate>Thu, 04 Jun 2015 21:35:49 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Fri, 05 Jun 2015 07:16:08 GMT]]></title><description><![CDATA[<p>Was zum Teufel soll denn da nicht klappen!? Einfach <code>-Wall -Wextra</code> mit angeben? Da geht genau <em>gar nichts</em> schief.</p>
<p>Sorry, aber du bist einfach eine Pussy.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455816</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Fri, 05 Jun 2015 07:16:08 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Fri, 05 Jun 2015 09:51:41 GMT]]></title><description><![CDATA[<p>Grünschnabel halt. Kannste nichts machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455827</guid><dc:creator><![CDATA[shit]]></dc:creator><pubDate>Fri, 05 Jun 2015 09:51:41 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Fri, 05 Jun 2015 11:08:10 GMT]]></title><description><![CDATA[<p>Und wenn Nowaepon gar nicht auf seinem System arbeitet, sondern auf dem des &quot;Professors&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455840</guid><dc:creator><![CDATA[Helmut.Jakoby]]></dc:creator><pubDate>Fri, 05 Jun 2015 11:08:10 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Fri, 05 Jun 2015 12:24:06 GMT]]></title><description><![CDATA[<p>Arcoth schrieb:</p>
<blockquote>
<p>Sorry, aber du bist einfach eine Pussy.</p>
</blockquote>
<p>Sowas von einem Moderator... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> Traurig, Arcoth!</p>
<p>Ich finde, dass seine Aussage legitim ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455844</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Fri, 05 Jun 2015 12:24:06 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Fri, 05 Jun 2015 16:46:09 GMT]]></title><description><![CDATA[<p>theliquidwave schrieb:</p>
<blockquote>
<p>Arcoth schrieb:</p>
<blockquote>
<p>Sorry, aber du bist einfach eine Pussy.</p>
</blockquote>
<p>Sowas von einem Moderator... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> Traurig, Arcoth!</p>
</blockquote>
<p>Dem kann ich mich nur anschließen.<br />
Beleidigend zu werden hilft niemandem.<br />
Das zeugt nur von mangelnder Reife.<br />
Und dabei bist du wahrscheinlich älter als ich.</p>
<p>Ich bin halt noch unerfahren. Dazu stehe ich auch.<br />
Ich lerne gerne Neues. Aber wenn so viel auf dem Spiel steht wie hier und die Zeit nunmal sehr knapp bemessen ist, lasse ich (gerade als &quot;Grünschnabel&quot;) die Finger davon!<br />
Hier geht es um einen Teil meines Abschlusses und den werde ich mir gewiss nicht verhauen, nur weil ich beim umstellen des Compilers Mist baue.<br />
Zudem weist du ja noch nicht einmal was für ein Compiler da benutzt wird (es wird nämlich der Compiler eines anderen Programmes benutzt!) und folglich kann es da leicht zu Komplikationen kommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455870</guid><dc:creator><![CDATA[Nowaepon]]></dc:creator><pubDate>Fri, 05 Jun 2015 16:46:09 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Fri, 05 Jun 2015 18:23:50 GMT]]></title><description><![CDATA[<p>theliquidwave schrieb:</p>
<blockquote>
<p>Sowas von einem Moderator... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> Traurig, Arcoth!</p>
</blockquote>
<p>Nö, finde ich nicht. :p</p>
<blockquote>
<p>Und dabei bist du wahrscheinlich älter als ich.</p>
</blockquote>
<p>Wahrscheinlich nicht, und wenn dann nicht mehr als ein, zwei Jahre. Ich schaff's schon irgendwie meine Unreifheiten zu kompensieren.<br />
Ich finde es jedoch nicht unreif dich als Angsthasten zu bezeichnen, ich hatte eher gehofft es würde eine Trotzreaktion provozieren. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Ist die IDE so undurchdringbar strukturiert dass solche Änderungen einen Bluescreen auslösen können?</p>
<blockquote>
<p>Aber wenn so viel auf dem Spiel steht wie hier und die Zeit nunmal sehr knapp bemessen ist, lasse ich (gerade als &quot;Grünschnabel&quot;) die Finger davon!</p>
</blockquote>
<p>Ich habe bereits erwähnt, dass man da wirklich nicht viel falsch machen kann. Das Plugin wird Einstellungen haben: Du schaust wo dort entweder Warnungen, Flags, Optionen etc. angegeben werden können.</p>
<blockquote>
<p>Zudem weist du ja noch nicht einmal was für ein Compiler da benutzt wird (es wird nämlich der Compiler eines anderen Programmes benutzt!) und folglich kann es da leicht zu Komplikationen kommen.</p>
</blockquote>
<p>Nein. Es gibt schlicht und einfach keine Komplikation. Wenn du eine Konfigurations-Änderung ausprobierst und es 'nicht klappt', nimmst du einfach den letzten Schritt zurück.<br />
Probier' nach diesem Schema rum. Falls es gar nicht klappen will, wäre ich sogar bereit mir das Programm und das Plugin zu holen, <em>nur um dir einen Gefallen zu tun</em>. Bin ich nett, was? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Na gut, wenn du's lassen willst, lass es. Es hilft schließlich nur dir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455880</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Fri, 05 Jun 2015 18:23:50 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Fri, 05 Jun 2015 22:29:08 GMT]]></title><description><![CDATA[<p>Tja, mit Beleidigungen löst man bei mir nur Abneigung aus.</p>
<p>Hier ein Foto des Plugins:<br />
<a href="https://www.mediafire.com/convkey/894e/6c9mjlu7dlgx7vc6g.jpg" rel="nofollow">https://www.mediafire.com/convkey/894e/6c9mjlu7dlgx7vc6g.jpg</a></p>
<p>Da gibt es keine Einstellungsmöglichkeiten. Der Punkt &quot;Options&quot; ist nur für die Standardeinstellungen des Hauptprogrammes.<br />
Ich glaube auch nicht, dass du dir die IDE mit Plugin so einfach besorgen kannst.<br />
Wir haben diese als fertige Datei von besagtem Professor bekommen und dieser hat das Plugin meines Wissens selbst entwickelt.</p>
<p>Im Programm WinAVR selbst kann man auch nicht umstellen.<br />
Und wo man nix einfach per Option umstellen kann, muss man in den Code eingreifen. Und ab diesem Punkt wird es gefährlich. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455912</guid><dc:creator><![CDATA[Nowaepon]]></dc:creator><pubDate>Fri, 05 Jun 2015 22:29:08 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Fri, 05 Jun 2015 23:26:55 GMT]]></title><description><![CDATA[<p>mal bei<br />
tools -&gt; option (-&gt; iwas in richtung compiler)<br />
geguckt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455914</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 05 Jun 2015 23:26:55 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Fri, 05 Jun 2015 23:27:13 GMT]]></title><description><![CDATA[<p>Zeig mal bitte in &quot;Options&quot; den Menüpunkt &quot;Tools&quot;. BTW, der Compiler und die IDE gibts hier: <a href="https://sourceforge.net/projects/winavr/files/" rel="nofollow">https://sourceforge.net/projects/winavr/files/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455915</guid><dc:creator><![CDATA[patrick246]]></dc:creator><pubDate>Fri, 05 Jun 2015 23:27:13 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Fri, 05 Jun 2015 23:51:12 GMT]]></title><description><![CDATA[<p>Nowaepon schrieb:</p>
<blockquote>
<p>Da gibt es keine Einstellungsmöglichkeiten. Der Punkt &quot;Options&quot; ist nur für die Standardeinstellungen des Hauptprogrammes.</p>
</blockquote>
<p>Das sollte es beabtworten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p><a href="https://www.mediafire.com/convkey/915a/i06y37uwpar323b6g.jpg" rel="nofollow">https://www.mediafire.com/convkey/915a/i06y37uwpar323b6g.jpg</a></p>
<p>Unter Extensions gibt es einen CTags Tagger.<br />
Unter Project Tools gibt es nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455917</guid><dc:creator><![CDATA[Nowaepon]]></dc:creator><pubDate>Fri, 05 Jun 2015 23:51:12 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Sat, 06 Jun 2015 07:17:01 GMT]]></title><description><![CDATA[<p>Nowaepon schrieb:</p>
<blockquote>
<p>Tja, mit Beleidigungen löst man bei mir nur Abneigung aus.</p>
</blockquote>
<p>Gut. Da fehlten wohl die Ironie- und Pädagogik-Tags.... Bleib uns trotzdem erhalten! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Du hast ja schon gesagt, dass Du Deinen Prof wegen der Warnungen fragen wirst: mach das!<br />
Allerdings kann ein wenig rumspielen mit den Tools die Du benutzen musst nicht schaden. Das ganze ist schließlich keine schwarze Magie. (Das gilt auch, wenn die gesuchten Einstellungen nicht über die Oberfläche machbar sind.)</p>
<p>Übrigens: würfelst Du die Zahlen in Deinem Code? Ich erkenne da kein System. Das solltest Du noch ändern.<br />
Z.B. könntest Du Funktionen schreiben: wie <code>linksfrei() rechtsfrei()</code> o.ä.. Aber <code>abstandlinks &lt; 60</code> ?! <code>servo(-10)</code> ? Absolut unverständlich!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455923</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Sat, 06 Jun 2015 07:17:01 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Sat, 06 Jun 2015 09:59:17 GMT]]></title><description><![CDATA[<p>Nowaepon schrieb:</p>
<blockquote>
<p>Tja, mit Beleidigungen löst man bei mir nur Abneigung aus.</p>
</blockquote>
<p>Ich hab' dich kein e.g. Arschloch genannt, sondern dich lediglich geneckt. Da gibt's 'nen großen Unterschied.</p>
<blockquote>
<p>Ich glaube auch nicht, dass du dir die IDE mit Plugin so einfach besorgen kannst.</p>
</blockquote>
<p>Nein, aber ich kann die Anleitung lesen (du hoffentlich auch!). Es scheint als ob du Makefiles ändern musst.</p>
<p>Gut, das ist tatsächlich gar nicht so trivial, aber schau'n wir mal wie das geht: Es gibt in deinem Projektordner irgendwo eine sog. <em>Makefile</em>, in der es eine Option namens CFLAGS oder <code>CXXFLAGS</code> gibt. Sie könnte so aussehen (das Beispiel ist nicht vorbildlich):</p>
<pre><code>CFLAGS = -g -std=c++11 -funsigned-char
</code></pre>
<p>Dort fügst du einfach (ggf. vorne) die bereits erwähnten Warnflags, <code>-Wall</code> und <code>-Wextra</code> , an.</p>
<p>Nebenbei: Verdammt, die Schreiber dieses Plugins waren wohl doof. Oder zumindest nicht vertraut mit Korrekturlesen.</p>
<blockquote>
<p>You may or may not have used other <strong>compilers</strong>, but most have a <strong>nice simple GUI and a 'compile' button</strong>.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2455926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455926</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Sat, 06 Jun 2015 09:59:17 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Sat, 06 Jun 2015 10:41:23 GMT]]></title><description><![CDATA[<p>Um in Beleidigungen Ironie zu sehen muss ich den Text hören oder den Schreiberling kennen (also schon öfter mit ihm geschrieben haben).<br />
Sonst lässt sich soetwas nur aus dem Zusammenhang erkennen und dieser ist bei einem Einzeiler nicht gegeben.</p>
<p>Natürlich kann ich ausprobieren an dem Makefile rumzuspielen.<br />
Allerdings weis ich aus eigener Erfahrung das dies leicht zum totalen Kollaps führen kann. Ich arbeite schließlich schon seit gut einem Jahr mit Mikrocontrollern.<br />
Es ist natürlich nix das man nicht überwinden kann, aber wie schon weiter oben geschrieben steht hier halt viel auf dem Spiel.<br />
Darum frage ich da lieber den Professor.</p>
<p>[quote=Furble Wurble]Übrigens: würfelst Du die Zahlen in Deinem Code? Ich erkenne da kein System. Das solltest Du noch ändern.<br />
Z.B. könntest Du Funktionen schreiben: wie linksfrei() rechtsfrei() o.ä.. Aber abstandlinks &lt; 60?! servo(-10)? Absolut unverständlich![/quote]</p>
<p>Keine der Zahlen ist gewürfelt. Zudem wird an unterschiedlichen Stellen des Programmes auch ein unterschiedlicher Abstand benötigt.<br />
Wenn ich dies wie von dir vorgeschlagen auslagere, wird der Code zum Einen nur größer und die Logik zum Anderen nur unverständlicher (auf den ersten Blick).<br />
Bei &quot;abstandlinks &lt; 60&quot; muss die linke Bande nicht frei sein, sondern vorhanden sein. Bei &quot;servo(-10)&quot; werden die Räder so eingestellt, dass sie maximal nach links eingeschlagen sind.<br />
Die einzigen Zahlen die noch optimiert werden müssen sind die Abstände für die Umstellung zur Rechtsorientierung. Aufgrund des defekten Programmes konnte ich diese noch nicht testen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455929</guid><dc:creator><![CDATA[Nowaepon]]></dc:creator><pubDate>Sat, 06 Jun 2015 10:41:23 GMT</pubDate></item><item><title><![CDATA[Reply to Selbstfahrendes Modellauto - Logikfehler on Sat, 06 Jun 2015 11:32:36 GMT]]></title><description><![CDATA[<p>Nowaepon schrieb:</p>
<blockquote>
<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Übrigens: würfelst Du die Zahlen in Deinem Code? Ich erkenne da kein System. Das solltest Du noch ändern.<br />
Z.B. könntest Du Funktionen schreiben: wie linksfrei() rechtsfrei() o.ä.. Aber abstandlinks &lt; 60?! servo(-10)? Absolut unverständlich!</p>
</blockquote>
<p>Keine der Zahlen ist gewürfelt. Zudem wird an unterschiedlichen Stellen des Programmes auch ein unterschiedlicher Abstand benötigt.<br />
Wenn ich dies wie von dir vorgeschlagen auslagere, wird der Code zum Einen nur größer und die Logik zum Anderen nur unverständlicher (auf den ersten Blick).<br />
Bei &quot;abstandlinks &lt; 60&quot; muss die linke Bande nicht frei sein, sondern vorhanden sein. Bei &quot;servo(-10)&quot; werden die Räder so eingestellt, dass sie maximal nach links eingeschlagen sind.<br />
Die einzigen Zahlen die noch optimiert werden müssen sind die Abstände für die Umstellung zur Rechtsorientierung. Aufgrund des defekten Programmes konnte ich diese noch nicht testen.</p>
</blockquote>
<p>Irgendwann kommst Du natürlich nicht um &quot;Magic numbers&quot; herum, aber der Code, den ich sehe scheint noch recht abstrakt. Und natürlich sind die Zahlen nicht gewürfelt, sondern Expertenwissen, das ich nicht habe. Und am schlimmsten: wenn Ihr den Motor oder Abstandssensor am Modellauto tauscht ändern sich die Zahlen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Es mag jetzt gekünstelt scheinen, aber sieh den Unterschied:</p>
<pre><code class="language-cpp">if (abstandvorne &lt; 17)  //Vor Auto ist ein Hinderniss
        {
            if (abstandrechts &gt; 13) //Wenn rechts Platz ist
            {
                servo(-10);
                fahr(-25);

            }
            else if (abstandlinks &gt; 13) //Wenn links Platz ist
            {
                servo(10);
                fahr(-25);
            }
            else    //Wenn auf beiden Seiten kein Platz ist
            {
                servo(0);
                fahr(-25);

            }

        }
</code></pre>
<pre><code class="language-cpp">if (einschlag_absehbar()) {
       if(linksfrei())
              links();
       else if (rechtsfrei())
              rechts();
       else
              geradeaus(); // kann nicht links, kann nicht rechts...viel Glueck!

       vollbremsung();
     }
</code></pre>
<p>Das sieht ein wenig unbeholfen aus, aber ich hoffe Du erkennst worauf ich hinaus will.</p>
<p>Wie dem auch sei: schade, dass Ihr keine Simulation für das Auto habt... Dass Du Dich am Samstag mit Deinem Projekt beschäftigst aber nicht testen kannst, ist doof.<br />
(Das wäre mal ein schönes Opensource-Projekt für's Forum!) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2455936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2455936</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Sat, 06 Jun 2015 11:32:36 GMT</pubDate></item></channel></rss>