Lüftersteuerung - Moddingprojekt

also das sollte funtionieren. mach ein neues projekt und gib ihm den namen "Marc". als pfad gibst du im ide-verzeichnis auch "Marc" an.

klick einfach immer weiter - du mußt nichts einstellen.
zum schluß hast du dann ein leeres projektfenster. in das kopierst du das komplett rein, compilierst es und lädst es in den µC.
 

Anhänge

  • marc.txt
    2,1 KB · Aufrufe: 53
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Original geschrieben von eurofighter
gibst du mir das Projekt als Text oder .pas?


wie du schon gesehen hast: als txt. pas nützt dir nix. dann bräuchtest du das komplette projektverzeichnis.

einfach die txt öffnen, alles markeiren und in das avr-projekt-fenster kopieren.
 
und was nun ?
mal die tasta testen ?
ich schreib mal - ich ess aber zwischendurch auch mal was ;)

wo hängt die matrix bei dir ?
 
6 ports für 12 tasten - wie machst du denn das ?

brauchst doch 7: 3x4 = 12 tasten = 7 ports
 
ich hoffe, es funzt so. ich komm mit den rows und colums auch immer durcheinander.


alles im ide löschen und das rein.

das sollte dir jetzt in der 2.zeile des lcd die jeweils gedrückte taste anzeigen. und zwar immer die zuletzt gedrückte.
 

Anhänge

  • marc2.txt
    3,1 KB · Aufrufe: 38
irgendwas liest er aber, sonst dürfte nichts kommen (bei der "1").

schau mal, ob irgendwo ein kurzer in der matrix ist.
 
du mal was anderes: gibts bei dir auch nach einer weile auf den platinen einen bläulichen staub ? ist bei den gekauften und bei deiner auch :hmm:
 
hmm...bläulichen Staub gibts bei mir nur beim Bohren! :d

Ich kann keinen Kurzen finden!
 
änder mal das so ab:

Procedure TestKey;
Begin
If KeyPress<>$FF
then
LCDxy_M(LCD_m1,0,1);
Write(LCDOut_M,ByteToStr(KeyPress:3));
KeyPress:=$FF;
MDelay(10);
else
LCDxy_M(LCD_m1,0,1);
Write(LCDOut_M,'N.C');
EndIf;
End TestKey;
 
das wird ja immer schleierhafter :hmm:

änder mal oben bei der definiton der anschlüsse das so um:

MatrixRow = PortD, 4; { use PortB, start with bit0 }
MatrixCol = PinD, 0; { use PinB, start with bit3}
MatrixType = 4, 3; { 4 Rows at PortB, 3 Columns at PinB }
 
hmm....eine 0.032 wird schon relativ knapp. aber es sollte gehen.


so. ich hab den Fehler.
 
hmm...

wenn ich im

Procedure TestKey;
Begin
If KeyPress <> $FF
then
LCDxy_M(LCD_m1, 0, 1);
Write(LCDOut_M, ByteToStr(KeyPress XXXXXXXX));
KeyPress:= $FF;
MDelay(10);
else
LCDxy_M(LCD_m1, 0, 1);
Write(LCDOut_M, ' N.C');
EndIf;
End TestKey;


da wo hier die XXXXX sind das : 3 wegmachegescieht folgendes:
es wird N.C angezeigt. wenn ich jetzt einen Taster der 2 oder 3 Spalte (erste geht nciht) grücke, erscheint für den Bruchteil einer Sekunde kurz die 1 an (0,1), dann sofort wieder NC.

ein Prob st, das der Taster sofort wieder zurückgesetzt wird, d.H. das Sofort wieder N.C erscheint. das andere kenne ich nciht.
 
lösch mal ab/einschließlich "else" 3 zeilen - incl. write(lcdout.....)

das :3 sagt nur, daß die ausgabe auf immer 3 zeichen formatiert werden soll.

hast du die änderung oben gemacht ? mit den cols und rows umdrehen ?
 
irgendwa stimmt nicht.

Der ELSE-Block ist entfernt, aber auf dem Display steht immernoch N.C??? :hmm:
 
neu compilieren und reinladen.

übrigens du kannst es drehen und wenden wie du willst, die erste version muß stimmen:

MatrixRow = PortD, 0;
MatrixCol = PinD, 3;
MatrixType = 3, 4;

hast das ddrD:= ..... gelöscht ?
wie groß sind die widerstände an der tasta ?
miß mal, ob die 5V an den widerständen da sind.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh