Show Posts
Pages: [1] 2
1  International / Le bar / Re: STM32 Comment cela se programme ? on: July 06, 2014, 12:40:28 pm
Bonjour,
Avec les STM32, je suis parti de zéro, je n'ai fait aucune étude dans ce domaine (en fait je n'ai pas encore tout à fait 18 ans) ; donc je pense que tout le monde peut apprendre à s'en servir...
Pour l'IDE CoIDE, je l'utilise sous Windows, mais il y a des versions Linux et MAC il me semble. De plus il intègre un compilateur : on obtient un fichier hexadécimal après compilation, on l'envoie avec ST-link V2 dans la bête, et hop, c'est parti ! (il y a même la possibilité de configurer CoIDE pour qu'il se charge de faire l'envoi automatiquement après la compilation, sans devoir ouvrir le logiciel ST-link...)
Enfin, l'avantage avec CooCox, c'est qu'ils écrivent eux même des librairies, et que les utilisateurs peuvent aussi soumettre celles qu'ils ont faites : depuis CoIDE on a accès cette base de données ainsi qu'à divers exemples ; de plus il y a un forum sur leur site internet.
Je précise encore que CoIDE est très bien fait : il suffit de cliquer sur une librairie pour ouvrir les fichiers d'aides et de référence sur la droite de l'écran, il y a l'autocomplétion, après sélection de son µC on voit quelles sont les librairies disponibles, les exemples... il est vraiment très complet.

EDIT : j'ai vérifié, et en fait CoIDE n'est disponible que sous Windows ; le compilateur recommandé par CoIDE est GCC ; voir plus ici ; http://www.coocox.org/CooCox_CoIDE.htm
2  International / Le bar / Re: STM32 Comment cela se programme ? on: July 04, 2014, 04:04:31 pm
Bonjour,
 j'ai fait l'acquisition d'une carte STM32F4 discovery, justement pour sortir du cadre "pré-maché" de l'arduino et pour pouvoir faire des choses demandant plus de ressources (traitement vidéo en direct...). C'est vrai que c'est au départ un peu plus difficile à prendre en main, mais j'ai réussi après quelques heures de travail de  compréhension à faire divers "fichiers-librairies" (GPIO, UART, I2C...) me permettant de retrouver des fonctions haut niveau dans le style de l'arduino. A l'usage, je trouve que ce µC est vraiment incroyable.

Concernant l'IDE, j'utilise CoIDE, de CooCox, vraiment bien fait (il supporte toute la gamme des STM32, et bien plus encore), et pour la programmation, il y a la carte ST-link V2 incluse dans la carte discovery ou trouvable séparément pour quelques euros sur eBay (là encore, elle permet la programmation de tous les STM32, il me semble).
Skywodd a d'ailleurs fait un article avec cette carte et cet IDE  smiley-wink.

@ Super_Cinci, pour les STM32, les datasheets ne donnent aucune information détaillée sur la programmation (registres...). Pour cela, il faut aller voir le "reference manual" : 1710 pages dans le cas des STM32F4xx  smiley-eek
3  International / Français / Re: DUINOS 0.4 on: April 07, 2013, 07:01:28 pm
Salut,
regardes en bas de cette page, le premier commentaire :
http://www.pobot.org/Premiers-pas-avec-DuinOS.html
Ensuite tu cliques sur 'Branches' et tu devrais trouver...
4  International / Français / Re: Moteurs et courant on: April 04, 2013, 03:49:59 pm
Salut,
regardes sur le .pdf que tu as donné, 1ère page : AC pour tous les modèles sauf pour le 24V ou il y a bien le fameux signe "=" à coté...
Donc ton distributeur se commande en 24V DC.

Et pour les moteurs que tu veux contrôler, ils font quelle puissance (c'est ce qu'il faut déterminer en 1er pour savoir comment les piloter) ?
De plus, tu dis que tu as déjà écrit le code ; et tu parles de servomoteurs : le code tu as écrit utilises la bibliothèque "Servo" ,  ou juste les sorties PWM de l'arduino ?
Sans même connaitre la réponse, je peux te conseiller une solution toute faite : les variateurs de vitesse de modélisme. On en trouve pour tous les types de moteurs et a des prix défiant toute concurrence sur eBay par exemple. De plus, ils se commandent en PWM donc il est possible que tu n'aies même pas à modifier ton code.
Pour faire ton choix, regardes combien consomment tes moteurs (en Ampères) et choisis un variateur avec une valeur un peu plus élevée (pour avoir de la marge). Pour avoir des bons prix, recherches "ESC" (Electronic Speed Controller), et rajoutes "brushed" (c'est le type de ton moteur : il il a deux fils, c'est un moteur avec balai, "brushed" en anglais...).
Bien sur, il ne s'agit là que d'une proposition ; il est toujours possible de réaliser ce variateur toi même avec des MOSFETs par exemple...

En espérant que cela t'aide un peu...
5  International / Français / Re: Comment splitter un programme long en fichiers à inclure ... on: March 30, 2013, 09:45:39 am
Salut,
Je ne suis pas sur de tout avoir compris dans ton dernier message, mais en gros :
tu inclus le fichier comme ça :
Code:
#include <C:/.../tonFichier.ino> //(ou .txt, ou .toutCeQueTuVeux, tant que le fichier est en ASCII)
Ainsi, lors de la compilation, le contenu du fichier inclus sera exécuté à l'endroit ou il est inclus.
Cependant, je te conseille de l'inclure tout au début du code "principal" et de créer des fonctions que tu mettras dedans ; et après tu n'aura plus qu'à les appeler dans le code principal. Tu peux aussi créer un tel fichier juste pour regrouper les déclarations de variables si tu préfères ; dans tous les cas la méthode est le même.

EDIT : j'ai oublié de préciser qu'il faut que tu lances la compilation à partir du fichier principal (et avant n'oublies pas d'enregistrer les dernières modifications effectuées sur les fichiers inclus  smiley-wink).
6  International / Français / Re: Comment splitter un programme long en fichiers à inclure ... on: March 29, 2013, 07:45:13 pm
Salut,
c'est vraiment tout simple, pas besoin que les deux (ou plus  smiley-wink)fichiers soient dans le même répertoire :
fais juste ça :
Code:
#include <LeCheminCompletDeTonFichierIci>
(mais sinon c'est vrai que c'est bizarre que l'on ne puisse pas mettre deux fichiers dans le même répertoire... Merci la team Arduino  smiley-roll)
7  International / Français / Re: Conversion série/USB on: March 22, 2013, 05:31:20 pm
Salut,
j'ai lu tout le topic et si j'ai bien compris,
1) tu veux transmettre un signal numérique en utilisant un module FM (jusque là OK), mais le module que tu montres est fait pour un signal audio : pourquoi ne pas prendre un module qui fonctionne directement en FSK (en gros c'est de la FM pour le numérique) ?

2) ensuite, j'ai bien compris que tu voudrais que le signal que tu envoies suive directement le 'protocole USB', mais c'est bien plus compliqué que ça : d'abord, l'USB est un simple bus, un moyen de communiquer : il existe plusieurs façon de l'utiliser (Bulk, CDC, HID...) et ensuite, envoyer les valeurs c'est bien, mais être capable de les récupérer sur un ordinateur c'est mieux  smiley ce qui implique un programme (à faire) et peut-être une installation de drivers. De toute manière, l'arduino n'a rien pour gérer un protocole USB, et composer les trames à envoyer toi même doit être assez dur.
Sinon, tu peux aussi utiliser, comme cela a été proposé, un port série virtuel : tu envoie tes données avec un protocole UART par exemple, et après la réception, tu mets un convertisseur TTL/USB (comme le FDTI ou le CP2102) et tu récupères ainsi tes valeurs comme si elles venaient d'un port série.

3) Enfin, tu parles d'une portée de 10km mais le module que tu montres n'a une puissance que de +10dbm, ce qui vaut au pifomètre 1km grand max en champ libre et sans interférences. En fait, si tu n'a pas de licence de radioamateur ou autre, sache que tu ne pourra pas avoir de liaison à 10km (en fait, tu pourras, mais tu sera dans l'illégalité à cause de la législation française, car la puissance d'émission nécessaire sera bien au dessus de la limite légale, 'pour les gens lambda').
8  International / Français / Re: Projet de mesures d'oscillations avec MPU-6050 on: January 13, 2013, 09:25:26 am
Bonjour,
Content de voir que mon code a trouvé une reconversion  smiley
Cependant attention Marc1424 : pour moi aussi ça a marché au début, mais si il n'y a pas d'adaptateur pour les signaux I2C, ça risque de griller un jour ou l'autre...
9  International / Français / Re: Projet de mesures d'oscillations avec MPU-6050 on: January 12, 2013, 08:35:25 pm
C'est le même modèle que je possédais.
L'alimentation est en effet soit 3V3 soit 5V car il y a un régulateur ; mais ce n'est valable que pour l'alimentation : il n'y a aucun convertisseur pour les lignes de l'I2C !
Pour un code qui marche, désolé mais j'ai supprimé celui que j'avais fait car j'ai changé de chip pour un 5V tolérant mais je te conseille d'utiliser cette librairie pour l'I2C : comme expliqué, elle marche mieux, est plus simple et prend moins de place que Wire :
http://dsscircuits.com/articles/arduino-i2c-master-library.html
Après, il te suffit d'aller dans le datasheet du MPU-6050 et de regarder dans quels registres tu dois lire pour avoir les valeurs, et éventuellement dans quels registres tu dois écrire (et quoi) pour modifier les paramètres.

EDIT
J'ai retrouvé mon code smiley . Il marche avec la librairie citée ci-dessus et affiche sur le port série toutes les deux secondes les valeurs de l'accéléromètre et du gyroscope ; avec les paramètres d'origine du chip (il ne change rien, il lit juste) :
Code:
#include <I2C.h>

 int data[3];
 

void GetAccValues(int AccValues[3]) {
  byte AccRawData[6];
  I2c.read(0x68, 0x3B, 6, AccRawData); 
  AccValues[0] = (AccRawData[0] << 8) + AccRawData[1];
  AccValues[1] = (AccRawData[2] << 8) + AccRawData[3];
  AccValues[2] = (AccRawData[4] << 8) + AccRawData[5];
}

void GetGyroValues(int GyroValues[3]) {
  byte GyroRawData[6];
  I2c.read(0x68, 0x43, 6, GyroRawData); 
  GyroValues[0] = (GyroRawData[0] << 8) + GyroRawData[1];
  GyroValues[1] = (GyroRawData[2] << 8) + GyroRawData[3];
  GyroValues[2] = (GyroRawData[4] << 8) + GyroRawData[5];
}


void setup() {
 
  I2c.begin();
  Serial.begin(9600);
 
}

void loop() {
 
  Serial.println("Valeurs de l'acc :");
  GetAccValues(data);
  Serial.print("x : ");
  Serial.println(data[0]);
  Serial.print("y : ");
  Serial.println(data[1]);
  Serial.print("z : ");
  Serial.println(data[2]);
 
  Serial.println("Valeurs du gyro :");
  GetGyroValues(data);
  Serial.print("x : ");
  Serial.println(data[0]);
  Serial.print("y : ");
  Serial.println(data[1]);
  Serial.print("z : ");
  Serial.println(data[2]);
 
  delay(2000);
}
10  International / Français / Re: Projet de mesures d'oscillations avec MPU-6050 on: January 12, 2013, 07:17:14 pm
Salut, quel est le "breakout" du MPU-6050 que tu utilises ?
Parce que je sais que sur eBay, par exemple smiley, il existe des "breakout" sans adaptateur 5V-3V3 ; et le MPU-6050 n'est pas 5V tolérant. Si il n'y a pas d'adaptateur sur ta carte et tu n'en a pas fait un à l'extérieur, il est normal que ça ne marche pas ; mais dans ce cas là, tu risques d'avoir "grillé" ton module et il t'en faudra un nouveau.
Si ce n'est pas ça, je ne vois pas ce que ça peux être à part un mauvais montage...
11  International / Français / Re: Comment utiliser une batterie lipo avec mon arduino on: December 27, 2012, 06:54:31 pm
Je pense que tu pourras trouver beaucoup de détails en faisant une recherche Internet ; mais en gros :
la tension nominale d'un élément Li-Po est de 3.7V (ta batterie est donc au minimum constituée de deux éléments montés en série) ; la tension minimale (batterie déchargée) d'un élément est de 3.0V, et la maximale (batterie bien chargée) de 4.2V.
Donc avec l'arduino, tu peux mesurer la tension aux bornes de la batterie (via un pont diviseur de tension smiley), et ainsi savoir à peu près le niveau de charge de la batterie (à peu près parce que la chute de tension n'est pas linéaire : voir les graphiques (et aussi le reste si tu veux) de cette page : http://velion.fr/index.php?page=bonne-gestion-d-une-batterie-lipo).
Voilà, en espérant que ça te seras utile  smiley-wink
Bonne nuit !
12  International / Français / Re: Comment utiliser une batterie lipo avec mon arduino on: December 27, 2012, 06:04:10 pm
Si ta batterie fait 7.8V, tu peux normalement la brancher directement à l'arduino ; mais fais aussi attention à la batterie elle-même : les batteries Li-Po comme les Li-ion ne supportent pas les décharges complètes (toujours les laisser chargées à 10 ou 20 % minimum), donc si ta batterie n'a pas de système de protection, je te conseille d'en ajouter un (chose que tu peux faire avec l'arduino smiley ).
Voilà, mais pour ce qui est du raccordement, je pense que tu peux le faie directement sans aucun problème.
Bonne soirée !
13  International / Français / Re: Répéter une animation puis passer à une autre. on: December 23, 2012, 08:17:07 pm
Salut,
tu peux faire ce que tu veux très simplement en créant des fonctions :
tu définis une fonction qui contient le code d'une animation, et tu peux ensuite l'appeler n'importe quand dans le programme.
Exemple :
Code:
void Mafonction() {  //Crée une fonction appelée "Mafonction"
//Mets ici le code d'une animation (par exemple). Il sera exécuté à chaque appel de la fonction par le programme principal.
}

void setup() {
}

void loop() {
Mafonction();  //Appel de la fonction "Mafonction" : le code contenu dans celle-ci sera exécuté
}
Tu peux créer autant de fonctions que tu veux smiley !
Pour les variables : une variable déclarée à l'extérieur d'une fonction sera valable pour toutes les fonctions (variable globale) tandis qu'une variable initialisée dans une fonction ne sera valable que pour celle-ci (variable locale).
Voilà, c'est à peu près tout pour la base des fonctions ; en espérant que cela t'aideras smiley .
14  International / Français / Re: DCF77 ? Quelqu'un utilise ? on: December 16, 2012, 05:36:11 pm
Bonsoir,
Essaye d'aller voir sur ce site, tu devrais trouver des infos :
http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.MaterielCapteurModuleDCF77
Voilà, en espérant que ça t'aidera...
15  International / Français / Re: batterie DS et arduino on: August 03, 2012, 11:23:16 am
Salut,
Sinon, tu peux associer deux batteries de DS en série ; ainsi tu aura 7.4 volts et tu pourra alimenter ton Arduino "normalement" en utilisant la prise jack d'alimentation externe. Cependant attention, pour associer des batteries en série ou en parallèle, il faut qu'elles aient la même capacité  smiley-wink.
Pages: [1] 2