Tutorial Arduino programmieren,

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.

Re: Tutorial Arduino programmieren,

Beitragvon pluto » 28. Aug 2018, 16:39 Re: Tutorial Arduino programmieren,

AM2320 sind gar nicht mal so schlecht, habe davon einige.....
Sind deutlich günstige finde ich als die AM2302 und haben den vorteil, dass sie per I2C angesprochen werden können.

DS3231 von den habe ich auch einige, mal sehen, ob ich damit rumspiele...
Ich habe die mit 4 Pins, eigentlich gedacht für den Raspberry PI, jedoch gibt es auch libs für Arduino...
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7039
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 28. Aug 2018, 17:00 Re: Tutorial Arduino programmieren,

DS3231 von den habe ich auch einige, mal sehen, ob ich damit rumspiele...
Ich habe kurz die DS3231.cpp angeguckt, ich denke dies sei auch in Lazarus machbar.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4495
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 28. Aug 2018, 18:32 Re: Tutorial Arduino programmieren,

https://draeger-it.blog/arduino-lektion ... tc-ds3231/
noch nicht mal eine Lib, reiner "Arduino Code"

Ich glaube aber ich werde mal einige LCD'S ausprobieren.... zum Beispiel, die eine oder andere Segmentanzeige oder so ein OLED LCD
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7039
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 28. Aug 2018, 19:06 Re: Tutorial Arduino programmieren,

https://draeger-it.blog/arduino-lektion ... tc-ds3231/
noch nicht mal eine Lib, reiner "Arduino Code"
Das sieht sehr schön schlank aus. Dies würde eine Umsetzung einfacher machen. Der Unterscheid zur Lib, bei der Lib kann man alles einzel schreiben und lesen. Bei deinem Link wird alles an einem Block gelesen/geschrieben.

Ich glaube aber ich werde mal einige LCD'S ausprobieren.... zum Beispiel, die eine oder andere Segmentanzeige oder so ein OLED LCD

Für eine LCD-Anzeige habe ich schon was fertiges.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4495
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 28. Aug 2018, 19:12 Re: Tutorial Arduino programmieren,

Für eine LCD-Anzeige habe ich schon was fertiges.

Habe ich gesehen, ist das für ein 4 Zeilen LCD mit 20 Zeichen?
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7039
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 28. Aug 2018, 20:03 Re: Tutorial Arduino programmieren,

Habe ich gesehen, ist das für ein 4 Zeilen LCD mit 20 Zeichen?

Nein, für einen 2-Zeiler. Typ 1602A

Aber es sollte mit einem 4-Zeiler auch gehen.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4495
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 28. Aug 2018, 20:20 Re: Tutorial Arduino programmieren,

Nein, für einen 2-Zeiler. Typ 1602A

Aber es sollte mit einem 4-Zeiler auch gehen.
Mit

Werde ich bei nächster Gelegenheit testen...

Ich glaube die sind Kompatibel.... wenn es der gleiche Controller ist(Das A im Name verunsichert mich gerade ein wenig)...
Ich habe noch weitere Display's z.b. den ST7735S, aber das ist ein Farb LCD oder die Nokia LCD 5110....

Sehr Spannend, hätte ich nicht gedacht...
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7039
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 28. Aug 2018, 21:03 Re: Tutorial Arduino programmieren,

Ich habe noch weitere Display's z.b. den ST7735S, aber das ist ein Farb LCD oder die Nokia LCD 5110....

Die werden ganz anders sein, das Nokia wird über SPI angesteuert. So eines liegt bei mir auch rum. Wäre mal ein Versuch wert. :wink:
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4495
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 28. Aug 2018, 21:07 Re: Tutorial Arduino programmieren,

Die werden ganz anders sein, das Nokia wird über SPI angesteuert. So eines liegt bei mir auch rum. Wäre mal ein Versuch wert.

Ich weiß, aber ich habe auch einige LCD 20X4....
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7039
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon pluto » 29. Aug 2018, 13:10 Re: Tutorial Arduino programmieren,

Das RTC Beispiel von Sfaizst(Seite 7) klappt auch.... es gibt nur eine Eigenart, die ich nicht verstehe:
Sieht zwar nicht schön aus, geht aber:
Code: Alles auswählen
 
    rtc_recv(rtcTime);
    str(rtcTime.mday,S1);
    str(rtcTime.mon,S2);
    str(rtcTime.year,S3);
 
    str(rtcTime.h,S4);
    str(rtcTime.m,S5);
    str(rtcTime.s,S6);
    UARTSendString(S1+'.'+S2+'.'+S3+' ' + S4+':'+S5+':'+S6+#10);
 


so geht es nicht:
Code: Alles auswählen
 
    rtc_recv(rtcTime);
    str(rtcTime.mday,S1);
    str(rtcTime.mon,S2);
    str(rtcTime.year,S3);
 
//    str(rtcTime.h,S4);
//    str(rtcTime.m,S5);
//    str(rtcTime.s,S6);
 
 
    UARTSendString(S1+'.'+S2+'.'+S3+{' ' + S4+':'+S5+':'+S6+}#10);
 

Tag stimmt, aber Monat und Jahr stimmen nicht..... finde ich eigenartig.
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7039
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon pluto » 29. Aug 2018, 15:03 Re: Tutorial Arduino programmieren,

habe versucht das LCD Beispiel zum "laufen" zu bekommen: Zum Teil klappt es, ich habe das LCD im 4 Zeilen mod mit 20 Zeichen.
Problem ist aber das der "String" nur Schmierzeichen enthält....

Code: Alles auswählen
constructor TLCD.Create(ADevice_Addr: integer);
begin
  displayControl := $08;
  displayFunction:=LCD_4BITMODE or LCD_1LINE or LCD_5x8DOTS or LCD_2LINE or LCD_5x10DOTS;
 
  Device_Addr := ADevice_Addr;
 
  backlightStsMask := BACKLIGHT_MASK;
 
  write4Bits($03 shl 4);
  delay_ms(4);
 
  write4Bits($03 shl 4);
  delay_ms(4);
 
  write4Bits($03 shl 4);
  delay_ms(4);
 
  write4Bits($02 shl 4);
 
  command(LCD_FUNCTIONSET or displayFunction);
 
  display(True);
 
  clear();
 
  displayMode := LCD_ENTRYLEFT or LCD_ENTRYSHIFTINCREMENT;
 
  command(LCD_ENTRYMODESET or displayMode);
  home;
 
 

Das habe ich vom "LiquidCrystal_I2C"........
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7039
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon pluto » 29. Aug 2018, 15:10 Re: Tutorial Arduino programmieren,

mit ein paar delay_ms scheint es zu klappen, jedoch ist der text Unten Rechts.
Code: Alles auswählen
 
  display(True);
  delay_ms(2);
 
  clear();
  delay_ms(2);
 
  displayMode := LCD_ENTRYLEFT or LCD_ENTRYSHIFTINCREMENT;
 
  command(LCD_ENTRYMODESET or displayMode);
  delay_ms(2);
 
 
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7039
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 29. Aug 2018, 15:18 Re: Tutorial Arduino programmieren,

100% geht es bei mir auch nicht. Mit den Benutzerdefinierten Zeichen habe ich Probleme. Für den PC mit dem I²C des VGA-Anschlusses, geht es. komisch. :roll:
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4495
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 29. Aug 2018, 15:25 Re: Tutorial Arduino programmieren,

Ich glaube das ist ein delay Problem.... bei jedem zweiten Start klappt es nicht.... mal sehen....

Ich glaube wir brauchen eine "delayMicroseconds" Funktion wo man eine Zeit angeben kann.... bin aber nicht in der Lage sowas zu schreiben....
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7039
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 29. Aug 2018, 15:30 Re: Tutorial Arduino programmieren,

Du kannst so was nehmen:
Code: Alles auswählen
  procedure mysleep(t: int32);
  var
    i: Int32;
  begin
    for i := 0 to t do begin
      asm NOP; end;
    end;
  end

oder: http://wiki.freepascal.org/AVR_Embedded ... _Delays/de
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4495
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

» Weitere Beiträge siehe nächste Seite »
VorherigeNächste

Zurück zu Sonstiges



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried