Bonjour,
Au moyen d'un Arduino, je voudrais réaliser une interface entre mon PC et un récepteur radio.
Le PC utilise son port RS232, sur lequel il envoie une commande qui indique au récepteur sur quelle fréquence il doit se caler.
Le montage a été discuté sur ce forum dans un fil d'il y a deux mois.
Je n'avais pas encore écrit le sketch pour l'Arduino, il fallait que je me remette dans le bain. La dernière fois que j'ai programmé un Arduino, c'était il y a plus de 5 ans.
Mais hier, je tombe sur une info disant que chatGPT est capable d'écrire des sketch pour l'Arduino.
Voulant en avoir le coeur net, j'ai fait l'essai.
J'ai libellé ma question de la manière suivante:
write code for an Arduino uno.
Pin 10 is an input.
Pins 5, 6 and 7 are outputs.
Pins 5, 6 and 7 are at 0 Volts at startup.
The Arduino receives data at 9600 Bd from a computer through an RS232 to TTL interface on its pin 10.
When the Arduino receives the string F4, the Arduino makes output 5 positive.
When the Arduino receives the string F1, the Arduino makes output 6 positive.
When the Arduino receives the string F5, the Arduino makes output 7 positive.
When the Arduino receives the string S, the Arduino makes all outputs low.
et voici le sketch écrit en une minute par chatGPT:
Comme je suis un peu rouillé question Arduino, je lui ai dit que la sortie du MAX232 arrivait sur la pin 10 de l'Arduino.Code:const int inputPin = 10; const int outputPin1 = 5; const int outputPin2 = 6; const int outputPin3 = 7; void setup() { pinMode(inputPin, INPUT); pinMode(outputPin1, OUTPUT); pinMode(outputPin2, OUTPUT); pinMode(outputPin3, OUTPUT); digitalWrite(outputPin1, LOW); digitalWrite(outputPin2, LOW); digitalWrite(outputPin3, LOW); Serial.begin(9600); } void loop() { if (Serial.available() > 0) { String input = Serial.readString(); if (input == "F4") { digitalWrite(outputPin1, HIGH); } else if (input == "F1") { digitalWrite(outputPin2, HIGH); } else if (input == "F5") { digitalWrite(outputPin3, HIGH); } else if (input == "S") { digitalWrite(outputPin1, LOW); digitalWrite(outputPin2, LOW); digitalWrite(outputPin3, LOW); } } }
En réalité, je crois qu'il faut la faire arriver sur la pin 1.
Donc le vieil adage de l'informatique: GIGO pour "garbage in, garbage out" reste vrai.
Mais pour le reste, je ne sais pas si vous êtes comme moi, mais moi, ça me troue le c...
-----