Bascom 1,8" Farbdisplay 128x160 SPI mit Bascom ansteuern...aber wie

Hallo Hkipnik,
hatte mir das Programm zum Display ( letztes update 3.6.13 ) heruntergeladen.
Habe gedacht damit fängst du an, und hab mir ein Display bestellt ( SainSmart 1,8" TFT LCD Modul mit ST7735R ).
Nun weiß ich nicht wie soll ich das Ding anschliessen.
Du hast in Deinem Programm ja folgende Belegung fürs Display.

CS , DC , Reset , Mosi , Lite = +5V

Mein Display hat folgenden Anschluss:

CS , SDA , SCL , RS/DC , Reset , VCC , GND

SD Card lass ich erstmal weg.

Ich bitte um Hilfe. Was schliesse ich wo an, und packt das das Programm ?

Schon mal danke.
WilliW
 
Hallo Willy,
das Display wird über den Spi Bus betrieben.
Beim ATmega1280 oder 2560 sind das:

SCL --> PortB.1
SDA --> PortB.2
RS/DC --> PortB.5
CS --> PortB.7
Res --> PortB.6

Gruß
Hkipnik
 
Hi,

das Display wird über den Spi Bus betrieben.
Beim ATmega1280 oder 2560 sind das:

SCL --> PortB.1
SDA --> PortB.2
RS/DC --> PortB.5
CS --> PortB.7
Res --> PortB.6

bei manchen Bauteilen muß man bei den Pinbezeichnungen etwas interpretieren :rolleyes:

SCL/SDA hört sich im ersten Moment stark nach I2C/TWI-Bus an. Viele Hersteller nehmen die Bezeichnung aber auch einfach nur so als Abkürzung für irgendeinen seriellen Bus.
SCL -> Serial Clock (es geht auch SCK, CK, CLK, ...)
SDA -> Serial Data (es geht auch DI, MOSI, SD, ...)
Da muß man ein wenig flexibel sein :p und notfalls das Datenblatt befragen was der Hersteller da wirklich gemeint hat.

Gruß
Dino
 
Hallo zusammen!

Also an ein I2C-Display würde ich jetzt nicht denken, weil CS und RS mit dabei sind.
Klingt für mich daher eher nach einem SPI ähnlichen Display.

Einige Pins wären ja klar (CS, Reset, Mosi und DC), aber der Rest? :hmmmm:

Daher.....
Entweder einfach ausprobieren,
auf die Antwort von Hkipnik warten,
oder ruhig noch mal Bascom-Forum fragen (da ist Hkipnik auch oft vertreten). :wink:


Grüße,
Cassio
 
Hallo Dirk!

Danke, für`s Augen öffnen. :wink:

Ich hatte beim schnellen reinsehen irgendwie nur den Beitrag von Dino gesehen...... :eek:
Ja ja, das Alter und der Tunnelblick! :cool:

Grüße,
Cassio
 
Hallo Hkipnik,

danke für die schnelle Antwort, ( auch den Anderen)
Also ich werkle hier mit dem 328 da sind die Pins etwas anders.
Nun hab ich die beiden Datenblätter mal nebeneinander gelegt.

2560 328
SCL --> PortB.1 (SCK) PortB.5 ( SCK )
SDA --> PortB.2 (Mosi ) PortB.3 ( Mosi )
RS/DC --> PortB.5 (OC1A ) PortB.1 (OC1A )
CS --> PortB.7 ( OC0A ) PortD.6 ( OC0A )
Res --> PortB.6 ( OC1B ) PortB.2 (OC1B )

Könnte das so passen ?

Gruss
Willi
 
Hallo Willi,

ich kenne das Display nicht und leider auch nicht die Lib von Hkipnik (ich programmiere nicht in BascomAVR), aber vielleicht helfen schon einmal folgende Hinweise.

SCL und SDA hört sich für mich nach I2C bzw. TWI an.
MOSI und SCK eher nach SPI.
Das Display unterstützt eventuell beides, demnach wird sicher SCK der Clock und SDA DataInput des Displays sein.
Für Hardware SPI werden die Signale SCL und SDA passen, wenn die Lib HardwareSPI unterstützt oder man diese IO-pins wählen kann.

Alle anderen Signale (RS/DC, RES, CS) kannst du eigentlich an beliebige freie IO-Pins anschließen, du solltest natürlich schauen, welche Pins die Lib nutzt, bzw. wie man diese dort konfiguriert. Du bringst die Beziehung der alternativen Portfunktionen OCRnm ins Spiel. Für das Display benötigst du diese nicht, da sicher PWM nicht für Reset, RegisterSelect oder ChipSelect benötigt wird. :)

Dirk :ciao:
 
Hallo,
habe eben gesehen das ich wohl mit dem Editor auf Kriegsfuß stehe.
Die Tabellen sollten eigenlich so aussehen:

Also ich werkle hier mit dem 328 da sind die Pins etwas anders.
Nun hab ich die beiden Datenblätter mal nebeneinander gelegt.


-------2560 -----------------------> 328
SCL --> PortB.1 (SCK) --------->PortB.5 ( SCK )
SDA --> PortB.2 (Mosi ) ------->PortB.3 ( Mosi )
RS/DC --> PortB.5 (OC1A )----> PortB.1 (OC1A )
CS --> PortB.7 ( OC0A ) ------>PortD.6 ( OC0A )
Res --> PortB.6 ( OC1B ) ----->PortB.2 (OC1B )

Könnte das so passen ?


Gruss Willi
 
Hallo Willy,

beim Mega328 sollte das laufen.

SCL --> PortB.5
SDA --> PortB.3

RS/DC --> PortC.0
CS --> PortC.1
Res --> PortC.2

für RS - CS - Res kannst du die IO-Pins frei wählen,
aber versuch es erstmal so.

Gruß
Hkipnik
 
...Die Tabellen sollten eigenlich so aussehen...
Hmm... geht doch...
Display2560328(WilliW)328(Hkipnik)
SCLPortB.1PortB.5PortB.5
SDAPortB.2PortB.3PortB.3
RS/DCPortB.5PortB.1PortC.0
CSPortB.7PortD.6PortC.1
ResPortB.6PortB.2PortC.2

Und was zum Thema:
Das mit den Bezeichnern hat Dino ja bereits angedeutet - hier gehts (scheinbar) um SPI. Wenn der AVR das mit Software erschlägt, kann natürlich jeder Pin jede Funktion übernehmen. Ist eben Sache der Software (bzw der verwendeten Bibliothek).
Wird hingegen das Hardware-SPI-Modul des AVR verwendet, müssen natürlich die entsprechenden Pins verwendet werden. Das sind generell MISO, MOSI und SCK. Zusätzlich kann der AVR mit !SS auch als Slave angesprochen werden (bzw in den Slave-Mode gezwungen werden - wenn !SS als Eingang konfiguriert ist). Du willst den aber sicher nur als Master verwenden. Im Master-Mode bedient die Hardware nur die 3 Pins (MISO, MOSI, SCK) - alles andere ist Sache der Software bzw der Bibliothek.

Cave: Das AVR-in-den-SlaveMode-zwingen gilt nur für den "echten" HW-SPI...
Das USI der ATtinies kann zwar auch als SPI konfiguriert werden - die Selektion des AVR als Slave ist dann aber in Software zu lösen...
 
Hallo Hkipnik, LotadaC,

danke für Eure Antworten.
Werde das alles mal ausprobieren, aber im Moment läuft das Programm " Dicke Erkältung."
Danch gebe ich Bericht.
Ja LotadaC, Hab nicht gesagt Tabelle geht nicht, ich bin einfach dazu nicht in der Lage.

Gruss
Willi
 
Hallo Hkipnik,
hab mal alles zusammen gesteckt. Nun hakts beim Compilieren.
die "include Dateien" werden nicht gefunden. Wo stehen die ? damit ich sie einbinden kann.
Gruss Willi
 
Hallo Willi,
alle include Dateien sind in der 1.8 spi ST7735R.zip

5522.JPG


Was für eine Fehlermeldung bekommst du den??

Gruß
Hkipnik
 
Hallo Hkipnik,
doofer Fehler, beim kopieren sind die include Dateien im falschen Ordner gelandet.
Hab das Programm mit den Ports für den 328P geändert.
Es wird kompiliert und gebrannt aber es gibt keine Anzeige d.h. die Anzeige leuchtet hellgrau und flackert etwas.
Was mir im Programm fehlt sind die Zuordnungen PortB.5 = SCl und PortB.3 = SDA.
Hab mein Programm mal beigefügt.

Code:
'*******************************************************************************
'Programm für ein Display ST7735R 1.8Zoll 128x160
'Display from adafruit.com/products/358
'or HY-1.8 Spi Display
'Bascom IDE 2.0.7.5
'
'Version:13092012
'By Hkipnik
' © Copyright by H.Kipnik 2012
'Date 13.09.2012
'update 03.06.2013
'*******************************************************************************
' SD Card CS --> portb.0
'       Miso --> portb.3
'       Mosi --> portb.2
'      Clock --> portb.1
'Display
'         CS --> portb.7
'         DC --> portb.5
'      reset --> portb.6
'       Mosi --> portb.2
'       Lite --> +5V
'
'Display typ Red or black Tab have different RGB order
'color of the display plastic wrap
'*******************************************************************************




$regfile = "m328Pdef.dat"
$crystal = 16000000
$hwstack = 150
$swstack = 150
$framesize = 150

$baud = 57600
'*******************************************************************************

Const Sdcard = 0                                            'use SD Card = 1  no SD Card = 0
Const Modus = 1                                             '0=Portrait  1=Landscape
Const Disp_typ = 1                                          'RGB order 0=Black Tab   1=Red Tab
'*******************************************************************************
'(                      Mega 2560
Config Portb.7 = Output
Config Portb.5 = Output
Config Portb.6 = Output
Lcd_cs Alias Portb.7
Lcd_dc Alias Portb.5
Lcd_reset Alias Portb.6
Portb.7 = 1
')

         'Mega 328P

 Config PortC.1 = Output
Config PortC.0 = Output
Config PortC.2 = Output
Lcd_cs Alias PortC.1
Lcd_dc Alias PortC.0
Lcd_reset Alias PortC.2
PortC.1 = 1





'*******************************************************************************

$include "ST7735_declarations.inc"

#if Sdcard = 1
 $include "Config_MMCSD_HC.bas"
 $include "Config_AVR-DOS.bas"
 Call Init_sd_card()
#endif



#if Sdcard = 0
 Config Portb.0 = Output                                    'auch wenn nicht genutzt
 Portb.0 = 1
 Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
  Spsr = 1
 Spiinit
#endif

'use for demo
Dim Xx As Byte , Yy As Byte , Temp As Byte , Yy1 As Byte , Xx1 As Byte , Col5 As Word , Teller As Byte


Call Lcd_init()

'*******************************************************************************
'Main
Do
'*******************************************************************************
'test landscape
'*******************************************************************************
#if Modus = 1
   Call Lcd_clear(gray3)
   Wait 1

   Call Lcd_clear(black)
   Call Lcd_text( "Font 6x10" , 5 , 20 , 4 , Red , Black)
   Call Lcd_text( "Font 8x8" , 5 , 40 , 1 , Yellow , Black)
   Call Lcd_text( "Font 8x12" , 5 , 60 , 3 , Green , Black)
   Call Lcd_text( "Font 12x16" , 1 , 80 , 2 , Blue , Black)
   Call Lcd_text( "Font 10x16" , 1 , 110 , 5 , Magenta , Black)
#if Sdcard = 1
   Call Lcd_pic(0 , 0 , 160 , 127 , "160.bin")
   Wait 2
   Call Lcd_clear(black)
   Call Lcd_pic(10 , 0 , 100 , 126 , "miki.bin")
   Wait 2
   Call Lcd_clear(black)
   Call Lcd_pic(50 , 50 , 50 , 50 , "uhr1.bin")
   Wait 2
   Call Lcd_clear(black)
   Call Lcd_pic(55 , 55 , 50 , 50 , "uhr1.bin")
   Wait 2
#endif

   Call Lcd_clear(red)

   Call Lcd_box(10 , 10 , 50 , 50 , 1 , Yellow , Blue)
   Call Lcd_line(10 , 64 , 100 , 100 , 4 , White)
   Wait 3
   Call Lcd_clear(black)
   Call Lcd_clear(blue)
   Wait 2
   Call Lcd_line(0 , 0 , 159 , 0 , 1 , White)
   Call Lcd_line(0 , 127 , 159 , 127 , 1 , White)
   Call Lcd_line(0 , 0 , 0 , 127 , 1 , White)
   Call Lcd_line(159 , 0 , 159 , 127 , 1 , White)
   Wait 1
   Call Lcd_clear(black)

   Call Lcd_circle(80 , 64 , 40 , 1 , Green)
   Wait 2
   Call Lcd_clear(black)
   Call Lcd_circle(80 , 64 , 40 , 0 , Green)
   Wait 2
   Call Lcd_clear(black)
   Call Lcd_fill_circle(80 , 64 , 50 , Green)
   Wait 2
   Call Lcd_clear(black)

   Call Lcd_clear(black)
   Call Lcd_text( "Box Fill" , 10 , 2 , 3 , Yellow , Black)
   For Temp = 1 To 10
      Xx = 10 + Rnd(50)
      Yy = 5 + Rnd(60)
      Yy1 = 5 + Rnd(30)
      Xx1 = 10 + Rnd(50)
      Col5 = 1 + Rnd(10)
      Call Lcd_box(xx , Yy , Xx1 , Yy1 , 1 , Color_array(col5) , Red)
   Next
   Wait 2
   Call Lcd_clear(black)
   Call Lcd_text( "Box with Border" , 5 , 2 , 3 , Yellow , Black)
   For Temp = 1 To 10
      Xx = 10 + Rnd(50)
      Yy = 10 + Rnd(70)
      Yy1 = 5 + Rnd(50)
      Xx1 = 10 + Rnd(50)
      Col5 = 1 + Rnd(10)
      Call Lcd_box(xx , Yy , Xx1 , Yy1 , 2 , Color_array(col5) , Cyan0)
   Next

  Wait 2
  Call Lcd_clear(black)
  Call Lcd_text( "Box" , 10 , 2 , 3 , Yellow , Black)

  For Temp = 1 To 10
     Xx = 10 + Rnd(50)
     Yy = 5 + Rnd(80)
    Yy1 = 5 + Rnd(50)
    Xx1 = 10 + Rnd(50)
    Col5 = 1 + Rnd(10)
    Call Lcd_box(xx , Yy , Xx1 , Yy1 , 3 , Color_array(col5) , Transparent)
  Next
  Wait 2
'-------------------------------------------------------------------------------
  Call Lcd_clear(black)
  For Teller = 1 To 5
     Xx = 80
     Xx1 = 4
     Yy = 50
     Yy1 = 4
   For Temp = 1 To 10
    Col5 = 1 + Rnd(10)
    Call Lcd_box(xx , Yy , Xx1 , Yy1 , 3 , Color_array(col5) , Transparent)
    Xx = Xx - 4
    Xx1 = Xx1 + 8
    Yy = Yy - 4
    Yy1 = Yy1 + 8
   Next Temp
  Next Teller
  Wait 1
#endif
'*******************************************************************************
'test Portrait
'*******************************************************************************
#if Modus = 0
 Call Lcd_clear(black)

 Call Lcd_clear(black)
 Call Lcd_text( "Font 6x10" , 5 , 20 , 4 , Red , Black)
 Call Lcd_text( "Font 8x8" , 5 , 40 , 1 , Yellow , Black)
 Call Lcd_text( "Font 8x12" , 5 , 60 , 3 , Green , Black)
 Call Lcd_text( "Font 12x16" , 1 , 80 , 2 , Blue , Black)
 Call Lcd_text( "Font 10x16" , 1 , 110 , 5 , Magenta , Black)
  Wait 2
 Call Lcd_clear(red)
' Wait 2
 Call Lcd_clear(blue)

  Call Lcd_clear(black)
 Call Lcd_text( "Line" , 40 , 2 , 3 , Yellow , Black)
 Xx = 1
 For Temp = 1 To 20
  Xx = Xx + 6
  Col5 = 1 + Rnd(10)
  Call Lcd_line(1 , 1 , Xx , 160 , 1 , Color_array(col5))
 Next

  Xx = 128
  For Temp = 1 To 20
  Xx = Xx - 6
  Col5 = 1 + Rnd(10)
  Call Lcd_line(128 , 1 , Xx , 160 , 1 , Color_array(col5))
 Next
   Call Lcd_clear(black)
 Call Lcd_text( "Line" , 40 , 2 , 3 , Yellow , Black)
 Xx = 1
 For Temp = 1 To 20
  Xx = Xx + 6
  Col5 = 1 + Rnd(10)
  Call Lcd_line(1 , 1 , Xx , 160 , 2 , Color_array(col5))
 Next

  Xx = 128
  For Temp = 1 To 20
  Xx = Xx - 6
  Col5 = 1 + Rnd(10)
  Call Lcd_line(128 , 1 , Xx , 160 , 2 , Color_array(col5))
 Next
 Wait 2
'-------------------------------------------------------------------------------
  Call Lcd_clear(black)
  Call Lcd_text( "Circle fill" , 18 , 2 , 3 , Yellow , Black)
  Yy1 = 50
 Call Lcd_fill_circle(64 , 80 , Yy1 , Red)
  For Temp = 1 To 10
    Yy1 = Yy1 - 5
      Col5 = 1 + Rnd(10)
     Call Lcd_fill_circle(64 , 80 , Yy1 , Color_array(col5))
  Next
 Wait 2

 Call Lcd_clear(black)
 Call Lcd_text( "Circle" , 38 , 2 , 3 , Yellow , Black)
 Yy1 = 60
 Call Lcd_circle(64 , 80 , Yy1 , 0 , Red)
  For Temp = 1 To 10
    Yy1 = Yy1 - 5
      Col5 = 1 + Rnd(10)
     Call Lcd_circle(64 , 80 , Yy1 , 0 , Color_array(col5))
  Next
Wait 2
'-------------------------------------------------------------------------------

 Wait 1
 Call Lcd_clear(black)
#if Sdcard = 1
 Call Lcd_pic(11 , 5 , 106 , 150 , "klein.bin")
 Wait 2
  Call Lcd_clear(black)
 Call Lcd_pic(10 , 10 , 50 , 50 , "uhr1.bin")
 Call Lcd_pic(60 , 60 , 50 , 50 , "uhr1.bin")
 Wait 2
 Call Lcd_pic(0 , 0 , 127 , 160 , "011.bin")
 Call Lcd_text( "Transparent" , 10 , 50 , 3 , Red , Transparent)
 Wait 2
 Call Lcd_pic(0 , 0 , 127 , 160 , "009.bin")
 Wait 2
 Call Lcd_pic(0 , 0 , 127 , 160 , "012.bin")
 Wait 2
 Call Lcd_pic(0 , 0 , 127 , 160 , "016.bin")
 Wait 2
 Call Lcd_pic(0 , 0 , 127 , 160 , "022.bin")
 Wait 2
 Call Lcd_pic(0 , 0 , 127 , 160 , "023.bin")
 Wait 2
 Call Lcd_pic(0 , 0 , 127 , 160 , "024.bin")
 Wait 2
 Call Lcd_pic(0 , 0 , 127 , 160 , "028.bin")
 Wait 2
 Call Lcd_pic(0 , 0 , 127 , 160 , "034.bin")
 Wait 2
 Call Lcd_pic(0 , 0 , 127 , 160 , "045.bin")
 Wait 2
#endif

'-------------------------------------------------------------------------------


 Call Lcd_clear(black)
 Call Lcd_text( "Box Fill" , 10 , 2 , 3 , Yellow , Black)
 For Temp = 1 To 10
  Xx = 10 + Rnd(50)
  Yy = 20 + Rnd(80)
  Yy1 = 20 + Rnd(50)
  Xx1 = 10 + Rnd(50)
  Col5 = 1 + Rnd(10)

  Call Lcd_box(xx , Yy , Xx1 , Yy1 , 1 , Color_array(col5) , Red)
 Next
 Wait 2
 Call Lcd_clear(black)
 Call Lcd_text( "Box with Border" , 5 , 2 , 3 , Yellow , Black)
 For Temp = 1 To 10
  Xx = 10 + Rnd(50)
  Yy = 20 + Rnd(80)
  Yy1 = 20 + Rnd(50)
  Xx1 = 10 + Rnd(50)
  Col5 = 1 + Rnd(10)

  Call Lcd_box(xx , Yy , Xx1 , Yy1 , 2 , Color_array(col5) , Cyan0)
 Next

 Wait 2
  Call Lcd_clear(black)
  Call Lcd_text( "Box" , 10 , 2 , 3 , Yellow , Black)

 For Temp = 1 To 10
  Xx = 10 + Rnd(50)
  Yy = 20 + Rnd(80)
  Yy1 = 20 + Rnd(50)
  Xx1 = 10 + Rnd(50)
  Col5 = 1 + Rnd(10)

  Call Lcd_box(xx , Yy , Xx1 , Yy1 , 3 , Color_array(col5) , Transparent)
 Next
 Wait 2
'-------------------------------------------------------------------------------
  Call Lcd_clear(black)
For Teller = 1 To 5
  Xx = 62
  Xx1 = 4
  Yy = 78
  Yy1 = 4

  For Temp = 1 To 15
     Col5 = 1 + Rnd(10)
    Call Lcd_box(xx , Yy , Xx1 , Yy1 , 3 , Color_array(col5) , Transparent)
    Xx = Xx - 4
    Xx1 = Xx1 + 8
    Yy = Yy - 4
    Yy1 = Yy1 + 8
  Next Temp
Next Teller
 Wait 1
#endif

Loop
End
'*******************************************************************************
$include "ST7735_functions.inc"
#if Sdcard = 1
$include "SD_card_init.inc"
#endif
$include "Font\Font12x16.font"
$include "Font\Font8x8.font"
$include "Font\font8x12.font"
$include "Font\font6x10.font"
$include "Font\font10x16.font"
'*******************************************************************************
Gruss Willi
 
Hallo Willi,

Bitte ändere das hier in deinem Programm,

von:

Code:
#if Sdcard = 0
 Config Portb.0 = Output                                    'auch wenn nicht genutzt
 Portb.0 = 1
 Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
  Spsr = 1
 Spiinit
#endif

Auf:

Code:
#if Sdcard = 0
 Config Portb.2 = Output                                    'auch wenn nicht genutzt
 Portb.2 = 1
 Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
  Spsr = 1
 Spiinit
#endif

dann sollte es laufen.

IMG_0463.JPG

Gruß
Hkipnik
 
Hallo Hkipnik,

vielen Dank für Deine Mühe.
Es sollte nicht nur laufen , es läuft.
Ohne Deine Hilfe hätte wäre das nichts geworden.
Nun beginne ich mal das Display in mein Programm ( Wetter, Uhr usw. einzubauen).

danke und einen schönen Sonntag
Willi
 
Hallo Hkipnik,
kleiner Nachtrag.
Also das macht richtig Spass, das Ausprobieren der verschiedenen Grafikmöglichkeiten.
Durch die vielen Beispiele im Programm fällt mir das Verstehen der Grafikanzeige leichter.
Eine Frage habe ich zu der Farbzuordnung ( Rot zeigt blau, blau zeigt rot, gelb zeigt türkis.
Hab ich da irgenwo was verdreht ?
Gruss Willi
 
Hallo Willi,
es gibt verschiedene Displays zu kaufen.

Ändere mal hier:
Const Disp_typ = 1 'RGB order 0=Black Tab 1=Red Tab

auf Typ 0 um.
Dann sollte das wieder passen.

Gruß
Hkipnik
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)