Sur ton driver tu as EN1 et EN2, c'est ça le PWM, de 0 à 255, point barre, c'est comme ça et pis c'est tout ^^
La marche avant/arrière c'est les 4 HIGH/LOW que tu as sur I1,I2,I3,I4
C'est vraiment chouette de vouloir faire un truc autonome avec GPS et tout ça, mais commence par le début.
Tu dois maîtriser ce point, il est primordial, surtout le jour où tu te demanderas pourquoi ton robot tourne toujours en ronds à gauche au lieu d'aller tout droit.
Si tu incrémentes le PWM, apprends aussi à utiliser map() et constrain(), ça t'évitera des heures à te demander pourquoi ça marche pas quand tu incrémentes ou décrémentes tes variables de commande PWM.
De véhicule interstellaire autonome, redescends un peu pour faire un petit robot, cette étape passée, tu pourras aller plus loin.
Tu vas utiliser les ultrasons, c'est pas compliqué, mais entre un code optimal et rapide et un code pourri tout trouvé dans un tuto bidon, tu verras l'écart qu'il y a... Ces modules peuvent ne renvoyer que des erreurs sij on prend pas bien soin d'eux.
Pense aussi à la qualité du montage, que ça soit coller tes moteurs ou faire tes soudures, tes couleurs de câbles ou le choix des composants. Un truc bien fait, bien documenté, c'est une saleté à recommencer en moins. je suis fortiche pour faire des montages foireux, j'en sais un bout ^^
Tu ne feras jamais un rover autonome si ton bidule va pas droit ^^
Prends ton temps.
Coup de bol, le PWM et les servos, c'est les seuls trucs où je suis pas ridicule ^^
Note: j'attends du matos pour faire un bloc de capteurs IR en i²c, pareil avec les hc-sr04...