Foi utilizado a linguagem C# no visual basic:
inicialmente criames uma class com o nome Paralela, essa class carrega a dll inpout32 :
using System;
using System.Runtime.InteropServices;
namespace gabriel1//nome q eu dei para meu programa
{
///
/// Summary description for Paralela.
///
public class Paralela
{
// Escreve um byte no endereço
[DllImport("Inpout32.dll", EntryPoint = "Out32")]
public static extern void Escrever(int endereco, byte valor);
// Lê um byte do endereço
[DllImport("Inpout32.dll", EntryPoint = "Inp32")]
public static extern byte Ler(int endereco);
}
}
Após a crialção da class criamos o brograma com 4 botões um para ativar a esteira outro para desativar, e os outros dois para energizar e desenergizar um bobina do motor de passo:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace gabriel1
{
public partial class Neutromacao : Form
{
public Neutromacao()
{
InitializeComponent();
}
DateTime t_inicio;
DateTime t_fim;
TimeSpan t_diferenca;
String tempo;
int exp = 0;
int i;
double b;
byte a=1;
int cont = 0;
private void button2_Click(object sender, EventArgs e)
{
Paralela.Escrever(888, 8);
}
private void button3_Click(object sender, EventArgs e)
{
Paralela.Escrever(888, 0);
}
private void button4_Click(object sender, EventArgs e)
{
int segundos = Convert.ToInt32(Texttempo.Text.Trim());
int passos = Convert.ToInt32(Textpasso.Text.Trim());
t_inicio = DateTime.Now;
exp = 4;
for (i = 1; i <= passos; i++)
{
cont++;
b = 2;
exp--;
b = (Math.Pow(b, exp)) + 1;
if (b == 2) { b = 17; exp = 4; } //faz o loop crescente de 3 a 17. D1 a D4.
if(b==3){Paralela.Escrever(888, 3);}
if(b==5){Paralela.Escrever(888, 5);}
if(b==9){Paralela.Escrever(888, 9);}
if (b == 17) { Paralela.Escrever(888, 17); }
System.Threading.Thread.Sleep(segundos);
}
}
private void button5_Click(object sender, EventArgs e)
{
int passoss = Convert.ToInt32(Textpasso.Text.Trim());
t_fim = DateTime.Now;
exp--;
for (i = 1; i <= passoss; i++)
{
b = 2;
exp++;
b = (Math.Pow(b, exp)) + 1;
a = (byte)b;
if (b == 33) { b = 3; exp = 1; } //faz o loop decrescente do priemiro for.
System.Threading.Thread.Sleep(500);//espera tempo e continua
if (b == 3) { Paralela.Escrever(888, 3); }
if (b == 5) { Paralela.Escrever(888, 5); }
if (b == 9) { Paralela.Escrever(888, 9); }
if (b == 17) { Paralela.Escrever(888, 17); }
}
Paralela.Escrever(888, 8);
t_diferenca = t_fim.Subtract(t_inicio);
tempo = t_diferenca.TotalSeconds.ToString("0") + " segundos";
MessageBox.Show("Opera‡Æo concluida em " + tempo);
}
}
}
dúvidas em relação ao programa só é me adicionar no msn! gabrielfonsecasilva@hotmail.com