Bienvenido a Hardcore Modding

 Vivir el modding / Iniciarse en el modding 17 de octubre de 2017 16:58   Modding  ·  Artículos  ·  Guías  ·  Guías de los usuarios  ·  Reviews  ·  Enviar Noticia ·  Top 10 ·  Temas

Minichat

Cyg :Saludos. Uff también murió mi disco duro :eek:
mamel :Le agredecería enormemente que me la enviase. Porque mi copia se ha perdido por una averia en el HDD y no tengo nada.
mamel :Si alguien conserva la guía de leds para novatos con las imágenes originales
mamel :oo00OO
djmax :Saludos despues de como 10 años pude logear mi cuenta
IVAJ :Yeah!!! Que pasa chavales! :)
JaviTuner :Ueee
T :Cardoso:eek:
cardoso :qué tal genteeeee !! seguís moddeando ?
waterman :Hello World!
Cyg ::)
Cyg :Dichosos los ojos IVAJ!!!
Cyg :Dichosos los ojos IVAJ, saludos!!!
TPm :Seguimos vivos... 16/12/2016
T :Gente!! Que tiempos!!!
EL_DANY :La noticia de la Campus Party 2K7!!! cada vez que la veo... ains...
sant1111 :que tal si actualizamos esta verga
sant1111 :Años luz sin pasar por aca
Jesmasco :Me registre en el 2006 y un sigue esto, siempre quize entender que paso con este sitio.
cimoc :wow, ahce años que no venía por aqui
Iago91 :Y el administrador??
IVAJ ::P :P :P
:)8):eek::(:@;):P9):O


 FAQFAQ   BuscarBuscar   Grupos de UsuariosGrupos de Usuarios   PerfilPerfil   Entre para ver sus mensajes privadosEntre para ver sus mensajes privados   ConectarConectar 

[TUTORIAL] Arduino Delphi 10.2 y Puerto serie

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Electronica
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Meta
modder
modder



País:
Sexo:
Registrado: 20 enero 2008
Mensajes: 202
Ubicación: http://electronica-pic.blogspot.com

MensajePublicado: Jue, 17 Ago 2017 1:59 pm    Asunto: [TUTORIAL] Arduino Delphi 10.2 y Puerto serie Responder citando



Tutorial Arduino Delphi 10.2 y Puerto serie. Interfaz creado con Delphi que puedes controlar el puerto serie a Arduino encendiendo y apagando un Led, manejar el LCD y recibes mensajes hacia el PC.

El entorno Delphi con el lenguaje pascal sigue vigente en la actualidad y su uso en Arduino está creciendo cada vez más.



Código fuente de Delphi:
Código:
unit Principal;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, CPort;

type
  TForm1 = class(TForm)
    Label_Titulo: TLabel;
    Label_Mensajes: TLabel;
    Button_ON: TButton;
    Button_OFF: TButton;
    Button_COM: TButton;
    Button_Abrir: TButton;
    Memo_Mensajes: TMemo;
    Button_Limpiar: TButton;
    ComPort1: TComPort;
    procedure Button_ONClick(Sender: TObject);
    procedure Button_OFFClick(Sender: TObject);
    procedure Button_COMClick(Sender: TObject);
    procedure Button_AbrirClick(Sender: TObject);
    procedure Button_LimpiarClick(Sender: TObject);
    procedure ComPort1AfterClose(Sender: TObject);
    procedure ComPort1AfterOpen(Sender: TObject);
    procedure ComPort1RxChar(Sender: TObject; Count: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button_AbrirClick(Sender: TObject);
begin
  // Si el puerto está conectado.
  if ComPort1.Connected then
  begin
    ComPort1.Close; // Cierra el puerto.

    Button_COM.Enabled := True;
    Button_ON.Enabled := False;
    Button_OFF.Enabled := False;
  end

  else  // En caso contrario.

  begin
    ComPort1.Open;  // Abre el puerto.

    Button_COM.Enabled := False;
    Button_ON.Enabled := True;
    Button_OFF.Enabled := True;
  end;
end;

procedure TForm1.Button_COMClick(Sender: TObject);
begin
ComPort1.ShowSetupDialog; // Abre la configuración del puerto.
end;

procedure TForm1.Button_LimpiarClick(Sender: TObject);
begin
Memo_Mensajes.Clear();  // Limpia los mensajes del Memo.
end;

procedure TForm1.Button_OFFClick(Sender: TObject);
begin
ComPort1.WriteStr('Luz_OFF'); // Envía el comando "Luz_OFF" al puerto.
end;

procedure TForm1.Button_ONClick(Sender: TObject);
begin
ComPort1.WriteStr('Luz_ON');  // Envía el comando "Luz_ON" al puerto.
end;

procedure TForm1.ComPort1AfterClose(Sender: TObject);
begin
    if Button_Abrir <nil> 0)
  {
    caracter = Serial.read();
    comando.concat(caracter);
    delay(10);
  }

  /*
    Una vez ya tengo la cadena "acabada", compruebo su valor y hago que
    la placa Arduino reacciones según sea este. Aquí podríamos hacer lo
    que quisiéramos: si el comando es "tal", enciende un Led, si es cual,
    mueve un motor... y así.
  */

  // Si los carácteres es recibido y verdadero.
  if (comando.equals("Luz_ON") == true)
  {
    digitalWrite(Led, HIGH); // Enciende el Led 13.
    Serial.write("ON - Led encendido.");    // Envía este mensaje al PC.
    lcd.setCursor(0, 1);
    lcd.print("Luz ON.         "); // Mostrar en el LCD.
  }


  if (comando.equals("Luz_OFF") == true)
  {
    digitalWrite(Led, LOW); // Apaga el Led 13.
    Serial.write("OFF - Led apagado. ");  // Envía este mensaje al PC.
    lcd.setCursor(0, 1);
    lcd.print("Luz OFF.        "); // Mostrar en el LCD.
  }

  // Limpiamos la cadena para volver a recibir el siguiente comando.
  comando = "";
}




Ver vídeo.

Ver visor.

Un cordial saludo.
http://electronica-pic.blogspot.com Manuales de electrónica general y PIC.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mostrar mensajes de anteriores:   
Publicar nuevo tema   Responder al tema    Foros de discusión -> Electronica Todas las horas son GMT + 2 Horas
Página 1 de 1

 
Cambiar a:  

Powered by phpBB.


Este sitio no se hace responsable de ningún daño que cause en su ordenador con la información que en el se expone.Todos los productos y marcas están registrados por sus respectivos propietarios. Prohibida la reproducción total o parcial de los textos e imagenes de esta web sin el consentimiento expreso de su autor.
Hardcore-Modding.com 2001-2017 Los comentarios son propiedad de sus autores (ya sean anonimos o registrados).
Portal basado en NukeET, RSS
Página Generada en: 0,081 segundos

π