- Robot Maker
- → Contenu de Shuzaku
Contenu de Shuzaku
Il y a 82 élément(s) pour Shuzaku (recherche limitée depuis 04-mai 13)
Par type de contenu
Voir pour ce membre
#22783 Ya2N
Posté par Shuzaku sur 14 juillet 2008 - 11:20 dans Et si vous vous présentiez?
Comme l'a dit miky mike, ça se programme très bien en C, sauf que je dirais quand même que c'est du C très axé microcontrolleur, c'est à dire qu'on utilise beaucoup les opérateurs bit à bit, les octets tout ça. Cependant, chaque constructeur y va de sa petite sauce et il n'y a pas vraiment de standards universels.
En électronique, il n'y a pas non plus que les microcontrolleurs qui se programment même si sur robotix on ne parle quasiment que de ça :D .
#22785 Ya2N
Posté par Shuzaku sur 14 juillet 2008 - 12:07 dans Et si vous vous présentiez?
- Les API (automate programmable industriel), mais ça, si tu veux en faire à domicile va falloir beaucoup débourser parce que c'est très axé robots industriels :p (par contre qu'est ce que c'est agréable à faire :| )
#22787 Ya2N
Posté par Shuzaku sur 15 juillet 2008 - 06:31 dans Et si vous vous présentiez?
Ensuite, on a bosser sur un petit projet style "domotique" avec des ventilateurs, des lampes, des interrupteurs avec un petit automates sympathique WAGO avec contrôle par page web, serveur FTP ...
Niveau régulation, on a rien fait en rapport avec les automates mais on a appris le théorique. Il parrait qu'on peut facilement piloter un PID avec un automates tout ça, ça doit être sympathique, dommage qu'on est pas été jusque là.
#28940 vérification des composants
Posté par Shuzaku sur 16 août 2008 - 12:02 dans Electronique
#28937 vérification des composants
Posté par Shuzaku sur 16 août 2008 - 12:09 dans Electronique
#28632 Un microcontroleur ???
Posté par Shuzaku sur 02 juillet 2008 - 11:59 dans Electronique
(par contre les gens qui programme direct en ASM, ils sont complètement maso :p )
C'est juste pour blaguer hein ^^
#28621 Un microcontroleur ???
Posté par Shuzaku sur 27 juin 2008 - 04:00 dans Electronique
Aucun passage particulier, c'est dans la globalité.
#28619 Un microcontroleur ???
Posté par Shuzaku sur 27 juin 2008 - 11:02 dans Electronique
#28614 Un microcontroleur ???
Posté par Shuzaku sur 26 juin 2008 - 11:36 dans Electronique
#20922 tutoriel SDCC
Posté par Shuzaku sur 27 juin 2008 - 04:01 dans Programmation
théoriquement :|
#25101 [TUTO] asservissement et régulation
Posté par Shuzaku sur 09 juillet 2008 - 02:18 dans Archives
Le tuto sur lequel j'ai passé je dois dire de nombreuses dizaines d'heures est en ligne. Ce tuto essai d'expliquer le fonctionnement des asservissements et régulation. Il n'est pas encore fini (60%). Son niveau de difficulté reste élevé, car c'est pas évident d'expliquer les asservissement sans math de niveau Terminale S.
Je recherche des critiques, des conseils, des corrections par rapport à ce tuto pour l'optimiser ! L'engouement qu'il peut créer aura forcément une incidence sur la fin de rédaction. J'ai volontairement laissé les futurs chapitre vides.
Je vous remercie d'avance ;)
#21538 [SONDAGE] comment avez-vous appris a pogrammer?
Posté par Shuzaku sur 13 juin 2008 - 05:28 dans Programmation
En créant des sites
En allant en cours
#28418 [Question] Télécommande
Posté par Shuzaku sur 07 juin 2008 - 10:11 dans Electronique
Comment ça c'est pas adapté à une télécommande :p
#28457 [Question] Télécommande
Posté par Shuzaku sur 27 août 2008 - 08:27 dans Electronique
comment les utiliser ? ou plutôt comment les fabriquer ?
Parce que on peut surement en trouver plein de différent tout prêt mais en général dans ces cas là, c'est très facile à utiliser ils font quasiment tout tout seul !
#28421 [Question] Télécommande
Posté par Shuzaku sur 08 juin 2008 - 02:11 dans Electronique
#28454 [Question] Télécommande
Posté par Shuzaku sur 27 août 2008 - 03:44 dans Electronique
#28447 [Question] Télécommande
Posté par Shuzaku sur 11 juin 2008 - 05:10 dans Electronique
Et ça donnait ça :
edit : tien ça marche pu les balises daily <.<
vidéo là : http://www.dailymotion.com/Yoshimi2/video/x4uw9w_robot2_tech
C'était un projet vraiment sympatique ^^
#28412 [Question] Télécommande
Posté par Shuzaku sur 03 juin 2008 - 05:12 dans Electronique
Un module de réception qui convertie un signal série en une onde quelconque puis un module de réception qui convertie la même onde en signal série. Du coup, ça devient beaucoup plus facile de faire du sans fil avec ce genre de matériel.
#28452 [Question] Télécommande
Posté par Shuzaku sur 26 août 2008 - 11:10 dans Electronique
étant donné que, contrairement à la programmation, la robotique n'est pas gratuite :p ).
A notre grand malheur ...
Je serais toi, je commencerais par effectuer une première étape que je vais te décrire, qui ne demande pas d'électronique ni rien de tout ça, juste 2 PC reliés par câble série seraient nécessaire !
Tu chope un joystick, un langage de programmation que tu connais bien qui sait bosser avec les joysticks (le C et la SDL à tout hasard ...), aller en cadeau je te met à la fin de ce message des fonctions qui permettent d'utiliser le port série parce que ça peut être relou à trouver sur le web.
Sur Windows tu as un truc très sympa qui s'appelle "Hyper Terminal" dans démarrer->tout les programmes->accessoires->communication. Ce fameux hyperterminal permet de travailler avec le port série lui aussi.
Sur le premier PC, tu créer un programme qui est capable de lire le joystick et les boutons que tu veux.
Ce programme va devoir renvoyer l'info du joystick sur le port série avec un quelconque octet (nombre) que tu choisi, par exemple tu renvoi un 1 sur le port série si tu appuie sur le bouton 1, un 2 si c'est le deuxième bouton etc.
Sur le second PC, tu va ouvrir ce fameux hyper terminal, tu donnes un nom bidon à ta connexion hyper terminal quand il te le demande, tu fais ok, tu choisies "Se connecter en utilisant COM3", ensuite tu mets 9600 bits/seconde, 8 bits de données, partié paire, bit d'arrêt 1, contrôle de flux matériel. Voilà, ton hyperterminal est réglé et affichera maintenant tout ce qu'on lui enverra par le port COM.
Tu relie bien sûr les deux PC avec un câble série qui convient.
Maintenant, le but est que lorsque tu appuie sur un bouton de ton joystick, tu recoive bien le nombre du bouton sur le second PC. Si déjà tu parvient à ce résultat, c'est que ta bien bossé !
Des exemples d'utilisation des fonctions :
g_ErrCom=OuvreCom(PORT1,V9600,BITS_8,PARITE_PAIRE,BIT_DE_STOP_1);
//émission vers port
g_ErrCom=EmissionCom(&moteur_gauche,1);[/code]
// FONCTION : OuvreCom
//------------------------------------------------------------------------------
// DESCRIPTION :
// Initialise et ouvre un port série
//
//------------------------------------------------------------------------------
// PARAMETRES :
// - strPort Nom du port "COM1", "COM2"
// - BaudRate Vitesse
// - BitsSize Taille de l'info
// - Parity Parité
// - StopBits Nombre de bits de stop
//
// RETOUR :Code d'erreur
//------------------------------------------------------------------------------
e_ErrCom OuvreCom(char *strPort,long BaudRate,int BitsSize,int Parity,int StopBits)
{
g_ErrCom = e_ErrCom_None;
// On ouvre le port série
g_hCom = CreateFile(strPort,GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_FLAG_WRITE_THROUGH | FILE_FLAG_NO_BUFFERING,NULL);
if(g_hCom == INVALID_HANDLE_VALUE)
{
// Echec
g_ErrCom=e_ErrCom_Creation;
}
else
{
// On vide les buffers
PurgeComm(g_hCom,PURGE_TXABORT|PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR);
// On paramètre le port série
g_DCB.DCBlength = sizeof(DCB);
//Configuration actuelle
GetCommState(g_hCom, &g_DCB);
//Modification du DCB
g_DCB.BaudRate=BaudRate;
g_DCB.ByteSize=BitsSize;
g_DCB.Parity=Parity;
g_DCB.StopBits=StopBits;
g_DCB.fDtrControl=DTR_CONTROL_DISABLE;
//Configuration de la liaison serie
SetCommState(g_hCom,&g_DCB);
}
return g_ErrCom;
}
//----------------------------------------------------------------------------
// FONCTION : EmissionCom
//----------------------------------------------------------------------------
// DESCRIPTION :
// Emission d'octets sur la liaison série
//
//----------------------------------------------------------------------------
// PARAMETRES :
// -lpBuf Pointeur sur les octets a emettre
// -nCount Nombre d'octet a emettre
//
//----------------------------------------------------------------------------
// RETOUR :Code d'erreur
//----------------------------------------------------------------------------
e_ErrCom EmissionCom(const void* lpBuf,unsigned int nCount)
{
DWORD NumBytes=0;
if(g_hCom!=NULL)
{
// On pari sur pas d'erreur
g_ErrCom=e_ErrCom_None;
//Emission du buffer
if(WriteFile(g_hCom,lpBuf,nCount,&NumBytes,NULL)==0)
{
g_ErrCom=e_ErrCom_Emission;
}
}
else
//Le port n'a pas été ouvert
g_ErrCom=e_ErrCom_Creation;
return g_ErrCom;
}
//---------------------------------------------------------------------------
// FONCTION : ReceptionCom
//---------------------------------------------------------------------------
// DESCRIPTION :
// Reception de caractères sur la liaison série
//
//---------------------------------------------------------------------------
// PARAMETRES :
// -lpBuf Pointeur sur le buffer de caractère a lire
// -nCountMax Nombre maxi de caractère a lire
// -pCountRead Pointeur sur le nombre de caractères lus
//---------------------------------------------------------------------------
// RETOUR :Code d'erreur
//---------------------------------------------------------------------------
e_ErrCom ReceptionCom(void *lpBuf,unsigned int nCountMax, unsigned int* pCountRead)
{
COMSTAT Stat;
DWORD Errors;
unsigned int nCarALire;
unsigned long NCarLus=0;
if(g_hCom!=NULL)
{
//on pari sur pas d'erreur
g_ErrCom=e_ErrCom_None;
//Pour éviter de gérer un time out
Sleep(500);
//Pour connaitre le nombre d'octets dans le buffer d'entrée
ClearCommError(g_hCom,&Errors,&Stat);
nCarALire=Stat.cbInQue;
//On effectue la lecture si il y a des caractères présents
if( (nCarALire>0)&&(nCarALire<=nCountMax) )
{
if(ReadFile(g_hCom,lpBuf,nCarALire,&NCarLus,NULL)==0)
{
g_ErrCom=e_ErrCom_Reception;
}
}
*pCountRead=NCarLus;
}
else
//Le port n a pas été ouvert
g_ErrCom=e_ErrCom_Creation;
//Compte rendu de l'exécution
return g_ErrCom;
}
//-----------------------------------------------------------------------
// FONCTION : FermeCom
//-----------------------------------------------------------------------
// DESCRIPTION :
// Ferme le port série préalablement ouvert avec OuvreCom
//
//-----------------------------------------------------------------------
// PARAMETRES :
// Néant
//-----------------------------------------------------------------------
// RETOUR :Néant
//-----------------------------------------------------------------------
void FermeCom()
{
if(g_hCom!=NULL)
{
CloseHandle(g_hCom);
}
}[/code]
Code d'en tête, tu as des truc inutile à enlever là dedans, je le mets juste pour t'aider ...
//------------------------------------------------------------------------------
#include
#include
#include
#include
#include
#include
#include
#include
#include
// CONSTANTES
//-------------------------------------------------------------------------------
// Définition du code d'erreurs
typedef enum
{
e_ErrCom_None, // Pas d'erreur
e_ErrCom_Creation, // Erreur lors de la création du flux
e_ErrCom_Utilise, // Le port com est déjà utilisé
e_ErrCom_Inexistant, // Le port com n'existe pas
e_ErrCom_Timeout, // Timeout lors d'une émission-réception
e_ErrCom_Emission, // Erreur lors de l'émission
e_ErrCom_Reception, // Erreur lors de la réception
e_ErrCom_Definition_Trame, // Erreur de définition de la trame
e_ErrCom_Nack, // Demande non prise en coompte
e_ErrCom_Checksum // Erreur de checksum
} e_ErrCom;
// Nom du port série
#define PORT1 "COM1"
#define PORT2 "COM2"
// Définition des vitesses de communication
#define V1200 1200
#define V2400 2400
#define V4800 4800
#define V9600 9600
// Définition du nombre de bits
#define BITS_7 7
#define BITS_8 8
// Définition du nombre de bits de stop
#define BIT_DE_STOP_1 1
#define BIT_DE_STOP_2 2
// Définition de la parité
#define PAS_DE_PARITE 'N'
#define PARITE_IMPAIRE 'O'
#define PARITE_PAIRE 'E'
// Codes de retour génériques
#define OK 1
#define KO 0
// Longueur max réservée pour une trame
#define LG_TRAME 100
// PROTOTYPES
//----------------------------------------------------------------------------
e_ErrCom OuvreCom(char *strPort,long BaudRate,int BitsSize,int Parity,int StopBits);
e_ErrCom EmissionCom(const void *lpBuf, unsigned int nCount);
e_ErrCom ReceptionCom(void *lpBuf, unsigned int nCountMax, unsigned int *pCountRead);
void FermeCom();
void pause();
void image_position(int position, SDL_Surface *ecran, SDL_Surface *imageDePosition);
// VARIABLES GLOBALES
//-----------------------------------------------------------------------------
DCB g_DCB; // structure dcb du port
e_ErrCom g_ErrCom= e_ErrCom_None; // Variable des erreurs de com
HANDLE g_hCom = 0; // handle de la com[/code]
BON COURAGE ET BONNE CHANCE !
Après, l'info primaire est sortie de ton PC, il ne reste plus qu'à la faire voyager dans des ondes ! :p
#28414 [Question] Télécommande
Posté par Shuzaku sur 03 juin 2008 - 06:23 dans Electronique
#28433 [Question] Télécommande
Posté par Shuzaku sur 10 juin 2008 - 05:46 dans Electronique
Certes on apprend moins en utilisant des modules tout prêt mais pour un débutant qui à besoin d'émerveillement pour trouver le courage de se lancer lui même dans les moindre détailles de l'électronique je vois pas le souci ! Que chacun trouve sa voie :p
#28748 [Projet en commun] Big tutoriel sur l'électronique
Posté par Shuzaku sur 20 juillet 2008 - 09:41 dans Electronique
avec ça, cela fera une très bonne base.
je vois mal expliquer comment calculer la polarisation alors que le mec ne sais pas ce que c'est que le point de repos par exemple.
Et encore j'ai fait souple car sur les transistor on pourrais carrément faire tout un livre quasi .[/quote]
+1, il y a vraiment de quoi faire un big tutoriel juste pour les transistors :p
#28750 [Projet en commun] Big tutoriel sur l'électronique
Posté par Shuzaku sur 20 juillet 2008 - 10:06 dans Electronique
Dans ce cas là il faudrait peut être aussi parler des diodes, des thyristors, des triacs, enfin bref partout ou il y a X jonction N et P :p
#25128 [projet de groupe] Calculatrice
Posté par Shuzaku sur 20 juillet 2008 - 07:50 dans Archives
Je vais faire un pdf pour expliquer l'addition/soustraction/multiplication/division en binaire et les conversions vers d'autres bases (binaire -> décimal etc...) :D . Je vous l'envoie dès que possible :-° [/quote]
Le pdf en question, faut suivre les gars :D
#21533 [Programmation du micro-contrôleur] limite d'instructions
Posté par Shuzaku sur 09 juin 2008 - 06:11 dans Programmation
Il existe plein de microcontroleurs différents, il doit y en avoir des plus gros :)
- Robot Maker
- → Contenu de Shuzaku
- Privacy Policy