PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Codeschnipsel für einen Microschalter



Loetme
20.04.2013, 20:48
Hallo Community,

habe im Roboternetz Shop einen Microschalter erworben (vgl. Bild). Jedoch war dazu kein - wie versprochen - Code Schnipsel dabei. Kann mir vielleicht jemand mit einem Codeschnipsel und der Verkabelung helfen:

1. Wie schliesse ich den Schalter an mein RN Control 1.4 Mega an. Der Schalter hat 3 Anschlüsse. Nehme mal an, einfach 3 Ports nutzen
2. Wie muss ich die Ports konfigurieren (Digital, Analog)
3. Wie kann ich prüfen, ob der Schalter Kontakt bekommt. Welche Ports muss ich auswerten und wie

Sorry, habe eigentlich keine Ahnung von Elektrotechnik, dennoch konnte ich mit meinem RN Control schon mit Codeschnipseln einige interessante Dinge zusammenbasteln. Wäre deshalb froh, jemand kann mir helfen. Denke, für Euch Profis ist das Peanuts.

Gruss LoetMe

Kampi
20.04.2013, 21:11
Hey,

der Mikroschalter funktioniert wie ein Taster. Da du nicht angegeben hast in welcher Sprache du den Schnipsel haben willst, kann ich dir dies bezüglich nicht weiter helfen :)
Aber deine Fragen kann ich dir beantworten.
Der Taster hat sicher einen "Eingangs"-Pin, einen Öffner und einen Schließer, sprich je nachdem wann er Schalten soll musst du die dementsprechenden Pins nehmen.
Für den Taster brauchst du nur 1 Port (1 Port = 8 Pins einer Gruppe, z.B. Port A = A0....A7).
Von diesem Port brauchst du eigentlich nur zwei Pins.
Die Pins kannst du nicht analog oder digital konfigurieren. Normale I/O Pins erkennen nur High oder Low, sprich Spannung da oder keine Spannung da. Wie hoch die Spannung ist können sie nicht detektieren. Manche Pins haben noch den Zusatz, dass diese an einen ADC (Analog/Digital Converter) gehen. Damit kannst du dann auch analoge Spannungen erfassen.
Einfache Funktionsweise eines Tasters auswerten ist folgende:

1. Taster mit einem Pin an GND, mit dem anderen Pin an den Mikrocontroller
2. Pull-Up Widerstand von dem Pin mit dem Taster aktivieren, dadurch liegt der Pin auf High
3. Prüfen ob der Pin auf Low liegt -> wenn er dies tut ist der Taster betätigt worden

Damit hast du auch gleich die Funktionsweise gesehen....der Pin ist Low wenn der Taster geschlossen wurde.
Wenn du aber stattdessen einen Öffnerkontakt verwendest, ist der Pin im ungeschalteten Zustand Low und im geschalteten Zustand, sprich wenn die Verbindung unterbrochen wurde, high.
Alle Fragen beantwortet :)?

Loetme
22.04.2013, 19:25
Hallo Daniel,

besten Dank für Deine hilfreichen Tipps. Die Zielsprache ist Bascom.

Ich werde nun mal die Anschlüsse anschliessen in allen verschiedenen Möglichkeiten (leider gab's kein Schema dazu) und dann mittels:

if Porta.01 = 1
print()

in einer Schlaufe auswerten, ob was passiert. Hoffe, das klappt so.

Gruss Michel

raidy
22.04.2013, 19:40
config PORTA = output ' jetzt ist erst mal alles output
config PINA.1 = input ' nur der ist input
PORTA.1 = 1 'und nun mittels 1 auf Pull-Up on gesetzt, damit immer High, so lange schalter nicht gedrückt

if PINA.1 = 0 then ' der taster wurde gegen Gnd geschlossen
PORTA.2 = 1 ' z.b. eine LED einschalten
......

übrigens: verwende alias, weil sich das programm besser liest

also
Schalter alias PINA.1
...
...
if Schalter = 0 then
.....



dein Microschalter ist beschriftet: com NO NC
COM = common -> für dich an gnd legen
NO = normal open -> für dich an porta.1 legen

NC = normal closed -> brauchst du nicht hier

raidy
29.04.2013, 00:20
danke - bitte