En cours Problème avec une Mega 2560 pro...

  • Auteur de la discussion gaston83
  • Date de début
gaston83
gaston83
Compagnon
17 Fev 2016
1 689
FR-71520
  • Auteur de la discussion
  • #1
Bonjour à tous,
Je ne comprends pas ce qui se passe.... dans mon sketch j'ai bien #include <Keyboard.h> mais ...

keyboard.JPG
 
S
speedjf37
Compagnon
15 Oct 2009
2 491
indre et loire
Bonjour,

A priori (testé avec l'exemple keyboardandmousecontrol) ne fonctionne que pour les cartes adaptés HID usb
Léonardo OK
MEGA 2560 NOK




Keyboard
[USB]
Description
The keyboard functions enable 32u4 or SAMD micro based boards to send keystrokes to an attached computer through their micro’s native USB port.
Note: Not every possible ASCII character, particularly the non-printing ones, can be sent with the Keyboard library.
The library supports the use of modifier keys. Modifier keys change the behavior of another key when pressed simultaneously. See here for additional information on supported keys and their use.
Notes and Warnings

These core libraries allow the 32u4 and SAMD based boards (Leonardo, Esplora, Zero, Due and MKR Family) to appear as a native Mouse and/or Keyboard to a connected computer.

A word of caution on using the Mouse and Keyboard libraries: if the Mouse or Keyboard library is constantly running, it will be difficult to program your board. Functions such as Mouse.move() and Keyboard.print() will move your cursor or send keystrokes to a connected computer and should only be called when you are ready to handle them. It is recommended to use a control system to turn this functionality on, like a physical switch or only responding to specific input you can control. Refer to the Mouse and Keyboard examples for some ways to handle this.

When using the Mouse or Keyboard library, it may be best to test your output first using Serial.print(). This way, you can be sure you know what values are being reported.

Cordialement JF
 
pinou29
pinou29
Compagnon
18 Mar 2009
3 036
Toulon ( Var )
Bonjour.
Peut-être la version de l'Arduino qui ne va pas pour ce programme.
Ça m'est arrivé et en prenant une version plus ancienne, plus de problème.
Peut-être ??
Bonne bricole.
Bernard.
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 689
FR-71520
  • Auteur de la discussion
  • #4
Bonjour,
merci du retour..

là, je suis dans la moïse... effectivement mon prog fonctionne sur la leonardo mais je n'ai pas assez d' IO. Sur quoi je peux me rabattre ?
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 689
FR-71520
  • Auteur de la discussion
  • #5
Peut-être la version de l'Arduino qui ne va pas pour ce programme.
Bonjour Pinou,
J'ai la version 1.8.9. Je le téléverse sur la leonardo sans problème et ça fonctionne :smt017
 
S
speedjf37
Compagnon
15 Oct 2009
2 491
indre et loire
pinou29
pinou29
Compagnon
18 Mar 2009
3 036
Toulon ( Var )
Re,
Si c'est pas "secret défense", tu peux mettre le programme (sketch), je fais un essai d'ici la fin de la semaine, là j'ai deux jours chargés avec mes 3 petits enfants.
Mais tu auras sûrement trouvé la solution d'ici là.
Bernard.
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 345
Corsier-sur-Vevey (Vaud)
Bonjour

Je plussoie @speedjf37, l'extension i2C, surtout le MCP23017 qui est un "vrai" I/O.

Cordialement
jpbbricole
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 689
FR-71520
  • Auteur de la discussion
  • #11
speedjf37

Je suis pratiquement nul sur les possibilités d'un Arduino. Mais j'essais de comprendre.

Donc à partir de la leonardo, est-ce que je peux interfacer un PCF8575 en I2C.
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 345
Corsier-sur-Vevey (Vaud)
Bonjour Gaston
Donc à partir de la leonardo, est-ce que je peux interfacer un PCF8575 en I2C.
Du moment que tu trouves le librairie appropriée, quasiment tout ce qui est estampillé i2C et connectable sur le bus i2C de ton Leonardo sur les pin SCL et SDA et, bien sûre, +5V et GND.

Pour ce qui est de ton éventuelle extension de ports, si ce n'est que des ports en sortie, le PCF8575 peut aller, mais s'il y a des entrées et sorties, le MCP23017 est nettement préférable, après il s'agit d'installer la bonne librairie et ça se "manipule" presque comme un port de l'Arduino.

Cordialement
jpbbricole
 
S
speedjf37
Compagnon
15 Oct 2009
2 491
indre et loire
speedjf37

Je suis pratiquement nul sur les possibilités d'un Arduino. Mais j'essaie de comprendre.

Donc à partir de la leonardo, est-ce que je peux interfacer un PCF8575 en I2C.
comme l'a dit @jpbbricole il faut installer la lib concernée.
Avec tu as des exemples , tu t’entraines avec et puis tu intègre ce qui t’intéresse dans ton projet

Edit Sinon tu peux utiliser une matrice multiplexée pour multiplier les entrées ,combien en faut il ?

JF
 
S
speedjf37
Compagnon
15 Oct 2009
2 491
indre et loire
Re Bonjour ,

Il existe une lib qui permet le HID sur d'autres cartes y compris la MEGA2560 equipée de Chip AVR en USB:

Mais il faut un bootloader specifique


A tester !!!

JF
 
S
speedjf37
Compagnon
15 Oct 2009
2 491
indre et loire
Bonjour,
Oui, il me faut uniquement des ports en sorties donc le MCP23017 serait bon pour moi.




Bon, voilà. J'ai flaché la mega 2560 avec le nouveau bootloader. mais pour le HID, il y en a une palanquée.... lequel dois-je prendre ?
1) as tu une MEGA2560 avec un 16u2 ou 32u4 comme interface USB?
2) As tu compris comment cela fonctionne (moi pas encore ! ) ?

NicoHood / HID


1595446208292.png

JF
 
S
speedjf37
Compagnon
15 Oct 2009
2 491
indre et loire
c'est une mega 2560 avec un Atmega 16U-TH mais c'est le seul processeur sur la carte.
Bonjour,

il y a forcement un ATMEGA 2560 comme processeur principal qui dialogue avec le suivant.
l' Atmega 16U2 fait la conversion USB serie et le téléchargement.

Donc la question que je me pose :
Avec le nouveau bootloader garde t'on la prog comme avant ?
Que faut il faire pour qu'il émule un clavier ou une souris etc ? (est on limité a ses E/S pour le clavier/souris ?)
Peut on utiliser toutes les E/S dur MEGA2560 pour les transmettre via le 16U2 comme touches clavier ?

Je viens de vérifier mes MEGA2560 clone sont équipées de 16U2 donc je peux tester !

Cordialement JF
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 689
FR-71520
  • Auteur de la discussion
  • #19
il y a forcement un ATMEGA 2560 comme processeur principal
Absolument , il y a un Atmega 2560 (16U-TH) ... mais c'est tout ... et la puce CH340G qui elle fait la conversion USB <=> Serial


IMG_20200723_173758[1].jpg
 
S
speedjf37
Compagnon
15 Oct 2009
2 491
indre et loire
Absolument , il y a un Atmega 2560 (16U-TH) ... mais c'est tout ... et la puce CH340G qui elle fait la conversion USB <=> Serial
Ok pas du tout la même carte et c'est foutu il faut un 16U2 a la place du CH340G

le méthode d'installation est ici: (en fr en utilisant le traducteur de Chrome)

JF
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 689
FR-71520
  • Auteur de la discussion
  • #21
Hé oui, c'est ce que j'allais te dire... le bootloader rentre dans le 16U
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 689
FR-71520
  • Auteur de la discussion
  • #22
Donc, les deux cartes que j'ai acheté ne me servent à rien pour mon projet. Car les deux refusent l'include<keyboard.h>.
La seule qui le prends (à ma connaissance) c'est la leonardo.

Je ferais avec... je vais lui planter en cul deux MCP machin et j'aurais 32 sorties dispo ou alors j'utilise la même carte que tu possèdes.

J'attends ton retour d'expérience ... :smt023

et c'est ça qu'il faut..... certainement
 
Dernière édition:
S
speedjf37
Compagnon
15 Oct 2009
2 491
indre et loire
J'attends ton retour d'expérience ... :smt023
Bonjour,
Un peu galère mais ça marche.
Résumé:
Install du package NicoHood/HoodLoader2
Lancer sketch Installation_Sketch.ino
Câblage des ISP + condensateur 100nf min
Re démarrage Carte MEGA
Cli LED OK install OK

Installation cartes via fichier préférences choix URL supplémentaires

1595703883896.png


Ensuite on peut sélectionner les nouvelles cartes dont la 16U2

Charger exemples et tester les différents claviers
test LED caps/lock OK
test clavier avec input 2 ( sur le 16U2 sur le connecteur ISP) OK

En même temps on peut faire tourner un squetch sur LE MEGA2560

Prochain test
Faire collaborer les deux UC le 16U2 pour l'USB et le mega2560 pour les E/S

Sketch 16U2:
1595704251671.png


Squetch MEGA2560
1595705595831.png




Ecriture clavier carte MEGA2560 dans Notepad++
1595705207569.png


Tout fonctionne , mais pas vraiment simple à installer.

Le clavier est en Us donc pas AZERTY.
Comment transmettre entre les 2 UC les codes spécifiques etc


Cordialement JF

1595705092059.png
 
Dernière édition:
gaston83
gaston83
Compagnon
17 Fev 2016
1 689
FR-71520
  • Auteur de la discussion
  • #24
Bonjour,
merci du retour.

As-tu essayé de compilé mon code ?
 
S
speedjf37
Compagnon
15 Oct 2009
2 491
indre et loire
As-tu essayé de compilé mon code ?
Bonjour,

Oui mais je galère pour avoir les bonnes LIB
encoder
keyboard
etc

Ce serait bien de mettre en commentaire avant chaque include la lib utilisée

//lib: exemple.lib_keyboard.com
#include <Keyboard.h>
//lib: https://www.pjrc.com/teensy/td_libs_Encoder.html
#include <Encoder.h> // Gestion bouton rotatif
#include <Key.h>
#include <Keypad.h>
#include <HID.h>
JF
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 689
FR-71520
  • Auteur de la discussion
  • #26
Ce serait bien de mettre en commentaire avant chaque include la lib utilisée

Effectivement, de ce côté là, je me suis pas emmerdé, j'ai télécharger toutes les lib qui contiennent encoder, keyboard et keypad.. :wink: pour la leonardo.
 
Haut