Hallo allerseits, ich kann mich beim besten Willen nicht als Programmierer nennen, ich habe ledeglich mit Bascom Programme geschrieben für LED dimmen, Dosieranlage und einen Aqua-PC. Jetzt habe ich mir das Board D083 von Display3000 gekauft. Ist mit einem ATMega 2560 und einem Touchscreen (320x230 Pixel). Das mitgeliefert Demoprog habe ich auf meine Bedürfnisse zurecht geschreiben aber mit dem Touch komme ich überhaupt nicht klar. Das Touch wird angesprochen und die x und y Pos. werden in Touch_ypos und Touch_xpos geschrieben, sind als Word inizialisiert. Bis hier ist alles klar. Wenn ich aber jetzt einen Bereich abfragen will komme ich nicht weiter. Mit: if Touch_xpos = 0 to 100 then if Touch_ypos = 0 to 50 then gosub incr pwm_wert_blue else next end if end if gehts nicht. Das Problem ist, das Bascom mit Wert TO Wert nicht`s anfangen kann, mit einem einzelnem Pixel geht`s, ist aber extrem schwer zu treffen. Ausser dem will ich ja einen Bereich im Display abfragen und nich nur ein Pixel. Über Hilfe würde ich mich sehr freuen, zudem ich schon fast die ganze Nacht damit verbracht habe. im voraus vielen Dank, Gruss Stefan
ich kenn mich mit Bascom nicht aus aber irgendwie so: if ((Touch_xpos > 0) and (Touch_xpos < 100)) if ((Touch_ypos > 0) and (Touch_ypos < 50)) Holger
Hi, daran habe ich auch gedacht, aber wenn ich weiter rechts einen Abfrage machen möchte überlagert das doch die erste Abfrage weiter links, oder irre ich mich. Gruss Stefan
Das sieht nach einem misslungenen Versuch aus eine geschachtelte FOR NEXT Konstruktion aus einem Beispiel in ein eigenes Beispiel mit IF ELSE Konstruktion umzumodeln. Da fehlen die Grundkenntnisse der BASCOM Programmiersprache, die man sich aber in paar Abenden beibringen kann.
Hy, da hast du sicherlich recht und bis her bin ich mit meinen Projekten gewachsen. Regional habe ich nach Kursen gesucht, gibt`s hier nicht. Auch gibt es hier keinen der mit Bascom arbeitet, und da ich mit Bascom angefangen habe möchte ich ungerne neu oder andere lernen. Die einzigen die hier sind arbeiten alle mit C oder in Binar. Problem ist halt, wie will man(n) es erlernen wenn es keiner wirklich verständlich evtl. mit Beispielen erklärt. Für mich ist Verstehen die Basis des lernen`s. Soll jetzt aber kein Angriff sein, bitte nicht falsch verstehen. Gruss Stefan
Holger W. schrieb: > Autor: > > Holger W. > (holgerw) > > ich kenn mich mit Bascom nicht aus aber irgendwie so: > if ((Touch_xpos > 0) and (Touch_xpos < 100)) > if ((Touch_ypos > 0) and (Touch_ypos < 50)) > > Holger Die Antwort von Holger W. beschreibt doch genau das, was du willst. Das Umformen, dass bascom dieses akzeptiert schaffst du mit der Bascom-Hilfe (ich meine da speziell die Klammern und die Notwendigkeite eines THEN) Deinen Einwand, dass sich etwas überlagert, wenn du einen Bereich weiter rechts erkennen willst verstehe ich nicht. Nur mal die x-Koordinaten genommen, kannst du doch mit einer Auswertung abfragen, ob der festgestellte X-Wert zwischen 0 und 100 liegt und andernfalls ob er nicht zwischen 150 und 200 liegt. Da überlagert sich nichts, es sei denn deine Bereiche überlagern sich schon von vornherein. Gruß ich
hi, schau mal unter www.roboternetz.de. dort gibt es programme zum auslesen eines touchscreens, welches ich auch erfolgreich nutze. Und hier ne AN: http://www.mcselec.com/index.php?option=com_content&task=view&id=189&Itemid=57 Gruß MAT
Stefan Zuber schrieb: > Hy, > > da hast du sicherlich recht und bis her bin ich mit meinen Projekten > gewachsen. Regional habe ich nach Kursen gesucht, gibt`s hier nicht. Na ja. Um zu sehen, dass hier
1 | if Touch_xpos = 0 to 100 then |
2 | if Touch_ypos = 0 to 50 then |
3 | gosub incr pwm_wert_blue |
4 | else next |
5 | end if |
6 | end if |
das "next" völlig in der Luft hängt und zu keinem "for" gehört, braucht es nicht wirklich einen Kurs. Das in einem "if" kein "to" kommen kann ist banales Grundlagenwissen. Wenn man in einem if auf einen Bereich prüfen will, dann prüft man immer ob man größer als die untere Grenze ist UND kleiner als die obere Grenze ist. Machst du doch auch nicht anders. Der Preis für ein Bier (4 Euro) liegt im Bereich von 1 Euro bis 10 Euro, weil 4 größer als 1 UND 4 kleiner als 10 ist. Du weißt ja auch nicht irgendwie magisch, dass 4 im Bereich 1 bis 10 liegt, sondern vergleichst kurz im Kopf mit den Grenzen. Schreibs halt mal ordentlich hin, dann sieht man auch was. Pro Zeile EINE Anweisung und sauebere Einrückung wirken oft Wunder wenn es um Übersicht geht
1 | if Touch_xpos = 0 to 100 then |
2 | if Touch_ypos = 0 to 50 then |
3 | gosub incr pwm_wert_blue |
4 | else |
5 | next |
6 | end if |
7 | end if |
zu welchem for gehört das Next? Antwort: Es gibt gar keines.
Das Internet ist aber voll damit. Nicht schön, aber fang doch mal so an if Touch_xpos > 0 if Touch_xpos < 100 if Touch_ypos > 0 if Touch_ypos < 50 ... dann mach was
@ Karl Heinz Buchegger du hast recht, so habe ich es nicht gesehen. Werde mit dem Programmieren nochmal von vorne anfangen. Aber jetzt gehe ich erst mal ins Bett, 29 Stunden ohne packt wohl mein Hirn nicht ohne weiteres. @ Matthias Danke, werde ich mir einverleiben. @ ich und Holger ihr habt recht, das war die Lösung entsprechend aufgebaut funzt das prima. @ all Vielen Danke an alle, Problem gelöst, wenn`s auch eigentlich einfach war, naja, Wald vor lauter Bäume nicht gesehen. Und gelernt habe ich auch noch, nämlich das ich noch SEHR VIEL zu lernen habe. Vieleicht gibt es Online-Kurse und Bücher sollte ich auch mal kaufen und nicht immer nur google quälen. Also, ncohmal vielen Dank, Schönes WE und Grüße, Stefan
Face-to-Face Kurs wäre natürlich schon, weil dann direkt auf Fragen eingegangen werden kann. Aber auch Selbstlernen z.B. aus Büchern ist möglich. Roboternetz hat da eine kommentierte Liste: http://www.rn-wissen.de/index.php/Buchvorstellungen
Danke für den Tipp Krapao, werde ich berücksichtigen, unter http://www.electronic-projects.de/index.php?option=com_content&view=article&id=49&Itemid=74 kann ich ja schonmal anfangen. Gruss Stefan
Stefan Zuber schrieb: > es Online-Kurse und Bücher sollte ich auch mal kaufen und nicht immer > nur google quälen. Dazu möcht ich noch was sagen. Google ist super, wenn man ein Detailproblem (wie zb Syntax) hat. Aber um generelle Strategien zu lernen, kannst du Google vergessen. Was aber vielen tatsächlich hilft: Wenn sie die Programme anderer studieren! Sowohl im Guten als auch im Schlechten. Aber man muss die Programme auch wirklich studieren und nicht einfach nur auf den µC brennen, sich zurücklehnen und sagen: Jawohl funktioniert. Studieren heisst jede Zeile, jede Anweisung durchgehen und überlegen: Warum macht er das, was steckt da dahinter, welches ist die Idee die sich hier manifestiert. Wenn man dann auf Sprachkonstrukte stösst, die man nicht kennt, dann kann man Goggle bemühen, auch wenn man mit der in BASCOM eingebauten Hilfe oft besser bedient ist. Dort stösst man dann eventuell wieder auf neue Sprachkonstrukte, die es zu ergründen gilt. Studieren heisst auch, die vorgefundenen Programme mal etwas abzuwandeln um zu überprüfen ob man das gelesene auch wirklich verstanden hat oder ob man sich in einer Idee verrannt hat. Programmieren lernen ist wie Schachspielen. Es ist eine Sache, zu lernen wie die Figuren ziehen. Aber Spielstrategie, typische Konstellationen, typische Verhaltensweisen lernt man, indem man andere Partien studiert und vor allen Dingen: indem man selber spielt. Du kannst unzählige Schachbücher lesen und unzählige Kurse besuchen, solange du nicht selber spielst (und auch verlierst), wirst du nie besser.
> http://www.electronic-projects.de/index.php?option...
Finde ich nicht gut. Dein Problem mit der Bedingung beim if wäre mit
dieser Seite nicht gelöst.
IMHO hat BASCOM vom Haus, d.h. vom Hersteller her, das Problem, dass die
Sprache nicht umfassend beschrieben ist. Die Beschreibung ist ein Mix
aus grober Beschreibung und ein paar Beispielen. Das ist schade, weil so
viel Potential verschleudert wird.
Obige Seite dreht den Spieß nochmal in der Wunde. Sie stellt einen
Beispielauschnitt (!) voran und "erklärt" daran die Sprachsyntax.
Ja, so wie Karl Heinz Buchegger es darstellt, denke ich auch! Darum schlage ich mich auch tagelang mit der Tasten-Entprellung herum, obwohl ich im Momment dafür noch keine Anwendung habe. Aber das kann noch kommen. Habe auch ca. 1 Jahr mit Bascom rumgedattelt, wollte aber weiter in die Tiefe eines AVR und das erreicht man einfach toll mit Assembler. Grüße Rolf
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.