Forum: Mikrocontroller und Digitale Elektronik Taster und I2C-Expander


von Stefanie (Gast)


Lesenswert?

Hallo,
ich möchte an meinen ATmega128 über TWI bzw. I2C 5 Taster anschließen.
Dafür brauche ich ja einen I2C Expander und da hab ich mir folgenden
ausgesucht:
http://www.semiconductors.philips.com/acrobat_download/datasheets/PCF8574_4.pdf
und
als Taster habe ich mir welche von Reichelt mit der Bezeichnung 1032
rausgesucht:
http://www.reichelt.de/inhalt.html?SID=15rkBygawQAREAAHyLLkY64809e457886216d2e7d89041bd9a738;ACTION=7;LASTACTION=6;SORT=artikel.artnr;GRUPPE=C223;GRUPPEA=C22;WG=0;SUCHE=taster%205v;ARTIKEL=TASTER%25201032.1;START=0;END=16;STATIC=0;FC=674;PROVID=0;TITEL=0;DATASHEETSEARCH=TASTER%201032.1;FOLDER=C200;FILE=TASTER1032%2523SCH.pdf;DOWNLOADTYP=1;DATASHEETAUTO=;OPEN=1

Funktioniert das, wenn ich 5V Versorgungspg habe? ... und auch mit
diesem Expander?

Hat wer von euch diesem Taster schon als Eagle-File?!

Wäre echt super...!!

Gruß, Stefanie

von rweber (Gast)


Lesenswert?

Such mal im Eagle nach pcf8574* und Du wirst fündig werden

Gruss,
rweber

von Stefanie (Gast)


Lesenswert?

Ich meine doch den Taster, als Eagle File. Trotzdem Danke...

von rweber (Gast)


Lesenswert?

Sorry war ein harter Tag, ich schalte besser den Lötkolben aus und hau
mich auf die Couch :-)

Gruss,
rweber

von PiCus (Gast)


Lesenswert?

Hallo Stefanie

ich hab hier etwas, kannst es gerne probieren. Zunächst einmal, klar
kannst du die an 5V betreiben.

'------------------------------------------------
'i2c-pcf8574-switch
'4 Tasten
'4 LED
'------------------------------------------------

$regfile = "m8def.dat"
'$crystal = 4000000                                         'int.
Oszi
$lib "Lcd_i2c.lib"
$lib "i2c.lib"

Config Sda = Portc.4
Config Scl = Portc.5
Config I2cdelay = 10

Const Aus = &B11111111                                 'Alle Ausgänge
0

Const Pcf8574write = &H40                              'eingabe
Const Pcf8574read = &H41

Const Pcf8574_lcd = &H4E
Config Lcd = 20 * 2
Dim _lcd_e As Byte
_lcd_e = 128

Dim Pcf8574port As Byte
Dim Ledanz As Byte
Dim Ausgang As Byte
Dim Zeit As Byte
Dim Keydruck As Byte
Dim Anzeige As Byte

Do
  'Read Pcf8574 port
  I2cstart
  I2cwbyte Pcf8574read
  I2crbyte Pcf8574port , Nack

  'Locate 2 , 1 : Lcd "Port: " ; Hex(pcf8574port)
  'I2cstop
  Select Case Pcf8574port
   Case 247 : Anzeige = 4
'&B11101111
   Case 251 : Anzeige = 3
'&B11011111
   Case 253 : Anzeige = 2
'&B01111111
   Case 254 : Anzeige = 1
'&B10111111
   Case Else : Anzeige = 0
'&B11111111
  End Select

  Locate 1 , 1 : Lcd "Port: " ; Pcf8574port
  Locate 2 , 1 : Lcd "Port: " ; Anzeige
Loop

Anzeigen:
   I2cstart
   I2cwbyte Pcf8574write
   I2cwbyte Anzeige

   Wait 3
   I2cwbyte Aus

Return

'I2c ausschalten
I2c_aus:
I2cwbyte Aus
Return

End

sind zwar noch andere Variablen mitdrinn aber zum anschauen geht's
Pläne für LCD am 1. 8574 gibst im interent oder schai dir die LIB an
wenn du unter BASCOM programmieren solltest
Beim 2. 8574 sind die ersten 4 Port's für Tasten und die ander 4 für
LED's
Wenn du einen Plan brauchst dann schreib mir deine E-Maiadresse und ich
mail sie dir zu im Eagle Format

Gruss PiCus

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
Noch kein Account? Hier anmelden.