Go Down

Topic: Projet Control module (Read 13189 times) previous topic - next topic

200sx200

oui, tu peux la modifier pour être en DB9, mais je ne vois pas en quoi cela t'avancera dans ton projet, il faudrait que tu l'explique
Je préfère avoir une DB9 qui ce vise sur la shield + arduino qui seront dans un boitier plutôt qu'une prise USB qui pourrait ce débrancher par exemple.

à quoi se rapporte cette phrase, qu'est ce que tu veux brancher sur la shield rs232 ?
- ton interface usb que tu as évoqué avant ?
- ou une des 2 cartes dont tu as donné le lien ?
oui l'interface USB, que je souhaite modifier en DB9.


Mais c'est juste de l'esthétique ça je dirais :)

trimarco232

essayons d'avancer :
fais le schéma électrique de l'interface entre l'ECU et l'arduino
je te dirai ce qui va et ce qui ne vas pas, et te demanderai au besoin de justifier tes choix

200sx200

essayons d'avancer :
fais le schéma électrique de l'interface entre l'ECU et l'arduino
je te dirai ce qui va et ce qui ne vas pas, et te demanderai au besoin de justifier tes choix
oui :) en simple hein ^^



Source du Schéma RS232

http://arduino.cybrax-computers.com/

trimarco232

un schéma, c'est représenter chaque fil et chaque composant, de bout en bout

200sx200

Je ne saurais te dessiner l'interface :/

200sx200


trimarco232

Quote
Je ne saurais te dessiner l'interface
c'est un souci, car si tu n'as pas de notion d'électronique, et, comme je crains, il n'existe pas d'interface toute faite pour ce que tu souhaites réaliser, on risque de ne pas y arriver

où en sont tes notions en électronique, sais tu ce qu'est une résistance, un transistor, as-tu déjà réalisé un module ?

200sx200

J'ai déjà l'interface, je n'ai nullement besoin de la recréer ;)

Juste besoin de remplacer l'usb par du db9. Après comme écrit au début , oui je débute mais il faut bien commencer quelque part :)

Je fais ce projet car je créer un prototype du début à la fin, je fais toutes les étapes seul (soudage, carrosserie, mécanique, électrique, etc.....)

J'ai appris chaque étapes, je le ferais ici aussi :)

trimarco232

#53
Jun 06, 2017, 10:45 pm Last Edit: Jun 07, 2017, 10:05 am by trimarco232
Quote
fais le schéma électrique de l'interface entre l'ECU et l'arduino
Quote
J'ai déjà l'interface, je n'ai nullement besoin de la recréer
alors c'est moi qui n'ai rien compris

dans ce cas sers toi de cette interface, fais des requêtes de l'arduino vers l'ECU, regarde les réponses, reviens nous solliciter si tu as des difficultés pour développer ton sketch

200sx200

y'a pas de mal bien au contraire.

Merci beaucoup de votre aide :)

Je n'ai pas encore commencé à apprendre ce types de codes :/  mais sa va venir :)




200sx200

#55
Jun 07, 2017, 04:05 pm Last Edit: Jun 07, 2017, 07:07 pm by 200sx200
Bonjour,

J'ai donc réussi à alimenter mon écu (hors de la voiture) et la connexion avec le PC est un succès (avec l'interface).
Je souhaite donc maintenant connecté l'interface sur l'arduino, ne possédant par encore le shield puis-je connecté l'usb directement sur l'arduino en utilisant les pins (+5v,gnd,Tx,Rx) ? (Tx/Rx = Data +/- ?)
 


je regarde aussi le type de langage de l'écu.
J'ai noté qu'il y a une différence entre l'écu d'une boite manuel à un écu de boite auto .

Pensez vous que je puisse récupérer le langage en le renvoyant avec le langage de boite auto ? (avec l'arduino)

Langage nissan

Cependant j'ai un programme arduino "fonctionnel" mais je trouve pas de cohérence avec le langage nissan précédemment posté. (Source internet)
La vidéo:
https://www.youtube.com/watch?v=kORjR_Akfbg&t=0s
Le code:
arduino-consult.ino

Si par exemple je ne connaissais pas le langage de l'écu quelles seraient les étapes pour communiquer avec ?

trimarco232

Quote
puis-je connecté l'usb directement sur l'arduino en utilisant les pins (+5v,gnd,Tx,Rx) ? (Tx/Rx = Data +/- ?)
Bonjour,
à priori non, un usb device comme ton interface se raccorde sur la prise d'un PC ou d'un appareil USB Host
tu ne peux raccorder ton interface sur les lignes tx/rx de l'arduino que si ton interface est prévue pour cela, et qu'elle dispose d'une connection tx/rx


Quote
Si par exemple je ne connaissais pas le langage de l'écu quelles seraient les étapes pour communiquer avec ?
on peut essayer par tâtonnement, par analogie, mais c'est risqué

200sx200

Merci beaucoup c'est ce que je trouvais sur internet, c'est maintenant confirmé je patient donc qu'il arrive :)

Je vais donc partir sur le principe que le langage est bon, auquel cas je peut toujours utilisé le langage du fichier .ino précédemment posté.

200sx200

Bonjour,

J'ai fais un programme qui envoie toutes les 3 secondes les valeurs :0xff,0xff,0xef  (code de connexion avec l'écu nissan).

Pour l'envoyé sur la 2eme carte pas de soucie, en revanche je voudrais que à la réception de valeurs (0xff,0xff,0xef)=> l'écran affiche "Initializing ECU"

Mais impossible d'afficher autre chose que des chiffres ou des données incohérentes .

200sx200

Voila donc mes 2 Programme, envoie et reception:

Arduino1 (Transmission):

Code: [Select]

#include <SoftwareSerial.h>

void setup() {
  Serial.begin(9600);
  Serial2.begin(9600);

}

void loop() {
  // lit du port 0, envoie du port 2
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial2.print(inByte);

  }

  if (Serial2.available()) {
    int inByte2 = Serial2.read();
    Serial.print(inByte2);

  }
}


Arduino 2 (Reception):
Code: [Select]

#include <UTFT.h>
#include <SoftwareSerial.h>

//calibration
#define CAL_X 0x004F4E75UL
#define CAL_Y 0x00948DC0UL
#define CAL_S 0x8031F1DFUL

//Screen initialization
UTFT        myGLCD(CTE70, 38, 39, 40, 41);

// RX, TX
SoftwareSerial mySerial(17, 16);

// Declare which fonts we will be using
extern uint8_t BigFont[];
extern uint8_t SevenSegNumFont[];

byte valeur ;

//setup
void setup()
{
  Serial2.begin(9600);
  myGLCD.InitLCD(LANDSCAPE);                   // Initialize the display
  myGLCD.setFont(BigFont);
  myGLCD.fillScr(0, 0, 0);
  myGLCD.clrScr();                            // Clear the screen (black)
}

//loop
void loop()
{

  if (Serial2.available() > 0) { // si des données entrantes sont présentes
    // lit le 1er octet arrivé
    valeur = Serial2.read();

    // dit ce que vous obtenez
    valeur = Serial2.parseInt();
    int batt = valeur + 10;
    myGLCD.setFont(BigFont);
    myGLCD.setColor(87, 255, 45);
    myGLCD.setBackColor(0, 0, 0);
    myGLCD.print("J'ai recu : ", 15, 80);
    myGLCD.printNumF(batt, 1, 200, 80);
    myGLCD.print("Volts", 280, 80);
    delay(1000);
    myGLCD.clrScr();
    Serial2.println("transmis");// confirmation sur monitor de l'arduino 1
    Serial2.println();
  }
}//fin du loop



Résultat:
Si je tape "1" sur le moniteur (serial) de l'arduino 1 => ça s'affiche bien à l'écran mais comme valeur "19.0" sur l'écran au lieu de "1.0" et je reçois "transmis" en chiffre "1161149711011510910511513101310" sur le serial moniteur.


Ma question est pourquoi si je passe par le serial monitor les données changent ? (affichage TFT7")

Go Up