Hallo ich habe ein Problem. Wir haben in der Schule ein Fach welches NWT heißt und da haben wir gerade das Thema Mikrocontroller. Wir benutzen das Programm Basic Stamp und einen Basic Stamp 1. Unsere Aufgabe ist es ein " Auto " zu programmieren der Hindernissen ausweichen kann. Ich habe es so überlegt.Das Auto hat 1 Taster , 2 Motore , 1 servo und ein basic stamp 1 . Das Problem ist, das wenn ich den Motor anschliese der Servo sich auch mitbewegt . Hier ist das Programm das ich geschrieben habe : ' {$STAMP BS1} OUTPUT 1 OUTPUT 2 OUTPUT 3 OUTPUT 4 FOR B5=0 TO 1 PULSOUT 5, 180 PAUSE 20 NEXT B5 start: IF PIN0=1 THEN weiter: PIN1=1 PIN2=0 PIN3=0 PIN4=1 PAUSE 20 GOTO start weiter: PIN1=0 PIN2=1 PIN3=1 PIN4=0 PAUSE 500 FOR B5=0 TO 1 PULSOUT 5, 180 PAUSE 20 NEXT B5 GOTO start END Ich hoff ihr könnt verstehen was ich meine.
:
Gesperrt durch Moderator
>>Ich hoff ihr könnt verstehen was ich meine.
Ohne zu wissen wie du die Motoren etc. an den Basicstamp angeschlossen
hast und das Programm deiner Meinung nach funktionieren soll, können wir
das leider nicht.
1. Schaltplan 2. welcher µC - es gibt tausende ... das ist so wie wenn ich dir sag mein Motor am Auto ist kaputt - gib mir mal nen neuen aber ich sag dir nicht welches Auto ich hab .... 3. goto sind eigentlich "verboten" - das ist schrecklich ... nutze Funktionen oder Subs 4. Welche Entwicklungsumbegubg. 5. Datenblatt vom µC 6. Was für Motoren? Welche Ansteuerung (PWM)? 7. Servo wo ist der angeschlossen? 8. Ist der Spaß richtig verkabelt?
Lehrmann Michael schrieb: > 3. goto sind eigentlich "verboten" - das ist schrecklich ... nutze > Funktionen oder Subs Andere Schleifenkonstrukte als FOR...NEXT gibt es bei der Basic Stamp 1 m.W. nicht, auch keine strukturierten IF-Anweisungen, deswegen darfst du den GOTO nicht einfach verbieten ;-)
http://lehrerfortbildung-bw.de/faecher/nwt/fb/mikro/ bitte dem link folgen und einen Schaltplan zu zeichnen weis ich nicht daher habe ich es anders gemacht
oha sorry dann muss ich mich entschuldigen - ich hab nur schon schöne Erfahrungen mit tollen Sprunganweisungen gemacht (nicht auf Basic Stamp1) ... darum stellen sich mir da alle Haare zu Berge =) SORRY
bin verwirrt . Noch so als Zusatzinfo : Ich bin ein Schüler und habe von Technik nicht so viel Ahnung .
Das ist hier keine Servicehotline. Da wirst du dich wohl ein wenig gedulden müssen. Und warum beschäftigt sich ein Schüler mit wenig technischen Wissen mit sowas? Sag bitte nicht, dass du das lernen willst. MFG Falk
Hallo Ahmet. Am Besten gehst du strategisch vor. D.h. erstmal testest du die Verkabelung indem du ein kleines Programm schreibst, dass nur den linken Motor anmacht. Dann den rechten. Den Servo z.B. abwechselnd von links nach rechts fahren lassen. Zum Schluss den Taster testen, z.B. den Motor laufen lassen solange der Taster gedrückt ist. Wenn du das gemacht hast meldest du dich wieder hier und es geht weiter.
Zwei Punkte, die vielleicht mit dem Problem zusammenhängen könnten: 1. In deiner Skizze sieht es so aus, als würde der Servo mit 9V versorgt. Die üblichen Modellbauservos laufen aber doch an 5-6V? 2. Vielleicht solltest am Anfang des Programms mit OUTPUT 5 den Servo-Pin auf Ausgang schalten. Da ich keine Erfahrung mit Basic-Stamps habe, kann ich nicht viel mehr dazu sagen. Euer Lehrer hat aber sicher mehr Ahnung, wenn er euch diese, für Anfänger nicht ganz einfache Aufgabe bearbeiten lässt. Vielleicht kann er euch weiterhelfen.
Mal kurz drüber geschaut ... der Servo ist vermutlich falsch angeschlossen. Beim Servo mit JR-Stecker befindet sich der +-Pol immer in der Mitte des Steckers - aus sicherheitstechnischen Gründen. Das Impulssignal liegt auf einem gelben/orangenen oder braunen Kabel, während das schwarze Kabel Masse ist. Servos werden normalerweise mit max. 6V versorgt. Also an Vdd (5V) anschliessen. Der Mikrocontroller steuert dann über einen seiner Pins (in diesem Fall 5 ?) den Servo auf der Impulsleitung (gelb). Informiere dich über die JR-Steckerbelegung von Servos: http://www.toeging.lednet.de/flieger/profi/stecker/stecker.htm
Echt danke an alle ich werds mal machen und ich entschuldige mich dafür dass ich so stress gemacht habe. Wir müssen des halt am Montag abgeben und des Problem ist dass der Lehrer auch nicht kann. Aber egal ich werde eure Tipps mal versuchen danke nochmals .
Es wurde gesagt dass ich es an vdd anschließen soll anstatt vin . Aber der Lehrer hat gesagt durch Vin kommen die ganzen Informationen. Soweit ich weis kommen die info´s durch die pins . @Falk Brunner Ich habe technisches Wissen wenn es um Pc´s geht aber nicht über so etwas.
ich habe beim servo das braune an vss, das rote an vdd/vin und das gelbe an pin5 angeschlossen
Aber wenn ich vdd benutze dreht sich der servo gar net . Mit vin dreht der sich aber halt zu einem falschen Zeitpunkt.
Ahmet-yildirim schrieb: > Es wurde gesagt dass ich es an vdd anschließen soll anstatt vin . Aber > der Lehrer hat gesagt durch Vin kommen die ganzen Informationen. Soweit > ich weis kommen die info´s durch die pins . Dein Servo hat ein Kabel mit 3 Leitungen Das rote Kabel kommt an + (+6V). Das ist die Versorgungsspannung der Elekronik und des Motors im Servo Das schwarze Kabel kommt an Masse (-). Die braucht man immer, weil sie das Bezugspotential der verschiedenen Elektroniken darstellt. Über das gelbe Kabel laufen die Signalimpulse, die dem Servo mitteilen, wie es sich stellen soll. So, und nicht anders wird ein Servo angeschlossen. Ich werde leider aus deiner Zeichnung nicht ganz schlau, was du wie verkabelt hast und auf dem Photo ist durch den Drahtverhau so gut wie nichts zu erkennen. Aber der Tip mit der schrittweisen Inebtriebnahme ist gut. Den solltest du auf jeden Fall beherzigen.
In dieser Einführung steht allerdings, dass der 5V-Spannungsregler des Boards nur max. 50mA abgeben kann: http://lehrerfortbildung-bw.de/faecher/nwt/fb/mikro/anleitunga_mikrocontroller210v4.pdf Das ist ein bisschen wenig für einen Servo, weshalb wahrscheinlich die Empfehlung kam den 9V Anschluss zu benutzen. Die hätten dem Teil wirklich einen stärkeren Spannungsregler spendieren können ...
Tja typisch g8. Da ham sie keine Ahnung was sie machen und wir sind die Versuchskaninchen. naja Wie es aussieht soll ichs jetzt mit vin machen. Mit diesem Programm habe ich es gemacht : ' {$STAMP BS1} OUTPUT 5 FOR B5=1 TO 10 PULSOUT 5, 180 PAUSE 20 NEXT B5 END Mit diesem geht es auch. Was ist denn der Unterschied ? Ich habe bemerkt, dass es mit dem unteren etwas besser geht. ' {$STAMP BS1} OUTPUT 5 start: PULSOUT 5, 180 PAUSE 20 GOTO START END
Dieser Code lässt den Servo an eine bestimmte Position fahren:
1 | PULSOUT 5, 180 |
2 | PAUSE 20 |
Allerdings schafft es der Servo in der kurzen Zeit (20ms von PAUSE 20) nicht diese Position zu erreichen. Also senden wir ihm das Kommando 10mal:
1 | FOR B5=1 TO 10 |
2 | PULSOUT 5, 180 |
3 | PAUSE 20 |
4 | NEXT B5 |
Schon besser. Noch besser wir senden es ihm ständig:
1 | start: |
2 | PULSOUT 5, 180 |
3 | PAUSE 20 |
4 | GOTO START |
Daher geht die zweite Möglichkeit besser. Weiter Verbesserungen: Versuche mal die Pause kürzer zu machen.
Aber wenn ich des zweite mach kann ich ja keine weiteren anweisungen schreiben . Und eine kürzere pause behebt ja auch nicht das Problem das der servo sich von Anfang an dreht . Oder irre ich mich da ?
Tja. Dann hast du ein Problem :-) Fakt ist: Die Regelung im Servo funktioniert nur dann, wenn sie regelmässig Pulse bekommt. Erhält das Servo keine Pulse, dann kann alles mögliche passieren. Aber: du hast ja 20ms Zeit, bis du wieder einen Puls generieren sollst/musst. Das ist für einen µC eine lange Zeit, in der er alles mögliche andere machen kann, zb Eingänge abfragen und davgon abhängig Motoren ein/aus schalten. Das dauert vielleicht 1 ms, d.h. wenn du es so machst:
1 | Schleife: |
2 | |
3 | PULSOUT 5, Servoposition |
4 | |
5 | if Eingänge abfragen und |
6 | davon abhängig Motoren ein/ausschalten |
7 | |
8 | PAUSE 19 |
9 | |
10 | GOTO Schleife |
dann macht dein Programm mehr oder weniger beides gleichzeitig: Motoren ansteuern UND Servo ansteuern. Kein Mensch sagt, dass du in den Wartezeiten nicht auch noch andere Dinge tun darfst.
Ah ok danke . meinst du dass so ? ------------------- SCHLEIFE : PULSOUT 5, 180 PAUSE 2 IF PIN5=1 THEN weiter: PAUSE 19 GOTO Schleife WEITER: PIN1=1 PIN2=0 PIN3=1 PIN4=0 GOTO SCHLEIFE -------------------- pin5=servo pin1,2,3,4=motor
Ahmet Yildirim schrieb: > Ah ok danke . > meinst du dass so ? Probiers aus. Du bist der Programmierer.
ok mach ich . aber ich schließe ja auuh noch einen taster an, damit es wenn es betätigt wir din eine andere richtung lenkt.und wie muss ich es dann machen ?
ja schon aber ich will es ja auch nicht lernen. Am Montag müssen wir das abgeben und ich habs nunmal nicht und der verdammte Lehrer hat uns nicht gesagt , dass der 5V-Spannungsregler des Boards nur max. 50mA abgeben kann und dass die 9-Volt zu viel für den Servo sind. Und jetzt krieg ich die 6 .
und wahrscheinlich bist du auch der festen meinung, dass wir daran schuld sind...
Ahmet Yildirim schrieb: > Ah ok danke . > meinst du dass so ? > ... Ja, das ist schon mal ein sehr guter Ansatz. Setz den im Programm um.
Ahmet Yildirim schrieb: > ja schon aber ich will es ja auch nicht lernen. Das soll dich aber nicht daran hindern, ein wenig nachzudenken. Du arbeitest hier auf einem Level, der extrem einfach ist. Die schwierigen Sachen sind dir schon alle abgenommen worden. Wenn du zum Arzt gehen musst und dort 1 Stunde warten musst und gelichzeitig solltest du auch einen Aufsatz schreiben, was machst du dann Gehst du zum Arzt, sitzt die Zeit ab und schreibst danach den Afsatz oder nutzt du die Wartezeit um in dieser Zeit deinen Aufsatz zu schreiben. Wenn dein µC alle 20ms einen Puls rausschieben soll und der Puls kurz ist, dann hat er von einem Puls zum nächsten eine Menge Zeit, in der er auch noch andere Dinge machen kann. zb überprüfen, ob er wo angefahren ist. > Am Montag müssen wir das > abgeben und ich habs nunmal nicht und der verdammte Lehrer hat uns nicht > gesagt , dass der 5V-Spannungsregler des Boards nur max. 50mA abgeben > kann und dass die 9-Volt zu viel für den Servo sind. Und jetzt krieg ich > die 6 . Das hat aber damit nichts zu tun, dass du kein Programm hast.
@ Werner A. Nein ich hab euch nicht beschuldigt. Nur den Lehrer der etwas von seinen Schülern verlangt, was er selber nicht kann. @ Alexander Schmidt Ich habs versucht es geht nicht . Egal ob ich pin5 (SERVO) auf low stelle oder sonst wie es geht einfaach nicht. Darf das überhaupt ein Lehrer ? Ich hab ihn scho öfters gefragt warum das nicht geht. Und er hat sich irgendwie rausgeredet. Letzer Versuch. Falls sich jemand mit dieser Programmiersprache auskennt und mit helfen will : Also ich habe so gedacht : Auto fährt unendlich gerade aus bis etwas (ein Gegenstand) gegen den Taster drückt. Dann fährt Auto für ein paar Sekunden zurück. Dreht sich nach links. Und alles beginnt von Vorne.
@ Karl heinz Buchegger ich danke dir dass du versuchst mir zu helfen , aber ich krieg dass nicht hin. Ich sitz heut scho seit 4 Stunden vor dem Sche**s und krieg es nicht hin . Ich habe alles versucht. "Wenn dein µC alle 20ms einen Puls rausschieben soll und der Puls kurz ist, dann hat er von einem Puls zum nächsten eine Menge Zeit, in der er auch noch andere Dinge machen kann. zb überprüfen, ob er wo angefahren ist. " Das krieg ich halt nicht hin was du da oben geschrieben hast . ich heul gleich eh ;-(
Ich denke dein Hauptproblem ist * das dich das eigentlich nicht interessiert * du alles auf einmal machen willst gegen das erste ist kein Kraut gewachsen. Ist nun mal so. Aber gegen das 2te kann man was tun. Sieh nicht die Aufgabe als ganzes. "Auto das auf komplizierte Weise einem Hindernis ausweichen kann" Sondern arbeite in Stufen. Erst mal muss das Auto fahren Das programmierst du Dann soll das Auto bei einem Hinderniss stehen bleiben Du erweiterst das Programm so, dass es das tut Dann soll das Auto nicht nur gerade aus fahren, sondern von mir aus in Schlangenlinien (5 Sekunden rechts rum, 5 Sekunden links rum) Du änderst dein Programm entsprechend um ..... Du musst dir einen Stufenplan zurechtlegen, wie du von ganz einfach Sachen dich immer mehr in Richtung endgültige Lösung bewegst.
Das Problem hierbei ist ja nicht die Software sonder die Hardware. Der Basic stamp gibt dem Servo zu viel Strom und der denkt er wäre high und dreht durch. Wenn ich aber ein Widerstand oder so davor lege geht dann Motor nicht.
Ahmet Yildirim schrieb: > Ich habs versucht es geht nicht . Egal ob ich pin5 (SERVO) auf low > stelle oder sonst wie es geht einfaach nicht. Du meinst das hier
1 | start: |
2 | PULSOUT 5, 180 |
3 | PAUSE 20 |
4 | GOTO START |
Wieso eigentlich 180? Was besagen die 180 an dieser Stelle? Die Servoimpulse sollen zwischen 1 und 2 Millisekunden lang sein. Wo da die 180 her kommen, ist mir nicht ganz klar.
Ahmet Yildirim schrieb: > Das Problem hierbei ist ja nicht die Software sonder die Hardware. Mag sein, dass es noch Hardwareprobleme gibt. Aber das eigentliche Problem bist du. > Der > Basic stamp gibt dem Servo zu viel Strom und der denkt er wäre high und > dreht durch. Quatsch. Das macht noch nicht mal elektronisch Sinn. Der Basic Stamp 'gibt' dem Servo maximal Spannungspulse, aber sicher keinen Strom.
180 steht dafür dass sich der servo am anfang gerade hinrichtet . Siehe Anhang.Ich hab auf 180 gestellt weil der Servo direkt beim Einschalten durchdreht .180 sorgt dafür dass der Servo gerade bleibt.
Ein simples
1 | PULSOUT Pin, Dauer |
2 | Wobei Dauer in 10µs Einheiten angegeben wird |
hätte es auch getan :-) OK. 180 sind dann 1800µs oder 1.8ms das ist ok. Wie hast du das Servo jetzt verkabelt? Welche Farbe ist wo angeschlossen? (rot : +5V schwarz: Masse (-) gelb: Pin 5, dort wo der Impuls rauskommt ) Wenn du die 180 durch andere Werte ersetzt, im Bereich von etwa 80 bis vielleicht 220, bewegt sich dann das Servo in die entsprechende Position?
Ahmet Yildirim schrieb: > ich habe es wie auf dem bil gelb zu pin 5, rot zu vin und braun zu vss. ok. Wenn vin die +6V sind und vss die Masse, dann passt das. Also: Dein Servo muss jetzt schon reagieren
1 | start: |
2 | PULSOUT 5, 180 |
3 | PAUSE 20 |
4 | GOTO START |
wenn du andere Werte als 180 einsetzt, dann muss das Servo jeweils in die entsprechende Poition fahren. PS: Hat jemand einen Schaltplan für diese Basic-Stamp. Wo kommt die Aussage her, dass die Stromversorgung nur max. 50mA abkann?
Ralf schrieb: > Das ist ein bisschen wenig für einen Servo, weshalb wahrscheinlich > die Empfehlung kam den 9V Anschluss zu benutzen. Die hätten > dem Teil wirklich einen stärkeren Spannungsregler spendieren können ... von Ralf kam des naja . Ja es dreht sich in die entsprechene Richtung (Nur wenn ic nicht angeschlossen)
apropo schaltplan villeicht hilft dir das http://lehrerfortbildung-bw.de/faecher/nwt/fb/mikro/anleitunga_mikrocontroller210v4.pdf die letzte seite fehlt da aber die hab ich ja vorhin hochgeladen.
Ahmet Yildirim schrieb: > Ralf schrieb: >> Das ist ein bisschen wenig für einen Servo, weshalb wahrscheinlich >> die Empfehlung kam den 9V Anschluss zu benutzen. Die hätten >> dem Teil wirklich einen stärkeren Spannungsregler spendieren können ... > > von Ralf kam des naja . Ja es dreht sich in die entsprechene Richtung Gut. das ist schon mal was. Also: Servo geht prinzipiell > (Nur wenn ic nicht angeschlossen) Welches IC? Meinst du den Motortreiber? Das IC kannst du schon anschliessen, aber den Motor noch nicht. Wenn das IC am Stamp hängt, darf sich an der Funktion des Servos nichts ändern.
Ahmet Yildirim schrieb: > apropo schaltplan villeicht hilft dir das > > http://lehrerfortbildung-bw.de/faecher/nwt/fb/mikro/anleitunga_mikrocontroller210v4.pdf Nö. Da ist kein Schaltpln drinnen. Aber ich habe einen Verdacht: Wenn du dir den Antriebsmotor ansiehst, sind da an den Anschlüssen kleine Kondensatoren? (Ich denke, dass der Motor ev. nicht entstört ist) Alternativ: Hast du ein paar kleine Kondensatoren da?
ja ic = motortreiber anschlißen geht schon aber wenn ich dann basic starte dreht der servo einfach durch und motor auch . ich glaub des liegt daran dasss beide an vin angeschlossen sind
Probier mal dieses Programm aus
1 | SYMBOL Servo = 5 |
2 | SYMBOL Motor1 = 1 |
3 | SYMBOL Motor2 = 2 |
4 | |
5 | OUTPUT Servo |
6 | OUTPUT Motor1 |
7 | OUTPUT Motor2 |
8 | |
9 | B0 = 100 |
10 | |
11 | Haupt: |
12 | |
13 | PULSOUT Servo, B0 |
14 | |
15 | LOW Motor1 |
16 | HIGH Motor2 |
17 | |
18 | B0 = B0 + 5 |
19 | IF B0 > 220 THEN NoReset |
20 | B0 = 100 |
21 | |
22 | NoReset: |
23 | PAUSE 20 |
24 | |
25 | GOTO Haupt |
Das schaltet einen Motor ein und lässt gleichzeitig das Servo langsam von einem Anschlag zum anderen fahren. (Zumindest sollte es das. Hab mir die Einzelteile aus deinen Unterlagen zusammengesucht)
Ja es geht einigermaßen : Es sieht so aus . WENN ICH auf on drücke dreht sich der servo zu einer bestimmten stelle und der motor fährt dann los :-) wie es aussieht gibt es noch hoffnung un dzu den kondensatoren wozu brauch ich das ?
Ahmet Yildirim schrieb: > un dzu den kondensatoren wozu brauch ich das ? Lass das noch mit den Kondensatoren. Die Prämisse ist, dass die Hardware grundsätzlich in Ordnung ist. Solange wir das Gegenteil nicht beweisen können, ist das immer noch die Arbeitsgrundlage.
Ahmet Yildirim schrieb: > Ja es geht einigermaßen : Was heist einigermassen? Der Ablauf muss sein:; Während sich der Hauptmotor dreht, geht das Servo langsam vom einem Anschalg zum anderen. Dort angelengt fährt es wieder schnell an den ursprünglichen Anschlag zurück und beginnt wieder mit dem langsamen wandern.
ok danke erstmals der erste teil wäre geschafft . wir müssen aber 180 einstellen damit der servo am anfang gerade fährt und nicht schräg wenn wwir dass haben muss ich noch einen taster anschliesen (das krieg ich hin) und dan if pin0=1 then zurück fahren (2SEC.) dann nahc links goto von vorne würde das so gehen ?
also , es ist so der motor springt an dann dreht sich der servo zu der stellen und dann vibriert der servo an der gleichen stelle und gleichzeitig fährt motor p.s. kann man hier auch videos hochladen dann könnte ich es dir zeigen
Ahmet Yildirim schrieb: > ok danke erstmals der erste teil wäre geschafft . Also funktioniert deine Hardware doch :-) > wir müssen aber 180 > einstellen damit der servo am anfang gerade fährt ja. macht ja nichts > und nicht schräg wenn > wwir dass haben muss ich noch einen taster anschliesen (das krieg ich > hin) und dan if pin0=1 then zurück fahren (2SEC.) dann nahc links goto > von vorne würde das so gehen ? Du denkst schon wieder viel zu kompliziert und in 5 Sprüngen auf einmal. Eins nach dem anderen. Lass dein Auto geade aus fahren. Wenn es auf ein Hindernis stösst soll es stehen bleiben.
wo hast du eingestellt dass es sich nach links dreht denn ich seh kein pulsout 5, 150 oder so ? pulsout servo , b0
taster angeschlossen Aber ich glaube da ist ein Fehler drin denn nur ein Motor fährt . Aber ich glaub zu wissen wo der Fehler ist du hast geschrieben low motor 1 und high motor 2 . aber motor 1 hat pin1 und pin2 angeschlossen und motor zwei hat pin3 + 4 angeschlossen aber der motor fährt nur wenn eines der pins bei einem motor high ist . und wenn beide low sind wie bei motor2 dann fährt es nicht oder ?
Ahmet Yildirim schrieb: > taster angeschlossen > Aber ich glaube da ist ein Fehler drin denn nur ein Motor fährt . Aber > ich glaub zu wissen wo der Fehler ist du hast geschrieben low motor 1 > und high motor 2 . aber motor 1 hat pin1 und pin2 angeschlossen und > motor zwei hat pin3 + 4 angeschlossen aber der motor fährt nur wenn > eines der pins bei einem motor high ist . und wenn beide low sind wie > bei motor2 dann fährt es nicht oder ? Genau. Für jeden Motor gibt es 2 Pins. Sind beide 0, bewegt sich der Motor nicht Sind beide 1, bewegt sich der Motor auch nicht Ist einer 0 und der andere 1, dreht sich der Motor in eine Richtung Ist einer 1 und der andere 0, dreht sich der Motor in die andere Richtung
aber wenn du low motor1 machst werden doch die dazugechörenden pins (1+2) doch auch low und dann fährt motor1 doch nicht ? denn in der realität fährt nur ein motor ?!?
Ahmet Yildirim schrieb: > aber wenn du low motor1 machst werden doch die dazugechörenden pins > (1+2) doch auch low und dann fährt motor1 doch nicht ? Schau doch noch einmal genau. Ich mach ja nicht nur LOW Motor1 sondern auch HIGH Motor2 und mittels SYMBOL Motor1 = 1 SYMBOL Motor2 = 2 sind Motor1 und Motor2 mit den Pins für EINEN Motor verbunden. OK. Da ich nicht wusste, wie du das verkabelt hast, hab ich halt einfach mal was angenommen, damit was weitergeht. Besser wäre es so SYMBOL MotorLinks_1 = 1 SYMBOL MotorLinks_2 = 2 SYMBOL MotorRechts_1 = 3 SYMBOL MotorRechts_2 = 4 Jetzt steht dann da LOW MotorLinks_1 HIGH MotorLinks_2 und damit ist klar, dass sich das nur auf einen Motor, den linken, bezieht. (wenn jetzt links und rechts vertauscht ist, dann musst du nur bei den SYMBOL die richtigen Pins eintragen) Wenn der rechte Motor auch laufen soll, dann muss da natürlich auch noch LOW MotorRechts_1 HIGH MotorRechts_2 hin. Dann dreht der ebenfalls (ob vorwärts oder rückwärts hängt wieder von deiner Verkabelung ab)
Karl heinz, ich glaube bei deinem Beispielcode gibts einen Fehler: >> B0 = B0 + 5 >> IF B0 > 220 THEN NoReset >> B0 = 100 >> >>NoReset: >> PAUSE 20 Deshalb meinte Ahmet, dass der Servo "vibriert". Müsste "IF B0 < 220" heissen, wenn ich das richtig sehe.
bist du sicher ziegenpeter denn als ich es umgkehrt hatte ist es ganz nach links und dann ganz nach recht gegangen und immer wieder also schlimmer als davor
Ziegenpeter schrieb: > Karl heinz, ich glaube bei deinem Beispielcode gibts einen Fehler: > >>> B0 = B0 + 5 >>> IF B0 > 220 THEN NoReset >>> B0 = 100 >>> >>>NoReset: >>> PAUSE 20 > > Deshalb meinte Ahmet, dass der Servo "vibriert". > Müsste "IF B0 < 220" heissen, wenn ich das richtig sehe. Ah, ja Danke für die Korrektur Die Denke war: Wenn am Anschlag dann reset. Da hab ich mich aber dann mit diesem goto verhaut. Blödsinnige Rumspringerei. Wenigstens 1 Anweisung hätten sie ihm schon im THEN Zweig erlauben können.
http://tinypic.com/player.php?v=311xamf&s=5 bitte auf ink klicken wenn ich das programm draufspiele sieht es so aus wie auf dem video
Ahmet Yildirim schrieb: > http://tinypic.com/player.php?v=28grv38&s=5 > > und so sieht es aus wenn der pfeil so rum ist > Oh Mann. Bitte drück dich richtig aus! Ich hab 2 Minuten gebraucht, bis ich drauf gekommen bin, dass du mit "Pfeil so rum >" das vergleichende 'größer' im Gegensatz zum 'kleiner' meinst. a < b ist die Fragestellung: Ist a kleiner als b ? Konkret hier IF B0 > 220 THEN Weiter liest sich im Klartext: Wenn der Wert in der Variablen B0 größer als 220 ist, dann geht die Programmausführung an der Stelle 'Weiter' weiter. Richtig wäre aber gewesen, wie Ziegenpeter korrekt angemerkt hat, IF B0 < 220 THEN Weiter weil nur das das unmittelbar danach folgende Rücksetzen von B0 auf 100 verhindert, wenn B0 kleiner als 220 ist. Das Rücksetzen soll ja nur erfolgen, wenn B0 schlussendlich irgendwann größer als 220 wird. Programmieren hat auch sehr viel damit zu tun, dass man sich klar und deutlich ausdrückt. Seit ich das Wort "Dings" kenne, kann ich alle Gegegnstände richtig benennen.
Ahmet Yildirim schrieb: > http://tinypic.com/player.php?v=311xamf&s=5 > > > bitte auf ink klicken wenn ich das programm draufspiele sieht es so aus > wie auf dem video Ja das ist ja auch richtig so. Genau das war ja der Test: Ein Motor läuft und das Servo fährt von einer Endlage in die andere. OK, das das so schnell fährt hätte ich nicht gedacht, aber das lässt sich ändern, indem man B0 nicht um 5 sondern immer nur um 1 erhöht. Aber prinzipiell war das das erwartete Verhalten (wenn das Programm korrekt gewesen wäre)
Ja ich mein halt wie sollt ich fortfahren ? So besser ? Denn ich will ja nicht dass des sich hin und her dreht sondern an einer Stelle bleibt bis ich ein anderes Befehl gebe.
@Karl heinz Buchegger: Auch um 1 zu erhöhen wird noch recht schnell sein, weil dann der gewollte "langsame" Schwenk nur 2,4 Sekunden dauert :-) 220 - 100 = 120 Schritte zu je 20ms 120 * 0,02s = 2,4 Aber ja es zeigt das Funktionieren der Ansteuerung auf. @ Ahmet Yildirim du hattest doch schon eher geschrieben, dass du den Taster anschließen willst. Ist der schon dran? Auch wenn noch nicht im Programm. Wenn ja kannst du mal versuchen die Zeile mit dem Erhöhen (B0 = B0 + 5 ) nur auszuführen wenn der Taster gedrückt ist.
Wenn ich das jetzt so mache : ' {$STAMP BS1} SYMBOL Servo = 5 SYMBOL Motor1 = 1 SYMBOL Motor2 = 2 OUTPUT Servo OUTPUT Motor1 OUTPUT Motor2 B0 = 100 Haupt: PULSOUT Servo, B0 LOW Motor1 HIGH Motor2 IF PIN0=1 THEN nachste: END Nachste: B0 = B0 + 5 IF B0 > 220 THEN NoReset B0 = 100 NoReset: PAUSE 20 GOTO Haupt Klappt das nicht , denn der Servo dreht dann wieder durch. Hab ich da villeicht ein Programmierfehler ?
Oh falsche Programm so müsste es heißen : ' {$STAMP BS1} SYMBOL Servo = 5 SYMBOL Motor1 = 1 SYMBOL Motor2 = 2 OUTPUT Servo OUTPUT Motor1 OUTPUT Motor2 start: IF PIN0=1 THEN nachste: GOTO Start: END Nachste: B0 = 100 Haupt: PULSOUT Servo, B0 LOW Motor1 HIGH Motor2 B0 = B0 + 5 IF B0 > 220 THEN NoReset B0 = 100 NoReset: PAUSE 20 GOTO start
Oh tut mir echt Leid das hier ist die letze Variante : ' {$STAMP BS1} SYMBOL Servo = 5 SYMBOL Motor1 = 1 SYMBOL Motor2 = 2 OUTPUT Servo OUTPUT Motor1 OUTPUT Motor2 start: IF PIN0=1 THEN nachste: GOTO Start: END Nachste: B0 = 100 Haupt: PULSOUT Servo, B0 LOW Motor1 HIGH Motor2 B0 = B0 + 5 IF B0 > 220 THEN NoReset B0 = 100 NoReset: PAUSE 20 GOTO Haupt
Jetzt gehe mal dein Programm im Kopf durch und überlege, was es macht wenn du den Taster NICHT drückst. Noch zwei Tpps am Rande: 1. achte auf Groß und klein Schreibung, vor allem bei deinen Sprungmarken 2. bei einem Controller sollte ein Programm nie zu einem Ende kommen
Ich hätte gesagt : ' {$STAMP BS1} SYMBOL Servo = 5 SYMBOL Motor1 = 1 SYMBOL Motor2 = 2 OUTPUT Servo OUTPUT Motor1 OUTPUT Motor2 start: IF PIN0=1 THEN nachste: LOW Motor1 HIGH Motor2 PAUSE 2 GOTO start Nachste: B0 = 100 Haupt: PULSOUT Servo, B0 LOW Motor1 HIGH Motor2 B0 = B0 + 5 IF B0 > 220 THEN NoReset B0 = 100 NoReset: PAUSE 20 GOTO Haupt Ich habe Pause 2 geschrieben , da es alle 0,02 Sekunden prüfen soll ob pin0=1 ist
Ist dir aufgefallen, dass dein Programm niewieder zum start zurückkerht, sobald einmal der Taster gedrückt wurde? Damit du den Überblick behälst solltest du dir vielleicht auf einen Blatt Papier mal die möglichen Zustände aufzeichnen. Mach also lauter Vierecke. In jedem Viereck steht drin, welcher Motor an ist und welchen Wert der Servo benötigt. Dann überlegst du dir bei welchen Ereignissen du von welchen Viereck zu einen anderen Viereck gehst. Zu Beginn solltest du als Übung erst einmal das Programm von Karl heinz Buchegger auf diese Weise darstellen. Dann kannst du dieses Bild und auch dein Programm Schritt für Schritt ausbauen. @alle anderen: meint ihr nicht dass man vor dem Programmieren erst einmal lernnen sollte logisch und in Algorithmen zu denken? Auch wenn das die Aufgabe des Lehrers gewäre. Wir durften in unseren ersten Schulstunden die mit Programmierung zu tun hatten (damals noch auf KC85,) uns erst einmal Zähne putzen und Schnürsenkel binden, das ist kein Witz.
1 | B0 = 100 |
2 | |
3 | Haupt: |
4 | |
5 | PULSOUT Servo, B0 |
6 | |
7 | LOW Motor1 |
8 | HIGH Motor2 |
9 | |
10 | B0 = B0 + 5 |
11 | IF B0 > 220 THEN NoReset |
12 | B0 = 100 |
Die Sache mit dem B0, dem Erhöhen, der Abfrage auf 220 und Rücksetzen auf 100 hab ich doch nur deswegen gemacht, damit sich das Servo rührt. Das war Testcode weil du am Anfang geschrieben hast, dass dein Servo unkontrolliert zuckt, wenn du den Motor einschaltest! Das war nie dafür gedacht im eigentlichen Programm zu bleiben! Damit wollte ich einfach nur einen bestimmten Sachverhalt (Servo zuckt wenn Motor ein) abklären, mehr nicht!
TManiac schrieb: > @alle anderen: > meint ihr nicht dass man vor dem Programmieren erst einmal lernnen > sollte logisch und in Algorithmen zu denken? Stark dafür. > Auch wenn das die Aufgabe > des Lehrers gewäre. Wir durften in unseren ersten Schulstunden die mit > Programmierung zu tun hatten (damals noch auf KC85,) uns erst einmal > Zähne putzen und Schnürsenkel binden, das ist kein Witz. Glaub ich dir. Viele Tätigkeiten des täglichen Lebens sind algorithmisch schwierig zu beschrieben, wenn man alle Details mitnimmt. Wenn du einen richtigen Albtraum haben willst, dann beschreibe im Detail alles was du tun und beachten musst (wenn geht mit Formeln) um von einem Sessel aufzustehen, zum Fenster zu gehen und es zu schliessen. Hört sich banal an, aber alleine mit dem Part 'vom Sessel aufstehen' kannst du Monate verbringen.
@ alle andere echt respekt dass ihr versucht mir zu helfen echt stark . Das hab ich bei einem Forum noch nie erlebt. Werde euch auf jedenfall weiterempfehlen (vielleicht auch mal meinem Lehrer der statt lehren auch mal lernen sollte ) ein kleines Problem gibt es dennoch es fährt nur ein Motor. Das hatte ich schon vorhin geschrieben . Es gab aber keine Antwort . und @ Karl heinz Buchegger Dass der Befehl nur zum Testen war hab ich jetzt mitgekriegt aber anders geht es ja auch nicht besser zu als gar nicht. Ich werde mal dann das ganze Programm schreiben . Ist ja nicht mehr viel . Ich werde es dann posten .
Ist das so richtig ? ' {$STAMP BS1} SYMBOL Servo = 5 SYMBOL Motor1 = 1 SYMBOL Motor2 = 2 OUTPUT Servo OUTPUT Motor1 OUTPUT Motor2 start: IF PIN0=1 THEN nachste: B0=180 PULSOUT SERVO, B0 LOW Motor1 HIGH Motor2 PAUSE 2 GOTO start Nachste: B0 = 100 Haupt: PULSOUT Servo, B0 LOW Motor1 HIGH Motor2 B0 = B0 + 5 IF B0 > 220 THEN NoReset B0 = 100 PAUSE 300 GOTO start NoReset: PAUSE 20 GOTO start
Ahmet Yildirim schrieb: > ein kleines Problem gibt es dennoch es fährt nur ein Motor. Das hatte > ich schon vorhin geschrieben . Es gab aber keine Antwort . Lies nochmal hier Beitrag "Re: Mikrocontroller"
Ahmet Yildirim schrieb: > Ist das so richtig ? > Es ist ganz einfach :-) Lade es auf deinen Stamp und lass es laufen. Tut es das was du willst: Die Chancen stehen nicht schlecht. Tut es nicht das was du willst: Du hast mit Sicherheit einen Fehler
Das hier ist offenbar die Hauptschleife, die ständig laufen soll
1 | start:
|
2 | |
3 | IF PIN0=1 THEN nachste: |
4 | |
5 | B0=180 |
6 | PULSOUT SERVO, B0 |
7 | |
8 | LOW Motor1 |
9 | HIGH Motor2 |
10 | PAUSE 2 |
11 | GOTO start |
mal eine kurze Frage: Wie lange dauert ein Durchlauf durch die Schleife. So ungefähr. Oder anders ausgedrückt: Wie lange dauert es von einem PULSOUT zum nächsten? (wieder: so ungefähr) Und wie lange soll es dauern (und warum soll es in etwa so lange dauern)
also wenn ich einschalte dreht es sich gerade und fährt gerade aus . schonmal alles ok ;-) und wenn ich auf den taster drücke dreht es sich nach links und wenn ich taster loslasse wieder nach vorne . das problem hierbei ist dass wenn ich draufdrück es zuerst 2 sek nach hinten fahren soll und dann nach links und dann goto start. dass mit dem zurückfahren geht nicht.
Wenn du dir nicht sicher bist und den Überblick verlierst: Druck dir das Programm aus und spiel selber Computer. Nimm einen Bleistift und leg ihn neben die erste Zeile. Und dann führst du genau das aus, was dort steht. Genau das und nur das! Wenn in der Zeile eine Berechnung steh, dann mach die Berechnung, wenn da ein Goto steht, dann schieb den Bleistift auf das entsprechende Label, etc. Für Variablen schreibst du dir am Zettel die Werte auf (Variablennamen daneben hinschreiben). Du bist jetzt der Computer und arbeitest das Programm ab. So kommst du am Besten auf Logikfehler drauf.
@ Karl heinz Buchegger es dauert unendlich es fährt ja solange gerade aus bis pin0=1 ist.
Ahmet Yildirim schrieb: > @ Karl heinz Buchegger > es dauert unendlich es fährt ja solange gerade aus bis pin0=1 ist. OK. Eien Freiheit hast du: Für Input Pins darfst du von Zeit zu Zeit annehmen, dass sie auch mal 1 werden, dass also der Taster auch mal gedrückt wird. Aber immer schön daran denken: Was du als Mensch in ein paar Sekunden abarbeiten kannst, erledigt dein µC in Sekundenbruchteilen. Aber im Grunde gehts gar nicht darum. Es geht zb darum, dass du beim 'Rückwärtsfahren' nie die Motoren auf rückwärts stellst. Da du das nicht siehst, musst du eben dein Programm durchgehen in der Hoffnung das es dir auffällt wenn du zu den High Und Low Anweisungen kommst (und du darüber nachdenkst, was den die entsprechenden High und Low an den Motor Pins eigentlich bewirken) Es geht darum, dass du deine Gedanken in eine zielgerichtete Richtung bringst. Es geht darum, dass du aufhörst Anweisungen zu erraten und stattdessen anfängst darüber nachzudenken, was die Kette von Anweisungen tatsächlich bewirkt. Da du das so noch nicht hinkriegst, ist es eine gute Methode einfach mal selber µC zu spielen und am eigenen Leib zu erleben, was die Anweisungen eigentlich machen.
Ich habe soweit ich kann verbessert (nur ab haupt komm ich etwas ducheinander) : ' {$STAMP BS1} SYMBOL Servo = 5 SYMBOL Motor1 = 1 SYMBOL Motor2 = 2 SYMBOL Motor3 = 3 SYMBOL Motor4 = 4 OUTPUT Servo OUTPUT Motor1 OUTPUT Motor2 start: B0=180 PULSOUT SERVO, B0 start2: IF PIN0=1 THEN nachste: DEBUG "ok" HIGH Motor1 LOW Motor2 HIGH Motor3 LOW Motor4 DEBUG "2" PAUSE 2 GOTO start2 Nachste: B0 = 100 Haupt: PULSOUT Servo, B0 LOW Motor1 HIGH Motor2 LOW Motor3 HIGH Motor4 PAUSE 200 B0 = B0 + 5 IF B0 > 220 THEN NoReset B0 = 100 PAUSE 300 GOTO start NoReset: PAUSE 20 GOTO start
So . Ich habs Schritt für Schritt gemacht wie gesagt wurde und so sieht es dann aus : (Der Servo dreht am Anfang wieder durch und ich gleich auch. Was ist denn hier falsch?) ' {$STAMP BS1} SYMBOL Servo = 5 SYMBOL Motor1 = 1 SYMBOL Motor2 = 2 SYMBOL Motor3 = 3 SYMBOL Motor4 = 4 OUTPUT Servo OUTPUT Motor1 OUTPUT Motor2 start: B0=100 PULSOUT SERVO, B0 start2: IF PIN0=1 THEN nachste: PULSOUT Servo, B0 HIGH Motor1 LOW Motor2 HIGH Motor3 LOW Motor4 PAUSE 200 B0 = B0 + 5 IF B0 > 180 THEN NoReset2 B0 = 100 PAUSE 300 GOTO start NoReset2: PAUSE 20 GOTO start Nachste: B0 = 100 Haupt: PULSOUT Servo, B0 LOW Motor1 HIGH Motor2 LOW Motor3 HIGH Motor4 PAUSE 200 B0 = B0 + 5 IF B0 > 220 THEN NoReset B0 = 100 PAUSE 300 GOTO start NoReset: PAUSE 20 GOTO start
Einen Hinweis möchte ich dir noch geben Du kennst ja jetzt schon die Arbeitsschleife
1 | irgendwas: |
2 | PULSOUT Servo, Wert_für_die_Richtung |
3 | |
4 | HIGH Motor1 |
5 | LOW Motor2 |
6 | HIGH Motor3 |
7 | LOW Motor4 |
8 | |
9 | PAUSE 20 |
10 | |
11 | GOTO irgendwas |
das ist dein Hauptarbeitspferd. Da drinn werden die Motoren angesteuert (manchmal auch mit vertauschten High/Low damit die Motoren rückwärts laufen) und auch das Servo wird richtig bedient. Ein Durchlauf durch die Schleife dauert rund 20ms. Die paar Zerquetschten für den Servopuls können wir getrost vernachlässigen. Wenn du die Endlosschleife mit dem GOTO durch eine FOR Schleife ersetzt.
1 | FOR B10 = 1 TO 50 |
2 | PULSOUT Servo, Wert_für_die_Richtung |
3 | |
4 | HIGH Motor1 |
5 | LOW Motor2 |
6 | HIGH Motor3 |
7 | LOW Motor4 |
8 | |
9 | PAUSE 20 |
10 | |
11 | NEXT |
dann dauert es daher 50 * 20 = 1000 Millisekunden oder 1 Sekunde, bis du aus der FOR-Schleife rausfällst. Auf die Art kannst du also ganz leicht erreichen, dass eine bestimmte Bewegung eine bestimmte Zeit dauert: Indirekt, indem du den inneren Teil eine bestimmte Anzahl mal ausführen lässt. Da der innere Teil 20ms dauert, kann man die Anzahl der notwendigen Wiederholungen berechnen.
So meinst du das glaub ich . Eine Frage noch . Weißt du wie man es macht und willst es mir nicht sagen damit ich es selber lerne oder wie läuft das gerade ? Jetzt bitte nicht falsch verstehen ;-) ' {$STAMP BS1} SYMBOL Servo = 5 SYMBOL Motor1 = 1 SYMBOL Motor2 = 2 SYMBOL Motor3 = 3 SYMBOL Motor4 = 4 OUTPUT Servo OUTPUT Motor1 OUTPUT Motor2 start: B0=100 PULSOUT SERVO, B0 start2: IF PIN0=1 THEN nachste: PULSOUT Servo, B0 HIGH Motor1 LOW Motor2 HIGH Motor3 LOW Motor4 PAUSE 200 B0 = B0 + 5 IF B0 > 180 THEN NoReset2 B0 = 100 PAUSE 300 GOTO start NoReset2: PAUSE 20 GOTO start Nachste: B0 = 100 Haupt: FOR B10 = 1 TO 50 PULSOUT Servo, B0 LOW Motor1 HIGH Motor2 LOW Motor3 HIGH Motor4 PAUSE 200 B0 = B0 + 5 IF B0 > 220 THEN NoReset B0 = 100 PAUSE 300 NEXT B10 GOTO start NoReset: PAUSE 20 GOTO start
Ahmet Yildirim schrieb: > So meinst du das glaub ich . Eine Frage noch . Weißt du wie man es macht > und willst es mir nicht sagen damit ich es selber lerne oder wie läuft > das gerade ? Jetzt bitte nicht falsch verstehen ;-) Kein Problem. Genau darum geht es. Programmieren ist ein bischen wie Fahrrad fahren. Du kannst es nur lernen, wenn du es selber machst. Sich in Sackgassen zu verrennen, Code zu haben der nicht funktioniert, rumprobieren, das gehört alles mit dazu und ist wichtiger Bestandteil der Lernphase. Klar zeigt man ab und an schon auch mal größere Programmstücke oder eine Beispielimplementierung. Speziell dann, wenn es sich um Sachverhalte handelt, die man nur schlecht in Worte fassen kann, wenn man keine Referenz hat auf die man verweisen kann. Aber gerade am Anfang des Threads hast du das typische Verhalten gezeigt, das hier im Forum des öfteren durchkommt. Einzelne fangen an auszuhelfen und du hast dich zurückgelehnt und erwartet, das du etwas Fertiges präsentiert bekommst, dass du so einfach bei deinem Lehrer abgeben kannst. Anstatt zu arbeiten und die Hilfe als das zu nehmen als was sie gedacht war (Hilfestellung) hättest du dich gerne in die Rolle des Zusehers zurückgezogen, der mitverfolgt, wie sein Projekt Formen annimmt. Man hat das am Ende des 1/3 Drittels des Threads ziemlich deutlich gesehen :-) Aber, du hast jetzt die Kurve gekratzt. Jetzt arbeitest du am Problem und wir geben Hinweise.
ICH MEIN ' {$STAMP BS1} SYMBOL Servo = 5 SYMBOL Motor1 = 1 SYMBOL Motor2 = 2 SYMBOL Motor3 = 3 SYMBOL Motor4 = 4 OUTPUT Servo OUTPUT Motor1 OUTPUT Motor2 start: B0=100 PULSOUT SERVO, B0 start2: IF PIN0=1 THEN nachste: PULSOUT Servo, B0 HIGH Motor1 LOW Motor2 HIGH Motor3 LOW Motor4 PAUSE 20 B0 = B0 + 5 IF B0 > 180 THEN NoReset2 B0 = 100 PAUSE 20 GOTO start NoReset2: PAUSE 20 GOTO start Nachste: B0 = 100 Haupt: FOR B10 = 1 TO 50 PULSOUT Servo, B0 LOW Motor1 HIGH Motor2 LOW Motor3 HIGH Motor4 PAUSE 20 B0 = B0 + 5 IF B0 > 220 THEN NoReset B0 = 100 PAUSE 300 NEXT B10 GOTO start NoReset: PAUSE 20 GOTO start
Einen Hinweis habe ich noch. Versuch deine Labels nach dem zu benennen, was im jeweilighen Abschnitt passiert. Was passiert zb in dem Programmteil, der bei Start: beginnt. Oder bei Nachste: Oder warum heist das Label da unten eigentlich Haupt? Bis jetzt kann ich im Code keine wirkliche Begründung dafür finden. Aber jetzt vergleiche einmal mit
1 | ' {$STAMP BS1} |
2 | |
3 | SYMBOL Servo = 5 |
4 | SYMBOL Motor1 = 1 |
5 | SYMBOL Motor2 = 2 |
6 | SYMBOL Motor3 = 3 |
7 | SYMBOL Motor4 = 4 |
8 | |
9 | OUTPUT Servo |
10 | OUTPUT Motor1 |
11 | OUTPUT Motor2 |
12 | OUTPUT Motor3 |
13 | OUTPUT Motor4 |
14 | |
15 | Vorwarts: |
16 | IF PIN0 = 1 THEN Ausweichen: |
17 | |
18 | PULSOUT SERVO, 180 |
19 | |
20 | HIGH Motor1 |
21 | LOW Motor2 |
22 | HIGH Motor3 |
23 | LOW Motor4 |
24 | |
25 | PAUSE 20 |
26 | GOTO Vorwarts |
27 | |
28 | Ausweichen: |
29 | |
30 | FOR B10 = 1 TO 150 |
31 | |
32 | PULSOUT Servo, 100 |
33 | |
34 | LOW Motor1 |
35 | HIGH Motor2 |
36 | LOW Motor3 |
37 | HIGH Motor4 |
38 | |
39 | PAUSE 20 |
40 | |
41 | NEXT B10 |
42 | |
43 | GOTO Vorwarts |
Ich habe das Label am Anfang "Vorwarts" (Ich hätte es gerne vorwärts genannt, aber Umlaute sind gefährlich :-) genannt, weil genau das passiert: Wenn zu dieser Stelle gesprungen wird, dann sorgt dieser Programmteil dafür, dass das Auto vorwärts fährt. Und das andere Label heißt "Ausweichen", wieder weil genau das an dieser Stelle passiert: Das ist der Codeteil, der einem Hindernis ausweicht. Ausweichen indem die Lenkung eingeschlagen und rückwärts gefahren wird. Wenn das Auto mit Ausweichen fertig ist (wenn die FOR Schleife durch ist), dann gehts wie weiter? GOTO Vorwarts Aha. Das Auto soll wieder vorwärts fahren. Auf die Art erzählt dir der Programmtext viel besser was er tut, was passieren soll und warum es passiert IF PIN0 = 1 THEN Ausweichen: das ist schon fast ein (englisch/deutscher) Satz, der da steht. "Wenn der Taster etwas berührt dann lass uns ausweichen"
ah ok aber wenn ich des so mache ohne des : B0 = B0 + 5 IF B0 > 220 THEN NoReset B0 = 100 PAUSE 300 NEXT B10 GOTO start NoReset: PAUSE 20 dann dreht der servo ja wieder durch ?!
Ahmet Yildirim schrieb: > ah ok aber wenn ich des so mache ohne des : > > B0 = B0 + 5 > IF B0 > 220 THEN NoReset > B0 = 100 > > PAUSE 300 > NEXT B10 > > GOTO start > NoReset: > PAUSE 20 > > dann dreht der servo ja wieder durch ?! Kopfklatsch auf den Tisch. Machmal ist es frustrierend :-) Das hat nicht das Geringste damit zu tun. Die Idee war es hier einfach nur PULSOUT 5, Wert zu haben, wobei sich der Wert ständig ein wenig verändert, damit man sieht ob die Servoansteuerung grundsätzlich funktioniert indem sich das Servo ständig bewegt. Mehr nicht! Du brauchst das in deinem Autoprogramm nicht. Dein Auto kennt nur 2 Lenkeinschläge: Beim Vorwärtsfahren gerade, beim Rückwärtsfahren links einschlagen. Das wars. Mehr muss das Auto nicht lenken. ALles was du tun musst (und das musst du tatsächlich tun) ist, dem Servo in 20ms Abständen einen neuen Puls zu schicken. Selbst dann, wenn sich die Servoposition nicht verändern soll. Aber diesen Puls will es haben. Das heißt für dein Programm: Beim Vorwärtsfahren kriegt das Servo ständig alle 20ms einen Impuls mit 180, der es auf Geradeaus stehen lässt. Beim Rückwärtsfahren kriegt das Servo hingegen ständig einen Impuls, der einen Lenkeinschlag bewirkt. Aber in beiden Fällen kriegt das Servo immer denselben Impuls, weil es mehr nicht braucht.
Ok dann das werde ich mal machen aber für heute ist Schluss bin ja schlieslich Schüler und brauche Schlaf und sollte auch nicht soviel vor dem Pc sitzen . Egal bis morgen .
Aber des von dir geschriebene Programm geht ja auch nicht , weil der servo ja wieder durchdreht???!?
Ja schon aber morgen muss ich das abegen und ich habe noch andere Hausaufgaben zu erledigen . Und sitzt schon seit studen vorm pc . Ich krieg schon ärger von meinen eltern , weil die Fragen wie lang des dauert.
so ich glaub jetzt klappts so halbwegs das ist das Programm : ' {$STAMP BS1} SYMBOL Servo = 5 SYMBOL Motor1 = 1 SYMBOL Motor2 = 2 SYMBOL Motor3 = 3 SYMBOL Motor4 = 4 OUTPUT Servo OUTPUT Motor1 OUTPUT Motor2 OUTPUT Motor3 OUTPUT Motor4 start: IF PIN0=1 THEN AUSWEICHEN: B0=180 PULSOUT SERVO, B0 LOW Motor1 HIGH Motor2 LOW Motor3 HIGH motor4 PAUSE 2 GOTO start Ausweichen: B0=120 PULSOUT SERVO, B0 HIGH Motor1 LOW Motor2 HIGH Motor3 LOW motor4 PAUSE 2 GOTO start und hier ist das dazugechörende video http://tinypic.com/player.php?v=vdl8ur&s=5 Man sieht dass wenn ich es starte es gerade nach vorne fährt und wenn ich drück dass es zurück fährt und abbiegt . Noch ein Problem ich hab gestern eine 9V batterie gekauft und die ist jetzt schon fertig kann das sein ? Ich hab schon 3 Batterien verbraucht.
Ahmet Yildirim schrieb: > Noch ein Problem ich hab gestern eine 9V batterie gekauft und die ist > jetzt schon fertig kann das sein ? Ja, das kann sein. Diese 9V Blöcke sind kapazitätsmässig nicht die stärksten. Und so ein Motor verbraucht schon ein wenig Strom.
Hast du das Video schon angeguckt und das Programm durchgelesen eigentlich stimmt ja alles gell ? Karl heinz Buchegger schrieb: > Ja, das kann sein. > Diese 9V Blöcke sind kapazitätsmässig nicht die stärksten. > Und so ein Motor verbraucht schon ein wenig Strom. Das heist wohl neue Batterien kaufen.(schon die vierte ;-))
> Noch ein Problem ich hab gestern eine 9V batterie gekauft und die ist > jetzt schon fertig kann das sein ? Ich hab schon 3 Batterien verbraucht. das ist durchaus nicht unwahrscheinlich. Schau mal hier http://de.wikipedia.org/w/index.php?title=Batterie im Abschnitt "Baugrößen", und nimm dir da die 9V Blockbatterie. Diese hat (energietechnisch betrachtet) eine "grausig schlechte" Kapazität von 190...330 mAh (Zink-Kohle) [besser gehts mit Alkali-Mangan, ca. 500..600] Naja, bis morgen wirst du vermutlich keine anderen Batterien auftreiben können. [ich hätte hier bei mir (Köln) in der Nähe ein paar "Büdchen", oder könnte zum Hauptbahnhof fahren, aber ob das bei dir auch möglich ist - wer weiß] --> eher sparsam mit den Batterien bzw. deinen "Tests" umgehen. Vielleicht vorher denken, was du sehen möchtets, und dann kurz anschließen ob das was du siehst das ist was du sehen wolltest....
bei mir in der nähe gibt´s ne Tankstelle . kost halt 5,10 aber egal hauptsach keine 6 in nwt. Und was ist mit dem Programm seht ihr irgendwelche Fehler ?
Kann es sein das der Basic stamp zu schwer ist um damit zu fahren ? obwohl darunter 2 motoren sind ?
> Kann es sein das der Basic stamp zu schwer ist um damit zu fahren ?
viewl wahrschenlicher wird es sein, daß deine Batterien (schon) zu
schwach sind, um die Menge an Energie zu erzeugen welche deine Motoren
wegsaugen.
Analogie: Du wirst mit einem Fahrrad auch keinen "dicken" LKW-Anhänger
wegziehen können, egal wie stark du dich in die Pedale stelllst, denn
deine "kleinen Füßchen" schaffen es einfach nicht, genügend Energie zur
Verfügung zu stellen, um zumindest die Rollreibung des LKW-Anhängers zu
überwinden.
Ahmet Yildirim schrieb: > Kann es sein das der Basic stamp zu schwer ist um damit zu fahren ? > obwohl darunter 2 motoren sind ? Eher nicht. Das Problem ist die Batterie. Die kann den Strom nicht liefern, den die Motoren brauchen würden, um das Gefährt anzutreiben. Ach der beste Motor hilft nichts, wenn er keinen 'Brennstoff' bekommt.
Ahmet Yildirim schrieb: > ok aber was mach ich jetzt ? Ich hab ja keine ander wahl !? Prinzipiell schon. Dein Basci Stamp hat ja auch einen Anschluss für ein "richtiges" Netzteil. Das kann dann genügend Strom zur Verfügung stellen.
Ahmet Yildirim schrieb: > Ja Anschluss hats scho aber nur aber wir haben nur ein 6v netzteil > bekommen . Kopfschüttel Du hast ein passendes richtiges Netzteil da und verbrauchst eine (teure *) Batterie nach der anderen? Sonderlich ökonomisch arbeitest du nicht gerade! Hast du schon ausprobiert, ob das Netzteil reicht um die Motoren anzutreiben? Höchst wahrscheinlich reicht das dicke, denn die 9V Batterie wird auch sofort in der Spannung einbrechen, sobald Motor und Servo anfangen Strom zu ziehen. (*) und im Vergleich sind diese 9V-Blöcke unverschämt teuer. Dem Entwickler, der sich das ausgedacht hat, sollte man eine reinhauen dafür.
Netzteil reicht nicht und der Lehrer hat gesagt dass der Motor nicht mit dem Netzteil funktioniert. das kann ich bestätigen . Aber mit einem 9-volt netzteil geht es (habs bei einem frueud getestet).
Ahmet Yildirim schrieb: > bei mir in der nähe gibt´s ne Tankstelle . kost halt 5,10 aber egal > hauptsach keine 6 in nwt. Dafür weisst du jetzt, woher der Spruch "Lehrgeld zahlen" kommt.
Hab einen Bug gefunden . Wenn der taster berührt wird geht der wagen ganz kurz zurück und dann wieder nach vorne . Bitte hilft mal kurz. Ich habe überlegt ob ich villeicht beim 2 part eine For next schleife einbaue ab ausweiche ??!? programm : ' {$STAMP BS1} SYMBOL Servo = 5 SYMBOL Motor1 = 1 SYMBOL Motor2 = 2 SYMBOL Motor3 = 3 SYMBOL Motor4 = 4 OUTPUT Servo OUTPUT Motor1 OUTPUT Motor2 OUTPUT Motor3 OUTPUT Motor4 start: IF PIN0=1 THEN AUSWEICHEN: B0=180 PULSOUT SERVO, B0 LOW Motor1 HIGH Motor2 LOW Motor3 HIGH motor4 PAUSE 2 GOTO start Ausweichen: B0=120 PULSOUT SERVO, B0 HIGH Motor1 LOW Motor2 HIGH Motor3 LOW motor4 PAUSE 2 GOTO start
Ahmet Yildirim schrieb: > Hab einen Bug gefunden . Wenn der taster berührt wird geht der wagen > ganz kurz zurück und dann wieder nach vorne . Bitte hilft mal kurz. Ich > habe überlegt ob ich villeicht beim 2 part eine For next schleife > einbaue ab ausweiche ??!? OK. Ich verstehe, das das alles ein wenig viel für dich ist. Ich hab weiter oben schon mal ein Programm gepostet (das deinem hier frappierend ähnelt :-) Der einzige Unterschied: Es enthält eine FOR-NEXT Schleife im Ausweichen-Teil (und die Pausen sind Servo-Konform auf 20 Millisekunden, anstatt 2 Millisekunden) Was wird diese FOR-NEXT Schleife wohl bewirken und warum habe ich die FOR-NEXT Schleife wohl bis 150 laufen lassen? (Hinweis: Es hat etwas mit dem PAUSE Befehl zu tun)
Habe gerade etwas in den Lehrerunterlagen geschmökert. Zitat: Musikleistung, PMPO: Eine nicht geschützte Bezeichnung, bei jeder einfach irgendetwas misst. Zitat: „Alleine das Vorhandensein einer PMPO-Angabe [ist] ein Merkmal für minderwertige Multimedia-Geräte.“ Man kann es nicht treffender ausdrücken :-)
Ah ok ich habs danke . Aber kann man vileicht einstellen das es zuerst rückwärts dann servo sich dreht ? denn des geht schwer wenn es gegenetwas stößt und dan versuch sich umzurehen ;-)
Karl heinz Buchegger schrieb: > Zitat: > Musikleistung, PMPO: Eine nicht geschützte Bezeichnung, bei jeder > einfach irgendetwas misst. > Zitat: „Alleine das Vorhandensein einer > PMPO-Angabe [ist] ein Merkmal für minderwertige > Multimedia-Geräte.“ ?????? musikleistung ? pmpo ? tut mir leid aber ich komm grad nicht mit .
Ahmet Yildirim schrieb: > Ah ok ich habs danke . Aber kann man vileicht einstellen das es zuerst > rückwärts dann servo sich dreht ? Sicher kann man. Mann muss das nur programmieren. Du hast ja schon rausgefunden, welche Dinge in welcher Reihenfolge passieren sollen, jetzt musst du es nur noch programmieren. (Dafür das das eigentlich die letzte Aufgabe in deinen Unterlagen ist und du eigentlich schon mindestens 10 Programme eigenständig im Laufe des Jahres hättest schreiben müssen und damit ein wenig Übung haben müsstest, stellst du dich nicht besonders 'wissend' an. Was hast du eigentlich das ganze Jahr über gemacht?)
auf welcher seite ist das mit pmpo denn der lehrer hat ein anderes buch und wir ein anderes ;-)
Und wir haben das thema mikrokontroller nur 3 wochen lang nur mal so ;-) Villeicht kennst du das Fach nwt nicht (Gymnasium klasse 10 Baden würtemberg)
Ahmet Yildirim schrieb: > Karl heinz Buchegger schrieb: >> Zitat: >> Musikleistung, PMPO: Eine nicht geschützte Bezeichnung, bei jeder >> einfach irgendetwas misst. >> Zitat: „Alleine das Vorhandensein einer >> PMPO-Angabe [ist] ein Merkmal für minderwertige >> Multimedia-Geräte.“ > > > ?????? musikleistung ? pmpo ? > tut mir leid aber ich komm grad nicht mit . Wenn du das nächste mal in einen Mediamarkt gehst, schaust du mal auf die Kartons in denen die ganzen 5.1 Musik-Anlagen oder auch Subwoofer verpackt sind. Auch Sound-Karten haben gerne solche Angaben. Da sind solche PMPO mit extrem hohen Werten drauf. Die Anbieter überbieten sich da mit immer höheren Zahlen. So nach dem Motto: Mein Auto hat nicht einen, sondern 5 Fuchsschwänze auf der Antenne. Die Zahl sagt nichts, aber auch gar nichts über irgendetwas aus. Wer es notwendig hat, so eine PMPO Angabe auf den Karton zu drucken, hat einfach nur miserable Messwerte, so dass er sich nicht traut, diese Messwerte zu veröffentlichen. Statt dessen druckt er einfach irgendeine andere Zahl auf den Karton, die möglichst hoch ist und suggerieren soll "Du kaufst etwas gutes" Meister Propper: Jetzt mit noch mehr "Propper".
Und wir haben das thema mikrokontroller nur 5 wochen lang nur mal so ;-) Villeicht kennst du das Fach nwt nicht (Gymnasium klasse 10 Baden würtemberg g8) villeicht sagt dir das was .
Ahmet Yildirim schrieb: > auf welcher seite ist das mit pmpo denn der lehrer hat ein anderes buch > und wir ein anderes ;-) Kapitel 12 im bereits weiter oben verlinkten PDF-File
Unser buch ist etwas anders , denn es steht bei uns nicht . Aber egal hauptsache es geht . Ich kauf mir jetzt mal ne neue Batterie . Und hol vom Nachbarn einen Heisklebepistole und stell hier dann ein Video rein , wenn es fertig ist . NOCHMALS DANKE AN ALLEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE dir mir geholfen haben ;-)
Meiner Meinung nach gibt es 2 denkbare Gründe für deine Probleme: 1. Dein Lehrer ist wirklich so unfähig wie du ihn darstellen willst und weder du noch deine Mitschüler sind in der Lage die gestellte Aufgabe zu bewältigen; demnach müsste es aber auffallen das ihr alle eine 6 bekommt und das wiederum könnte durchaus Fragen der Eltern z.B. aufwerfen was der Lehrer so veranstaltet. 2. Du warst die ganze Zeit über im Unterricht faul, hast nicht aufgepasst und willst jetzt mit massiver Hilfe dritter dich doch noch so irgendwie durchzuwurschteln. Dein "Programm" durfte in diesem Szenario hauptsächlich aus Teilstücken bestehen die du irgendwo als Hilfestellung bekommen hast aber selber nicht verstehst oder die du irgendwo abgeschrieben hast. Ich tippe darauf das es letzteres ist und bewundere die Ausdauer die Karl-Heinz hier mal wieder an den Tag legt, ich hätte dich schon längst in die Wüste geschickt. Rein interessehalber: Wie läuft es denn bei deinen Mitschülern?
Tim T. schrieb: > 2. Du warst die ganze Zeit über im Unterricht faul, Das würde ich so nicht sagen. Es gibt tatsächlich Menschen, die sich extrem schwer damit tun, folgerichtig zu denken. Während sie im normalen Leben kein Problem damit haben, dass man zuerst eien Tür öffnen muss ehe man durchgehen kann, erzeugt selbes Problem in der Programmierung extremes Unverständnis. Die Hauptursache ist ein völlig überzogenes Verständnis dafür, wie Computer eigentlich funktionieren: "Reihenfolge, welche Reihenfolge? Das ist ein Computer, der kann alles! Also muss er das schon selbst rausfinden." TV und Kino vermitteln dazu auch noch ein völlig falsches Bild, wie Computer funktionieren und wie Programmierung geht "Loutenant, programmieren sie unsere Schilde um!" "Computer, die Schildfrequenzen neu rotierend mit einem Suchmuster kalibrieren." "Ausgeführt" "Captain ich habe die Schilde neu programmiert" hat nun mal nicht das Geringste damit zu tun, was ein Programmierer zu tun hat und wie er arbeitet. Allerdings: Bis zu einem gewissen Grad kann jeder programmieren lernen. Dieser Grad ist hier noch lange nicht erreicht. Hier geht es einfach nur darum 3 oder 4 Anweisungen in die logisch richtige Reihenfolge zu bringen, bzw. ein Muster von 6 Anweisungen als einen Programmierbaustein zu betrachten, der sich laufend wiederholt und in unterschiedlichen Zusammenhängen als genau das, ein Baustein, benutzt wird.
Hey nicht so voturteilig ja ich bin ein fleißiger Schüler. Das Problem ist 1. wie sind 5 2er Gruppen und Ich bin der einzige der einen Servo benzutzt 2. Das Fach nwt gibt es erst vor kurzem und die Lehrer haben deshalb keine Ahnung . Die anderen haben die Lenkung mit 2 Motoren nebeneinander gemacht (1 gährt nach hintern 1 nach vorne ) Und ich wollte eben die elegantere Variante machen . Und der Lehrer hatte das selber noch nie zuvor gemacht nur mal so ;-(
Ahmet Yildirim schrieb: > Hey nicht so voturteilig ja ich bin ein fleißiger Schüler. Das Problem > ist 1. wie sind 5 2er Gruppen und Ich bin der einzige der einen Servo > benzutzt Das lass ich nicht gelten. Wer eine LED gezielt blinken lassen kann, kann auch ein Servo ansteuern. Das Prinzip ist dasselbe, nur die Zeiten sind kürzer. > 2. Das Fach nwt gibt es erst vor kurzem und die Lehrer haben > deshalb keine Ahnung . Die anderen haben die Lenkung mit 2 Motoren > nebeneinander gemacht (1 gährt nach hintern 1 nach vorne ) Und ich > wollte eben die elegantere Variante machen . Aha. Wieder mal den Mund zu voll genommen :-) Haben wir hier im Forum öfter. Da bist du in guter Gesellschaft. Sogar Leute, die ihre Diplomarbeit machen, also ihr Studium abschliessen, laufen in diese Falle: Sich eine Aufgabe aussuchen, die sie nicht bewältigen. Was du daraus lernen sollst: Ehe du etwas zusagst, vorher im Kämmerlein ein paar Vorversuche machen, ob du das Zugesagte überhaupt stemmen kannst.
Hi zusammen, ich hab mir etz den ganzen Thread durchgelesen. Ich muss sagen dasit erinnert mich an eine ähnliche Aufgabe zu meiner Schulzeit. Der Lehrer hat uns damals auch eine schier unlösbare Aufgabe gestellt. Wir sollten auch etwas programmieren. Problem bei uns: Keiner konnte eine programmiersprache, der Lehrer hat gesagt macht mal. Wir hatten zudem keinen Unterricht übers Programmieren.Stand nicht mal im Lehrplan, das wir programmieren lernen! Naja wir haben uns dann zusammengetan und haben alle gemeinsam versucht das Problem zu lösen. Aber wir haben dann unseren Klassensprecher vorgeschickt und mit der Schulleitung gesprochen. Ende vom lied: Der Lehrer bekam nen anpfiff von seinem Chef, und seitdem gibts in diesem Fach keine Projektarbeiten mehr. Meiner Meinung nach liegt das aber ned an den Lehrern sondern an den Ministern für Bildung! Die meinen das sie da was anordnen, das gut für die Schüler ist! @Ahmet: Schon mal über diese Möglichkeit nachgedacht? mfg Meima
meima schrieb: > Wir sollten auch etwas programmieren. Problem bei uns: Keiner konnte > eine programmiersprache, der Lehrer hat gesagt macht mal. Hast du dir mal seine PDF Unterlagen angesehen? http://lehrerfortbildung-bw.de/faecher/nwt/fb/mikro/anleitunga_mikrocontroller210v4.pdf Da ist ein sehr schöner Grundkurs enthalten. Zudem ist dieses BASIC wirklich sehr einfach gehalten. Arbeitet man den durch und bleibt am Ball bis man jedes Kapitle wirklich verstanden hat, sollte die Aufgabe eigentlich keine Schwierigkeiten machen. Es geht ja nicht um ausgefuchste Strategien, wie man aus einem Labyrinth rausfindet, sondern um * Vorwärts fahren, bis ein Taster anschlägt * Kommt der Taster dann eine Zeit lang rückwärts fahren und Lenkung einschlagen * Nach Ablauf der Zeit, wieder vorwärts fahren. Das ist alles. Dazu braucht man: Motoren einschalten und das Verständnis das man anstatt 1 Minute warten auch 60 mal 1 Sekunde warten kann. Mit dem Unterschied, dass man im letzteren Fall nach jeder einzelnen Sekunde im Programm etwas machen kann und nicht nur am Ende der Minute.
ja hab ich aber beim fach nwt wechseln die lehrer alle 3 monate ;-) nur noch morgen . Wisst ihr beim Fach nwt (Naturwissenschaft und Technik ) macht man alle 3 monate andere themen und somit andere Lehrer bsp 1. quartal Bodenuntersuchung 2. Mikrokontroller 3. astronomie 4 mikrokontroller und jetzt ab übermorgen automatisierungstechnik .
Was mich hier dann wieder ankotzt ist das jemand wohl Extrapunkte (und damit eine gute Note) für eine Teilaufgabe bekommt deren Lösung eigentlich nicht er selber gefunden hat. Richtig wäre es gewesen erkannt zu haben das die Servonummer etwas zu groß für dich ist und dann die Lösung mit den gegenläufigen Motoren zu implementieren. Damit wären wir dann auch wieder auf einem Niveau das ins Unterrichtsschema passt. Ich selber würde ebenfalls die Variante mit den Gegenläufigen Motoren bevorzugen, da der Wendekreis kleiner ist, das Programm einfacher wird (insbesondere wenn man später mehr machen will) und man weniger Bauteile braucht. Die Eleganz "deiner" Lösung dabei ist also etwas fragwürdig. @Karl-Heinz: An deinen Aussagen ist durchaus was dran, nur kann ich mich nicht daran erinnern das man in der Schule irgendwann mal überfordert wurde; grade in technischen Fächern wurde so sehr das Tempo rausgenommen das sich durchaus mehr als die Hälfte der Klasse gelangweilt hat. Davon das sich die Schwächeren mal selbsttätig mit dem Thema beschäftigen, wie es in anderen Fächern durchaus vorausgesetzt wird, ist man im MINT-Bereich leider weit entfernt; da werden in Sekundarstufe I leider viel zu viele Ausreden gefunden warum irgendwer irgendwas nicht kann...
Das es Probleme mit dem Servo geben würde ist mir zu spät eingefallen . Das hätte ich nicht wissen können . Sonst hätte ich es doch auch so gemacht . Und da der Lehrer mir nicht helfen konnte ist es normal dass ich mir die Hilfe woanders beschaffe. und basta .
Tim T. schrieb: > Was mich hier dann wieder ankotzt ist das jemand wohl Extrapunkte (und > damit eine gute Note) für eine Teilaufgabe bekommt Im Thread ist es ein paar mal angeklungen. Es geht eher um die Endnote 6 und deren Vermeidung. (Korrigiert mich, wenn ich falsch liege. Aber auch in D gilt doch: je höher die Zahl, desto schlechter. Und 6 ist die Obergrenze)
da stimm ich Karl heinz Buchegger zu . @ Karl heinz Buchegger echt danke das wenigstens du mich verstehst.
Tim T. schrieb: > grade in technischen Fächern wurde so sehr das Tempo rausgenommen das > sich durchaus mehr als die Hälfte der Klasse gelangweilt hat. Davon das > sich die Schwächeren mal selbsttätig mit dem Thema beschäftigen, wie es > in anderen Fächern durchaus vorausgesetzt wird, ist man im MINT-Bereich > leider weit entfernt; Dazu kann ich nichts sagen, dazu ist meine Schulzeit zu lange her. Und als notorischer Bastler hat mich auch damals schon alles interessiert, was mit NW und Technik zu tun hat. Mein jeweils nagelneues Physikbuch war meistens vor der ersten Physikstunde des Jahres bereits ausgelesen :-) Und als Flugzeugbegeisterter hab ich mit Vaters Hilfe meine ersten Segelflieger lange vor dem Werkunterricht (mit 12 Jahren) gebaut. Meinem Werklehrer habe ich Flugzeug-Bautricks gezeigt, die kannte der noch gar nicht. Vom Einfliegen und Bestimmung der korrekten Schwerpunktlage reden wir mal nicht. Dafür waren die Sprachen (Englisch, Latein) nicht so mein Metier. Aber das half nichts: "Zumindest Vokabeln als Minimalanfoderung kann jeder pauken"
Karl heinz Buchegger schrieb: > Im Thread ist es ein paar mal angeklungen. > Es geht eher um die Endnote 6 und deren Vermeidung. > > (Korrigiert mich, wenn ich falsch liege. Aber auch in D gilt doch: je > höher die Zahl, desto schlechter. Und 6 ist die Obergrenze) Ursprünglich ging es auch darum das der OP ja nicht in der Lage war die (anscheinend an alle) gestellte Aufgabe zu erfüllen. Jetzt stellt sich heraus das er mit Hilfe eine Aufgabe mit Extras erfüllt hat was dann aber vermutlich überhonoriert wird, eventuell sogar mit einer 1, eben weil in DE der NWT Bereich in Sek I so jämmerlich schwach ist und der Lehrer selber nicht so sattelfest ist. Oder andersrum, was würdest du einem Schüler für eine Note geben wenn er etwas abliefert was selbst du nicht kannst und er damit mehr geleistet hat als der Rest der Klasse? Und ja in DE gehen die Noten in Sek I von 1 - 6 wobei die 6 den Bodensatz darstellt.
Tim T. schrieb: > Ursprünglich ging es auch darum das der OP ja nicht in der Lage war die > (anscheinend an alle) gestellte Aufgabe zu erfüllen. Jetzt stellt sich > heraus das er mit Hilfe eine Aufgabe mit Extras erfüllt hat was dann > aber vermutlich überhonoriert wird, eventuell sogar mit einer 1, eben > weil in DE der NWT Bereich in Sek I so jämmerlich schwach ist und der > Lehrer selber nicht so sattelfest ist. Langsam. Die Sache mit dem Lehrer glaub ich erst, wenn er selbst die Aussage macht "Er kann das nicht". Bis jetzt ist ja nur der Hinweis gefallen, dass er das auch noch nie gemacht hat. Und das bedeutet nicht zwangsläufig, das er das nicht kann. Die Zeiten, in denen der Physik- oder Mathelehrer gegen seinen Willen auch noch den Informatikunterricht aufgepfropft und einen Schnellsiederkurs in den Sommerferien verpasst bekommen hat, sind ja Gott sei Dank lange vorbei. > Oder andersrum, was würdest du einem Schüler für eine Note geben wenn er > etwas abliefert was selbst du nicht kannst und er damit mehr geleistet > hat als der Rest der Klasse? Das lässt sich (in diesem Fall) mit ein paar Zwischenfragen ganz leicht abklären, wieviel davon tatsächlich von ihm stammt. Wenn ein 6-er Kandidat plötzlich eine hervorragende Leistung daherbringt, würde ich stutzig werden. Aber sei es wie's sei. Er hat jetzt eine Lösung mit der er sich nicht verstecken braucht. Ich kann nur empfehlen, mit der Lösung noch ein wenig zu spielen und zu experimentieren um auch auf Zwischenfragen vernünftige Antworten zu geben und noch ein wenig das Verständnis zu schulen. Vielleicht auch noch die eine oder andere Aufgabe aus den Unterlagen durchzugehen und zu lösen um sich selbst zu kontrollieren. Auch selbst mal eine Aufgabe ausdenken und durchziehen (zb ein Knight-Rider Lauflicht). Schaden kanns nicht. Kann sich nur günstig auf den nächsten NWT Abschnitt "Automatisierungstechnik" auswirken, wenn man ein wenig folgerichtiges Denken trainiert.
Hey tim hast du villeicht ein problem mit mir ? Nicht du warst derjenige der mir geholfen hat sondern Karl heinz Buchegger . Halte dich da mal bitte raus ja !
Und danke Karl heinz Buchegger ich werde jetzt mal weiterüben Mir ist gerade aufgefallen als ich die neue Batterie benutze , dass es wieder durchdreht. Dann habe ich wieder die alte halbleere reingetan dann ging es . komisch geh ? Soll ich die hälfte der neuen Batterie verbrauchen ?
Ahmet Yildirim schrieb: > Mir ist gerade aufgefallen als ich die neue Batterie benutze , dass es > wieder durchdreht. Damit fängt es schon mal an. Fang bitte an, vernünftige Begriffe zu benutzen. Eine Elektronik kann nicht 'durchdrehen'. Das können nur Menschen. > Dann habe ich wieder die alte halbleere reingetan > dann ging es . komisch geh ? Nicht wirklich. Dafür gibt es viele mögliche Ursachen. Die wahrscheinlichste dürfte sein, dass die neue Batterie ganz einfach mehr Strom liefern kann wodurch die Antriebsmotoren mehr Kraft, mehr Bürstenfeuer und auch mehr Drehzahl entwickeln und damit auch ganz andere Störimpulse auf der Versorgungsspannung erzeugen, die wiederrum das Servo anders stören. Aber ohne Oszilloskop, mit dem man sich die Versorgungsspannung ansehen kann, ist das aussichtslos. Du kannst höchstens versuchen mit einem oder mehreren Kondensatoren die Störungen wegzufiltern. Aber ich glaube dazu fehlt dir das Hintergrundwissen, dann das ist alles andere als trivial. Also lass es so wie es ist.
Mit " durchdrehen " war der Servo gemeint . Ok wenn du meinst . Dann verbrauch ich die Hälfte der Batterie durch andere Sachen.
Karl heinz Buchegger schrieb: > Langsam. > Die Sache mit dem Lehrer glaub ich erst, wenn er selbst die Aussage > macht "Er kann das nicht". Bis jetzt ist ja nur der Hinweis gefallen, > dass er das auch noch nie gemacht hat. Und das bedeutet nicht > zwangsläufig, das er das nicht kann. Naja, ich habe einfach die Aussagen "Er hat sowas noch nie gemacht" und "da der Lehrer mir nicht helfen konnte" zu "Er kann das nicht" zusammeninterpretiert, denke aber durchaus das ich damit richtig liege. > Die Zeiten, in denen der Physik- oder Mathelehrer gegen seinen Willen > auch noch den Informatikunterricht aufgepfropft und einen > Schnellsiederkurs in den Sommerferien verpasst bekommen hat, sind ja > Gott sei Dank lange vorbei. Nö, da wird durchaus immernoch schnellgesiedlert wie du es nennst. ;-) > Das lässt sich (in diesem Fall) mit ein paar Zwischenfragen ganz leicht > abklären, wieviel davon tatsächlich von ihm stammt. Wenn ein 6-er > Kandidat plötzlich eine hervorragende Leistung daherbringt, würde ich > stutzig werden. Man kann es nur hoffen, leider wird dort auch viel zu oft die Antwort so weit in der Frage vorgekaut das man immer irgendwie auf einen grünen Zweig kommt. Btw. hatte es eigentlich nicht so verstanden das der OP ein 6er Kandidat ist, ich dachte er wollte nur für das Projekt keine 6 kassieren. > Aber sei es wie's sei. Eben. > Er hat jetzt eine Lösung mit der er sich nicht verstecken braucht. Ich > kann nur empfehlen, mit der Lösung noch ein wenig zu spielen und zu > experimentieren um auch auf Zwischenfragen vernünftige Antworten zu > geben und noch ein wenig das Verständnis zu schulen. Vielleicht auch > noch die eine oder andere Aufgabe aus den Unterlagen durchzugehen und zu > lösen um sich selbst zu kontrollieren. Auch selbst mal eine Aufgabe > ausdenken und durchziehen (zb ein Knight-Rider Lauflicht). Schaden kanns > nicht. Kann sich nur günstig auf den nächsten NWT Abschnitt > "Automatisierungstechnik" auswirken, wenn man ein wenig folgerichtiges > Denken trainiert. Wenn ers tut dann hab ich nix gesagt, nur hörten sich seine Beiträge durchaus danach an das er es endlich fertig bekommen will da er ja schon viel zu lange am PC sitzt und viel zu viel Zeit da reingesteckt hat. Die Eltern meckern ja auch schon... Ahmet Yildirim schrieb: > Hey tim hast du villeicht ein problem mit mir ? Eventuell mit deiner Einstellung und Arbeitshaltung aber nix ernstes. > Nicht du warst derjenige der mir geholfen hat sondern Karl heinz > Buchegger . Ja das ist dem Karl-Heinz hoch anzurechnen, trotz all der widrigen Umstände, mir fehlt für sowas irgendwie die Geduld. Könnte aber auch sein das der Ton die Musik macht. > Halte dich da mal bitte raus ja ! Nur den Mund verbieten lasse ich mir nicht, auch nicht von dir.
Ahmet Yildirim schrieb: > Mit " durchdrehen " war der Servo gemeint . Das Servo Im Servo ist auch eine Elektronik drinnen. Die macht die Auswertung der Länge des Pulses den sie bekommt und sie steuert je nach zeitlicher Länge des Pulses einen Motor so an, dass sich der Hebel in die jeweilige Position dreht. Und diese Elektronik kann (und wird bei dir) gestört werden. Zb. durch 'elektrischen Schmutz' auf der Versorgungsspannung.
Tim T. schrieb: >> Halte dich da mal bitte raus ja ! Da wird ja wohl einer ganz frech. Naja wie heißt es so schön der klügere gibt nach. Und das mach ich auch jetzt tschüss mikrokontroller.net . Hat mich gefreut mich euch Bekanntschaft zu machen (voralem Karl heinz Buchegger ).
Ich meinte : Tim T. schrieb: > Nur den Mund verbieten lasse ich mir nicht, auch nicht von dir. > Da wird ja wohl einer ganz frech. Naja wie heißt es so schön der klügere gibt nach. Und das mach ich auch jetzt tschüss mikrokontroller.net . Hat mich gefreut mich euch Bekanntschaft zu machen (voralem Karl heinz Buchegger ). Beitrag melden | Bearbeiten | Löschen |
Karl heinz Buchegger schrieb: > Langsam. > Die Sache mit dem Lehrer glaub ich erst, wenn er selbst die Aussage > macht "Er kann das nicht". Bis jetzt ist ja nur der Hinweis gefallen, > dass er das auch noch nie gemacht hat. Und das bedeutet nicht > zwangsläufig, das er das nicht kann. @Karl heinz Buchegger: bei uns war das Problem so, dass er uns nicht ein Fitzelchen erklärt hat, nicht mal die Grundlagen! Zudem hatten nicht mal die Entwicklungsumgebung zum Programmieren! Ich hätte es damals besser gefunden, wenn er uns was erklärt hätte, sowie es Ahmet´s Lehrer gemacht hat. Im Endeffekt so wie du des mit der LED erklärt hast. So wäre das was gewesen. Naja Fachidioten hab ich schon oft erlebt. Besonders wenns ums Fachwissen ging. Mein Kumpel hat damals das komplette Schulnetzwerk und das WLAN eingerichtet, und das nur weil der Informatiklehrer das nicht konnte. Der wusste nicht mal was DHCP ist! @Ahmet: Das Fach NWT ist ja von der Grundidee ned schlecht! Da sind die Baden-Würtemberger den Bayern etwas vorraus! ;-) Bin gespannt was ihr in Automatisierungstechnik lernt! ;-)
Naja ,um einen Dönergrill zu bedienen brauchts keine Automatisierungstechnik, nicht mal einen BASICSTAMP,dafür reicht eigentlich die note sechs,oder.
schablonski schrieb: > Naja ,um einen Dönergrill zu bedienen brauchts keine > Automatisierungstechnik, > nicht mal einen BASICSTAMP,dafür reicht eigentlich die note sechs,oder. schablonski, wenn Du aber den BASICSTAMP programmieren könntest, hättest Du es etwas einfacher in Deinem Dönergrill.
Beitrag #6759157 wurde von einem Moderator gelöscht.
Beitrag #6759239 wurde von einem Moderator gelöscht.
Beitrag #6759250 wurde von einem Moderator gelöscht.
Beitrag #6759267 wurde von einem Moderator gelöscht.
Beitrag #6759303 wurde von einem Moderator gelöscht.
Beitrag #6759311 wurde von einem Moderator gelöscht.
Beitrag #6759321 wurde von einem Moderator gelöscht.
Beitrag #6759364 wurde von einem Moderator gelöscht.
Beitrag #6759369 wurde von einem Moderator gelöscht.
Beitrag #6759372 wurde von einem Moderator gelöscht.
Beitrag #6759379 wurde vom Autor gelöscht.
Beitrag #6759478 wurde von einem Moderator gelöscht.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.