Interfaccia arduino-processing

In questi giorni sto cercando di interfacciare Arduino con Processing per poi riuscire a controllare due motori CC.
Purtroppo mi sta risultando parecchio difficile in quanto sono nuovo sia in Arduino che in Processing.
Il problema riscontrato sta nel fatto che, penso, non riesco ad inviare i dati da processing ad arduino oppure arduino non riesca a leggere correttamente i dati e non so come mai.

Vi allego i due codici sperando che mi aiutiate a trovarne una soluzione.

Processing

import processing.serial.*;
Serial myPort;

boolean premuto  = false;
boolean premuto1 = false;
boolean premuto2 = false;
boolean premuto3 = false;
int i=0;
void setup() {
println(Serial.list());
myPort = new Serial(this,Serial.list()[0],9600);
}

void draw(){
if(keyPressed){
if(key=='a'){
myPort.write(97);
}
if(key=='w'){
myPort.write(119);
}
if(key=='d'){
myPort.write(100);
}
if(key=='s'){
myPort.write(115);
}
}
}

void keyPressed() {
  if(key=='a'){
  premuto=true;
if (premuto) {
  println("a");
println(str(i));
i++;

premuto=!premuto;
}
}if(key=='w'){
  premuto=true;
if (premuto) {
  println("w");
println(str(i));
i++;

premuto=!premuto;
}
}
if(key=='s'){
  premuto=true;
if (premuto) {
  println("s");
println(str(i));
i++;

premuto=!premuto;
}
}
if(key=='d'){
  premuto=true;
if (premuto) {
  println("d");
println(str(i));
i++;

premuto=!premuto;
}
}



}

Arduino

int ledPin  = 2;
int ledPin1 = 3;
int ledPin2 = 4;
int ledPin3 = 5;
int val = 0;

void setup(){
pinMode(ledPin,  OUTPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
Serial.begin(9600);
}

void loop(){
val=Serial.read();
switch (val) {
  case 97:
       digitalWrite(ledPin, HIGH);
       break;
  case 119:
       digitalWrite(ledPin1, HIGH);
       break;
  case 100:
       digitalWrite(ledPin2, HIGH);
       break;
  case 115:
       digitalWrite(ledPin3, HIGH);
       break;
  
}
}

E soprattutto mi è permesso comunicare senza la presa USB utilizzando una ricetrasmittente?

Grazie

Le prove le stai già facendo senza USB?

Hai provato solo il programma Arduino con USB?
Da monitor seriale di IDE scrivi a e poi invio, Arduino riceverà il carattere a e dovrebbe accenderti il led.

Le sto facendo per adesso con la USB ma non mi si accende alcun led e non so come mai.

Usa solo Arduino, USB e lascia stare per adesso Processing. Concentrati su uno alla volta.
In Arduino dove c'e' val=Serial.read();
Aggiungi subito dopo:
Serial.print("Valore:" ); Serial.println(val);

Cosi puoi fare delle prove. Avvia il monitor seriale dell'IDE e prova a scrivere a e poi invio, poi w e invio.
Quelle due istruzioni stampano sul monitor il valore ricevuto (dovresti vedere 97 e 119 e funzionare i led)