تبلیغات
robocup - تابلوروان: مثال تابلو 16 در 128 با مبدل آنلاین
 
robocup
همیشه کار باید با دقت انجام بشه...
 
 

تابلوروان: مثال تابلو 16 در 128 با مبدل آنلاین


همانطور که میدانید در سایت مدتی است که چند برنامه آنلاین جهت استفاده شما دوستان راه اندازی شده است. و بخصوص تا اکنون 11 شهریور 89 سه برنامه آنلاین برای تابلو روان در سایت نصب شده است. از استقبال از این برنامه ها بسیار خوب بود و بطوریکه حتی سایت رسمی بسکام هم اقدام به راه اندازی بخش جدیدی به عنوان MCS Electronics Tools workshop نموده که تا اکنون دو برنامه تبدیل متن به کد هگز تابلوروان و برنامه دیکد و تبدیل تصاویر GIF را در این بخش نصب نموده.
 برای مطالعه به ادامه متن مراجعه فرمایید.


لذا بنده نیز برای استفاده بهتر شما دوستان از این برنامه ها مثال هایی از نحوه استفاده از این برنامه را برای شما آماده کردم و البته برای برنامه تبدیل انیمیشن GIF میتوانید به ادرس زیر مراجعه کنید.

http://www.hlachini.com/43-LED-Sign-Board-74HC595.html

 و امروز قصد دارم نمونه مثالی در مورد برنامه تبدیل متن به کد هگز را برای شما قرار داده و توضیح دهم. ویژگی های این برنامه عبارت است از:

  • قابلیت استفاده برای تابلوهای عرض 7 ، 10 ، 12 و 13 و 16.
  • امکان تعیین طول تابلو تا 128 ستون.
  • استفاده از شیفت رجیستر بجای لچ.
  • عدم محدوددیت در طول متن.
  • پشتبانی از تمام اعداد و علائم وحروف بزرگ و کوچک انگلیسی.


این برنامه به گونه ای طراحی شده که شما براحتی میتوانید پس از تبدیل متن توسط برنامه آنلاین سایت، مشخصات آنرا در برنامه و ارد کنید و سپس با تعیین ابعاد تابلوروان آنرا براحتی استفاده کنید. که در زیر بخشهای مختلف آن توضیح داده میشود.

تعیین طول متن (Width_of_text) :

برنامه مبدل متن به کد هگز مقدار طول متن را با عبارت Width در بخش کامنت یا همان توضیحات برایتان تعیین میکند. و شما مقدار آنرا باید در خط 8 برنامه، در بخش زیر مقابل متغییر Width_of_text وارد کنید.

'---- this section from Text Properties
Const Width_of_text = 270
'---- end of Text Properties

 

تعیین ابعاد ماتریس LED:

مقدار طول ماتریس توسط متغییر Width در برنامه تعیین میشود. و بسته به نظر خودتان است که تابلو را در چه ابعادی مخواهید بسازید. البته دقت کنید که عبارت Width در برنامه با چیزی که نرم افزار آنلاین به شما میدهد متفاوت است. که در بالا به آن اشاره شد. این مقدار را در خط 12 برنامه میتوانید تعیین کنید.

اندازه عرض تابلو بسته به نوع فونتی که انتخاب میکنید دارد. که در برنامه فعلی سایت فونت ها با عرض 7 و 10 و 12 و 13 هستند که شما باید در برنامه مقدار 8 یا 16 را وارد کنید که خود برنامه مبدل مقدار صحیح آنرا در بخش کامنت با عبارت Height مشخص میکند. که شما این عدد را باید در جلوی عبارت Height در خط 13 وارد کنید.

در زیر عبارت های تعیین ابعاد تابلو در برنامه بسکام نشان داده شده است.

'---- this section from LED Matrix Properties
Const Width = 64
Const Height = 16
'---- end of LED Matrix Properties

همانطور که مشاهده کردید فقط با تعیین سه عبارت در برنامه براحتی میتوانید متن مورد نظر خود را به همراه ابعاد تابلو تعیین کنید. و برای متن نیز کافیست تا کد تولید شده را در انتهای برنامه کپی کنید.

نمونه برنامه نوشته شده برای تابلو در زیر به همراه متن در زیر آورده شده است. من همان متن پیش فرض نرم افزار را استفاده کردم که عبارت "Lachini Text to Hex Convertor!" است. همانطور که مشاهده میکنید، طول متن 270 بوده و من ابعاد ماتریس را با طول 64 و عرض 16 انتخاب کردم.

$regfile = "m32def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 32
$framesize = 24

'---- this section from Text Properties
Const Width_of_text = 270
'---- end of Text Properties

'---- this section from LED Matrix Properties
Const Width = 64
Const Height = 16
'---- end of LED Matrix Properties

Const End_of_text = Width_of_text - Width
Const Number_of_matrix_in_row = Width / 8
Const Byte_in_col = Height / 8
Const Frame_size = Width * Byte_in_col
Const Number_of_byte_in_8_col = Byte_in_col * 8
Const Waitc = 30

Declare Sub Readframe(byval Idx_ofst As Word)
Declare Sub Waitr
' Port A for COL refresh
Config Porta = Output
' Port D for 74595 register
Config Portd = Output
Config Timer0 = Timer , Prescale = 64   'Clock value: 15.625 kHz
On Ovf0 Refresh
Enable Timer0    ' enable the timer interrupt
Enable Interrupts
Sh_cp Alias Portd.3
Ds Alias Portd.4
St_cp Alias Portd.5
Mr Alias Portd.6
Oe Alias Portd.7
Col_port Alias Porta
Dim R As Byte
Dim Col As Byte
Dim Buf(frame_size) As Byte
Dim I As Byte
Dim Matrix_counter As Word
Dim Buf_idx As Word
Dim Col_number_in_buf As Byte
Dim Ofset As Word

Reset Mr
Set Mr
Reset Oe
 Do
  For Ofset = 0 To End_of_text
   Readframe Ofset
   Waitr
  Next Frame_count
 Loop
End           'end program

Sub Readframe(byval Idx_ofst As Word)
 Local Idx As Word
 Local Lookup_idx As Word
 Disable Timer0
 'Start of Frame in lookup table
 Lookup_idx = Idx_ofst * Byte_in_col
 For Idx = 1 To Frame_size
  Buf(idx) = Lookup(lookup_idx , Text )
  Incr Lookup_idx
 Next Idx
 Enable Timer0
End Sub

Sub Waitr
 Do
 Loop Until Col = 0
 R = 0
 Do
  Do
  Loop Until Col = 0
 Loop Until R > Waitc
End Sub

Refresh:
 Reset Mr
 Set Mr
 Set Oe
 Col_port = 2 ^ Col
 For Matrix_counter = 1 To Number_of_matrix_in_row
  Col_number_in_buf = Number_of_matrix_in_row - Matrix_counter
  Col_number_in_buf = Col_number_in_buf * Number_of_byte_in_8_col
  Buf_idx = Col * Byte_in_col
  Buf_idx = Buf_idx + Col_number_in_buf
  Incr Buf_idx
  For I = 1 To Byte_in_col
   Shiftout Ds , Sh_cp , Buf(buf_idx) , 1 , 8
   Incr Buf_idx
  Next I
 Next Matrix_counter
 Reset St_cp
 Set St_cp
 Reset Oe
 Incr Col
 If Col > 7 Then
  Col = 0
  Incr R
 End If
Return

'*********************************************
'* This Code Generate By : Hossein Lachini   *
'* The Text to Hex Code for LED Sign Board   *
'* For to get more details visit :           *
'*                    www.HLachini.com       *
'* Contact to me by : eLachini@Gmail.com     *
'* Mobile/SMS :       +98 912 381 2060 begin_of_the_skype_highlighting              +98 912 381 2060      end_of_the_skype_highlighting       *
'*********************************************
' Your Text is : Lachini Text to Hex Convertor!
' Width for each character : 9
' Width  : 270
' Height : 16
Text:
Data &H1F, &HF8 '...@@@@@@@@@@...
Data &H1F, &HF8 '...@@@@@@@@@@...
Data &H10, &H00 '...@............
Data &H10, &H00 '...@............
Data &H10, &H00 '...@............
Data &H10, &H00 '...@............
Data &H10, &H00 '...@............
Data &H00, &H00 '................
Data &H00, &H00 '................
Data &H0C, &H00 '....@@..........
Data &H1E, &H80 '...@@@@.@.......
Data &H12, &HC0 '...@..@.@@......
Data &H12, &H40 '...@..@..@......
Data &H12, &H40 '...@..@..@......
Data &H0A, &H40 '....@.@..@......
Data &H1F, &HC0 '...@@@@@@@......
Data &H1F, &H80 '...@@@@@@.......
Data &H00, &H00 '................
Data &H07, &H00 '.....@@@........
Data &H0F, &H80 '....@@@@@.......
Data &H18, &HC0 '...@@...@@......
Data &H10, &H40 '...@.....@......
Data &H10, &H40 '...@.....@......
Data &H10, &H40 '...@.....@......
Data &H18, &HC0 '...@@...@@......
Data &H08, &H80 '....@...@.......
Data &H00, &H00 '................
Data &H1F, &HF8 '...@@@@@@@@@@...
Data &H1F, &HF8 '...@@@@@@@@@@...
Data &H00, &H80 '........@.......
Data &H00, &H40 '.........@......
Data &H00, &H40 '.........@......
Data &H00, &HC0 '........@@......
Data &H1F, &H80 '...@@@@@@.......
Data &H1F, &H00 '...@@@@@........
Data &H00, &H00 '................
Data &H00, &H00 '................
Data &H10, &H00 '...@............
Data &H10, &H40 '...@.....@......
Data &H1F, &HD8 '...@@@@@@@.@@...
Data &H1F, &HD8 '...@@@@@@@.@@...
Data &H10, &H00 '...@............
Data &H10, &H00 '...@............
Data &H00, &H00 '................
Data &H00, &H00 '................
Data &H1F, &HC0 '...@@@@@@@......
Data &H1F, &HC0 '...@@@@@@@......
Data &H00, &H80 '........@.......
Data &H00, &H40 '.........@......
Data &H00, &H40 '.........@......
Data &H00, &HC0 '........@@......
Data &H1F, &H80 '...@@@@@@.......
Data &H1F, &H00 '...@@@@@........
Data &H00, &H00 '................
Data &H00, &H00 '................
Data &H10, &H00 '...@............
Data &H10, &H40 '...@.....@......
Data &H1F, &HD8 '...@@@@@@@.@@...
Data &H1F, &HD8 '...@@@@@@@.@@...
Data &H10, &H00 '...@............
Data &H10, &H00 '...@............
Data &H00, &H00 '................
Data &H00, &H00 '................
...

برای دانلود نقشه میتوانید از لینک زیر استفاده کنید:

http://tools.mcselec.com/Text2Hex/images/led-sign-board.pdf

باید توجه داشته یاشید که با توجه به اینکه این مدار هم برای عرض 8 و هم برای عرض 16 طراحی شده لذا دو ردیف اول ماتریس ها که با کادری دور آن مشخص شده است فقط در تابلو با عرض 16 استفاده میشود و ردیف سوم برای تابلو با عرض 8. همینطور شیفت رجیستر هایی که با دور آنها کادر کشیده شده برای عرض 16 هستند و سایر شیفت رجیسترها برای عرض 8 استفاده میشوند.

در صورتیکه به مدار هم دقت کنید شیفت رجیسترها بصورت سری به هم متصل هستند که شما با توجه طول تابلو باید فقط بخشی از آنها را استفاده کنید.

برای استفاده از برنامه آنلاین تبدیل متن به کد هگز از آدرس زیر استفاده کیند:


http://www.hlachini.com/text2hex.wiz



درباره وبلاگ



مدیر وبلاگ : M.R.G golestani
نویسندگان
صفحات جانبی
نظرسنجی
مطالب مورد علاقه شما چیست؟








جستجو

آمار وبلاگ
کل بازدید :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
تعداد نویسندگان :
تعداد کل پست ها :
آخرین بازدید :
آخرین بروز رسانی :