Archiv verlassen und diese Seite im Standarddesign anzeigen : Interupt Port sparen
hallo ihr Lieben,
ich möchte gerne 4 IR-Sensoren mittels des ext Interupts des Mega16 (Int0 und Int1) abfragen. Meine Sensorenschaltung gibt entweder eine 0 (schwarz) oder eine 1 (weiß) aus. Ich habe mir nun überlegt, dass der Interupt ausgelöst werden soll, wenn einer der Sensoren auf 1 springt (der Roboter also am Rand des Sumoringes ist).
Ist es möglich dies einfach mit einer OR Schaltung zu realisieren (also 3 OR) und dann ein Kabel zum Int0 zu führen, um dann abzufragen welcher Sensor am Rand ist?
Wenn ja kann mir jemand einen IC nennen, der 3 OR-Gatter hat?
Vielen Dank
Gruß
Stefan
Eine Frage die mich auch interessiert ist, ob man pro AVR nur vorbestimmte Ports auf Interupts prüfen kann, oder beliebige.
Wenn nur einen, dann könntest du mit Hilfe von Dioden dafür sorgen, dass auf einem Pin immer ein Interrupt ausglöst wird.
MFg Moritz
Hallo Gast!
Das ganze mit einem OR Gatter verknüpfen ist prinzipiell schon möglich.
Allerdings kannste auf diese Art un weise nicht feststellen welcher deiner 4 Sensoren jetzt angesprochen hat... Kommt also darauf an was du für Informationen brauchst.
Ein möglicher Baustein wäre der 7432, der hat 4 OR- GAtter mit je zwei Eingängen... Kostet so zwischen 20 und 60 Cent...
Hallo,
@rco: also wenn ich das richtig verstanden habe sind die beiden ports int0 und int1 die beiden einzigen (digitalen) Interruptquellen die der Mega16 vorsieht. Welche Pins das sind steht im Datenblatt (das ich grad nicht zur Hand habe.
@maw_hn: vielen Dank für den Hinweis welcher IC geht. Ich hatte mir das so vorgestellt, dass ich die einzelnen Sensoren jeweils einzeln zu digitalen Eingängen führe und nur das OR verknüpfte "Gesamtergebnis" an int0 anschließe. Im Falle des Interruptes müsste ich dann doch rasch auslesen können welcher Sensor nun auf 1 steht und entsprechend reagieren können. Zeitlich dürfte das doch kein Problem sein!?
Oder mache ich einen Denkfehler
Also ich denke, dass du dir das OR sogar sparen kannst, wenn du einfach Dioden nimmst:
Sensor1 o------|>-----o int0
Sensor2 o------|>-----o int0
...
Spart ein IC.
Mit den Eingängen, hast du recht, ich habs auch gefunden.
MFg moritz
bergowitch
13.10.2004, 14:58
Also ich verstehe dich richtig, dass du je Sensor eine Diode in Reihe schaltest und dann alle zusammen an den int0 anschließt? Welche Diode kann man dazu nehmen?
Gruß Stefan (endlich mal eingeloggt)
Mir wär das mit den Dioden zu heikel... Zu schlechte Erfahrungen damit gemacht... Ein Denk- oder Anschlussfehler und du kannst dir nen neuen uC kaufen gehen.
@bergowitch: So wie du es zum Schluss beschrieben hast würd ichs au machen. Brauchst halt noch 4 extra Ports.
Also der Sensor hängt hlat zum einen an einem PortX und über eine Diode an dem Interrupt-port. Die Dioden sind wichtig, damit kein Saft zurückfließen kann, dann sähe es so aus, als wenn alle drei etwas erkannt haben.
Was för Dioden? Keine Ahnung, ich benutz immer irgendwelche, die gerade rumfliegen. Hatte mir mal bei Ebay welche geholt, aber leider die Kennzeichnung verloren. Je nachdem ob der Interrupt jetzt auf Rising oder Falling reagiert, musst du die Dioden natürlich umdrehen.
MFg moritz
bergowitch
13.10.2004, 15:13
Vielen Dank Euch beiden. Ich glaube ich bleibe mit der Version mit dem Or-Gatter - weil mir das irgendwie sicherer vorkommt - und ich mich mit Dioden nicht so auskenne. Von den Kosten her machts kaum einen Unterschied, da ich keine Dioden hier habe.
Gruß Stefan
Das ist deine Entscheidung, hättest du Dioden da, hättest dus halt direkt ausprobieren können, aber wenn nicht spielt es echt keine Rolle.
MFG Moritz
bergowitch
13.10.2004, 16:02
Ich glaube ich hätte mich auch nicht beherrschen können :-)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.