bonjour à tous, je bosse actuellement sur un système de securité, j'ai réalisé un programme afin de faire tourner mon moteurs dans les deux sens ainsi qu'un programme avec la carte RFID RC522. Ce dernier lorsqu'il lit la carte active une LED verte (laisse passer), cependant je ne sais pas comment lorsque La LED s'active déclancher le fonctionnement de mon programme moteur
voici la programmation de ma partie RFID qui fonctionne:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | // Pin Pin // MFRC522 board Arduino Uno // RST 9 // SDA 10 // MOSI 11 // MISO 12 // SCK 13 // GND GND // Vcc 3.3V // IRQ Non connecté #include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. pinMode(4,OUTPUT); // Branche la led sur le port 4. void setup() { Serial.begin(9600); // Initialize serial communications with the PC SPI.begin(); // Init SPI bus mfrc522.PCD_Init(); // Init MFRC522 card } void loop() { // Look for new cards if ( ! mfrc522.PICC_IsNewCardPresent()) return; digitalWrite(4,HIGH); delay(3000); digitalWrite(4,LOW); } |
voici la programmation de mon moteur qui fonctionne également:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | const int controlPin1 = 2; const int controlPin2 = 3; const int enablePin = 9; const int directionSwitchPin= 4; const int onOffSwitchStateSwitchPin = 5; const int potPin = A0; int onOffSwitchState = 0; int previousOnOffSwitchState = 0; int directionSwitchState = 0; int previousDirectionSwitchState = 0; int motorEnabled = 0; int motorSpeed= 0; int motorDirection = 1; void setup() { pinMode(directionSwitchPin, INPUT); pinMode(onOffSwitchStateSwitchPin, INPUT); pinMode(controlPin1, OUTPUT); pinMode(controlPin2, OUTPUT); pinMode(enablePin, OUTPUT); digitalWrite(enablePin, LOW); } void loop() { onOffSwitchState = digitalRead(onOffSwitchStateSwitchPin); delay(1); directionSwitchState = digitalRead(directionSwitchPin); motorSpeed = analogRead(potPin)/4; if(onOffSwitchState != previousOnOffSwitchState){ if(onOffSwitchState == HIGH){ motorEnabled = !motorEnabled; } } if(directionSwitchState != previousDirectionSwitchState) { if(directionSwitchState== HIGH) { motorDirection == !motorDirection; } } if(motorDirection == 1) { digitalWrite(controlPin1, HIGH); digitalWrite(controlPin2, LOW); } else { digitalWrite(controlPin1, LOW); digitalWrite(controlPin2, HIGH); } if(motorEnabled == 1) { analogWrite(enablePin, motorSpeed); } else { analogWrite(enablePin, 0); } previousDirectionSwitchState = directionSwitchState; previousOnOffSwitchState = onOffSwitchState; } |
Merci de votre attention,
+0
-0