الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اقوم بوصل الكمبيوتر بجهاز آخر عن طريق الusb بدلا من منفذ الطابعة

بدأه XG.Man في 27 يوليو 2009 · 7 رد · 3,003 مشاهدة · في التحكم الصناعي وربط الحاسب بالعالم الخارجي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

أتمنى البدء في صنع أجهزتي الخاصة من روبوتات وماإلى ذلك ولكن ينقصني البداية في ذلك وهي طريقة وصل الكمبيوتر بذلك الجهاز

أولا: قمت بالبحث كثيرا عن حلول ولكن كل الشروحات تتعلق بمنفذ الطابعه بحجة انه سهل

ولكن المشكلة هي ان منفذ الطابعة ولى زمانه ولم يعد متوافرا في أجهزة الكمبيوتر الجديدة على عكس اليو اس بي الموجود في كل الاجهزة سواء مكتبية ,محمولة,أجهزة هواتف محموله وكل شي

بداية فكرت في تحويل اليو اس بي إلى منفذ طابعة لأكمل مشروعي كأنه على يو اس بي ولكن باستخدام منفذ الطابعة

ولكني تعبت من البحث عن وصلة تقوم بتحويل مابين اليواس بي ومنفذ الطابعة!

أرجو المساعدة.

#2

usb to parallel port convertor

link 1

link 2

link 3

link 4

PCMCIA to Parrallel Port (LPT1) converter

link 5

اقتباس
قمت بالبحث كثيرا عن حلول ولكن كل الشروحات تتعلق بمنفذ الطابعه بحجة انه سهل

سهل لانك تستطيع التحكم بالروبوت واجهزتك بدوائر بسيطة

اقتباس
ولكن المشكلة هي ان منفذ الطابعة ولى زمانه ولم يعد متوافرا في أجهزة الكمبيوتر الجديدة

صح كلامك للاسف

صراحة الى الآن لا اعلم كيف اتحكم بال usb لانه ليس مجرد ارسال واستقبال معلومات زي serial and parallel port

لا لان له header وهو بروتوكول كامل, ولذلك يمكن ان تستخدم hub بال usb اما الباقي فلا

تم تعديل هذه المشاركة بواسطة ammarroza في 27 يوليو 2009 في 19:41

#3

شكرا على ردك

ولكن هل مع الوصلة استطيع العمل على انها منفذ طابعة ..؟

ام ستواجهني بعض المشاكل..؟

سؤال آخر أخي العزيز.

هل يمكنني استخدام تقنيات احدث لتوصيل الجهاز بالكمبيوتر

كالبلوتوث والواي فاي

لأن مع الواي فاي استطيع التحكم بالجهاز عن طريق الانترنت

وهذا يعني ان بأي مكان على سطح الأرض فيه انترنت استطيع من خلاله التحكم بجهازي..؟

كيف اقوم بذلك ..؟ لو عندك خبره

#4
اقتباس
ولكن هل مع الوصلة استطيع العمل على انها منفذ طابعة ..؟

ام ستواجهني بعض المشاكل..؟

اعتقد نعم, واتمنى الا تواجهك مشاكل

اقتباس
هل يمكنني استخدام تقنيات احدث لتوصيل الجهاز بالكمبيوتر

كالبلوتوث والواي فاي

انت تتحدث عن الروبوت, ويمكنك ان توصل الجهاز بما تريد

serial port, parallel port, usb port

network card, wifi, bluetooth, radio wave

وغيرهم الكثير من التكنولوجيا

فهذا يعتمد عما تريد, وطريقة صنع الروبوت (او الجهاز) ونوع التحكم الذي تريده واشياء اخرى كثيرة

ولذلك انصحك ان تحدد الفكرة وما تريده وتحدد الميزانية ايضا (لان بعض القطع غالية) قبل البدء بالمشروع

اقتباس
لأن مع الواي فاي استطيع التحكم بالجهاز عن طريق الانترنت

تستطيع ان تتحكم حتى بال serial port and parallel port عن طريق الانترنت, ولكن هنا سندخل في امور البرمجة والشبكات

اعتقد انك تقوم بمتابعة موضوع صناعة وبرمجة الروبوت

وفيه سأتحدث لاحقا عن كل هذا, ولكن الموضوع كبير ويحتاج الى وقت

واذا اردت المساعدة بشكل سريع, فيرجى كتابة الفكرة كاملة وما تريده بموضوع آخر وانا جاهز للمساعدة, ولكن اولوية وقتي الان لموضوع صناعة وبرمجة الروبوت, فالصبر جميل

واعتقد انك ذكرت سابقا انك مبتديء في برمجة .net فما لغات البرمجة التي تعرفها, وما هي دراستك؟

تم تعديل هذه المشاركة بواسطة ammarroza في 28 يوليو 2009 في 12:32

#5

شكرآ جزيلا على ردك

وشكرآ على أسلوبك الرائع قي تقديم المساعدة

بالنسبة لفكره روبوتي الخاص فهي قيد العمل

اما عن لغات البرمجة التي اتقنها في الفيجوال بيسك 6.0 فقط وبنسبة قليلة كمآ ارى نفسي

ولترى مستوآي هاك أفضل ماعملت:

/index.php?showtopic=200888

واما بالنسبة لمجال دراستي فهي المدرسة الثانوية

أي انني هاوي فقط

كم اتمنى اضافة شرح استخدام الواي فاي لموضوعك /index.php?showtopic=199951

مع اكمال شرح استخدام parallel port

#6

السلام عليكــم ورحمـة الله وبركاتــه ،،

اخي XG.Man

بالنسبة لل vb.net و vb6 يوجد فرق ولكنه ليس بكبير جدا, فيمكنك ان تتعلم vb.net بسهولة

اما بالنسبة لل c#.net و vb.net ستستغرب انه واحد, فلا يفرق بينهم غير شيء اسمه editor وهو المكان الذي تكتب به الكود

ستجد مثلا كود تعريف المكتبة الخاصة بال parallel port كالتالي

vb6

Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Short)

vb.net

Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Short, ByVal Value As Short)

c#.net

[DllImport("inpout32.dll", EntryPoint = "Out32")]

وستجد مثلا تعريف int في vb6 and vb.net واحد

وهكذا

فانصحك بتعلم vb.net وسأحاول ان احول بعض الاكواد الهامة لك في موضوع الروبوت من c# الى vb.net

وشي جميل انك تقوم بعمل برامج ونشر الكود الخاص بك :lol:

اما بالنسبة لاستخدام الواي فاي فهو سيكون التحكم بجهاز معين وهو wireless relay

او بعض الاجهزة المشابهة له

وستجد انه برمجة wireless and ethernet او ما تدعى socket programming هي برمجة شبكات اكثر من برمجة فتحة معينة مثل parallel port

#7

شكرا على مساعدتك

#8

السلام عليكــم ورحمـة الله وبركاتــه ،،

هذه بعض الاكواد الهامة ومقابلها بال VB.net وذلك كما وعدتك اخ XG.Man

لا اريد كتابتها في "موضوع صناعة وبرمجة الروبوت" لانني لا اريد تحويل كل الاكواد

ويمكنك متابعة الموضوع للشرح

كما ان هذه المواضيع تتحدث عن البرمجة بال vb

Link 1

Link 2

Link 3

بالنسبة للتحكم بال Parallel port

كود
C#.net
[DllImport("inpout32.dll", EntryPoint = "Out32")]

VB.net
Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Short) As Short

هنا نقوم بطلب استخدام function يدعى Out32 موجود داخل المكتبة inpout32.dll

كود
C#.net
Output(0x378, 255);

VB.net
Out(CShort(CStr(&H378S)), 255

)

هنا نقوم بارسال القيمة 255 الى 0x378 فيقوم بارسال 1 الى جميع المخارج

0x هنا معناها ان الرقم 378 هو hexadecimal

و 0x378 هو رقم الرجستري الخاص ب lpt1

كود
C#.net
private void OutFromLPT(int PinNumber, int Value)
		{
			Bin[PinNumber] = Value;				

			//start convert binary to decimal
			int Num = 1;
			Bin[0] = 0;
			for (int i = 8; i > 0; i--)
			{
				if (Bin == 1)
					Bin[0] = Bin[0] + (Num);
				Num = Num * 2;
			}
			//END convert binary to decimal

			Output(0x378, Bin[0]);				  
		}


VB.net
Dim Bin(9) As Integer
	Private Sub OutFromLPT(ByVal PinNumber As Integer, ByVal Value As Integer)
		Bin(PinNumber) = Value

		'start convert binary to decimal
		Dim Num As Integer = 1
		Bin(0) = 0
		Dim i As Integer
		For i = 8 To 0
			If Bin(i) = 1 Then
				Bin(0) = Bin(0) + Num
				Num = Num * 2
			End If
			'END convert binary to decimal
		Next

		Out(CShort(CStr(&H378S)), Bin(0))
	End Sub

وهذا الكود للتحويل بين Binary to decimal

وشرحه موجود بالصفحة الثانية بموضوع الروبوت

وبالنسبة لل Serial port

كود
c#.net
System.IO.Ports.SerialPort serialPort1 = new System.IO.Ports.SerialPort();
			serialPort1.PortName = "COM1";
			serialPort1.Open();
			serialPort1.Write("a");
			serialPort1.Close();

VB.net
Dim serilaPort1 As System.IO.Ports.SerialPort = New System.IO.Ports.SerialPort

		serilaPort1.PortName = "COM1"
		serilaPort1.Open()
		serilaPort1.Write("a")
		serilaPort1.Close()

وهذا بالنسبة لابسط كود Serial وشرحه بالصفحة الثالثة بموضوع الروبوت

تم تعديل هذه المشاركة بواسطة ammarroza في 15 أغسطس 2009 في 13:29

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…