මෙතැනදී අපි කරන්න ඕන වැඩ 2 ක් තියෙනවා. ඒ තමයි arduino code එක ලියන එක හා අනිත් එක PC program එක ලියන එක. මම PC program එක ලියන්නේ VB.Net වලින්. අපි මුලින්ම arduino code එක ලියමු. මම මෙතැනදී Common anode හා common cathode කියන වර්ග 2 ටම arduino code එක ලියනවා. මුලින්ම අපි common cathode LED එකට code එක ලියමු.
Common cathode LED එකට arduino code එක ලියමු.
මේකට මුලින්ම පහලින් තියෙන විදිහට circuit එක හදාගන්න. 2.2 KOhm resistor එකක් තමයි දාලා තියෙන්නේ.දැන් පහල තියෙන code එක arduino එකට upload කරන්න.
මම මෙතැනදී 2 පේලියෙන් Serial communication එක start කරලා තියෙනවා, ඊළඟට 3,4,5 පේලිවලින් පිලිවලින් 9, 10, 11 කියන pin 3 න OUTPUT විදිහට setup කරගෙන තියෙනවා.
9 වෙනි පේලියෙන් if condition එක දාලා serial port එක හරහා data එනවද කියලා බලනවා. data එනවනම් if එක ඇතුලේ තියෙන දේවල් ටික ක්රියාත්මක වෙනවා. 11, 12, 13 වෙනි පේලිවලින් කරන්නේ r,g,b කියන නම් වලින් int variable 3 ක් හදාගෙන තියෙනවා. ඒවගේම Serial port එක හරහා එන data ඒ ඒ variable වලට වෙන වෙනම යොමුකරලා තියෙනවා.
15, 16, 17 පේලිවලින් ඒ ඒ r,g,b කියන value එකට අදාලව 9, 10, 11 කියන pin වලින් voltage output කරලා තියෙනවා.
***වැදගත්***
මම මෙතනදී කියන්න ඕනේ වැදගත් දෙයක් තියෙනවා.මම PC program එකෙන් Arduino එකට එවන්නේ යම් කිසි වර්ණයකට අදාල RGB value එක එක පේලියට. උදාහරණයක් විදිහට රෝස පාටට අදාල RGB value එක වෙන්නේ 215,15,200 යි.
ඒ කියන්නේ රතු - 215, කොළ - 15, නිල් - 200 කියන සංයෝජනයෙන් තමයි රෝස පාට හැදිලා තියෙන්නේ. මෙම මේ RGB value එක 215,15,200 ආකරයට තනි පේලියක් විදිහට තමයි Arduino එකට යවන්නේ. නමුත් 11, 12, 13 වෙනි පේලි වලදී ලියලා තියෙන code වලින් values ටික වෙනවෙනම හදුනාගන්නවා.
උදාහරණයක් විදිහට කලින් කියපු රෝස පාටට අදාල RGB value එක වෙන 215,15,200 කියන value set එක තනි පේලියක් විදිහට arduino එකට එවපුවහම 11, 12, 13 පේලිවලින් r = 215, g = 15, b = 200 විදිහට හදුනාගන්නවා.
Common anode LED එකට arduino code එක ලියමු.
මේකට මුලින්ම පහලින් තියෙන විදිහට circuit එක හදාගන්න. 2.2 KOhm resistor එකක් තමයි දාලා තියෙන්නේ.දැන් පහල තියෙන code එක arduino එකට upload කරන්න.
මේ code එකත් කලින් code එක වගේම තමයි. වෙන්සකට තියෙන්නේ 15, 16, 17 පේලිවලදී r,g,b කියන variable වලින් ලැබෙන අගයන් 255 න් අඩුකරලා යොදගෙන tතියෙන එක. එහෙම කරන්නෙ Common anode RGB LED එකක පොදු අග්රය + නිසා සුදුසු විභව අන්තරයක් ගොඩනගා ගන්න ඕනෙ නිසයි.
PC program එක ලියමු.
මම මේක ලියන්නේ VB.Net වලින්, ඒකට Visual studio කියන software එක ඕනේ. මුලින්ම Visual studio open එක කරගෙන අලුත් VB.Net project එක ලබාගන්න.දැන් පහල තියෙන විදිහට Software එකේ interface එක design කරගන්න.
ඊළඟට පහල තියෙන විදිහට Properties window එක භාවිත කරලා property හදාගන්න.
Button 1 : Text - Connect Name - btnCon
Button 2 : Text - Disonnect Name - btnDis Enabled - False
Button 3 : Text - Select Color Name - btnColor
Combo Box 1 : Name - cmbPort
Track Bar 1 : Name - tbRed Maximum - 255
Track Bar 2 : Name - tbGreen Maximum - 255
Track Bar 3 : Name - tbBlue Maximum - 255
Panel 1 : Name - pnlColor Background Color : Black
ඊට පස්සේ toolbox එකෙන් SerialPort එක තෝරලා ඒක උඩ double click කරලා form එකට add කරගන්න.
ඊළඟට form එකේ load event එක ඇතුලෙදි පහල තියෙන code එක ලියන්න. form එක උඩ double click කරලා form එකේ load event එකට ඇතුලු වෙන්න පුලුවන්.
මෙතනදී කෙරෙන්නේ Form එක Load වෙනකොටම Combo Box එකට Serial Port name ටික එකතු කරගන්න එක.
For Each i As String In My.Computer.Ports.SerialPortNames
cmbPort.Items.Add(i)
Next
ඊළඟට connect කියලා add කරගෙන තියෙන button එකේ click ඉවෙන්ට් එකෙදී පහල කෝඩ් එක ලියන්න.
SerialPort1.PortName = cmbPort.Text
SerialPort1.Open()
cmbPort.Enabled = False
btnCon.Enabled = False
btnDis.Enabled = TrueTrue
ඊළඟට disconnect කියලා add කරගෙන තියෙන button එකේ click ඉවෙන්ට් එකෙදී පහල කෝඩ් එක ලියන්න.
SerialPort1.Close()
cmbPort.Enabled = True
btnDis.Enabled = False
btnCon.Enabled = True
ඊළඟට Trackbar වල scroll event ඇතුලෙ පහල තියෙන code එක ලියන්න. Trackbar උඩ double click කරලා scroll event එකට enter වෙන්න පුලුවන්.
pnlColor.BackColor = Color.FromArgb(tbRed.Value, tbGreen.Value, tbBlue.Value)
SerialPort1.Write(tbRed.Value & "," & tbGreen.Value & "," & tbBlue.Value)
පලවෙනි පේලියෙන් කරලා තියෙන්නේ panel එකේ background color එක වෙනස් කරන එක. දෙවෙනි පේලියෙන් කරලා තියෙන්නේ Trackbar value තනි පේලියක් විදිහට හදලා Serial port එකට යවන එකයි. Track bar 3 ටම ලියන්න ඕනේ මේ කෝඩ් එකම තමයි.
ඊට පස්සේ Select Color කියන button එක උඩ double click කරලා button එකේ click event එකේ පහල තියෙන කෝඩ් එක ලියන්න.
Dim colorDialog As New ColorDialog
If colorDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
tbRed.Value = colorDialog.Color.R
tbGreen.Value = colorDialog.Color.G
tbBlue.Value = colorDialog.Color.B
pnlColor.BackColor = Color.FromArgb(tbRed.Value, tbGreen.Value, tbBlue.Value)
SerialPort1.Write(tbRed.Value & "," & tbGreen.Value & "," & tbBlue.Value)
End If
දැන program එක RUN කරන්න.
ක්රියාත්මක කිරීම.
මුලින්ම circuit එක හරියට හදලා Arduino එක PC එකට connect කරන්න. ඊට පස්සේ Program එක run කරලා හරියට COM Port එකතෝරලා Connect Button එක ඔබන්න. ඊට පස්සේ Trackbar වෙනස් කරලා පාට හදන්න පුලුවන්.Project Files ටික මෙතනින් Download කරගන්න.
ලිපිය හොදනම්, ගැටලුවක් එහෙම තියෙනවනම් comment එකක් දාගෙනම යන්න. share කරන්න අමතක කරන්නත් එපා. අපේ Page එකට Like එකකුත් දාන්න හොදේ.
EmoticonEmoticon