Showing posts with label c#. Show all posts
Showing posts with label c#. Show all posts

Saturday 13 June 2015

tutorial C# : chat Ehernet


Hai sobat jufrikablog kali ini kembali jufrikablog akan membagikan sebuah latihan khusus bagi kamu yang sedang mencari tutorial pemrograman c# , ya kali ini kita akan bicara tentang komunikasi ethernet

Komunikasi ethernet itu sekilas info adalah salah satu jenis komunikasi yang paling sering ditemui, bisa digunakan untuk komunikasi antar PC, PC dengan mikrokontroller, PC dengan PLC, PLC dengan PLC dll . misal nya saja menggunakan RJ 45. ada juga yang nirkabel dengan menggunakan wireless router . nah kali ini kita akan mencoba menbuat sebuah aplikasi chatting teks sederhana menggunakan protocol UDP.
pertama sobat harus memiliki software pemrograman berbasis c#  contoh visual studio atau microsoft visual c# atau sharpdevelop.
kedua sobat desain form seperti ini
 ketiga kita deklarasikan using using nya :D , pada bagian tersebut kita tambahkan :
using System.Net;
using System.Net.Sockets;
using System.Threading;

fungsinya memanggil library yang akan dipakai sebagai jalur untuk mengakses beberapa fungsi yang diperlukan seperti penggunaan thread, akses port.

 keempat deklarasian fungsi AddMessage yang bertipe delegate void, delegate disini digunakan karena adanya pengaksesan sebuah tool (richTextBox) pada 2 buah event yang berbeda.
delegate void AddMessage(stringmessage);

kemudian deklarasikan juga variabel “port” yang mana nantinya nilai variabel ini digunakan sebagai port yang akan digunakan aplikasi untuk mengirimkan dan menerima data. juga
variabel “broadcastAddress” yang mana nantinya variabel ini digunakan untuk mendefinisikan alamat IP tujuan
int port = 11000;
const string broadcastAddress = "192.168.0.255";
nah  selanjutnya tulis program lengkapnya sebagai berikut sob :)
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;
using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace PeerToPeerChat
{
    public partial class ChatForm : Form
    {
        delegate void AddMessage(stringmessage);
        
        string userName;
        
       int port = 11000;
           const string broadcastAddress = "192.168.0.255";
        UdpClient receivingClient = new UdpClient(11000);
           UdpClientsendingClient;
        
           ThreadreceivingThread;
        public ChatForm()
        {
            InitializeComponent();
            this.Load += new EventHandler(ChatForm_Load);
            btnSend.Click += new EventHandler(btnSend_Click);
        }
        private voidChatForm_Load(object sender, EventArgs e)
        {
               tbSend.Focus();
               InitializeSender();
               InitializeReceiver();
           }
        
       private voidInitializeSender()
       {
           sendingClient = newUdpClient(broadcastAddress, port);
           sendingClient.EnableBroadcast = true;
       }
        
       private voidInitializeReceiver()
       {     
           ThreadStartstart = new ThreadStart(Receiver);
           receivingThread = newThread(start);
           receivingThread.IsBackground = true;
           receivingThread.Start();
    }
    private voidbtnSend_Click(object sender, EventArgs e)
    {
        tbSend.Text = tbSend.Text.TrimEnd();
        
           if (!string.IsNullOrEmpty(tbSend.Text))
           {
               stringtoSend = "<" + Environment.MachineName + "> : " + tbSend.Text;
               byte[] data = Encoding.ASCII.GetBytes(toSend);
               sendingClient.Send(data, data.Length);
               tbSend.Text = "";
           }
        
           tbSend.Focus();
    }
    private voidReceiver() {
           IPEndPoint endPoint = newIPEndPoint(IPAddress.Any, port);
           AddMessagemessageDelegate = MessageReceived;
        
           while (true)
           {
               byte[] data = receivingClient.Receive(ref endPoint);
               stringmessage = Encoding.ASCII.GetString(data);
               Invoke(messageDelegate, message);
            System.Console.Beep(1500, 300);
           }
       }
        
       private voidMessageReceived(string message)
       {
           rtbChat.Text += message + "\n";
       }
  }
}

Monday 18 May 2015

Serial transmit c#

hai sobat jufrikablog seperti biasa setiap seminggu sekali jufrikablog akan memposting tentang c# selama pelajaran c# di kuliahan ada :D . Sekilas tentang serial transmit intinya adalah mengirim dan menerima data dengan serial port dengan method write dengan parameter berupa string yang ingin dikirim. Nah untuk lebih paham mari kita buat aplikasi chat dengan serialport

1.  Buat solution baru. dan sesuaikan dengan desain di bawah

2. masukan komponen serialport dan timer
3. pada event form load maka kita buka dahulu serial portnya dengan mengetikan seperti ini
   serialPort1.Open();
4. lalu pada tombol kirim kita buat seperti ini
  serialPort1.Write(textBox1.Text);
5. lalu pada timer kita setting pembacaannya menjadi 500 ms dan visiblenya dari false ke true
6. Double click untuk timer. Ketikkan statemen di bawah ini di dalam fungsi TimerTick :

if (serialPort1.BytesToRead != 0) // maksudnya kita kondisikan bahwa jika kondisi bye tidak 0 baru menulis
{
textBox2.Text = serialPort1.ReadExisting(); // membaca dari serial port yang diterima
 }

7.Buka hyperterminal, kemudian amati data yang tampil pada hyperterminal saat anda mengirim data. (jangan lupa setting com dan baudaratenya sob)

8. Buka Arduino.exe.
9.  Ketikkan program dibawah ini pada Arduino IDE.

10. compile dan upload ke arduino dan coba kirim karater khusus sesuai program yaitu a
dan lihat led akan hidup dan coba karater lainya :D

sekian 10 langkah tutorial kali ini sob semoga bermanfaat :)

Saturday 16 May 2015

Serial received di c#


Hai sobat jufrikablog nah kali ini saya akan kembali lagi memberikan tutorial habis habisan tentang serial hahahahahahaha . yaitu serial received . langsung saja berikut prakteknya

1. Buat solution baru dan buat seperti ini di visula studio anda
2. Klik 2 kali pada form load misalnya, dan masukkan program ini
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace seri1
{
public partial class Form1 : Form
{
string rxString;
int[] lokasiY = new int[100];

public Form1()
{
InitializeComponent();
}
private Graphics objGraphic;

private void Form1_Load(object sender, EventArgs e)
{
objGraphic = CreateGraphics();
if (objGraphic == null)
return;
}

private void button1_Click(object sender, EventArgs e)
{
if (button1.Text == “Connect”)
{
button1.Text = “Disconnect”;
serialPort1.Open();
//richTextBox1.text = “”;
//a = 0;
}
else
{
button1.Text = “Connect”;
serialPort1.Close();
}
}

void SerialPort1DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
rxString = serialPort1.ReadLine();
this.Invoke(new EventHandler(DisplayText));
}

private void DisplayText(object sender, EventArgs e)
{
richTextBox1.Text += rxString;
float tinggi = float.Parse(rxString);
tinggi = 179 – (tinggi / 1023 * 179);
// geser arraynya
for (int i = 0; i < 99; i++)
{
lokasiY[i] = lokasiY[i + 1];
}
lokasiY[99] = (int)tinggi;
}

private void timer1_Tick(object sender, EventArgs e)
{
Pen pena = new Pen(Color.Black);
int awalX = 0;
int titikMulaiX, titikMulaiY, titikAkhirX, titikAkhirY;
// hapus dulu semuanya
objGraphic.Clear(Color.White);
for (int i = 0; i < 99; i++)
{
titikMulaiX = awalX + i * 5;
titikMulaiY = lokasiY[i];
titikAkhirX = awalX + (i + 1) * 5;
titikAkhirY = lokasiY[i + 1];
objGraphic.DrawLine(pena, titikMulaiX, titikMulaiY, titikAkhirX, titikAkhirY);
}
}
}
}


3. Setelah program selesai, runningkan/jalankan programnya jika bisa dijalankan dan tidak ada eror maka lanjut ke arduino
4. buat program arduino ini dan upload ke arduino yang siertai potensio untuk mengatur tegangan input dan akan di baca di aplikasi
void setup() 
{ Serial.begin(9600); }
void loop()

 { int sensorValue = analogRead(A1); delay(500); Serial.println(sensorValue, DEC); }
5. setelah itu running programnya sob ;)

ini tampilannya jika tidak menggunakan potensio
sekian semoga bermanfaat :)

 

Friday 24 April 2015

C# :: Source Code Face and Eyes Recognition

 
     This sample code provides you the concept on how image processing is done and manipulated using EmguCV. One good example of image processing is FACE and Object DETECTION and RECOGNITION etc. but in this sample code I only give Face detection and Eyes detection concept. I Hope you guys, you appreciate and love this work.. In order to work this program: 1.) I never use any SDK for this.. I just use EMGU CV for Image processing and Vision library. 2.) There is the so called COMPATIBILITY ISSUE when running and compiling this program... This program is compile in the Windows XP SP3 32-Bit OS. Therefore this program runs only on Windows XP. Note: when you compile and run this in the Windows 7 32 or 64-Bit OS, this program will commit an error on "cvextern.dll" why? because of the compatibility issue which is this program is compile under Windows XP. Solution: 1.) Download the latest EMGU CV, then run and compile it under your OS Compatibility. After compiling.. Copy the following DLL and paste it in the folder where you save this program. *cvextern.dll *Emgu.CV.dll *Emgu.CV.ML.dll *Emgu.CV.UI.dll *Emgu.Util.dll *opencv_calib3d220.dll *opencv_contrib220.dll *opencv_core220.dll *opencv_features2d220.dll *opencv_ffmpeg220.dll *opencv_flann220.dll *opencv_gpu220.dll *opencv_highgui220.dll *opencv_imgproc220.dll *opencv_legacy220.dll *opencv_ml220.dll *opencv_objdetect220.dll *opencv_video220.dll 2.) Download the latest SQLite connector for .Net IDE (System.Data.SQLite.dll) Thank you and Good Day... Philip Cesar B. Garay BSIT Mindanao State University at Naawan Naawan Misamis Oriental 9023 Philippines For more info about this system.. please visit this link Face Detection Concept in C# 

 
winzip iconDownload code