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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
| uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
libwiringpi, Dos; //libwiringpi permet d'utiliser les fonctions arduino
type
{ TForm_Cligno2 }
TForm_Cligno2 = class(TForm)
Valider: TButton;
Edit1: TEdit; //permet de choisir le nombre de clignotements
Label1: TLabel;
Test: TButton;
close_all: TButton;
procedure close_allClick(Sender: TObject); //stoppe l'application
procedure FormCreate(Sender: TObject);
procedure TestClick(Sender: TObject); // lance un cycle de 10 clignotements
procedure ValiderClick(Sender: TObject); //valide le nb de clignotement choisi par l'utilisateur
private
{ private declarations }
public
{ public declarations }
end;
var
Form_Cligno2: TForm_Cligno2; //variables globales
nb_cycle: string;
r: longint;
Edit1: TEdit;
nb_clignotements: longint;
implementation
{$R *.lfm}
{ TForm_Cligno2 }
procedure TForm_Cligno2.FormCreate(Sender: TObject);
begin
r := wiringPiSetup; // permet d'utiliser les fonctions d'arduino
pinMode(15, OUTPUT); //configure le port ou est relié la led en sortie
digitalWrite(15, 0);
end;
procedure Recup_Text; //procédure pour récupérer le nombre de clignotement saisi dans l'edit
var chaine: string;
begin
Edit1.text :=chaine; //récupère le texte saisi dans l'edit
nb_clignotements:=StrToInt(chaine); // convertit en longint pour utiliser dans une autre procédure
end;
Procedure TForm_Cligno2.ValiderClick(Sender: TObject); //lance le cycle de clignotement de la led
var j:longint;
begin
Recup_Text;
j:=0;
while j<nb_clignotements do
begin
j:=j+1;
digitalWrite(15, 1); //allume la led
delay(50);
digitalWrite(15, 0); //éteint la led
delay(50);
end;
end;
procedure TForm_Cligno2.close_allClick(Sender: TObject); //arrête l'application
begin
Close;
end;
procedure TForm_Cligno2.TestClick(Sender: TObject); //déclenche le cylce de 10 clignotements
var i: longint;
begin
i:=0;
while i<9 do
begin
i:=i+1 ;
digitalWrite(15, 1);
delay(50);
digitalWrite(15, 0);
delay(50);
end;
end;
end. |
Partager