Gamoover

[move]Vous vous épilez le maillot et collectionnez les bornes d'arcade avec des hommes musclés dessus ? Alors soyez les bienvenus sur Gamoover ! [/move]

[idée] pour fabriquer un penny puncher

Démarré par deltaone, Dimanche 26 Février 2006, 10:24:26 AM

Staff06

Bon voilà, le matos viens d'arriver, j ai failli me lancer dans les tests mais bon.... il manque le cordon USB de l'arduino :'(  >:D

Il me semble que c est le meme que pour les imprimantes, je vais voir si j en trouve pas un..

Staff06

Bon, j ai trouvé le cable, mais un souci, impossible de vérifier ou compiler.

J essai de compiler un exemple de la librairie BLINK (led qui clignote) et j ai un message "erreur de compilation".. Je ne peut donc pas envoyer les infos a la carte.

Pourtant j ai bien Installé les pilotes
sélectionné Type de carte : arduino uno
Port : com 4 (j ai vérifié c est bien ca)

Mon logiciel est mauvais ou y a quelque chose que je pige pas ?
Le site arduino.cc est en maintenance comme par hazard :(

Noelfhim

Bonjour,

Déjà, est-ce que l'arduino est reconnu par le logiciel ?

Ensuite, est-ce que tu as pensé à appuyer sur le bouton pour qu'il écrive sur l'arduino ?

Enfin, as-tu un message d'erreur concernant la compilation ?

Régis.

Staff06

oui le logiciel reconnais l arduino et le com des que je le branche, ensuite je fais vérifié, cela me met erreur de compilation et si j essai de transférer c est pareil. J ai la version 1.0.5



Comme tu peut voir en bas a droite l arduino est reconnu. La vérification du code ne fonctionne pas ainsi que le transfert..

Noelfhim

Je viens de réinstaller et je n'ai pas remis encore le soft. Dès que le site est revenu, je fais un essai.

Tu as cliqué sur quel bouton pour compiler ? Je crois qu'un des boutons vérifie le code, il fait quoi quand tu cliques dessus ?

Régis.

Staff06

#389
Le v vérifie et la fleche -> envoie les données sur l'arduino. J ai peut etre pas le bon logiciel, je vais essayer de prendre la version 1.5.4 pour voir.



J ai résolu le problème j ai enfin trouver la cause du problème :)..

J'explique pour ceux qui sont sous windows 7 et qui ont mon problème..

Pour arduino UNO R3

Il faut télécharger la version zip du logiciel arduino 1.0.5.
Ensuite aller dans panneau de configuration >> système et sécurité >> Système >> gestionnaire de périphérique.

L arduino se trouve soit dans usb (port et LPT) soit dans autre périphérique.
Il faut installer le pilote manuellement car par défaut il installe le pilote arduino UNO et non arduino uno Rev 3..

Pour installer le bon pilote aller dans le dossier arduino, drivers, deziper le dossier old drivers et installer le pilote arduino REV3..

Voila ca marche :)

Noelfhim

Hello,

J'ai réinstallé le logiciel (j'ai juste pris celui qui est sur le site, sans chercher de complications).

J'ai mis un programme minimal (une fonction setup() et une fonction loop() vides) et j'ai cliqué sur le "V".

Dans la zone verte sous le code, ça m'a d'abord dit : "Compilation du croquis..." puis "Compilation terminée."
Dans la zone noire en dessous j'ai "Taille binaire du croquis : 466 octets (d'un max de 32 256 octets)" une fois qu'il a fini.
Tout en bas, il me dit "Arduino Uno on COM1" (mais je n'ai pas branché l'arduino).

Donc si tu n'as pas le même comportement, tu as peut-être déjà un problème avec ton code.
Si c'est quand tu cliques sur la flèche, c'est que ton arduino doit être sur un autre port en fait.

Dans le menu "Outils" tu as "type de carte" et "Port série". Tu peux essayer les différents ports s'il y en a plusieurs.

Régis.

Staff06

Je te remercie mais c est bon c etais un probleme de pilote il m a installer automatiquement le pilote arduino UNO alors que pour la carte UNO R3 y a un pilote dédier.. Il etait dans old drivers bizarrement..

Merci bien. Je peut commencer quelque test :)

Noelfhim

Je vais être absent quelques jours. Je reviens mardi. Donc je n'aurai rien à te proposer avant la fin de semaine prochaine.

Régis.

Staff06

#393
Oui pas de souci merci.

J ai commencer quelque test avec 16 leds une à une.



le code assez simple: (y a peut etre des erreurs mais ca marche :) )

const int clockPin = 9;
const int dataPin = 8;
const int latchPin = 10;

void setup(){
 pinMode(clockPin, OUTPUT);
 pinMode(dataPin, OUTPUT);
 pinMode(latchPin, OUTPUT);
 }
 
void loop(){
 for (int i=0; i<16; i++)
 {
    shiftOut(dataPin, clockPin, MSBFIRST, B00000001 <<i);
    digitalWrite(latchPin, HIGH);
    delay(60);
    digitalWrite(latchPin, LOW);
 }


Prochaine étape, les allumer une à une avec un bouton poussoir momentanée (switch)

Staff06

#394
Test 2

Les leds s'allument une à une en appuyant sur le bouton poussoir (qui sera remplacer par 4 switch sur la machine).

Vidéo :  


Code :

// Broches de contrôle des 74HC595
const byte clockPin = 9;
const byte dataPin  = 8;
const byte latchPin = 10;

// Broche du bouton
const byte buttonPin = 5;

void setup() {

 // La broche du bouton en entrée
 pinMode(buttonPin,INPUT_PULLUP);
 
 // Toutes les broches de contrôle en sortie
 pinMode(clockPin, OUTPUT);
 pinMode(dataPin, OUTPUT);
 pinMode(latchPin, OUTPUT);
 digitalWrite(latchPin, HIGH);
}
 
void loop() {

 // Variable contenant l'état des leds (1 bit = 1 led)
 static uint16_t leds = 1; // static = la valeur reste à chaque appel de loop()
 // Remarque : uint16_t = entier (int) sur 16 bits

 // Boucle tant que le bouton n'est pas appuyé
 while(digitalRead(buttonPin) == HIGH);
 delay(25); // Anti rebond

 // Décalle le bit "1" correspondant à la led allumée d'un bit vers la gauche
 // Exemple : 00000001 << 1 = 00000010
 leds <<= 1;
 
 // Si toute les leds se retrouve éteintes (16iéme appui sur le bouton)
 if(leds == 0)
   leds = 1; // Retour à la led 1

 // Balance le contenu de "leds" sur les 74HC595
 digitalWrite(latchPin, HIGH);
 shiftOut(dataPin, clockPin, MSBFIRST, leds & 0xFF); // Envoi des bits 0 à 7
 shiftOut(dataPin, clockPin, MSBFIRST, (leds & 0xFF00) >> 8); // Envoi des bits 8 à 15
 digitalWrite(latchPin, LOW);

 // Attend que le bouton soit relâché
 while(digitalRead(buttonPin) == LOW);
}


Prochaine étape, déclencher le servo moteur à la 16ème leds.

AsPiC

J'ai intégré tes videos directement dans tes posts ;)

Staff06

Citation de: AsPiC le Mercredi 09 Octobre 2013, 14:55:48 PM
J'ai intégré tes videos directement dans tes posts ;)

Merci beaucoup, c est plus pratique comme ca :)

D_D

Recherche toute pièce opération wolf et borne opération thunderbolt.

Staff06

Je fais part de mes recherches ca pourrai toujours servir à quelqu'un :).

Je suis sur la bonne voie je pense, j'arrive maintenant à allumer une LED (le but étant d'arriver à allumer le servo moteur) en appuyant 32 fois sur le bouton poussoir.

Voici le code. Vous pouvez remplacer "if (buttonPushCounter % 32 == 0)" le 32 par le nombre que vous souhaitez. Dans mon cas j ai choisi de faire une action après 32 appui sur le bouton.


const int  buttonPin = 5;   
const int ledPin = 13;       

// Variables will change:
int buttonPushCounter = 0;   
int buttonState = 0;         
int lastButtonState = 0;     

void setup() {
 
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}


void loop() {
 
{ while(digitalRead(buttonPin) == LOW);
  delay(50); // Anti rebond
}
 
  buttonState = digitalRead(buttonPin);
  digitalWrite(ledPin, LOW);
 
  if (buttonState != lastButtonState) {
   
    if (buttonState == HIGH) {
     
      buttonPushCounter++;
      Serial.println("on");
      Serial.print("number of button pushes:  ");
      Serial.println(buttonPushCounter);
    }
    else {
      // if the current state is LOW then the button
      // wend from on to off:
      Serial.println("off");
    }
  }
 
  lastButtonState = buttonState;

  if (buttonPushCounter % 32 == 0) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
 
}


Voila il me reste plus qu'à trouver comment changer

if (buttonPushCounter % 32 == 0) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }

par

if (buttonPushCounter % 32 == 0) {
   servo.write(HIGH);
   delay(8000);
   } else {
   servo.write(LOW);

Je doit pas avoir la bonne commande pour le servo car au premier appui le moteur se declenche hors ca marche tres bien avec la led.. ::)

A suivre donc ^^

D_D

http://www.gamoover.net/Forums/index.php?topic=28917.0

Si ça t'intéresse je pourrais te filer des pièces de cette vieille machine.

A savoir la trappe et son mécanisme, une descente de pièces, la face métallique à 3 trous ainsi que les glissières sont derrières; sachant que la face est bien oxydée et mérites un peu de boulot.

Je te prendrais une photo du tout.     
Recherche toute pièce opération wolf et borne opération thunderbolt.