» Elektronik » Arduino »Raddistanzmesser (Krümmungsmesser) auf Arduino selbst machen

Raddistanzmesser (Krümmungsmesser) zum Selbermachen auf Arduino

Hallo allerseits! Jetzt werde ich versuchen, im Detail darüber zu sprechen, wie der einfachste und kostengünstigste Krümmungsmesser hergestellt werden kann.

Aber zuerst wollen wir herausfinden, was es ist und warum es benötigt wird. Tatsächlich sagt uns sein Name seinen Zweck. Es wird aus dem lateinischen Wort curvus gebildet, was gekrümmt oder wellig bedeutet. Das heißt, ein Krümmungsmesser ist ein Rad- oder Rollenentfernungsmesser. Es werden zwei Arten von Krümmungsmessern unterschieden: kleine (kartografische), die normalerweise für Messungen auf der Karte verwendet werden, und große (Straße), die normalerweise zum Messen der Länge gekrümmter Abschnitte bereits vorhandener Autobahnen verwendet werden. Sie können überall dort eingesetzt werden, wo es unpraktisch oder unmöglich ist, mit Standard-Roulette zu messen. Daher verspricht das Projekt interessant zu sein.

Das erste, worauf Sie beim Bau des Krümmers achten müssen, ist ein Rad oder eine Rolle. Es muss klein genug sein, damit die Genauigkeit des Instruments hoch ist, und gleichzeitig muss es groß genug sein, damit der Wert der Messwerte nicht stark von der Unebenheit der gemessenen Oberfläche beeinflusst wird. In meinem Fall hat das Rad einen Durchmesser von 14 Zentimetern.

Jetzt müssen Sie das Material und die Größe der Struktur bestimmen. Ich habe einen Baum benutzt.

Auf den Stangen habe ich eine Markierung gemacht und die notwendigen Schnitte und Löcher gemacht.

Dann habe ich die bearbeiteten Teile mit kleinen selbstschneidenden Schrauben zusammengebaut.
Lassen Sie uns nun ein wenig vom Krümmungsmesser selbst abschweifen und darüber nachdenken, wie dieses Ding überhaupt die Entfernung bestimmen kann. Alles ist ziemlich einfach. Wir müssen nur die Anzahl der Umdrehungen des Rads berechnen und mit der Länge seines Außenumfangs multiplizieren. Es ist sogar noch einfacher, bei jeder weiteren Umdrehung des Rads einen Längenwert hinzuzufügen.

Um im einfachsten Fall jede Umdrehung zu zählen, können Sie den "Gleitkontakt" verwenden. Ich empfehle jedoch nicht, einen solchen Referenzmechanismus zu verwenden. Es ist viel besser, einen Reed-Schalter oder einen Hall-Sensor zu verwenden.

Es ist Zeit, ein Rad anzuprobieren. Ich werde es mit einem langen Bolzen befestigen. Wir finden eine Stelle auf dem Rahmen, an der sich die Felge so nah wie möglich befindet, und markieren sie mit Strichen. In diesem Bereich müssen wir den Reed-Schalter installieren.

Am Rad müssen Sie einen kleinen Magneten installieren.Stellen Sie sicher, dass seine Stärke ausreicht, um die Kontakte des Reed-Schalters zu schließen.
Jetzt werden wir uns mit "Gehirnen" des Systems beschäftigen. In meinem Fall ist dies eine Gebühr Arduino UNO. Es liest den Status des Reed-Schalters und überträgt Daten über eine Bluetooth-Verbindung mit dem HC-05-Modul an das Telefon. Übrigens ist der Reed-Schalter wie ein normaler Knopf mit der Platine verbunden. Ich denke, es sollte keine Probleme mit der Verbindung des Bluetooth-Moduls geben.

Der Code selbst ist sehr einfach. Und ich habe versucht, es zu kommentieren, damit alles so klar wie möglich war.

int gercon = 12; // den Reedschalter an 12 Pin angeschlossen
doppelter Abstand = 0; // hat eine doppelte Variable erstellt, um die Entfernung zu speichern
void setup () {
   Serial.begin (9600); // eine serielle Verbindung angeschlossen
 }}
  void loop () {
/ * Als nächstes folgt die if-Schleife. Wenn der Reedschalter geschlossen ist, erfolgt die nächste Entfernungsberechnung. Der Wert 0,46472 ist bereits die berechnete Länge einer Umdrehung des Rades. Um "zusätzliche" Daten zu vermeiden, fügen Sie eine Verzögerung von 200 Millisekunden hinzu und zeigen Sie die Messwerte an
* /
   if (digitalRead (gercon) == HIGH)
   {
 Entfernung = Entfernung + 0,46472;
 Verzögerung (200);
 Serial.println (Entfernung);
}}
  }} 


Hier ist unser Krümmungsmesser und fertig!

Machen wir ein paar Testrennen. Alles funktioniert super!


Sie können sich ein Video über die Montage dieses Geräts ansehen, vielleicht finden Sie dort etwas Interessantes.
[media = https: //youtu.be/kx_7ztPsLws]

Gute Wiederholung des Projekts!
5
5
7

Kommentar hinzufügen

    • lächelnlächeltxaxaokweiß nichtYahoonea
      ChefKratzerDummkopfjaja-jaaggressivGeheimnis
      Entschuldigungtanzendance2Tanz3VerzeihungHilfeGetränke
      hör aufFreundegutgut gutpfeifenOhnmachtZunge
      RauchklatschenCrayerklärenspöttischdon-t_mentionherunterladen
      Hitzeärgerlichlach1mdaTreffenMoskingnegativ
      not_iPopcornbestrafenlesenerschreckenAngstSuche
      verspottendankedasto_clueumnikakutstimme zu
      schlechtbeeeblack_eyeblum3errötenprahlenLangeweile
      zensiertAngenehmheitsecret2drohenSiegyusun_bespectacled
      shokrespektlolvorgezogenWillkommenKrutoyya_za
      ya_dobryiHelferne_huliganne_othodiFludVerbotschließen
1 Kommentar
Gast Sergey
Warum UNO, wenn attiny13 für die Augen ausreicht ...
Was den Code betrifft, müssen Sie zumindest eine Überprüfung hinzufügen, ob der Magnet den Reed-Schalter verlassen hat, da er in dieser Implementierung bei einer bestimmten Geschwindigkeit und noch mehr, wenn das Rad stoppt, mehr als einmal oder gar nicht verarbeitet werden kann. Fügen Sie dazu einfach eine globale Variable hinzu und überprüfen Sie ihren Status, bevor Sie die Länge berechnen.
int gercon = 12; // den Reedschalter an 12 Pin angeschlossen
int i = wahr;
doppelter Abstand = 0; // hat eine doppelte Variable erstellt, um die Entfernung zu speichern
void setup () {
Serial.begin (9600); // eine serielle Verbindung angeschlossen
}
void loop () {
/ * Als nächstes folgt die if-Schleife. Wenn der Reedschalter geschlossen ist, erfolgt die nächste Entfernungsberechnung. Der Wert 0,46472 ist bereits die berechnete Länge einer Umdrehung des Rades. Um "zusätzliche" Daten zu vermeiden, fügen Sie eine Verzögerung von 200 Millisekunden hinzu und zeigen Sie die Messwerte an
*/
if (digitalRead (gercon) == HIGH)
{
if (i <1)
{
Entfernung = Entfernung + 0,46472;
i = 1;
// delay (200);
Serial.println (Entfernung);
}
}
wenn (i> 0)
{
i ++;
Verzögerung (1);
}
if (digitalRead (gercon) == LOW)
{
if (i> 30) // vermeidet Fehlalarme aufgrund von Kontaktsprüngen
{
i = 0;
}
}
}

Besser noch, setzen Sie zwei Reed-Schalter ein, damit Sie die Drehrichtung bestimmen können (ich bin nicht zum Messen dorthin gegangen - ich bin zurückgegangen und habe nicht von vorne angefangen oder es vorwärts und rückwärts geschüttelt, um mit einem Nachbarn zu sprechen usw.). Sie können auch Magnete hinzufügen, um die Auflösung zu ändern.
ZY Ich habe keine Änderungen im Code überprüft, es können Fehler auftreten.

Wir empfehlen Ihnen zu lesen:

Gib es für das Smartphone ...