Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Rasenmaehroboter fuer schwierige und grosse Gaerten im Test

 
K
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 12: Zeile 12:
  
 
Der Taster wird hier zwischen VCC und den Port-Pin gesetzt.
 
Der Taster wird hier zwischen VCC und den Port-Pin gesetzt.
Zwischen GND und den Port-Pin wird noch ein Pull-Down Widerstand (1k Ohm) eingesetzt, um einen Kurzschluss der Schaltung zu verhindern.
+
Zwischen GND und den Port-Pin wird noch ein [[Pullup Pulldown Widerstand|Pull-Down Widerstand]] (1k Ohm) eingesetzt, um einen Kurzschluss der Schaltung zu verhindern.
  
 
   VCC -|
 
   VCC -|
Zeile 35: Zeile 35:
  
 
Der Taster wird hier zwischen GND und den Port-Pin gesetzt.
 
Der Taster wird hier zwischen GND und den Port-Pin gesetzt.
Zwischen VCC und den Port-Pin wird noch ein Pull-Up Widerstand (1k Ohm) eingesetzt, um einen Kurzschluss der Schaltung zu verhindern.  
+
Zwischen VCC und den Port-Pin wird noch ein [[Pullup Pulldown Widerstand|Pull-Up Widerstand]] (1k Ohm) eingesetzt, um einen Kurzschluss der Schaltung zu verhindern.  
  
 
   VCC -|
 
   VCC -|
Zeile 49: Zeile 49:
  
 
Um Bauteile zu Sparen kann hier auch der intere Widerstand am Eingangspin des µControllers aktiviert werden.
 
Um Bauteile zu Sparen kann hier auch der intere Widerstand am Eingangspin des µControllers aktiviert werden.
In diesem Fall wird der externe Pull-Up Widerstand einfach weggelassen.
+
In diesem Fall wird der externe [[Pullup Pulldown Widerstand|Pull-Up]] Widerstand einfach weggelassen.
  
 
         |--- µC-Pin
 
         |--- µC-Pin
Zeile 100: Zeile 100:
 
</pre>
 
</pre>
 
Es wird also darauf geprüft, ob der Pin hier "NICHT HIGH" ist, da am Eingangspin immer der Zustand "High" liegt, solange der Taster geöffnet ist. Wird der Taster geschlossen, wechselt der Zustand am Pin PB7 auf low und der entsprechende Abschnitt der Abfrage wird ausgeführt.
 
Es wird also darauf geprüft, ob der Pin hier "NICHT HIGH" ist, da am Eingangspin immer der Zustand "High" liegt, solange der Taster geöffnet ist. Wird der Taster geschlossen, wechselt der Zustand am Pin PB7 auf low und der entsprechende Abschnitt der Abfrage wird ausgeführt.
 +
 +
=Weiterführende Links=
 +
[[Taster-Abfrage in C]]
 +
[[Pullup Pulldown Widerstand]]
 +
 +
[[Kategorie: Sensoren]]

Aktuelle Version vom 27. Juli 2012, 13:16 Uhr

Tastsensoren, oder Taster, werden vielseitig im Roboterbau eingesetzt, beispielsweise um das Festfahren von mobilen Robotern zu verhindern.

Anschließen des Tasters

Grundsätzlich gibt es zwei Möglichkeiten, wie man einen Taster anschließen kann. Er kann gegen VCC, oder gegen GND geschaltet werden. Wie der Taster angeschlossen ist, ist dann vor allem in der Programmierung des µCs zu beachten. Die Unterschiede zwischen den beiden Anschlussarten sollen im weiteren kurz erläutert werden.

Anschließen des Tasters gegen VCC

Beim Anschließen des Tasters gegen VCC, erhält der Port-Pin beim Druck des Tasters ein HIGH-Signal. Es muss also in der Software auf die logische 1 geprüft werden.

Aufbau der Schaltung

Der Taster wird hier zwischen VCC und den Port-Pin gesetzt. Zwischen GND und den Port-Pin wird noch ein Pull-Down Widerstand (1k Ohm) eingesetzt, um einen Kurzschluss der Schaltung zu verhindern.

  VCC -|
       |
       TASTER 
       |
       |--- µC-Pin
       |
       |
      1k Ohm
       |
  GND -|

Überlegung zur Software

Bei der Software ist hier zu beachten, das der Port auf die logische 1 gesetzt wird wenn der Taster gedrückt ist. Dieser Zustand kann dann softwareseitig abgefragt werden. Mehr Information dazu befindet sich im Abschnitt 2. Software.

Anschließen des Tasters gegen GND

Aufbau der Schaltung

Der Taster wird hier zwischen GND und den Port-Pin gesetzt. Zwischen VCC und den Port-Pin wird noch ein Pull-Up Widerstand (1k Ohm) eingesetzt, um einen Kurzschluss der Schaltung zu verhindern.

  VCC -|
       |
      1k Ohm
       |
       |--- µC-Pin
       |
       |
      TASTER
       |
  GND -|

Um Bauteile zu Sparen kann hier auch der intere Widerstand am Eingangspin des µControllers aktiviert werden. In diesem Fall wird der externe Pull-Up Widerstand einfach weggelassen.

       |--- µC-Pin
       |
       |
      TASTER
       |
  GND -|


Software

Grundsätzliche Überlegungen

Selbstverständlich muss die Software zur gewählten Anschlusart des Tasters passen. Daher wird in den nächsten Abschnitten auf die beiden Arten gesondert eingegangen, auch wenn der Code sich sehr ähnlich ist und der Unterschied lediglich darin besteht, ob auf HIGH oder LOW geprüft wird.

Im weiteren ist der Taster an den Pin 7 von Port B angeschlossen, kürzer als PB7 bezeichnet.

Codebeispiele für Schaltung gegen VCC

Hier ein kleines Codeschnippsel für die Tasterabfrage in C:

if ( PINB & (1<<PB7) )
    {
      // pin ist high
      // Taster ist gedrückt
    }
    else
    {
      // pin ist low
      // Taster ist nicht gedrückt
    }

Es wird also geprüft, ob der Pin hier auf HIGH geschaltet wurde. In diesem Fall wird dann der entsprechende Code ausgeführt.

Codebeispiele für Schaltung gegen GND

Hier ein Codeschnippsel für die Tasterabfrage, wenn der Taster gegen GND geschaltet wurde:

if ( !(PINB & (1<<PB7)) )
    {
      // pin ist low
      // Taster ist nicht gedrückt
    }
    else
    {
      // pin ist high
      // Taster ist gedrückt
    }

Es wird also darauf geprüft, ob der Pin hier "NICHT HIGH" ist, da am Eingangspin immer der Zustand "High" liegt, solange der Taster geöffnet ist. Wird der Taster geschlossen, wechselt der Zustand am Pin PB7 auf low und der entsprechende Abschnitt der Abfrage wird ausgeführt.

Weiterführende Links

Taster-Abfrage in C Pullup Pulldown Widerstand


LiFePO4 Speicher Test