J'ai comme projet d'utiliser une manette de PS4 (Dualshock 4 v2) pour piloter toute sorte de choses par Bluetooth. Je souhaiterais pour cela faire communiquer un module HC-05 avec cette manette mais comme, d'origine, le HC-05 ne prend pas en charge le profil HID, j'ai essayé de suivre le tuto suivant: Turn your HC-05 into a HID Bluetooth device (No Parallel Port Method) - YouTube
Toute la procédure se passe bien jusqu'au moment de tester et configurer le module (à partir de 9min 34sec sur la vidéo). Je ne dispose pas de level shifter pour effectuer la communication série entre l'Arduino et le module BT mais seulement un Arduino Due en 3.3V mais la bibliothèque SoftwareSerial ne semble pas compatible avec les processeurs ARM. Je possède également un Arduino Uno et un Mega si jamais...
Vous avez 4 ports séries matériels sur votre DUE, pourquoi voudriez vous utiliser la bibliothèque SoftwareSerial ?
utilisez son code modifié et branchez le port série comme cela: RX DUE =17 --> TX HC05 et and TX DUE =16 --> RX HC05 (attention 3.3V !)
/* MODIFIED FOR A DUE
Jean-Marc for http://forum.arduino.cc/index.php?topic=565547.msg3853039#msg3853039
*/
/*******************************************************************
A simple sketch for forwarding data and responses from
the harwdware serial conneciton of an ESP8266 to the
a software one and vice versa
I'm using this to communicate with a bluetooth module (HC-06)
Written by Brian Lough - https://www.youtube.com/channel/UCezJOfu7OtqGzd5xrP3q6WA
*******************************************************************/
// #include <SoftwareSerial.h>
// #define RX_PIN D2 // connect to TXD of module
// #define TX_PIN D1 // connect to RXD of module (logic level 3.3v!)
// SoftwareSerial swSer(RX_PIN, TX_PIN, false, 128);
#define swSer Serial2 // RX=17 and TX=16
void setup() {
Serial.begin(115200);
swSer.begin(115200);
}
void loop() {
while (swSer.available() > 0) {
Serial.write(swSer.read());
}
while (Serial.available() > 0) {
swSer.write(Serial.read());
}
}
Merci beaucoup pour votre réponse et l'adaptation du code !!
Je pensais qu'il était nécessaire de passer par le SoftwareSerial car dans le tuto un port série matériel est bien présent mais le SoftwareSerial est utilisé.
Lorsque j'essaie de le compiler j'obtiens plusieurs erreurs:
C:\Users\maxim\Documents\Arduino\sketch_aug26a\sketch_aug26a.ino: In function 'void setup()':
sketch_aug26a:27:8: error: expected primary-expression before '.' token
swSer.begin(115200);
^
C:\Users\maxim\Documents\Arduino\sketch_aug26a\sketch_aug26a.ino: In function 'void loop()':
sketch_aug26a:22:22: error: expected ')' before ';' token
#define swSer Serial2; // RX=17 and TX=16
^
C:\Users\maxim\Documents\Arduino\sketch_aug26a\sketch_aug26a.ino:31:10: note: in expansion of macro 'swSer'
while (swSer.available() > 0) {
^
sketch_aug26a:31:15: error: expected primary-expression before '.' token
while (swSer.available() > 0) {
^
sketch_aug26a:31:31: error: expected ';' before ')' token
while (swSer.available() > 0) {
^
sketch_aug26a:35:10: error: expected primary-expression before '.' token
swSer.write(Serial.read());
^
exit status 1
expected primary-expression before '.' token
Il va falloir que je m'attelle à la communication entre la manette est l'arduino maintenant. J'ai vu qu'il y avait une librairie USB_Host_Shield_2.0 qui prenait en charge la manette en connexion filaire et BT, dois-je l'adapter pour une utilisation avec le HC-05 modifié HID ?
Bonjour, merci pour le conseil, par contre je ne comprends pas comment faire communiquer la manette en bluetooth avec le module HC-05 modifié avec profil HID avec la librairie USBHost pour Arduino Due.
Je vais ouvrir un nouveau post pour respecter les règles du forum
clarifiez exactement ce que vous voulez faire. est-ce que la manette sera accrochée à l'arduino et vous voulez que les actions sur la manette soient reçues par l'arduino et ré-émises en bluetooth HID ? c'est ça ?