Grove Line Finder


#1

Hallo zusammen,
bin neu hier im Forum … und versuche gerade einen ganzen Schwung Grove Sensoren zum laufen zu bekommen.
Der “Grove Ultraschallsensor 3,3V/5V” funktioniert echt klasse. Er zeigt die gemessene Strecke in cm sehr zuverlässig an.
Nun habe ich mir den Grove Line Finder v1.1 vorgenommen. - Hier wird es schon schwieriger…zumindest kann ich Ihm analoge Werte entlocken aber keine schwatz/weiß Erkennung.
Vielleicht hat hier jemand Erfahrung?
Besten Dank schon im voraus…
Gruß Dirk


#2

Hallo Dirk,

Mit den Linien ist es nicht ganz so einfach:

  1. Der Sensor ist laut Datenblatt auf 5 Volt ausgelegt. Es kann gut sein dass er mit 3,3Volt aus dem Mini nicht zuverlässig funktioniert.
  2. Ich habe schlechte Erfahrung mit schwarzem Edding gemacht. Die Linien werden nicht erkannt. Besser Klebeband oder schwarzes Tonpapier verwenden.
  3. Kalibriere deinen Sensor, indem Du unter die LED Dein Papier mit der schwarzen Linie hin und her schiebst und auf der Rückseite am drehbaren Widerstand drehst bis zuverlässig die schwarze Linie erkannt wird.

Viel Erfog!

Michael


#3

Hallo Michael,
erstmal ein großes Dankeschön für die schnelle Antwort…
Ich Teste … und werde berichten…
VG Dirk


#4

Hallo Michael,
also mit MakeCode habe ich es hinbekommen. Er zeigt mir Werte zwischen hell 109 bis dunkel 360.


let hell = 0
basic.forever(() => {
hell = pins.analogReadPin(AnalogPin.C17)
basic.showNumber(hell)
})


Aber leider im Roberta funktioniert es nicht…zeigt immer den gesetzten Wert der Variablen “Helligkeit”.



#5

Nunja, da es ein digitaler Sensor ist sollte er eigentlich auch digital ausgelesen werden also in Nepo mit gib digitalen Pin.
Da die Analogwerte bis von 0-1023 gehen sollten sie bei dunkel theoretisch über 512 sein damit digital high erkannt wird.


#6

…danke Dir … dann geht’s jetzt weiter…
VG


#7

Du hast sowieso den Fehler in Nepo gemacht dass du den wert nicht ausliest sondern dein Grovemodul versuchst zu beschreiben!
Ich glaube der Pull muss auch nach jedem Auslesen neu in der Schleife gestzt werden.


#8

…so jetzt hab ich es … im Schritt 1 digital, d.h. wenn ich über die schwarze Linie bin geht das Signal auf 0 und bei weiß auf 1.
Im nächsten Schritt werde ich versuchen die Werte auszulesen…


#9

Die Variable sollte vom Typ logischer wert sein. ( Ist aber intern glaube ich 0 bzw. 1)


#10

Hallo Michael,
es ist verhext oder doch der falsche Editor :weary:
Mit NEPO bekomme ich es nicht hin die Werte anzuzeigen …
Bild
bei makecode geht esBild


#11

Hallo Michael,
so jetzt bin ich soweit und es funktioniert super. :+1:


Habe Lünen Finder und Ultraschallsensor verbaut …
Außer das der Programmschritt Motoren laufen beide nicht anläuft…
Anbei mal das Programm in Roberta.

Bild

Hast Du eine Idee warum der Schritt Motor A+B laufen nicht kommt?
Im MakeCode funktioniert es leider auch nicht. Vielen Dank für Deine / Eure Hilfe
Dirk

Edit: Hier nur der Line Finder
Bild


#12

Setze mal probehalber das Tempo bei Motor A+B höher.
Laufen bei dir 4 Motoren?

mfg

Michael


#13

Hi Michael,
ja ich habe 4 Motoren laufen…
Habe das Tempo auf 100% hochgesetzt …leider keine Änderung.
Ich habe als Anzeige auch die LED programmiert.
Hmmmm?
VG Dirk


#14

Ah, jetzt hab ich dein Problem kapiert!

  1. erweitere Deine wenn- Abfrage. Klicke dazu auf das + links neben dem wenn.
  2. Frage dort den Pin1=0
  3. P1 kann ja nur 0 oder 1 werden. Beides frägst Du ja schon ab. Wenn sollen denn dann alle Motoren laufen.
  4. Ich würde eine Variable für gib digitalen Pin P1 anlegen und nach dem Motorstop A+B belegen und in der Abfrage dann die Variable mit 1 und 0 vergleichen.

#15

Beide A+B Motoren (bei mir 4Motoren) sollen laufen wenn der Sensor auf der schwarzen Linie läuft, also bei geradeaus fahrt. Sonst bei weiß Erkennung geht entweder Motor A uder B an.
So jetzt teste ich mal anliegendes Programm


#16

So funktioniert viel besser … da er jetzt auch tatsächlich öfters geradeaus fährt ohne immer groß zu ruckeln…ich habe das Programm mal mit LED Anzeigen bestückt da sieht man dass die blaue Phase recht oft an ist und zur Korrektur die grüne Phase. Rot wird nicht benötigt.
Bild


#17

Du verwendest ja nur einen Linienfinder ist mir gerade so gekommen. Warum keine zwei? Im dümmsten Fall dreht sich das Fahrzeug ja um 180 Grad! Naja, außer du hast nur Linkskurven auf deinem Parcours.


#18

Yo da hast du vollkommen recht…ich wollte das erstmal testen…
Aber Resümee mit zwei Sensoren ist es perfekt aber mit einem line Finder in diese Variante geht mit links Kurven auch klasse.
Meine vorherige Variante wo Ich nicht geradeaus fahren konnte war auch super für links und rechts.- aber sehr hackelig weil er halt immer zwischen weiß und schwarz pendelt …
Ganz lieben Dank für Deine Hilfe …es werden weitere Projekte folgen…