Hello
Vas lire les bonnes pratiques du forum.
Un exemple: comme nous ne connaissons pas ton capteur, il serait judicieux que tu mettes un lien sur un site vendeur ou mieux sur sa datasheet ou ses caractéristiques.
edit: j'ai fais l'effort ...
Capteur à 2sorties PNP
L'une en NC ,
L'autre en NO.
Oui ça j'ai vu mais par contre je ne sais pas comment connecter les fils, pour l'instant j'ai relié le fil noir à mon input 2 (Bleu et marron sur mon alim 24v).
Ci-dessous le code :
const int pinCapteur = A1/PIN_A1; // Utilise le numéro de la broche où le capteur est connecté
void setup() {
pinMode(pinCapteur, INPUT); // Configuration de la broche du capteur en entrée
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
int etatCapteur = digitalRead(pinCapteur); // Lecture de l'état du capteur
if (etatCapteur == HIGH) { // Si le capteur est actif
digitalWrite(LED_BUILTIN, HIGH); // Allume la LED intégrée
} else {
digitalWrite(LED_BUILTIN, LOW); // Éteint la LED intégrée
}
}
Bonsoir a part deviner on ne sait pas comment c est branché ?. Pullup resistance de tirage etc ..
En pre.iere lecture c est le branchement qui estven cause un schema serait bienvenu
Le capteur à 4 fils, deux pour l'alimentation (c'est un capteur programmable), et deux qui sont des sorties.
Je ne sais pas comment le connecter j'ai d'écris au dessus mon branchement.
Sur GG, tapes lmt100, il te donnera un lien sensor lmt100 chez RS.
Tu télécharges la Doc du lien. Il y a un schéma des 4fils plus détaillé (4=NO et 2= NF)
Oui, mais un bon dessin vaut mieux qu'un long discours.
Tu peux ajouter des pièces jointes (icône avec la flèche vers le haut).
Tu as bien une imprimante scanner, ou un téléphone qui prend des photos.
Tu prends une feuille de papier, un stylo et une règle et tu fais un schéma.
Inutile d'aller chercher des logiciels spécialisé si tu ne sais pas (encore) t'en servir, ce serait une perte de temps.
Du coup je voudrais contrôler le relais intégré à la carte, pour le code je ne sais pas quoi indiquer pour controle un relais, ci-dessous capture d'écran du nom des sorties sur mon modèle
Si tu veux coller le relais 1, tu mets
Au dessus du setup:
const byte relais1 0;
Dans le setup, tu mets
digitalWrite(relais1,LOW);
PinMode(relais1, OUTPUT);
Et dans la loop, à l'endroit approprié
DigitalWrite (relais1,HIGH);
nota: je ne connais pas ta carte, je suis surpris par l'utilisation de D0.
Il serait plus prudent de prendre le relais 3 ou 4 et de remplacer D0 par D2 ou D3.
J'ai eu ce message en retour :
C:\Users\csimonet\AppData\Local\Temp.arduinoIDE-unsaved20231131-35412-ac0gkh.evtmf\sketch_dec31a\sketch_dec31a.ino:2:20: error: expected initializer before numeric constant
const byte relais1 0;
^
C:\Users\csimonet\AppData\Local\Temp.arduinoIDE-unsaved20231131-35412-ac0gkh.evtmf\sketch_dec31a\sketch_dec31a.ino: In function 'void setup()':
C:\Users\csimonet\AppData\Local\Temp.arduinoIDE-unsaved20231131-35412-ac0gkh.evtmf\sketch_dec31a\sketch_dec31a.ino:7:16: error: 'relais1' was not declared in this scope
digitalWrite(relais1,LOW);
^~~~~~~
C:\Users\csimonet\AppData\Local\Temp.arduinoIDE-unsaved20231131-35412-ac0gkh.evtmf\sketch_dec31a\sketch_dec31a.ino:8:26: error: expression list treated as compound expression in functional cast [-fpermissive]
PinMode(relais1, OUTPUT);
^
C:\Users\csimonet\AppData\Local\Temp.arduinoIDE-unsaved20231131-35412-ac0gkh.evtmf\sketch_dec31a\sketch_dec31a.ino: In function 'void loop()':
C:\Users\csimonet\AppData\Local\Temp.arduinoIDE-unsaved20231131-35412-ac0gkh.evtmf\sketch_dec31a\sketch_dec31a.ino:16:19: error: 'relais1' was not declared in this scope
DigitalWrite (relais1,HIGH);
^~~~~~~
C:\Users\csimonet\AppData\Local\Temp.arduinoIDE-unsaved20231131-35412-ac0gkh.evtmf\sketch_dec31a\sketch_dec31a.ino:16:5: error: 'DigitalWrite' was not declared in this scope
DigitalWrite (relais1,HIGH);
^~~~~~~~~~~~
C:\Users\csimonet\AppData\Local\Temp.arduinoIDE-unsaved20231131-35412-ac0gkh.evtmf\sketch_dec31a\sketch_dec31a.ino:16:5: note: suggested alternative: 'digitalWrite'
DigitalWrite (relais1,HIGH);
^~~~~~~~~~~~
digitalWrite
exit status 1
Compilation error: expected initializer before numeric constant
J'ai l'exemple de code du manuel mais je ne comprends pas à quoi servent les i
/*
Opta's Output Relays
Name: opta_outputs_relays_example.ino
Purpose: This sketch tests the output relays of Opta devices.
@author Arduino PRO Content Team
@version 2.0 22/07/23
*/
// Arrays of relays and user LEDs
int relayOutputs[] = {D0, D1, D2, D3};
int userLeds[] = {LED_D0, LED_D1, LED_D2, LED_D3};
// Compute the number of relays/LEDs based on the size of the relayPins array
int numRelays = 4;
void setup() {
for(int i = 0; i < numRelays; i++) {
// Sets the mode of the relays and user LEDs as outputs
pinMode(relayOutputs[i], OUTPUT);
pinMode(userLeds[i], OUTPUT);
}
}
void loop() {
// For each relay/user LED: turn it on, wait for a second, turn it off, wait for another second
for(int i = 0; i < numRelays; i++) {
digitalWrite(relayOutputs[i], HIGH);
digitalWrite(userLeds[i], HIGH);
delay(1000);
digitalWrite(relayOutputs[i], LOW);
digitalWrite(userLeds[i], LOW);
delay(1000);
}
}
const int inPin = A1; // Utilise le numéro de la broche où le capteur est connecté
int relayOutputs[] = {D0, D1, D2, D3};
void setup() {
pinMode(inPin, INPUT); // Configuration de la broche du capteur en entrée
pinMode(LED_BUILTIN, OUTPUT);
pinMode(relayOutputs[D1], OUTPUT);
}
void loop() {
int etatCapteur = digitalRead(inPin); // Lecture de l'état du capteur
if (etatCapteur == HIGH) { // Si le capteur est actif
digitalWrite(LED_BUILTIN, HIGH); // Allume la LED intégrée
digitalWrite(relayOutputs[D1], HIGH);
} else {
digitalWrite(LED_BUILTIN, LOW); // Éteint la LED intégrée
digitalWrite(relayOutputs[D1], LOW);
}
}