PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sharp Distanzsensorauswertung mit der C-Control M128 Erweiterung



Kevin0597
31.05.2015, 16:20
Hallo Allerseits,

ich steh gerade vor dem Problem, dass ich an meinem RP6v2 hinten 2 Distanzsensoren angeschlossen habe. auf dem EM C-COntrol M128 habe ich den Anschluss ADC4 für den Linken und ADC 6 für den Rechten Sharp genommen. Nun ist mein Problem wie das Programm gerüst aussehen muss bzw. welcher Programm aufruf hier erfolgen muss um hier den ADC wert zu lesen und um diesen auf dem LCD in cm auszugeben.

Kann hier jmd evtl. weiterhelfen ?

Lg Kevin

TrainMen
01.06.2015, 11:49
Eine Funktion schreiben wo die ADC Werte eingelesen werden, dann umrechnen in cm und Anzeigen auf das Display.
Also zum Lesen z.B. adc2 = readADC(ADC_2); Die Formel für das Berechnen der Entfernung findest Du hier (http://rn-wissen.de/wiki/index.php/Sensorarten#Sharp_Infrarotsensoren). und einen Wert auf das Display darstellen sollte ja kein Problem sein.

Kevin0597
01.06.2015, 21:03
Die Formel habe ich Gefunden, müsste diese Hier sein ?? :

D = A/(X-B)

Und was die Auslese werte des ADC Wertes angeht
Habe ich in der C-Control IDE die Befehle:

ADC_Read (void)
Sowie ADC_Set

gefunden.

Und wie realisier ich das dann mit dem LCD, da steh ich auf dem schlauch weil der Wert muss ja Aktualisiert werden.
Kann man hier ein Demoprogramm entwerfen?

Lg Kevin

TrainMen
02.06.2015, 10:59
Deine Funktion (Lesen, Berechnen,Display) sollte immer wieder aufgerufen werden und so ändert sich auch die Anzeige im Display. In C würde ich den Funktionaufruf einfach in die main-Schleife schreiben, von C-Control hab ich keine Ahnung.

Kevin0597
21.06.2015, 13:52
Ich hätte evtl. noch eine Andere Idee. Habe in meiner Bastelkiste einen ATMEGA8-16u gefunden. Dieser verfügt doch über 5 ADC eingänge. Man könnte doch hier die Sharps anschliessen und den Atmel über den I2C bus mit der RP6 Base kommunizieren lassen. Ebenso könnte man ja dann die Messdaten de Linken und Rechten Sharps auf dem LCD anzeigen lassen.

Dirk
21.06.2015, 14:54
Die CCPRO M128 hat ja genügend ADC Kanäle.
Wenn du die nicht in CBasic oder CC programmiert bekommst (siehe dein Post vom 31.5.), dann wirst du einen "leeren" ATMega Chip erst recht nicht zu dieser Funktion bringen können (mit eigenem I2C Slave ...).

Kevin0597
21.06.2015, 20:24
Das mag ja durchaus sein aber das Board mit der C-Control drauf macht sowieso mucke. WEnn man ein Programm laufen lässt das die Motoren ansprechen soll funktioniert dies nicht, Slaveprogramm ist auf dem RP6 drauf sowie Interrupte und Adressen Korrekt.

in C komm ich besser zurecht hab auch ein kleines Programm schon geschrieben für den MEGA32 :)) also am können liegts nicht. zumal die CCONTROL sowieso immer anders war....

Dirk
21.06.2015, 21:06
Hi Kevin,


... das Board mit der C-Control drauf macht sowieso mucke. WEnn man ein Programm laufen lässt das die Motoren ansprechen soll funktioniert dies nicht, ...
Genau das habe ich gemeint: Das ist kein Hardware-Problem!