Programme en C perche à selfie bluetooth

Salut à tous,

J'ai un projet à réaliser dans le cadre de mes études d'ingénieur, et j'aurai besoin de me servir de la technologie utilisée par les perches à selfie bluetooth. A tout hasard, quelqu'un aurait-il la librairie qui contient la base du code arduino utilisé pour envoyer le signal au téléphone via un module bluetooth connecté à la carte arduino ?

Merci d'avance, ça nous aiderait grandement il ne nous reste plus beaucoup de temps avant la fin du projet..

Martin

bonjour,
il faut chercher un peu, proposer un code et là on aidera.
Mais pas dans ces conditions là.

depuis quand ce projet?

Bonjour, le projet est en place depuis le début de l'année mais nous avons trouvé la solution technique que récemment.
Le seul problème est que nous n'avons pour ainsi dire jamais programmer en C, je viens de commencer à apprendre par moi-même hier soir sur un cours Open Source afin d'avoir les bases, j'ai déjà fais de la programmation en Ada uniquement :wink:

Alors la première étape, c'est déjà d'apprendre les bases de la programmation et d'y aller par étape.

bonsoir ta essaye ça ?

http://eskimon.fr/2498-arduino-annexes-g-utiliser-module-bluetooth-hc-05

le hc-05 ne fonctionne pas avec iphone, donc bien penser au smartphone.
selfie arduino sur un mteur de recherche donne pleins de résultats.

Commencer a apprendre le C++ juste depuis hier soir, alors que le projet date du début de l'année, c'est pas un peu gros?

infobarquee:
le hc-05 ne fonctionne pas avec iphone, donc bien penser au smartphone.
selfie arduino sur un mteur de recherche donne pleins de résultats.

Après le but est d'amener un proto le jour J donc je pense qu'on va partir sur du HC05 qui m'a l'air pas mal dans le sens où j'ai déjà consulté pas mal de tutos sur celui là ça m'a pas l'air trop compliqué !

Commencer a apprendre le C++ juste depuis hier soir, alors que le projet date du début de l'année, c'est pas un peu gros?

Ca peut paraître gros en effet mais encore une fois la solution technique n'est venu que très recemment, je vois plutôt ça au contraire comme une motivation d'apprendre de nouvelles choses par moi-même.

Yo tout le monde je reviens vers vous !

Après des recherches, je reviens vers vous pour une question, en gros je ne trouve nulle part si il est possible de controler la caméra du smartphone (android) via un module bluetooth HC05.

J'ai pas fais pas mal de recherches et je trouve surtout des gens qui utilisent une caméra externe ou ce genre de choses, voir qui utilise au contraire leur téléphone pour controler une LED par exemple via une appli android.

Autre chose, nous avons maintenant les composants et nous savons comment les brancher ensemble, il ne manque plus que le code arduino, je me suis renseigné et je comprends bien le mécanisme du programme mais je ne sais où trouver les bibliothèques adéquates, et surtout les commandes.

En gros le principe serait de récupérer des données de l'accéléromètre pour créer une variable, et si cette variable est assez élévée on envoit le signal au smartphone via le module bluetooth pour qu'il prenne une vidéo de 10 secondes.

Du coup on partirait sur un pseudo code du type :

Boucle infini :

Récupération des données accéléromètre
Création d'une variable avec ces données

Si variable > seuil Alors
    Prendre une vidéo de 10 secondes
Sinon
    Retour au début de la boucle infini
Fin si

Fin boucle

Ci joint la maquette Fritzing.

en faite, il te faut créer une appli android perso par app inventor, ou android studio ou autre, qui recoit une commande par bluetooth, via l'arduino...

quand elle recoit la commande, tu peux facilement faire ce que tu veux.. comme ouvrir la camera, ou autre chose.

// arduino
Récupération des données accéléromètre
Création d'une variable avec ces données

Si variable > seuil Alors

envoyer par bluetooth au telephone une commande X....

//telephone

// si je recois une commande X par bluetooth alors allumer la caméra
prendre une video durant X secondes
enregistrer la video
..

Après des recherches, je reviens vers vous pour une question, en gros je ne trouve nulle part si il est possible de controler la caméra du smartphone (android) via un module bluetooth HC05

app inventor pour programmer une appli pour le smartphone

tu envoie 1 par exemple si la condition est remplie via le 05
l'appli récupère cette variable et lance l'enregistrement.
mais là, c'est plus du domaine arduino.

EDIT :grillé :slight_smile:

Okay d'accord je comprends, donc maintenant sur la partie arduino il faut juste que j'arrive à récupérer les données de l'accéléromètre.

Mais concrètement via app inventor ça vous paraît possible de réaliser cela (à savoir prendre une vidéo, ce genre de choses)?

Merci pour votre aide, je vous avoue que on était un peu découragé parce qu'on était pas sûr de la faisabilité du coup !

vu le peu de temps qu'ils vous reste, ca tourne gentillement à donnez moi un code tout fait.
exemple via app inventor
https://groups.google.com/forum/#!topic/app-inventor-developers-library/wFSvOBqe5KA

infobarquee:
vu le peu de temps qu'ils vous reste, ca tourne gentillement à donnez moi un code tout fait.
exemple via app inventor
Redirecting to Google Groups

Ah non non non il nous reste 3 semaines et on va se débrouiller, je demandais juste si cela vous parraissait possible de le faire, mais si la réponse est oui on va trouver ça tout seul et demander de l'aide si on a un problème quelque part !

Cela dit je vous remercie déjà grandement pour les liens fournis, je reviendrai vers vous pour vous dire ce que nous avons fais ! :slight_smile:

si c'est faisable mais derriere il y a pas mal de boulot...
pas forcement du coté arduino...

Récupérer les données accéléromètre

tout depend de l'accelerometre, mais sur internet avec le type d'accelerometre tu peux trouver un programme quasi tout fait ou une partie et faire des adaptations...

detection a partir d'un certain seuil // rien de compliqué si valeur est > a seuil alors envoyer donnée X sinon ne pas envoyer

envoyer par bluetooth // sur internet tu trouve des programmes deja tout fait pour envoyer par bluetooth

app inventor avec les liens donner plus haut et un peu de recherche il y a moyen de faire quelque chose de bien

pour pouvoir ouvrir une camera, lancer l'enregistrement,

au dessus, tu a l'exemples avec un bouton qui lance l'enregistrement, mais dans ton cas il faut que ca soit la reception d'une valeur X par bluetooth....

hazerty565:
si c'est faisable mais derriere il y a pas mal de boulot...
pas forcement du coté arduino...

Récupérer les données accéléromètre

tout depend de l'accelerometre, mais sur internet avec le type d'accelerometre tu peux trouver un programme quasi tout fait ou une partie et faire des adaptations...

Yep on a un accélérometre 3 axes classiques MMA7455 donc ça on va pouvoir trouver :wink:

app inventor avec les liens donner plus haut et un peu de recherche il y a moyen de faire quelque chose de bien

pour pouvoir ouvrir une camera, lancer l'enregistrement,

au dessus, tu a l'exemples avec un bouton qui lance l'enregistrement, mais dans ton cas il faut que ca soit la reception d'une valeur X par bluetooth....

Oui j'ai vu, on va adapter ça en regardant des tutos, maintenant y'a juste du temps à prendre mais en soit ça devrait pas être trop compliqué, je vais juste suivre des tutos et adapter le programme donné au dessus pour faire ça

Merci encore !

Salut à tous, on a pas mal avancé depuis la dernière fois, le truc c’est que ça marche pas des masses… Je voulais tout d’abord si le code était bon :

#include <Wire.h>  // blibliotheque pour I2C, utilisée par la bibliothque MMA_7455
#include <MMA_7455.h>   // https://code.google.com/p/mma-7455-arduino-library/
#include <SoftwareSerial.h>
SoftwareSerial mavoieserie(0, 1); // (RX, TX) (pin Rx BT, pin Tx BT)

MMA_7455 monCapteur = MMA_7455(); 

char xVal, yVal, zVal; 

void setup()   
{ 
  // Ouvre la voie série avec le module BT
    mavoieserie.begin(9600);

  
  Serial.begin(9600);


  Serial.println("Veuillez patienter...");
  
  // réglage de la sensibilité du capteur.  
  // 3 valeurs possibles:
  // 2 pour mesurer de -2g a +2g
  // 4 pour mesurer de -4g a +4g
  // 8 pour mesurer de -8g a +8g
  // Nous allons secouer très fort, donc on choisit 8
  
  monCapteur.initSensitivity(8); 
  
  // calibration du capteur
  // dépend de votre exemplaire de MMA7455
  // avec une sensibilité de 8g, 1g = 15.
  // mettre les chiffres qui font en sorte que 
  // xVal = 0, yVal = 0 et zVal = 15
  // quand le capteur est à plat sur une table
  
  monCapteur.calibrateOffset(-3, -37, 29); 

}

void loop()  
{
  long total = 0;

  for (int i=0; i <= 99; i++){  // moyenne sur 100 mesures
    xVal = monCapteur.readAxis('x'); 
    yVal = monCapteur.readAxis('y'); 
    zVal = monCapteur.readAxis('z'); 
    total = total + xVal*xVal+yVal*yVal+zVal*zVal;

  }
  
  total = sqrt(total / 100);
  
  // pour débogage seulement:
  /*
  Serial.print(xVal,DEC);
  Serial.print(" ");
  Serial.print(yVal,DEC);
  Serial.print(" ");
  Serial.print(zVal,DEC);
  Serial.print(" ");
  Serial.print(total,DEC);
  Serial.print(" ");
  */
  
  // total contient maintenant l'intensité moyenne de
  // l'accélération, calculée sur 100 mesures.


mavoieserie.print(total);
}

Le but de ce code étant d’envoyer la valeur “total” via le BT HC-05 à l’appli App Inventor dont voici le schéma :

Sauf qu’en lancant mon appli je n’arrive pas à la connecter avec le HC05

Les connexions ont été faites comme suit :

Accéléromètre :

VCC ==> 5V via breadboard
GND ==> GND (côté power)
SCL ==> l’entrée analogique A5
SDA ==> l’entrée analogique A4

HC-05 :

VCC ==> 5V via breadboard
GND ==> GND côté digital
Rx ==> Rx (0)
Tx ==> Tx(1)

Voyez vous un problème quelque part ?

Je vous remerci d’avance,

Martin