Frage Code (ATtiny2313-LCD-Analog Telefon Besetztanzeige)

  • Hallo Liebes Forum Und Bastler.........


    ja ich bins mal wieder, ich bitte euch um hilfe mit meinen Analog Telefon Bestezt Melder
    Die schaltung Funktioniert gut hab ich aus Elektor Heft......


    Ich beschreibe mal wenn ich am eingang wo telefon analog steht drahn ist und den hörer abnehme schaltet der CNY17 denausgang durch und der ATtiny2313
    sagt mir im LCD das die leitung besetzt ist....
    mich stört nur ein im LCD wird der TEXT immer wieder holt wie oder wo muss man was ändern????
    daher bitte ich um eure hilfe
    hier mal die 1x analog telefon besetzt melder mit grber schaltung es ATtiny2313



    und hier der code den ich benutze:


    BITTE UM HILFE UND TIPPS
    Mit Freundlichen Grüßen
    Thorsten Sch.

    3D LED-CUBE - Finde ich mega Cool.......
    PS: soory hab etwas mit der Schreib weise Soory...........

  • Hi Thorsten,


    was meinst du mit "wiederholt" ??


    Nach deinem Code wird der Text im LCD ca 1 mal pro Sekunde flackern, da du die Anzeige immer wieder "neu" anzeigst.
    Meinst du dieses Flackern??


    Das könntest du beheben, indem du eine Variable einfügst, die vor der LCD-Anzeige prüft, ob sich überhaupt was geändert hat. Wenn nicht, wird auch nix neu im LCD angezeigt.


    Gruß Philipp



    Ps.: Wäre schön, wenn du deine Texte vor dem Absenden noch mal auf Rechtschreibung und Grammatik überprüfst. Liest sich ziemlich holperig da oben.

  • Hallo flipp86 Und an die Bastler


    Also im LCD soll stehen=


    1.)LCD Besispiel Normal:
    TEL1 TEL2 TEL3
    - - - - - -


    2.)LCD Beispiel Bestzt einer Leitung:
    TEL1 TEL2 TEL3
    BES. - - - -


    Bei beispiel 2.) Sieht man das die leitung besetzt ist völlig richtig.....
    wenn aber TEL3 auch ne leitung belegt springt der text im LCD völlig hin und her also mein flakern.............


    Soweit okay.?!


    Bin der meinung das im code das (sub) in der (Do Loop) Rreihe ja immer abfragt das er da durch die gegen springt richtig?


    Daher bitte meine hilfe an euch wo oder wie muss man im code ändern........
    PS: mach zwar vieles selber aber PERFEKT bin ich nicht daher eure Hlfe......


    Gruß Thorsten Sch.

    3D LED-CUBE - Finde ich mega Cool.......
    PS: soory hab etwas mit der Schreib weise Soory...........

  • Ah Ok, aber dann fehlt doch bei deinem Code Beispiel die Hälfte!?


    Da ist nix zu sehen von Tel2 oder Tel3. Aber das ist doch genau der Knackpunk wo der Fehler kommt.



    Ich bin zwar auch kein gelernte Programmierer, würde das ganze aber anders lösen. Und zwar irgendwie so: (Code frei getippt ohne Bascom, also mehr als richtungsweisend zu betrachten nicht copy-paste)



    Hoffe ich hab dich verstanden was du willst und hoffe du verstehst mich ;)


    Gruß Philipp

  • In meinem Code??


    Klar sind da Fehler drinnen bzw. da stimmt ne Menge von der Syntax her nicht. Das sollte als Anhaltspunkt dienen. Deshlab schrieb ich

    Zitat

    (Code frei getippt ohne Bascom, also mehr als richtungsweisend zu betrachten nicht copy-paste))

    Mit meinem Code solltest du verstehen, wie ich das Problem gelöst hätte und es dann entsprechend sauber selbst schreiben.


    Gruß Philipp

  • Hi Zusammen


    ja kann mir denn einer dabei helfen oder auch tipps geben? wie im 1 beitrag hab ich noch nicht so viel gemacht
    mit bascom und lcd daher bitte ich euch um hilfe.....


    Mit Freundlichen Grüßen
    Thorsten Sch

    3D LED-CUBE - Finde ich mega Cool.......
    PS: soory hab etwas mit der Schreib weise Soory...........

  • Hallo Liebe Forum Bastler und alle die ich nicht vergessen habe


    Nochmal zu den code sehe weiter oben der von mir ist, da flacker der text im LCD und das soll nicht sein oder auch gesagt das stört mich....
    was flipp86 geschrieben hat mit code hört sich ja schon mal gut an, aber leider komme ich nicht weiter.............


    darum bitte ich EUCH um eure hilfe oder rat schlege


    ich bette hier mal ein Bild ein so soll es sein wenn kein telefon ( klingelt & abgehoben wurden ist)....



    Meine Beispiele:


    Code
    Wenn TEL1 Abgehoben Wurde soll in LCD stehen:
    TEL1 TEL2 TEL3
    BEL: --	--
    
    
    Wenn TEL2 Abgehoben Wurde soll in LCD stehen:
    TEL1 TEL2 TEL3
     --  BEL.  --


    und so weiter



    Bitte um hilfe


    Freundliche grüße Thorsten Sch....

  • Wenn Du das Problem ohne Rechtschreib- und Grammatikfehler in einem Beitrag exakt beschreibst, programmiere ich die Software für dich :thumbup:


    Bis dahin probiere man, nach dem Aufruf von lcd_Anzeige ein Delay einzufügen, teste mal was um die 200ms.

  • Hi Squirel und Bastler


    Also die Anzeoge soll wie ich beim bild beschrieben habe......
    Hier nochmal.......

    Code
    Wenn TEL1 Hörer Abgehoben Werd, dann soll in LCD stehen:
    TEL1 TEL2 TEL3
    BEL: --	--
    
    
    Wenn TEL2 Hörer Abgehoben Werd, dann soll in LCD stehen:
    TEL1 TEL2 TEL3
     --  BEL.  --


    Der code soll es so anzeigen, es kann auch Als TEXT durchlaufen in der 2 Zeile........ so um Rat und Tipp Würde ich mich Freuen


    sowie von Squirel oder andere Bastler........DANKE


    Gruß Thorsten Sch

    3D LED-CUBE - Finde ich mega Cool.......
    PS: soory hab etwas mit der Schreib weise Soory...........

  • Sehe ich Rekursion?


    Mal ehrlich, ich kenne mich mit BASCOM nicht so aus, aber was erwartest du hier von den anderen Forumsmitgliedern?


    Jemand gibt Hilfestellung, du antwortest mit den Anforderungen.
    Jemand gibt Pseudocode, du antwortest mit den Anforderungen.
    Jemand gibt detailliertere Hilfestellung, du antwortest mit den Anforderungen.
    Jemand sagt er schreibt den Code, wenn du dir Mühe gibts, du antwortest mit den Anforderungen.

  • Hi saw0


    mal als aller 1 ist das ein forum wo jeder jeden hilft oder unterstützt Richtig? Richtig.
    dann habe ich meinen code hier reingestellt und habe da was festegestellt, das der TEXT in der LCD anzeige Flackert Richtig? Richtig
    dann habe ich hier welche gefragt um Hilfe oder Tipps zu bekommen, wenn jemand sich bereitstellt und hilft sag man nicht nein oder......


    darum Bitte ich euch um Hilfe danke


    ach ja ich versuche es aus aderen code zu lernen und mir selber beizubringen ok......


    Vielen Dank
    Thorsten Sch.

    3D LED-CUBE - Finde ich mega Cool.......
    PS: soory hab etwas mit der Schreib weise Soory...........

  • Was ist genau das Problem? dass der Text flackert?


    Hast du wie vorgeschlagen das Delay ausprobiert? (das sollte die Symptome lindern, guter Code sieht anders aus, aber solange nicht mal klar ist was du eigentlich genau willst...)

  • Das Problem bei dir ist (und auch der Grund warum ich aufgehört hab weiter zu schreiben), dass man bei dir nicht das Gefühl hat, dass du etwas Eigeninitiative zeigst.


    Du hast zwar richtig erkannt, dass in einem Forum Leute sind, die sich gegenseitig helfen wollen.
    Allerdings ist das nicht gleichbedeutend mit sie erledigen deine Arbeit.



    Um dir das etwas bildlicher zu verdeutlichen:


    Du hast nun schon mehrere Tipps von Usern (unter anderem mir) bekommen.
    Nicht einmal bist du darauf eingegangen und hast berichtet was *DU* alles in der Zwischenzeit ausprobiert hast bzw. was du eventuell an der Erklärung noch nicht verstanden hast. Was ja kein Problem wäre, wenn du das Gefühl vermittelst, dass du es verstehen willst.


    Deine Antwort das mein Code mit Copy-Paste nicht funktioniert, obwohl ich vorher gesagt habe das er nur als Anhalspunkt dient, war halt für mich nen Schlag ins Gesicht und für mich der Grund dir nicht weiter helfen zu wollen. Und ich bin nach wie vor davon überzeugt, dass mein Code die Lösung beinhaltet, wenn es nicht das Problem ist, welches Squirrel beschreibt.

  • hi zusammen und forum bastler


    ich propiere viel aus sogar selber um dann hier ein code reinzustellen der dann verleicht 10 möglichkeiten hat, ohweh dann weis ja nachher keiner meher was.... oder?
    und da ich ein Anfänger bin in sachen programieren und mir vieles von den codes versuche selber hinzubekommen, frage ich euch ob ihr mir dabe TIPPS geben kann wie man es machen kann.......


    hier mein immer noch anscheinend einfacher blöder code......



    so Lieben gruß Thorsten sch.........




    ACH ja jeder in seiner arbeit ist gut, aber wehe wenn ein andere seine arbeit machen soll.... dan geht es meistens schief

    3D LED-CUBE - Finde ich mega Cool.......
    PS: soory hab etwas mit der Schreib weise Soory...........

  • ohwei....


    Ich hab dir einen Lösungsansatz oben bereits genannt!!!!!!


    Versuch doch mal diesen zu verstehen. Und wenn du ihn nicht verstehst, dann frag halt nach was du nicht verstehst und frag nicht dauernd nach einer neuen Lösung.

  • Ich kenne Bascom jetzt nicht wirklich gut, aber irgendwie ergibt das Programm null Sinn.


    Warum löschst du in jeder Tel-Sub das Display? Warum schreibst du für alle drei Telefone an die gleiche Position im Display? usw...... Verstehst du, was die Befehle tun, die Du verwendest?

  • Denke nicht, und das ist auch gar nicht das Ziel - siehe dazu z.B. auch hier oder hier oder hier und weitere Threads in der Art...


    Hier geht's darum, dass jemand den Code fertig zum rauskopieren postet, das ist der "TIPP", nachdem er ständig fragt - und weiter fragen wird, bis das jemand macht, aber vergebliche Liebesmüh, *erklären* zu wollen, warum der µC nun dies oder das macht / der Code dieses oder jenes bewirkt... habe ich auch schon etliche Male probiert

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • OH Vielen dank für die Blumen



    1.) Kopiere ich keine code..........
    2.) ich versche es selber, schaltung mit den code..........
    3.) Ich habe Höfflich Gefragt.....


    Vielen Dank an "ALLE" hier


    PS: werde mir ein buch kaufen von AVR verleicht hilft mir dann einer weiter wenn ich weiter gesund bin danke und schönes
    Wochende Thorsten Sch.

    3D LED-CUBE - Finde ich mega Cool.......
    PS: soory hab etwas mit der Schreib weise Soory...........

  • Hallo Forum und Bastler


    also fang ich nochmal an....
    in der 1 Zeile soll stehen TEL1 TEL2 TEL3 <--Diese zeile soll imer da stehen bleiben.
    In der 2 Zeile soll sich dann die <BEL.> oder <FREI> stehen.....


    Diese dalay versteh ich leider nicht wie oder wo man es in code setzten sollte.


    Daher noch mal an euch wie macht man das in den code, hier mein code
    [code'-----------------------------------------------
    'Telefon Melder 3 x Analog
    'Bei abheben des Hörer Info in der LCD Anzeige
    'Eingänge: 3 x optokopler
    'Ausgänge: 1 x Status Led
    ' 1 x LCD 2x16 Mit Hintergrund Beleuchtung
    '-----------------------------------------------
    $regfile = "2313def.dat"
    $crystal = 4000000
    $hwstack = 40
    $swstack = 16
    $framesize = 32


    Ddrb = &B11111101 'Ports auf Ausgang setzen
    Ddrd = &B01000000 'Ports auf Ausgang setzen
    ' Configgaration des LCD Anzeige Ports
    Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , _
    Db7 = Portb.2 , E = Portb.6 , Rs = Portb.7
    Config Lcd = 16 * 2
    Initlcd
    Cursor Off


    Portd.6 = 1
    Locate 1 , 1
    Lcd "Telefon-Besetzt"
    Locate 2 , 2
    Lcd "System-Test"
    Wait 3


    Cls
    Locate 1 , 1
    Lcd "Status Led (An)"
    Portb.0 = 1
    Wait 2
    Locate 1 , 1
    Lcd "Status Led (Aus)"
    Portb.0 = 0


    Cls
    Locate 1 , 1
    Lcd "LCD LED (Aus)"
    Portd.6 = 0
    Wait 2
    Locate 2 , 2
    Lcd "LCD LED (AN)"
    Portd.6 = 1
    Wait 3


    Cls
    Locate 1 , 1
    Lcd "System Start"
    Locate 2 , 2
    Lcd "Angefahren"
    Cls
    Locate 1 , 1
    Lcd "Besetzt Anzeige"
    Locate 2 , 1
    Lcd "3xAnalog Telf."
    Wait 2


    Config Portb = Output
    Config Portd.6 = Output 'LCD Hintergrund
    Config Pind.2 = Input 'Telefon 1
    Portd.2 = 0
    Config Pind.3 = Input 'Telefon 1
    Portd.3 = 0
    Config Pind.4 = Input 'Telefon 1
    Portd.4 = 0


    Declare Sub Telefon1
    Declare Sub Telefon2
    Declare Sub Telefon3
    Dim I As Byte


    Do
    If Pind.2 = 0 Then Gosub Telefon1
    If Pind.3 = 0 Then Gosub Telefon2
    If Pind.4 = 0 Then Gosub Telefon3
    Locate 1 , 1
    Lcd "TEL1 TEL2 TEL3 "
    Locate 2 , 1
    Lcd " -- -- -- "
    Waitms 10
    Loop


    Sub Telefon1
    Portb.0 = 1
    Waitms 10
    Portd.6 = 1 '
    Cls
    Locate 1 , 1
    Lcd "TEL1 TEL2 TEL3"
    Locate 2 , 1
    Lcd "BES. -- --"
    Wait 1
    Portb.0 = 0
    Waitms 1
    Portd.6 = 0
    End Sub


    Sub Telefon2
    Portb.0 = 1
    Waitms 10
    Portd.6 = 1 '
    Cls
    Locate 1 , 1
    Lcd "TEL1 TEL2 TEL3"
    Locate 2 , 1
    Lcd " -- BES. --"
    Wait 1
    Portb.0 = 0
    Waitms 1
    Portd.6 = 0
    End Sub


    Sub Telefon3
    Portb.0 = 1
    Waitms 10
    Portd.6 = 1 '
    Cls
    Locate 1 , 1
    Lcd "TEL1 TEL2 TEL3"
    Locate 2 , 1
    Lcd " -- -- BES."
    Wait 1
    Portb.0 = 0
    Waitms 1
    Portd.6 = 0
    End Sub


    Return
    End][/code]


    Ich bitte um hilfe komm nicht klar


    Mit Freundtlichen Grüßen
    Thorsten sch.

    3D LED-CUBE - Finde ich mega Cool.......
    PS: soory hab etwas mit der Schreib weise Soory...........