Appli pour smartphone gérant des pics de tension détectés sur le port usb
Répondre à la discussion
Affichage des résultats 1 à 23 sur 23

Appli pour smartphone gérant des pics de tension détectés sur le port usb



  1. #1
    FirminII

    Appli pour smartphone gérant des pics de tension détectés sur le port usb


    ------

    Bonjour,
    J'ai un peu cherché parmi les sujets de discussion et n'ai pas vu (??) ce qui se rapprocherait de ma requête - j'espère être dans la bonne rubrique. Bref, en tant qu'enseignant, j'encadre trois élèves sur un projet de recharge de smartphone sur un vélo et nous souhaiterions créer une petite Appli qui capte, par l'intermédiaire du port USB (broches D+ et D-) les alternances du courant fourni par l'alternateur 6 V classique. Nous avons déjà effectué le redressement et le lissage à 5 V. Mais pour déduire la distance parcourue, nous souhaitons compter les alternances positives de tension.
    Gros problèmes :
    1) Je ne sais pas comment est transmise l'info sur D+ et D- (fils vert et blanc) ; D- peut-il être fixé à 2,5 V et D+ osciller entre 0 et 5 V par exemple ?
    2) Quelles instructions sont capables de gérer cette info ? J'ai appris à programmer en Java et en Python (pour situer un peu mon niveau, j'enseigne la spécialité ISN en lycée mais je n'ai programmé que sur ordinateur, pas sur Smartphone ; faut-il privilégier Java avec Androïd ?) et je n'ai jamais géré de connexion USB en programmation.
    J'espère que la tâche n'est pas insurmontable.

    Merci d'avance pour vos réponses.

    -----

  2. #2
    bisou10

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Oula pas simple. La dernière fois que j'ai bossé avec de l'USB tout était codifié (driver HID).
    De mémoire, D+ et D- servent à la data mais ne sont pas analogiques, et la négociation se fait sur un protocole spécifique; une alternance "bidon" ne va pas être détectée par le périphérique HOST. De plus, un smartphone ne sait accéder au hardware qu'a travers les APIs Android: l'accès raw n'est pas possible s'il n'est pas rooté (et même rooté... je parierais pas mon short là dessus).

    A mon avis, le plus simple serait de conditionner cette donnée avant de l'émettre sur un protocole connu (HID, qui est celui des claviers, souris, etc...) via une petite carte électronique.

    Pour récupérer une information HID, il faudra donc que le retour soit conforme à cette spécification, et tu peux le récupérer en java grâce aux APIs Android (utilise Android Studio comme IDE qui prendra en charge l'accès au périphérique USB).

    Mais perso, je partirais sur du bluetooth que de l'USB si tu dois faire / acheter un convertisseur. Cela simplifierait encore le développement, de mon point de vue.

  3. #3
    Jack
    Modérateur

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Je ne comprends pas comment les alternances pourraient être comptées puisque le signal est redressé et filtré.

    De plus, je ne vois pas non plus comment un port usb pourrait assurer une telle fonction de comptage.

  4. #4
    FirminII

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Bonjour et merci pour vos premières réponses.
    Bisou10 : oupfff ! C'est donc pas bien parti cette histoire. S'il faut coder l'info dans le protocole de l'USB... J'ai pensé à un Atmega présent sur les cartes Arduino. C'est peut-être le marteau pour écraser la mouche mais c'est la seule idée que j'ai vu que l'on peut communiquer avec le programme enregistré dessus si la bibliothèque ad hoc est aussi téléchargée. Le processeur pourrait envoyer l'info codée du nombre de pics de tensions reçus entre deux requêtes du smartphone.

    Jack : dès que j'ai un peu de temps je posterai le schéma du circuit mais je prélève aussi le potentiel avant redressement et je l'applique à un pont diviseur de tension. Je détaillerai.

  5. A voir en vidéo sur Futura
  6. #5
    lou_ibmix_xi

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    C'est donc pas bien parti cette histoire. S'il faut coder l'info dans le protocole de l'USB...
    Je confirme, côté "logiciel" tu ne pourra pas utiliser le port USB pour autre chose que de l'USB.

    J'ai pensé à un Atmega présent sur les cartes Arduino. C'est peut-être le marteau pour écraser la mouche mais c'est la seule idée que j'ai vu que l'on peut communiquer avec le programme enregistré dessus si la bibliothèque ad hoc est aussi téléchargée.
    Ca ne me semble pas délirant, c'est même la solution la plus sensé, et la plus simple et pertinent à mettre en place pour un projet éducatif. Pour le fun, je ne sais pas si les arduino ont du bluetooth, mais c'est si c'est le cas je pense que c'est encore mieux pour la communication. Et puis une autre remarque au passage: une dynamo ça bouffe quand même pas mal de puissance musculaire, un capteur à effet hall et probable

  7. #6
    Jack
    Modérateur

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Citation Envoyé par lou_ibmix_xi Voir le message
    Et puis une autre remarque au passage: une dynamo ça bouffe quand même pas mal de puissance musculaire, un capteur à effet hall et probable
    La dynamo, c'est pour effectuer la recharge de smartphone d'après le cahier des charges.

  8. #7
    FirminII

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    montage+impulsions.png
    Voilà le schéma de principe du montage qui doit redresser et stabiliser le courant à 5 V, et le fil bleu en prise directe sur une des bornes de la "dynamo" pour envoyer après un pont diviseur de tension sur l'Arduino. Nous comptons, mes élèves et moi, mettre quelques jours des vacances qui arrivent, à profit pour nous informer sur la programmation du smartphone (aïe, ouïe, aïe...) et celle d'Arduino (j'en ai fait un peu, mais...). Merci à Bisou10 et Lou_ibmix_xi de m'avoir indiqué la voie.IMG_7561.jpg

  9. #8
    FirminII

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Nom : Montage + Uno.jpg
Affichages : 146
Taille : 123,5 Ko
    Bonjour,
    Je reviens vers vous pour deux questions sur la suite de notre projet. La photo ci-contre montre le montage que j’ai assemblé et que nous avons testé avec les élèves.

    Je vais tenter d’être précis, malgré ma méconnaissance de certains termes techniques. Du coup, voici mon « pavé ».
    1erement, je viens de découvrir d’autres cartes compatibles Arduino plus compactes que la Micro Platine toujours pas reçue ( !!!). Je voulais savoir si celle dont le lien suit vous paraît adaptée à notre cas.
    https://boutique.semageek.com/fr/328...rinket-5v.html
    Car, pour certains modèles, j’ai cru comprendre qu’on ne pouvait programmer aussi simplement (installer un module complémentaire pour l’IDE), pour d’autres la tension n’est que de 3,3 V.
    J’ai besoin :
    - que la tension de fonctionnement soit de 5 V ;
    - d’une seule entrée analogique pour la mesure de la tension aux bornes d’une résistance de 0,5 ohm, image de l’intensité de charge du smartphone ;
    - d’une entrée logique pour compter les oscillations de tension (tours de « dynamo », 0V à 4,5 V après pont diviseur de tension ;
    - de la communication USB (je compte connecter les fils D+ et D- de la fiche femelle sur les entrées TX et RX comme sur la photo ; peut-être ai-je d’ailleurs inversé les deux fils ; je n’ai pas encore testé) ;

    2ement, comme j’échoue à trouver l’information sur Internet (je tombe sur des problèmes de détection de clé USB par un système d’exploitation), quelqu’un peut-il me dire comment, l’hôte (ici mon montage) détecte, « du point de vue électrique », le branchement d’un périphérique USB, puis son retrait.
    En effet, durant le branchement du smartphone, la carte Arduino doit fonctionner pour tenir les infos à disposition et éviter d’être endommagée par des arrêts et redémarrages intempestifs. Ne pouvant compter hélas sur un peu d’énergie du smartphone, je pense insérer une batterie d’appoint :
    https://boutique.semageek.com/fr/725...ck-add-on.html
    Et lorsqu’on débranche le smartphone, je souhaite désactiver mon relais deux contacts qui coupe l’alim de l’Arduino et son entrée logique. L’analogique ne devrait rien risquer car s’il n’y a pas de smartphone à charger, la tension aux bornes de la résistance 0,5 ohm est nulle.

    Voilà tout. En vous remerciant par avance

  10. #9
    JPL
    Responsable des forums

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    J’ai déplacé la discussion en Électronique car les questions posées me semblent maintenant relever de ce domaine.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  11. #10
    FirminII

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Bonjour,

    Ne connaissant sans doute pas encore assez le fonctionnement du forum, j'ai en tout cas un souci. Après recherche sur le nouveau forum (Électronique), je ne retrouve pas ma discussion. Je pensais d'abord y être redirigé automatiquement depuis mon tableau de bord, puis j'ai cherché dans les 8 1e pages, en vain. Peut-être n'y a-t-il eu aucune réponse à ma dernière question depuis ?
    Merci par avance d'éclairer ma lanterne.

  12. #11
    JPL
    Responsable des forums

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Je ne comprends pas comment tu peux dire cela puisque tu réponds dans le forum Électronique ?

    L’adresse de ta discussion est : http://forums.futura-sciences.com/electronique/808327-appli-smartphone-gerant-pics-de-tension-detectes-port-usb.html
    Dernière modification par JPL ; 10/02/2018 à 16h53.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  13. #12
    FirminII

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Ah ben désolé. Manque d'habitude ; je me suis donc noyé dans un verre d'eau. Ne voyant pas encore de réponse venir, j'ai trop vite conclu à d'autres problème. désormais, j'attends sereinement.

  14. #13
    OttovonB

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Hallo,

    pour compter et éventuellement mesurer les crêtes de la dynamo (ce qu'un arduino m328 ou tiny85 peut aussi faire), il faut insérer une diode entre le + du pont redresseur et le + des condensateurs de filtrage: Sinon tu ne verras que du signal filtré


    servus

  15. #14
    FirminII

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Bonjour et merci OttovonB pour l'indication : je note.

    Concernant le choix de la Trinket ou la Trinket Pro, j'ai vu noté dans les infos données sur
    https://boutique.semageek.com/fr/328...rinket-5v.html
    https://boutique.semageek.com/fr/377...-5v-16mhz.html
    "La carte ne dipose pas de convertisseur USB-Série intégrée" :d'ailleurs la doc anglaise accessible a
    https://learn.adafruit.com/introduci...inket/overview
    précise que :
    "There is no Serial-to-USB chip onboard. This is to keep the Pro Trinket small and inexpensive, you can use any FTDI cable to connect to the FTDI port for a Serial connection. The USB connection is for uploading new code only."
    Or, j'ai cru comprendre sur le cours en ligne d'Open Classroom que le format série n'utiliser pas les mêmes tensions...

    Du coup, dois-je renoncer à commander un de ces deux modèles, vu que cette carte devra dialoguer avec le smartphone.
    Merci de vos réponses

  16. #15
    OttovonB

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    hallo,

    ta carte ne disposes pas de FDTI, mais la puce possède un mode USART ( asynchrone )

    §15.4.1 Half-Duplex Asynchronous Data Transfer
    Using the USI Data Register in three-wire mode it is possible to implement a more compact and
    higher performance UART than by software, only.

    ses ports ( apparemment DI et DO , port 0 et 1) devraient donc pouvoir être reliés à un câble RS232 - USB (ou TTL - USB)


    servus

  17. #16
    OttovonB

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    oubli
    j'ai utilisé du Digispark tiny85, sans doute voisin de ta carte, mais en éliminant les résistances qui vont à des zeners limitant la tension à 3,3V, ce qui n'est donc pas du niveau TTL

  18. #17
    FirminII

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Merci encore OttovonB. Je vais passer la commande de la trinket pro et sa batterie. Et je posterai dès que j'aurai du nouveau.

  19. #18
    FirminII

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Nom : Sans titre.jpg
Affichages : 100
Taille : 66,5 Ko
    J'ai enfin eu du temps pour finir la partie électronique (4,5 j !!!) qui a l'air de fonctionner correctement. Mais c'est décidément un projet techniquement de trop haute volée pour mes élèves et pour moi. Or, nous devons boucler le tout pour le 15 mars.
    J'ai donc ma Pro Trinket. Après environ deux heures de tentative, j'ai réussi à lui faire "avaler" le programme test classique de la diode du pin 13 qui clignote, puis le mien. Et là, les bras m'en tombent. Je veux envoyer deux nombre (int) au smartphone (pour l'instant l'ordi par la console d'Arduino avec serial print). Or la doc et les forums que je trouve depuis un moment, sont "in English of course". Pour moi c'est le grand flou. Même pour trouver un glossaire des sigles FTDI ISP UART (j'ai lu Eskimon et son article sur l'adaptation de la norme RS232 en USB...)
    Merci pour votre aide éventuelle.

  20. #19
    FirminII

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Personne pour m'expliquer comment accorder les deux "violons" : ?

    Si je dois préciser encore ce qui me pose problème, je le ferai en deux points :
    La réponse d 'OttovonB ci-dessous m'a décidé à l'achat de la carte, mais je n'arrive à tout saisir quant à la réalisation des connections.

    ta carte ne disposes pas de FDTI, mais la puce possède un mode USART ( asynchrone )
    15.4.1 Half-Duplex Asynchronous Data Transfer
    Using the USI Data Register in three-wire mode it is possible to implement a more compact and
    higher performance UART than by software, only.
    ses ports ( apparemment DI et DO , port 0 et 1) devraient donc pouvoir être reliés à un câble RS232 - USB (ou TTL - USB)


    2ement, voilà le schéma de la partie du montage concerné :
    Nom : Sans titre.jpg
Affichages : 81
Taille : 134,5 Ko

    Voilà, j'espère que quelqu'un pourra m'aider encore de ses lumières.
    Dernière modification par FirminII ; 07/03/2018 à 10h10.

  21. #20
    FirminII

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    N'ayant plus de réponse sur ce forum depuis près de deux mois (???), j'ai attendu le verdict du jury du concours. Or notre projet est retenu au niveau national. Sitôt après la joie, le stress revient puisque ce problème de transmission d'info n'est toujours pas résolu. Il nous reste peu de jours avant de passer devant le jury.
    Dans l'embarras, je viens de commander une nouvelle carte compatible (taille mini oblige : Adafruit Metro Mini 328 - 5V 16MHz) qui, elle, communique comme la uno après téléversement. Mais plus si je coupe et remets l'alimentation (je retire puis rebranche la connexion usb à l'ordi).
    https://boutique.semageek.com/fr/110...-5v-16mhz.html.
    Pourtant, mes sauts de tensions à la broche 3 sont toujours détectés (la del de la carte (pin 13) flashe bien à chaque détection).
    Après trois heures de tentatives diverses et variées (connections, programme...), on dirait que seule la communication usb est rompue dès la mise hors tension.

    Y a-t-il quelqu'un pour sauver le projet ?

    P.S. Je viens de remarquer que contrairement à la UNO, lorsque cela fonctionne avec la Adafruit, c’est la del RX et non la TX qui clignote !!! Or je demande bien à la carte d’envoyer des données (Serial.print()). Pensez-vous à un défaut de fabrication ?

  22. #21
    zibuth27

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    hello,

    ta carte n'est pas compatible de la carte que tu as proposée en #19
    celle-ci n'a pas d'interface USB, le boulot doit être fait par le µC
    elle a peut-être juste une limitation à 3,3V par zeners

    la carte commandée en 20 possède une puce à cet effet et la doc est écrite en bon français
    "Convertisseur USB-Serial, il existe un authentique convertisseur USB Serial de SiLabs CP2104 qui peut être utilisé par n'importe quel ordinateur pour écouter / envoyer des données au METRO et peut également être utilisé pour lancer et mettre à jour le code via le bootloader"

    on ne sait pas ce qu'est la broche 3 , de la carte ou du port USB
    de la carte, c'est donc toi qui l'as affectée et on ne sait rien du soft ni du hard que tu as implanté
    du port, voir la datasheet de la puce (et sonner les liaisons)


    Rx/Tx
    essayes d'imaginer comment tu appelerais tes bornes en cas d'un émetteur et de plusieurs récepteurs
    un appareil est obligé d'être égoïste: Tx quand il émet et Rx quand il reçoit
    sinon c'est un bus, et il est normé


    saluts

  23. #22
    FirminII

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Merci pour ta réponse rapide zibuth27.
    En effet, avec la carte du #20, je n'ai plus la "barrière de la langue" qui s'ajoutait à celle de la technique. Je pensais que l'info pour la broche 3 était à disposition car je n'ai pas changé la version du programme arduino donné en #18. Bref, un front montant est, selon moi, bien détecté en broche 3 car la del du pin 13, que je fais allumer dans ce cas, réagit bien (je n'ai monté aucun composant autour pour l'instant).
    Je comprends bien ton allusion pour RX et TX (je pensais la même chose) mais je ne saisis pas pour autant qu'une carte (Arduino la vraie) remplacée par la Adafruit réagisse différemment.
    (sinon que l'italienne soit égoïste et l'américaine altruiste (lol)...).

    Faut-il que je m'oriente vers du 100% arduino... quitte à manquer de place dans mon boîtier

  24. #23
    FirminII

    Re : Appli pour smartphone gérant des pics de tension détectés sur le port usb

    Je remets en ligne mon code pour info.
    Nom : Sans titre.png
Affichages : 64
Taille : 43,2 Ko

Discussions similaires

  1. [Programmation] Question concernant le langage C et les PICs (PORT,TRIS,LAT)
    Par JaimeLeChocolat dans le forum Électronique
    Réponses: 7
    Dernier message: 21/05/2017, 18h14
  2. Comment installe-t-on sur Smartphone une appli développée en html5?
    Par CM63 dans le forum Programmation et langages, Algorithmique
    Réponses: 26
    Dernier message: 27/08/2016, 11h04
  3. [Analogique] Récupérer une tension aux bornes d'un port USB d'un smartphone
    Par ratoondu34 dans le forum Électronique
    Réponses: 8
    Dernier message: 08/04/2016, 08h45
  4. connection smartphone en bluetooth avec port com
    Par julien8952 dans le forum Électronique
    Réponses: 9
    Dernier message: 31/03/2015, 12h56
  5. Créer une interface gérant le port USB.
    Par invite18ba9d7c dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 29/03/2007, 22h11
Découvrez nos comparatifs produits sur l'informatique et les technologies.