LCD 16x2 with Max/MSP - problems with typing on bottom line.

Hi,
I'm a new user in here - and pretty new to the arduino environment. I am pretty used to building modules in Max/MSP and I want this 16x2 LCD display to show me what I am doing in Max. It all works fine so far, the LCD and the arduino is working and the serial object in max is succesfully converting symbols to ASCII and sending via the serial port.
But I am having trouble with breaking the line and sending symbols to the second line on the display - the bottom line.

I am using the following code on the chip:

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/LiquidCrystal
*/
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup(){

  • // set up the LCD's number of columns and rows:*
  • lcd.begin(16, 2);*
  • // initialize the serial communications:*
  • Serial.begin(38400);*
    }
    void loop()
    {
  • // when characters arrive over the serial port...*
  • if (Serial.available()) {*
  • // wait a bit for the entire message to arrive*
  • delay(10);*
  • // clear the screen*
  • lcd.clear();*
  • // read all the available characters*
  • while (Serial.available() > 0) {*
  • // display each character to the LCD*
  • lcd.write(Serial.read());*
  • }*
  • }*
    }

My max patch looks like this, in all its simplicity:

Serial data transmission is relatively slow. You are clearing the screen, reading everything in the buffer, and starting loop over again. It is very unlikely that more than 16 characters will arrive on the serial port, while you are clearing the screen. So, there is never anything to wrap onto the second line.

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
const int numRows = 2;
const int numCols = 16;

void setup(){
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// initialize the serial communications:
Serial.begin(38400);
}

void loop()
{
if (Serial.available() > 0) {

delay(10);

lcd.clear();

lcd.setCursor (0,0);

for(int i = 0; Serial.available() > 0; i++){
if(i == 16){
lcd.setCursor(0,1);
}
lcd.write(Serial.read());
}
}
delay(1000);
}

This is a final standalone project, compile it, add the java folder with the autobot.class and .java file inside and connetc your Arduino with the LCD Keypad Shield.
Be sure to use the correct interface pins LiquidCrystal lcd(8, 9, 4, 5, 6, 7)...this is the set of the Leonardo.

Divided in two parts due the 9000 caracter limitation
1st part


----------begin_max5_patcher----------
6913.3oc6cs0iqiaj9497qPqSda6SOh2kRv7vjKKvhMIH6j.rXwLCFn1Vc25
L1VdkjOWlf7eeoXQYS4qjzhsUOwAS59Tx1sYUrXwhU8UE+Gu6tIOV9475IQ+
lnuK5t69Gu6t6TOp8A2oouaxhrOOcdVs5sMYQdcc1y4StGdsl7O2ndd15lxG
Kahlm2D8g0KVE07Rdzz0U0kUQEKqKlkqdRc9zxkyhdb957npxOEk8TSdUzpJ
4e0hkOqdKMYOF835llxkceIyKVJ+XqWp9lv5Gtb8hhkxusZyGtJqY5Kx+P+X
U9zFfsRvwOfY2GkDieP9KRL5gX4uj+L5GzepmJW1rLaQthQ9lphr4ceyEyTO
q7wO7dAZx1u4x0Mce0Hi+H0E+r5OBBK+NfGCuylurJGFNSlD8Csux+7cuq8G
2egh8+2x0Quj8QoTqLZ05Fk.TOU7f5SGkIE2cO4CYeLK5oh440x4D06EdR47
Y4U22adZ8pUkUM5WJp7onuTttJJa0pCNoPbcRgQUSJBVqjJBSHs+hxbcRggu
lSJSKWrHWJ.1cR4+Ppy2sdX57ho+TzK4U4SNjLBcbYTZbbqPgSSZ+EhonHoF
hnGW+3iyy2keOqPiJNrPK9zBsmpd9Q0aaySfu+VcF0z8.pV+a+9J46KZd15k
Se4QoghZoR3KMMqp+Me0WUWzjW+vykkOOO+A4bf5AekTqUpqtHao7eTmm8Uy
J+zx4kYy9pgQgMNUMYjl.VOv9ouRDWS80k4eRNH1SX+bVygUNOg7fQ.AAME9
kZUbrqhCNcDJNJdJ5WWfh95uNJt0T3xHTT9757nXWW.qkQXA8AVRp.ikqhIL
+jTrwnj5opxE0eYwikycUzPQJQCEqr6KHdJTHiPgRc9b4zryqmRfkPRi8bLk
SnRgiuRk3CKUvNJUdLa4yStencXwCQiPslAEqTYfsAaUebSpPSGg5Js6O0Jn
7v1RpReAQ1puHv9ouP4uELB+8SH3HW9uuehmFkHIvu3dZplfGiGT.45xNDh0
ddoDlRLPTGdx8kc7jQnx0rVSzrXekHXCCQd3yy.cNRk44fXLB45BGbZqbQjn
NYsulgXhw3xlWJlMSZ84W67xGPljfUlo4D+1zhwFgqdZhdLxYG9Pf2LbQxVq
IdrUEcL3ZyQkKHojw4cxwxi4KjRCdhxPaZpm6heDyJDGEMEswyXqDpk7ZeVS
LRnLrjD+PJiQoT+OvIYL5E3OOOpJ+Ym2MhiU5MIfewTO2NhvFlkT9ubperds
1fhl8M0Jv6KCL4zybZwAbG1isax2lWmubluyzBlxFJi5vlIsQVOeYSVSgTDa
vrFxE7Y13sczOsbdYkdzz9sGu4G6FG8mxll64JpCLj6YmT4XAGeDY.rS8tC7
Ortto3ohoaE.W60sXXkpfHdfp0a8csKFesW6dhXfj5tZNDnaLRkmFtm1yPiX
WD92ib+XXLdq3PGoLecbBGOL66MztC3i.IlM.BDxUVdbzioycUdHXBHkDwOP
j6Pv49eXcbxHMFYvhQ2bPfHHJUCkcDtuVXYW6CqeLEE5D+xfEJI8RBiJl9Kh
faIfX3fjGGkcABiqJj.7yuYs4BrXyJhi6wLB8p4w7wRk9e14rliAGDiYGg+r
LGJjKMG4CmEv2KcPzUE7TLDUAD3ur2AbAmNNcbPkksXm8wrC2IZ0CpuAa4X6
TNJ7x7mx+xAkKwmWtPgfPwR8Uc4H6WR8KJT6+qAcai4kv4BiRo7nDNy4cQ.8
GVJGRPomQ4khGkYL547F4fQtPSKk7dsFAAhGluhm3Qnaoqx9onEkeLuoLpHp
3fxFxIjMTXEFg7.FQILUh17zVTLdDJdjGrSv8dSqjjGHLgz6LoEIjuQ5ULVO
xK1YCMIBDbhtKBsUjT93Tjrd4pro+T65nitVBcdgiTrv7GKQjD5aost9TwxY
keJRZiVMl7SehnBsDnT0liEWkXtX3Q9ElxPIhWEqOUx+74QWfjAEKZ+EG14J
0cXdRbv+vyJZtOHhGPExSAThJHbhTekOrwr7o4khZEqmW4owHN7SOOdAQfFz
.6qe45rO18B+p+R6K0iOil7aa+wu5+t8mprT09jA0nEfEdmCVSJ3C.E.BOk5
majDd5XEJRww9JRfff6KTjHD9HEKRfXwYaS5xHAjJ9heVb5UWp3Wn8zruF+h
mNzd3y4d7qPHr0GeBykql8dtVWcLPxg8vpP7XDX8K97G5JfHOUBXPb+70aXr
3L91Y.Hf3GHXDim1BH.AVZYB29u3r3zj8gGv0AN9dmTMH.OdaIgyGwgIrtIa
4rr4kKycGLepbpAEDkmhFuBudqGLy9Q4mWNT9wrllpBokRn9UuaCye2jr4yA
maqyl1T.N8n+SHew0yJJ0k2XuWXZ1xloyKqk1jVMO+i4y0tFYJMtaxrrlrGy
p6+2TJRyWVWTtr+6cQwrhC8MsrrKolyxeJOqon0xpwqKsKVMqZ2A9pp7mZqc
SCY6r0EKKi9S+9+Pz+U4hn+p7MjWkubpThz8gpyypl9xSkUKJTUXqp3O6MHk
pAMqq+XQcgtVB27EttNG93RAwKpWQ8BJsuARG7q+ZWWYpcBTftjzZHXiy.g3
C5H0BjTxkDZHwnLstwdhspdZGt6Sff7KhbbigXXboBC7HsF6h8UdPfs18DeY
h3Q7V59X+.1LmQYWTg7JFoms18p7oMEnsIgXHJES9X870dUCGLLDZqX3.F9s
0KmMhW+7yyi9PYwxHry0nJHZzYO2WQCYjBmW+.5rVlniTkuUK2XEhyM9krJM
5U0wnoEqy9IVhGzp84RyR0w0adtpb8JON.tVNwPpsoE9Biqzqs1yw7lif8E2
yIWj6brwHDeW+yE9JMf9GD0Sm4X7gYYT2lQgpp47deI.CzZm6XdZrglb0sAu
dwitmKtNas3sfrw2LkPOiWKqxpj+IZxq9w7kY8iihWUd4Pp77u8d+s+Rhi2H
67s00PGs0ZQhqREBKYupX1C.sEORqp6GilNOOqxmpXlH0KZWeozQR7ECNGQv
vtPywJtJj1m8KICaNoI5xOoINcberpmJl21nGcOmtZEKJius5OcW7fFqGi.f
hyQquoSENKMFtfFF.OwSACYTKXTjdJXfFQB2SmdPzQpfIqozY3F2sHBmdIdK
iFH.zLundXM+tJZpz+qoRCLP+czS6vlMSqTOsCihCAxs5.o0N44rMYdeLupt
es8e2jrUqLd7cFejV44GfD2yueyiJVBOBs4QU4sIDD97IadZat.KZjxs0UfT
3yI7IvKJmCeW2GcyBQ11LDy0YlIwPhJmsedd4zeJeV+retJeYwxcabAad4Y4
OksddyOdXIY+WuqYDbvW7fyk2M44phYkKaGD89jsOt6qqsprgdxpIyndGKyV
cfOLji0GypLRyJt6EaJKm2+k1LQJWMjsrXQVSdSALXwwa9iVrXUUwx9YVFN8
wK0SqJmOu2eJ3U93AdkYx45o4epXlNIulhR4auXU2TvjMxnYEOmW2z+YMYOW
2+I85szlJglKy687cVtCqJ596cL2QO5QXRDPn1T19.kQr4L1tKc24KZeXInQ
9BTohJVs6wPNwuqyVlOLaOaaGHcWQniJHHmVPnOzK.bx8M9eZia6iMUwwkSj
c9Kdf0mV4vtd2gARx1+7e63lQdlb097ursCeczsNNidFljrs9CLOTnqxW9wk
uHOkuudxyGeVgLrHzCRCIs+G5AukqDnZWf91NBiuTAK6WBB13GPa++WnnssH
vUh13KUzheKKZ8WLBM4ODg+PZJEQQGJlPtJJQicQ4I1nZaWaEgEPeacV9Te2
.W54HVtpMlzhuWPEEeo6dsoej9lTSsX4Tu0Ug3DLn5p7Q+xdo.afT.4zGR3D
NUz4BEUtc+wbkjvrTxbh7FbXwySyKyZd0VOuMvc3jHbpbu3HBRpCI24ncE9k
pKpWTuOFhcTOjcBalXe0Cu+5X2jev6b.2O7CV2BG.2Qo3KSDi2z4UGuaKYli
PekWHnWyueZBcUbQrSi7bq+Og3Tx7EKVuP8JbygwyKKk7Uao1sKeKEGcejSN
wrelHGLywm577wVY0PijnydbdZBwNU1ijnwWgi7eYhCPi0dwA0SwgVM3UPdb
gw6gD+PBgPT8GXaC5CMgMLg8Yab.aumgNRXuTi51W+vBi5x0US6D6alzh5O3
mkW2TrbSbQ+NiyMry6baGQ0jQlUT2ZoY11B53bSdtOpI1NpacG+s2nlMdj0p
vwI8VvFMD1HaTamdMdDMp4VNpGS5GLKGyJKgilQM9M4nFY4nV4e3XYTe.avG
yt2HZsHG+VbTyvuE0PXHq2Oe7HqUGY0x8XDuIG07Qznl7Fzds8i5wjMD6G0G
RWxuQsNH.cf7v15v+Rghw4g5gC3S3fChS7keruzmmW9XVWuAXym8.vf3BJVd
uf69FXLAE7qPkt+1tAhEHX5wxpYsnmxnodn5mGc+vrMdXwUJB2ezxuysMxIF
G5Lh189P226GaeeRsyrkOuOl7O0MUh5Z65cmHdZmKnYm4tLAPypt7uffyByT
dnszJwxmUrA1aunAEzj+3e4u+G+11KF71KclncPA+Gy1p718W36P+P2K+S4e
YQ4rdxGq0CYTkdHzcAw.fHXBe0CYwnTtZJ8P+qs+QqyaUqZfO3joUNbC3rAW
iMYO1w0wmrYPdHM3Sce4z6GGSCN1j016MuIrRmQe8fYxPqbtCpBOrxIpWoI1
cOOaLRjeCqV2rq5w9WO3vtDa1d3DaT7wr4qyKeZezJtUNOub4ymPgs26s9kx
pl8dyG5c1IlHG30JVZBIu2YtmnWV0OVYn76gpSvKXwC4CmQF1aDJjMsT3fcQ
OA5e564Iwdb1fcqNcr4i5bmQPLAxjYhtdy7qrfPwW2qy5KoF6vvDkt1TuJ9b
vNW4yeyqCvqiDw.3zQXPhem1jQaQ2Wf3SS32Ph+Mj3eCI92Ph+Mj3eCI92Ph

2nd part

+Mj3eCI92Ph+Mj3eCI92Ph+Mj3eCI92Ph+Mj3eCI92Ph+Mj3eCI92Ph+Mj3e
CI92Ph+Mj3eCI92Ph+Mj3eCI92Ph+Mj3eCI92Ph+Mj3+u1Hwe3anwbHNf.H8
8seFK3i0K1huUpIjszS3rxvB39JXXwyJ4LW5EGEw1w6BB6WAfuldDIvfg6U+
tbg2zf24m+xElPe0tagG71pMbcn0h9cl+cUa7XsqZC3TywodH7lB1EcCShRb
6FecHuYCXQJ9NZ5QQZ+oJmENbOVQj1AnTo9+8QIddKhfDC5s1jdxr69MXH0S
5teZ80JQBHy7UNMVu177uozqMqDitjdR+U+d34nkZ1e+a9csEZ1yks+r4k7n
kx2YjxW5STuY9cuS+1otxNxx8+0oHxfRMXbWCYucJfrA7BgPeHjiADYKu8zF
sWGD.P5c99MkAN80ptp2om44cdUBa3tPbeSW4I.9MRo2p7jaUdxPiUKvarUR
S09B+MP6Ti9McM46MHLQbtGfeKdDA9s9mPxYXej.0E.g7.mhk9m0AIlKQjl5
AX2NiH07zRgWlJsgsps8KHsGK+kuhVshpza2T4+ij1cG6cAhVQ7vKZe8foYi
+.LTKKMTSAvIcIxRzXWVdQ.bCjX1huMLS3I91dKfsM8Y2IrMqDsQhjNhg1lZ
9xNvzvGOI5DYMDOTV5FMi5XaSYXqNyXYTySeSNpsFjXiHHa5vnlmdKox+BJo
xUpixz9UVevHWDe9HWf1liBgvyf5jPGg2N00QU4+eqkS5mVDc9f6HfLLiP9J
dNVqQJ74wp6jD04UFm404nakBYY1y.aw33qo5wZo6QqmrIZwxQqc4s2UgD2L
v0VJkroGEINSF.qJWubVuXg4RaK5DB.4f6ohOCwK17jn8SevNoYHdfP9f6IN
fPe.iYwoIRo+Ax1ZVUU4mTS+lRC4gBWn8Idxua957lxxlWd+eKucRRAD7I22
9i8dI7Ado+b4r7Ead9+YS17x+T4hGyplU99+mhp74400EG3y8W+Cey6+aeos
3f0uz5ZUKEbAmhFVf1LcdYctyW0wLrp2LxAjM.Me.OZUYrqoQfiIQTgb0UAR
bxCXCAhvOABNIcTtqo2aWRwbkbQvTA0yWuInWqMKqryggS3SEFq0LnfAQu8X
HQLFWr7X15YQjDZbrmX0iqBfUj.Lgj57JFWv3A40ZASt4n0ZPuPYvZEcFgh8
E1KCC7N51ssmfQMR5G0HPNs64S0Rq8NWZpYwscjSjx5Ebi8OL5jEEyVUJGe5
w.il7Pp7.uIhVD2owygt8hzih.0BtVWqGEF.jFKk.s9ISPFr24d2SKYH4dZ+
2jabeLzg9Pp9enhJPbQ7Y3BD0s4PJmpT9IPG.EqaAn8vkyq67PKjr8ddPq2w
olZgZJsdWauHgoIC.KlzObrGaoV+JkwBtDBbMmY.tgceTH3FK3ELwMVASfdk
EzYP2RDfge+J64HieA0MENgBbjTc2XEZA78HRTV1zusjzqGmwEW.mQHFbFPv
fbHA8mOEQH3LlsyYtr7QE1HZZWWotiHDiepEieZhOieFQofA4NVQDhwOwF4O
yw07TntH..zhnBn4vXRQgCojFuOAb3N8zFO45w1bwkv1.2zmff1ZELXyn3PL
iBGnRarqaNrO0UdFEGhYTjX+IwW+YzXKbjR379xTi4FspavlbhsQmD6mNICN
ZgAUH3.KXfDe7LJ0vwnTRvF6m87PscfcW7d.Em7fzObNmdupmJoP7D.yodTX
jNrkoantRrHA417SONLFtmUDPBohCyxDtMNfybzzMBf7RhtCKGiO.ELGAAXN
IPSQbaVBoZDBHWWCwI7sdJoHBw32FevSc773oPvnvPnSnPzK6So8Lu6j6gwD
AmYwBn16rCWlbRU6ovEJcLChPM9sR4xgYGndu4j3sE+shHDieZ.F+LJzI+gl
yHA1ooOEGAv.FJVqcnfUUcLdfVUYii3TpOSbBsMaX6n9Tbgtd.fReTvtdLGJ
wKlCBnBIcCQHF+V4SMwqUUPQMYPDhwOxlwehe6mRA+ZLnBAGz53L9bNNG6mi
yvJBSpPwAmaNvQUHDj6FMCXREJF3baMhcbJP5WoIGXPEBNvFuJod54BxLVg6
PAgrVuMjh5JwcDrmbWLbHY.GZJpqDGfSuLNvjL.r.K01vfhbdYNSiyCCpPvA
I1b9DjqGwW.H3A7AtM2yw6RIP5jvAWDqJxfve13h4t4yx5LUYzvM16QAgarw
lVpWaqzEnZCpPvABqxbny97qE9I6m4vj.l4P6RCpiQtPGOBX5vfHDie6NGhe
9ofgJp1j5pwB3cBigq7ftE+2ihDqlaXP82uCEDlYAW0GPHjPw61bREEbv8Xw
j.s2hosOJHbiMLShe9LKL0EUTgfCrIbLXgWlC.LN1E4x9THhQBo5SIzURpbu
W.pjgIPNLqBjC0u.4.gmwjJDb.w1C86fqbZOnOY3l3lgjdGJHbMcwPLLQqgE
a6TmK3URC0MgNcgTi.7po5lVgVWVvlVsICbNt2.ffDDmsEALJh.L72M+TGgA
bzlnNoTvVUHnXa1gJdaIZX9uIFosKPwjGX4y6gnmNknYSCpfvCAHoOZDwjJL
rdzm5UIgPVwatFc2d7FrimhHDieq.UliA2MFP3GfpftnNfBDrBnVk0mXuVen
OctIUH3.abW.6naq5rZnSQfFZGgJGATpMgG0wU35.h1wAv8sZv3.qN5GyOsH
rYrDTTgfCv1D9MRpiaOlRhgkufQodjWMt.6nCX6vDIvpgvwC1ro.00zEjH8F
VnZ41P1lLICBWvrhKR7jKhE83h3.s+FN1pSgh8jKfD.lPwOzQEBl.Y0JaWS.
XrtFn.7l.Es6NTPOuGiUAtQQEJ1COzrWpl8fXcrgEngiEPC7V3XllEdc1CO1
lvmQhczzaBfLSMhSRwrMnQIH7vvm9FBGhZQJ2LCMJx.vA6t+7Qr5plqvtuAn
FHlo5NfUfP4GIkaMS3hpDTrMZdHAprivwCAHSffQnDjt.ahgHTZR8JkHPRhM
drScMgyI5KmZnBh130EiGPl376K53wW0pYZlvj5pwCXjWqT5BJGOIjQkijX0
FGBjWSCv8phAQP3.aX.GiWudAMiZt7VQEBNvpRni3Z8gzoGA05rIUP3AaNC9
tKXrlGv8VNiC07fUtp6ZkWoG05etkHDb.OMDGXJkEC0Farw4k50WwGRdfM76
c2kyvDbh4l28nds171lsLPb+LWI5YtRDnkIDq.rGO0OkL3RRvjJH7fMwc1Ws
LM7izg5IP.dwJVfvtLVvjLD7fUf9vw88zYpViLWSpPvA1rkAxYEI.spmBYt8
PkSn5CKP.CF9.vo2AAxwjIUP3A4fiN3.aqG9Gf6mu9TcfWoOvVdEKWORr0UM
pKbt95qQWTnnvFKhVVfbNVv0XBIRLKNOnLp5SomI0K41gRnofyGGp5giDaUT
X7xOAcSChh2iP5fNTGCr8o3XnLSv7CPAf8Qto+Anz0qlNTbAJ5gVosihIdos
q4.POnGgV5EmBwF5ZxZdwY515yl77Gn3SSrBGL9gGRZO7PFHGFwVEZ2ccM15
cBgAemSuH1UjGvodxCw81MOP9agsJ5z652h07.nKYREDdvlCev8rbgz25Wlj
gfGRBPH1oHnXaDfWRaNJdLNP7PHfa+FfxG2C17AZZvpllC0Uz6zkRb3JlxjJ
H7fUVV86fr5jf2iLD7fU8VhcC1t05RfiTBJ0vsJMEFfhgnqCyaRAPbUGxw.g
wU63brqHWpOmq0.UTAgGBPlm0McBR+LOGHjrZEbeHt5hH.3JpYTRoAZachM8
6Vuv1NbvNChPL7w1hwGjyMiNQW+8Bsg5pwAL+3ft96k9rT8nzWrdxycqrOGH
T8YEPxXodgw0tCfXPE.N.Yk+VXuLRQ0UAnAUH3ffzncoBc0Fse4KyCX4KqXF
7f20fgcruJLCZX2+iECMlGHTP5JxtO0qja9HqbPwuLtwiYpwdOxqEOfD9wCP
jr5VHEnpWCEfz5R4Zu5ekTjrJ0st1EOSLC7rIUH3.abyBk52lH3dahfCzlHV
0PqX9k9bcNZR3GfBpmKnaWEp54xJly05QyBlSPvFshLRfV8XSlRcsfD5x+YJ
xLanogwK+cydvfz.I0oNPiRKcZn5S8pz+Hsi4DWByg0U3YOJn7pfDMY9ueEJ
OWjkfl2Sep64RcfX.KLmm5ZGyPeea.GSqSgrG0qjB4vWbqaRyklcLICAKXSB
3cjCHfCmB31QoG4Y4.3VIJa0pOlWUqGFpA+jEYe.tTB42qHKVBjpqgoIU4er
n68mndRV0zWJZxm1rtBtjk9bBex6Z+d9mu6+GncIpN.
-----------end_max5_patcher-----------

Please join the two messages