// Iambic Keyer pour Ten-Tec Century 22 (ou autre) // Définition des entrées-sorties #define Point 8 // Contact "Points" du manipulateur #define Trait 9 // Contact "Traits" du manipulateur #define CW 7 // Commande "émission" par le transistor #define Vitesse A0 // Choix de la vitesse (curseur potentiomètre) int speed; // Initialisation void setup() { pinMode(Point, INPUT); pinMode(Trait, INPUT); pinMode(CW, OUTPUT); digitalWrite(CW, LOW); // Pas d'émission intempestive } // Programme principal void loop() { speed = analogRead(Vitesse)/2; // Lecture du potentiomètre speed = map(speed, 0, 511, 60, 130); // Plage des vitesses // 60: rapide, 130: lent if(!digitalRead(Point)) // Une pression sur palette des points { Key(speed); // et on génère un point à la vitesse lue delay(speed); // puis un espace de la valeur d'un point } if(!digitalRead(Trait)) // Une pression sur palette des traits { Key(speed*3); // et on génère un trait à la vitesse lue delay(speed); // puis un espace de la valeur d'un point } } // Commande de l'émetteur par le transistor void Key(int speed) { digitalWrite(CW, HIGH); // Marche émission tone(6,800); // (Au cas où l'on voudrait une tonalié) delay(speed); digitalWrite(CW, LOW); // Arrêt émission noTone(6); }