Bonjour, bonsoir,
Nous avons décidé d'écrire sur ce forum car nous sommes au points mort, en effet nous devons rendre notre PPE d'ici peu et la partie clé de notre projet ne fonctionne pas.
Pour faire simple :
Nous disposons de tout l’électronique de base (résistance, transistor etc)
Le problème étant que nous n'avons pas les connaissances et qu'après mainte recherches sur le web, rien ne fonctionne.
Actuellement nous avons une carte Arduino, laquelle sert à savoir lorsqu'il y a une pression sur la gâchette d'un pistolet laser, celle-ci une fois pressé envoi un signal radio a une deuxième carte Arduino (sur la cible) comparant le signal reçu via radia et la photo résistance et celle-ci éclairant une série de LED lorsqu'elle est touchée ou non.
En gros, la première carte Arduino doit contrôler l'alimentation du laser, l'alimentation de l'arduino étant du 5V et celle du laser 3V nous avons penser à utiliser un transistor.
nous avons une carte Arduino Uno et un transistor 2N907A et 2N222
voici le code de l'arduino :
Code://Entrées : int button = 7; //gachette int button_debug = 2; //bouton poussoir //Sorties controle de l'alimentation de la pile int transistor = 4; //Modules radio #include <RH_ASK.h> #include <SPI.h> RH_ASK rf_driver; //Setup void setup() { //init de l'écran interne Serial.begin(9600); Serial.println("Debut Com"); //init de la radio rf_driver.init(); //affectation des entrées/sorties pinMode(button, INPUT_PULLUP); pinMode(button_debug, INPUT); pinMode(transistor, OUTPUT); } //execution void loop() { //message envoyé const char *msg = "Welcome to the Workshop!"; //phrase du tutoriel, n'influence pas le programme ou seul la transmission est nécessaire, pas le contenu digitalWrite(transistor, HIGH); //le transistor étant un normalement fermé il doit etre activé en permanence if (digitalRead(button) == 0 or digitalRead(button_debug) == 1) //si le signal passant dans le bouton est nulle (bouton appuyé) { Serial.println("Bouton pressé"); rf_driver.send((uint8_t *)msg, strlen(msg)); //envoi du message rf_driver.waitPacketSent(); //attente du module radio digitalWrite(transistor, LOW); //on ferme le transistor Serial.println("Etat transistor:"); Serial.println(transistor); delay(50); //delai de 50ms imposé par le cahier des charges } }
-----