Ich bin gerade an meinem Wecker-Projekt, die Uhrzeit funktioniert schon, jetzt möchte ich mit Hilfe von Tastern eine Weckzeit einstellen. Aber ich habe gelesen, dass ein Taster prellt und ich würde gerne das Signal ohne prellen auswerten. Ich habe mir überlegt, dass ich 40 mal hintereinander den Taster auslese, jedesmal wenn das Signal 1 ist den Akku erhöhe und dann den Wert des Akkus mit einem von mir vorgegebenen Wert vergleiche. Schließlich übernehme ich dann das Signal. Habt ihr Ideen?
RC glied kann schon sehr helfen ein bissl software und die taste ist entprellt =)
C++ oder Assemblembler ? Hängt dein taster an einem interrupt ? So wie du das schilderst nehme ich fast an, dass du asm verwendest. In Prinzip ist das so wie du es machen willst schon richtig. MfG Axos
@Jens123 Reicht ein RC-Glied aus oder muss man ZUSÄTZLICH noch Software-entprellen?
Am einfachtsten fragst du die Tastereingänge einfach nur alle paar Millisekunden ab. Dann stört das Prellen nicht mehr.
Hi,
>> Jens123 : RC glied kann schon sehr helfen ein bissl software und die
taste ist entprellt =)
Ein Softwareentwickler versucht immer Hardwarebeschaltung zuvermeiden
und das Problem in Software lösen.
Sowie Christian S. gesagt hat fragt man die Taster ein bischen spaeter
nochmal ab. Am besten funktioniert dieses über die Timer. Einfach z.B.
den Timer0 als Timer Overflow Int einstellen.
In diesem Timer Overflow erhoehst du einen Zaehler. Wenn der Zaehler >
x ist dann fragst du die Taste nochmal ab.
Unter www.google.de oder unter der Forum suche solltest du auch fuendig
werden.
Seit nicht so scheu und traut euch die Suchfunktion zunutzen.
Mfg
Dirk
"Ein Softwareentwickler versucht immer Hardwarebeschaltung zuvermeiden und das Problem in Software lösen." Volle Zustimmung !!! Hardware bedeutet immer zusätzliche Kosten bei jedem Projekt und jedem einzelnen Gerät, zusätzliche (kalte) Lötstellen, zusätzliche (defekte) Bauelemente. Software benötigt dagegen nur einmalig etwas Gehirnschmalz und dann braucht man sich nie mehr damit beschäftigen, sondern kann sie einfach in jedes neue Projekt includen. Ich benutze meine 8-Tastenroutine auch bei nur einer Taste. Nur im ATTiny12 habe ich sie nochmal optimiert, daß nur 4 Bits eines Registers als Speicher benötigt werden (wurde gerade kürzlich in allen Einzelheiten von HanneS erklärt). Peter
Man muß immer die Verhältnismäßigkeit der Mittel sehen. Wenn ich ein recht anspruchsvolles Programm habe, welches stark an die Grenzen des Controllers kommt (z. B. DMX-Strom empfangen, verarbeiten und weiter senden), ist eine Hardware-Lösung nicht immer abzuschmettern, da ich mehr Rechenzeit für kritische Bereiche habe. Was die Kosten angeht, ein Widerstand kostet inzwischen ca. 0,1 bis 0,5 Cent, ein Kondensator ca. 5 Cent. Ein fertiges Modul in ein Projekt einzubinden (Ports definieren usw.) wird von den Kosten nicht günstiger werden. Und die Routine muß einmal auch geschrieben und getestet werden. Wenn da 2 Stunden zusammen kommen, kann man schon sehr viel Hardware einbauen. Defekte Bauteile: meiner Erfahrung nach macht als erstes der Taster dicke Backen. Wenn dann die Prellzeiten von 2 ms auf 40 ms steigt, weil die Kontakte korridiert sind, kann die Software auch schon mal versagen. Ich meine der Balanceakt zwischen Soft-und Hardware ist der richtige Weg. Michael
Hallo! Es kommt auch darauf an, ob man eine große Serie bauen möchte oder nur einen Prototypen. Bei einer großen Serie kommt es bei der Hardwareentwicklung auf jeden Cent an. Hier ist es sinnvoll sich extra nochmal mehrere Stunden hinzusetzten und soviel wie möglich in Software zu betten. Bei einem Prototypen würde ich mehr Hardware vorziehen, da man, wenn man weiß wie die einzelnen IC's zu beschalten sind, schneller fertig ist. Dadurch ist das Programm kompakter und man kann auch hier wieder beim µP sparen. Wie Michael schon sagte: Ich meine der Balanceakt zwischen Soft-und Hardware ist der richtige Weg. Tschüss Martin
... ist eine Hardware-Lösung nicht immer abzuschmettern, da ich mehr Rechenzeit für kritische Bereiche habe. Aber immer ! Software braucht den Bruchteil eines Prozentes an 'Rechenzeit' und wiegt all die Nachteile einer Hardwarelösung auf.
Wieviel Michaels gibt's hier eigentlich? Also bis jetzt wären da: - Michael - Michael (der wahre) - Michael (ein anderer) Lustig.... ;-)
Das ist wie mit den Heinos ! ""Au ja, auf einmal ist Software schneller als Hardware."" Das ist ich garnicht einmal ausschliessen :-) Aber beim Entprellen soll es ja gerade langsam zugehen. Und die paar Bytes dazu brauchen weder übermäßig Speicher noch Rechenzeit. Der einzig Wahre :-)
Ich sprach vorhin von komplizierteren Lösungen. Z.B. Wenn ich einen Prototypen bauen würde, der einen Schrittmotor ansteuert, dann würde ich den L297 und L298 nehmen. Dadurch ist die Software auf ein Minimum reduziert und die Stromregelung wird automatisch vom L297 übernommen. Bei einer Serie müsste man sich überlegen, ob man nicht den L297 weglässt und seine Funktion der µC übernimmt. Aber ein Entprellen der Taster würde ich immer in Software realisieren, da eine softwaremäßige Entprellung nicht besonders viel mehr Aufwand bedeutet. Tschüss Martin
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.