Hallo, da ich ein absoluter Anfänger in der µC Programmierung bin und inzwischen schon verwirrt bin welche Art der Datenübertragung ich nutzen soll wollte ich mal nachfragen wie es am besten ist die Daten von einem Infrarot-Sensor einlesen kann bzw. von einem Motortreiber die Daten zu senden und zu auszulesen. Ich beschäftige mich schon seit Wochen damit aber bin mir wirklich nicht in klaren ob ich UART, I2C oder TWI benutzen soll. Außerdem ist TWI und I2C nicht das gleiche?
Welche IR-Sensor? Welcher uP? Was für ein Motor-treiber? Welche Daten? Wie sieht die Schaltung aus, bzw. soll die aussehen? Und außerdem ja: http://www.i2c-bus.org/twi-bus/
Also es handelt sich um den GP2D12 IR-Sensor, den ATMEGA16, den MD25 Motortreiber und ich verwende zur Programmierung das ATMEL AVR Studio mit einem STK500. Ich möchte den IR-Sensor oder den Motortreiber ansteuern. Beim IR-Sensor hab ich ja nur einen Datenleitung brauch ich für TWI nicht 2? (oder irre ich mich da jetzt komplett?) Beim Motortreiber müsste es ja gehen über TWI ihn anzusprechen leider verstehe ich nicht wie.
Anfänger schrieb: > Also es handelt sich um den GP2D12 IR-Sensor, der liefert dir eine analoge Spannung. > den MD25 > Motortreiber bei dem hast du eh nicht viel Wahl. Der kann I2C und serielle. Für einen Anfänger ist Serielle sicherlich erst mal einfacher, weil man eine Serielle erst mal damit testen kann, dass ein PC mit Terminalprogramm den anderen Kommunikationspartner spielt. Dort sieht man dann schnell, was man gesendet hat bzw. kann mittels Tastatur seinem µC was 'zum Frass' vorwerfen, ehe dann die eigentliche Schaltung übernimmt. Ansonsten: schrittweise vorgehen! Nciht alles auf einmal, sondern in Etappen. SInnigerweise mit der 'Ausgabe' anfange, die in deinem Fall die Ausgabe an den Motortreiber wäre. Da du die aber zunächst mal auf den PC legen kannst (der dann anzeigt, was du dem Motortreiber schickst), kannst du erst mal die UART in Betrieb nehmen, da drauf dann erst Ausgaben machen und damit dann die Werte vom ADC ausgeben, an den du den Distanzsensor angeschlossen hast. Somit ist dein Vorgehen * UART in Betrieb nehmen * erst mal den PC als Kommunikationspartner benutzen * auf dem Termianl am PC Ausgaben machen * DIstanzsensor an den ADC * gemessene Werte über die UART am PC ausgeben * Werte in Distanzen umrechnen und am PC ausgeben * PC testweise mit dem Motorteiber verbinden und zusehen, dass man durch händische Eingabe von Befehlen an den Motortreiber lernt, mit dem Treiber umzugehen. * Werte in Motorbefehle umsetzen und am PC ausgeben. Kontrollieren, dass die Befehle korrekt und sinnvoll sind. * PC durch den Motortreiber ersetzen. * dem Typen eine reinhauen, der dir gesagt hat, dass das eh alles ganz einfach wäre und das man dazu nichts können braucht.
Hallo "Anfänger" Dein IR-Sensor stellt eine analoge Spannung (die Proportinal zur entfernung ist) zur Verfügung. Da kannst du weder mit I²C oder UART oder sonst irgendeinem Datenprotokoll drauf zugreifen. Du musst den Analog/ Digital Konverter des µC dafür verwenden. Die Analoge Spannung des IR Sensors einlesen, in eine Entfernung umrechnen, und dann den Motortreiber entsprechend ansteuern... (Wie das letztere funktioniert würde ich mir erst Gedanken drüber machen, wenn du eine korrekte Entfernung gemessen hast) Bis dahin ist es nämlich noch ein (mittel)weiter Weg. Aber nichtz verzagen, im Tutorial hier findest du gute Anleitungen wie man den A/D Converter von µC benutzt...
Anfänger schrieb: > Außerdem ist TWI und I2C nicht das gleiche? Doch, ist es. Der doppelte Name hat patentrechtliche Gründe. Die Bezeichnung I²C stammt von Philips, die Bezeichnung TWI von Atmel. In deiner Auflistung hast du das recht einfache SPI vergessen.
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.