Go Down

Topic: Winkelberechnung mit Arduino UNO (Read 3100 times) previous topic - next topic

fridi

Bei While (Bedingung)
{
}

ist es scheinbar egal.

Bei
Do
{
}
while(Bedingung);

geht es nicht ohne Semikolon.

Um noch mal auf die Start/Stop Taste zurück zu kommen.

   if (digitalRead(Start) == LOW)             //Unterprogramm Teller drehen
      while (Start == LOW)                 // Doppeldruck unterdrücken
      {
      }

Dieses ist in der Fernmeldetechnik eine übliche 4Takt Schaltung. Das habe ich 1966 schon in der Lehre gelernt und mit Relais nachgebildet. War in jeder Telefonanlage zur Erdtastenfunktion eingebaut. Rückfragefunktion.
Ich werde aber noch das Entprellen in die Funktion  einbauen.


Theseus

Um noch mal auf die Start/Stop Taste zurück zu kommen.

   if (digitalRead(Start) == LOW)             //Unterprogramm Teller drehen
      while (Start == LOW)                 // Doppeldruck unterdrücken
      {
      }

Dieses ist in der Fernmeldetechnik eine übliche 4Takt Schaltung. Das habe ich 1966 schon in der Lehre gelernt und mit Relais nachgebildet. War in jeder Telefonanlage zur Erdtastenfunktion eingebaut. Rückfragefunktion.
Ich werde aber noch das Entprellen in die Funktion  einbauen.
Du musst dann aber   while (digitalRead(Start) == LOW)  schreiben, da Start die Pinnummer ist, die nicht LOW wird. In so einem Fall kannst du einfach mit Delay(50) entprellen.

Deine obige Doppeldruckunterdrückung ist aber in vielen Fällen nicht geschickt, da sie blockierend ist. Während die Taste gedrückt ist, ist der Arduino blockiert und kann auf keine Sensoren reagieren oder ein Display aktualisieren.

Besser ist
Code: [Select]
Status=digitalRead(Start);
 if ((Status == LOW) && (oldStatus==High)) {reagiere auf Taste}
 oldStatus=Status;


Entprellen kann man hier auch mit einem kurzen Delay oder mit mills und einem Interval.

Doc_Arduino

Hallo,

nochmal. Hier ist es nicht egal ob nach der Bedingung ein Semikolon steht oder nicht. Du merkst das nur im Moment nicht, weil dein Anweisungsblock leer ist.

Code: [Select]

while (Bedingung)
{
  ... mach was sinnvolles
}





do while ist eben nicht while, Semikolon muss hingeschrieben werden
Code: [Select]

do
{
  ... mach was sinnvolles
}
while(Bedingung);

Fernmeldetechnik kann man vielleicht schlecht bzw. nicht 1:1 mit µC Programmierung vergleichen. Auch die Leute die aus der SPS Ecke kommen müssen hier und da umdenken. Wenn der µC auf alle Abfragen usw. im Programm jederzeit reagieren soll, dann muss die loop ohne Blockierung permanent durchlaufen können. Das ist das A & O.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

fridi

Danke für die Antworten. Jungs, ihr habt Recht. Ich werde die Vorschläge übernehmen und einarbeiten. Ich bin froh, dass ich hier etwas dazulernen kann. Dafür sind Profis Gold richtig.
Man muss sich ja wundern, was in so einem kleinen Prozessor alles drin steckt.

Doc_Arduino

Hallo,

keine Sorge das wird schon. Gerade das hantieren mit millis geht irgendwann in Fleisch und Blut über.  Bei millis muss man eigentlich nur an seine Armbanduhr denken, also was man mit der einen ständig laufenden Zeitanzeige alles machen kann.

Theseus erklärt millis()
http://forum.arduino.cc/index.php?topic=400102.msg2752141#msg2752141

GuntherB - BlinkwithoutDelay - Die Nachtwächtererklärung
http://forum.arduino.cc/index.php?topic=423688.0

Wenn du im Forum oder andere Foren mitliest, merkst du das jeder so seinen Fimmel hat. :)  Also jeder legt auf andere Dinge speziellen Wert. Man muss dann versuchen es zuverstehen und für sich sagen brauch ich das, gefällt mir das, übernehme ich das oder eben auch nicht.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

fridi

Ja, das stimmt. Ich habe auch so meine Fimmel im Reprap Forum. Mich nervt es dort, dass die Leute nicht ansatzweise bereit sind, sich einzulesen oder etwas aus zu probieren. Da sollen es lieber die Anderen machen.
Ich habe vor 100 Jahren mit Klipper und Basic gearbeitet. Dann mit Access für Anwendungen bei der Bundeswehr. Dabei ist sogar mal ein Kochbuch heraus gekommen.
Das mit dem Arduino Programmieren macht mir mittlerweile richtig Spaß. Könnte neben dem Basteln, 3 D Drucken und 3D Scannen ein zusätzliches Hobby werden. Was erfinden und andere Wege beschreiten war schon immer mein Spaß. Das macht das Leben erst interessant und hält den Kopf fit.

P_Extruder

#66
Jun 17, 2018, 07:33 pm Last Edit: Jun 23, 2018, 04:16 am by P_Extruder
...Da sollen es lieber die Anderen machen.

Meine Rede, warum soll ich das Rad neu erfinden (Vorsicht Selbstironie)

https://www.glohbe.de/de/programmierung-arduino-camera-slider/

Keine Ahnung, ob der sich auch schon mit Winkeleinstellungen befasst, aber laufen tut´s schon.

https://learn.adafruit.com/how-tall-is-it?view=all

P_Extruder

... Arkustangens kann aber der Arduino nicht.

https://learn.adafruit.com/how-tall-is-it?view=all (ist zwar für Höhenmessung - bezüglich vertikale Winkelmessung aber brauchbar).

fridi

#68
Jun 23, 2018, 05:34 pm Last Edit: Jun 23, 2018, 07:32 pm by fridi
So, bin mit meinem Scanner einen Schritt weiter. Er läuft jetzt das Objekt ab. Nur die Winkeleinstellung muss noch programmiert werden. Beim Konturfahren habe ich 5cm Schritte vorgesehen.
https://www.facebook.com/frithjof.lucht/videos/1799000820138594/

postmaster-ino

#69
Jun 24, 2018, 01:22 pm Last Edit: Jun 24, 2018, 03:10 pm by postmaster-ino
Dann eben ohne Video ... fahsebock will halt nicht jeder ...

*Edit*
halt statt hat korrigiert
*/Edit*

noiasca

auch mit facebook

Leider ist dieser Inhalt derzeit nicht verfügbar
Der von dir angeklickte Link ist abgelaufen oder die Seite ist nur für eine Zielgruppe sichtbar, in der du nicht enthalten bist.
Zurück zur vorherigen Seite · Zum News Feed · Besuche unseren Hilfebereich

na dann Zurück ;-)
DE: Wie man Fragen postet:
1. was hat man (Sketch und Hardware)
2. was SOLL es machen
3. was macht es: IST (Fehlverhalten, Fehlermeldungen, Serial.Output ...)
4. Eine Frage stellen bzw. erklären was man erwartet

fridi

#71
Jun 24, 2018, 05:59 pm Last Edit: Jun 24, 2018, 06:02 pm by fridi
So, nun noch einmal mit anderer URL. Hatte die Seite einer geschlossenen Gruppe angezeigt.
 
https://www.facebook.com/DasMonsterlebt/

P_Extruder

#72
Jun 29, 2018, 06:53 am Last Edit: Jun 29, 2018, 07:03 am by P_Extruder
Nachdem Facebook-Muffel hier wohl nicht mehr auf Information hoffen dürfen etwas in einer ähnlichen Richtung : https://youtu.be/uYgsmT7_Y7o?t=10m38s

Dem Thema des Threads (Berechnung) wird es zwar nicht gerecht und mich irritiert, dass der Autor zunächst kein selbst erzeugtes Mesh zur Erklärung des freien "MeshLab" verwendet (das kommt dann später : https://youtu.be/uYgsmT7_Y7o?t=11m41s) , aber immerhin werden die Winkel des Drehtellers vom Arduino gesteuert. Das sollte sich eigentlich auch für die Vertikale umsetzen lassen, oder?

Die STL-Files gibt es hier: https://www.thingiverse.com/thing:2981982

fridi

#73
Jun 29, 2018, 12:42 pm Last Edit: Jun 29, 2018, 12:45 pm by fridi
Hier sind nähere Informationen aus meiner Cloud  Hier sind meine Versuche, eine Steuerung des UNO her zu stellen sowie die STL Dateien für den Bau des Scanners. Momentan bin ich noch an der Steuerung des UNO mit AT Mega dran. Ist aber falsch bezeichnet. Das ist noch ein Überbleibsel vom probeweisen Umstieg auf Mega. Aktuell läuft das Programm über einen UNO. Hatte doch noch einen reservierten Pin gefunden, um das Display einzubinden.  https://c.1und1.de/@519811777282709922/uMPwfeveRJeL0k4pOzWExg  Ich bin immer noch an der Programmierung der Winkeleinstellung dran. Zudem ist das Programm noch nicht aufgeräumt. Also bitte Nachsicht. Wenn das Programm läuft, werde ich die STL Dateien noch einmal kontrollieren und ergänzen. Zudem gibt es hier https://www.facebook.com/groups/142108429832711/ zusätzliche Informationen über den Selbstbau von Scannern und Software. Ist eine geschlossene Gruppe. Bitte melden, wenn jemand dort rein möchte. Ich weiß nicht, ob man da so mitlesen kann.

P_Extruder

... Also bitte Nachsicht. ...
Nachsicht ist immer besser als das Nachsehen ;-)

Das Video mit den Infrarotsensoren ist in Punkto Detailtreue wohl eh zu ernüchternd, als das jemand diese Methode wirklich brauchen könnte. Die Reichweite der Sensoren langt wohl einfach nur für Kleinteile.

Das lange Schweigen war für mich aber Anlass mein eigenes, auf Photogrammetrie gesetztes Programm zu forcieren. An Stelle der senkrechten Führung habe ich jetzt den größten Halbkreis im Bau, den ich noch in meinem Dachboden unterbringen kann (gut 2 Meter Radius). Statt des Drehtellers fährt der Bogen dann gradlinig auf Schienen.
Erstes Objekt wird ein rund 100 Jahre altes Modell eines Dampfschleppers (hieß zuletzt Moulay Idriss und war im Mai 2007 im SchiffsModell beschrieben).


Go Up