ආඩුඊනෝ ප්රෝග්රෑමිං Part 23 – Servo Position Display and Saving System
අද කියන්න යන්නේ ඔයාගෙ project එකට ගොඩක් වැදගත් වෙයි කියල හිතන දෙයක් ගැන.
Servo motor එකක් කැරකිලා තියන angle එක display කරන්න තිබ්බොත් ගොඩක් වටිනව නේද?? ඒ වගේම servo motor එක කැරකිලා තිබුනු angle කීපයක් save කරල තියාගන්න තිබුනොත් හොදයි නේද? එහෙනම් අපි බලමු ඒක කරන්නෙ කොහොමද කියල.
මේ සදහා අපිට අවශ්ය වෙනව,
1) Arduino Uno *1 :- https://scionelectronics.com/product/arduino-uno-r3
2) Nokia 5110 Display *1 :- https://scionelectronics.com/…/nokia-5110-lcd-module-84×48-…/
3) SD Card Module *1 :- https://scionelectronics.com/…/micro-sd-card-mini-tf-card-re…
4) SG90 Servo Motor *1 :- https://scionelectronics.com/…/frasers-9-steering-gear-sg90-…
5) 10k Potentiometer *1 :- https://scionelectronics.com/product/b-10k-variable-resistor-pot-mono/
6) 4pin Push Button *1 :- https://scionelectronics.com/…/4-pin-tact-tactile-push-butto…
7) 10k Resistor *1 :- https://scionelectronics.com/product/10k/
8) Jumper Wires
මෙහිදී servo motor එක කරකැවීම සදහා අපි potentiometer එකක් භාවිතා කරනවා. මෙම potentiometer එක කරකැවීම මගින් servo එක යම් angle එකකට කරකවා ගත හැකියි. Servo එක කැරකෙන එම අන්ශක ගණන Nokia 5110 LCD display එක මගින් display කරනු ලබනවා. එමෙන්ම servo එක කරකැවී ඇති යම් angle එකක් SD Card එකක save කරගැනීමට අවශ්ය වූ විට එක් වරක් push button එක press කල යුතුයි.
අපි මේකෙදි angle එක display කිරීම සදහා යොදාගන්නෙ Nokia 5110 කියන LCD display එක. ඔයාලටත් Scion Electronics එකෙන් මේ display එක ගන්න පුලුවන්. (2 රූපය)
90 දශකයේ ඉතා ජනප්රිය දුරකථනයක් වූ Nokia 5110 දුරකථනයේ තිබූ display එක module එකක් ලෙස මෙසේ නිපදවා තිබෙනවා. මෙහි සියළුම අකුරු, ඉලක්කම් මෙන්ම custom character ද display කිරීමේ හැකියාවක් තිබෙනවා. තවද කුඩා animation ආදියද display කළ හැකියි. Nextion display වැනි නවීන device භාවිතාවෙන මේ අවධියේ Nokia 5110 වැනි display භාවිතා නොවෙන තරම්ය. නමුත් කුඩා project වලට මෙන්ම එතරම් දියුනු display එකක් අවශ්ය නොවන අවස්ථා වලට යොදාගත හැකි ගැලපෙනම display එක මෙම Nokia 5110 LCD display එකයි. 84 × 48 ප්රමාණයේ display එකක් වන මෙහි ඒකාකාරී පෙනුමක් තිබුනත් ඔයාගෙ project එකට යොදාගන්නට පුලුවන් හොද display එකක් කියල කියන්නට පුලුවන්.
මෙම display එක Arduino සමග SPI communication ක්රමය හරහා සම්වන්ධ වෙනව. මෙහි Pin 8ක් දැකගැනීමට හැකි වන අතර 3.3V මගින් ක්රියා කරයි. (2 රූපය) මෙහි ඇති BL pin එක මගින් backlight control කරන්නට පුලුවන්. මෙම Nokia 5110 display එක Arduino සමග සම්බන්ධ කරන ආකාරය 3 රූපයෙන් දැක්වේ.
SD Card module එක ගැන කිව්වොත්, අපි මේ project එකේදි servo angle එක අවශ්ය වෙලාවට save කරගැනීම සදහා භාවිතා කරන Micro SD Card එක Arduino සමග සම්බන්ධ කරනු ලබන්නේ මේ SD card module එක හරහායි. (4 රූපය)
මෙම SD Card module එකෙහි operation voltage එක 3.3V වෙනව. නමුත් මෙහි voltage regulator එකක් සහ Level shifter එකක් ඇති නිසා කෙලින්ම 5V ට සම්බන්ධ කළ හැකියි. මෙම module එකෙහි pin 6ක් දැකගැනීමට හැකි අතර ඉන් 2ක් module එකට power ලබා දීම සදහාද, ඉතිරි 4 SPI communication එක සදහාද යොදා ගනියි. (5 රූපය)
දැන් SD Card module එකද 6 රූපයේ ආකාරයට Arduino board එක සමග සම්බන්ධ කරන්න.
දැන් servo motor එක, potentiometer එක, push button එක, 10k resistor එක 7 රූපයේ ආකාරයට සම්බන්ධ කරගන්න.
අපි දැන් hardware කොටස් ටික නම් සම්බන්ධ කරගෙන ඉවරයි. අපි බලමු Arduino code එක ලියන්නෙ කොහොමද කියල.
අපි මේ program එක සදහා library කීපයක්ම use කරනව. පහල link වලින් ගිහින් library ටික download කරගන්න.
Button.h :- https://github.com/madleech/Button…
GFX.h :- https://github.com/adafruit/Adafruit-GFX-Library…
PCD8544.h :- https://github.com/…/Adafru…/blob/master/Adafruit_PCD8544.h…
දැන් මේ පහල link එකෙන් ගිහින් Arduino code එක download කරගෙන upload කරන්න. Code එකේ comments වලින් code එක විස්තර කරල තියනව. අපැහැදිලි තැනක් තිබුනොත් comment section එකේ comment කරන්න.
Arduino Code :- https://drive.google.com/…/1aMJa4WBGoFPhO1JV3qLloJEk4…/view…
Video Link :- https://youtu.be/ehqydIUOktw
ඔයාට ඕනෙම Arduino component එකක් ලන්කාවෙ ඕනෙම තැනක ඉන්න කෙනෙකුට One day delivery service එකකින් ගෙදරටම ගෙන්නගන්න පුලුවන්. එහෙම නැත්නම් මාලබේ SLIIT Campus එක ඉස්සරහ (071-2452926) වගේම මොරටුව Campus එක ඉස්සරහත් (071-2452696) මෙයාලගෙ shop තියනව. ඔයාට warranty එකක් එක්කම Arduino components ගන්න පුලුවන් එකම තැන Scion Electronics.
Arduino Programming Part 24 තුළින් නැවත හමු වෙමු.
Compiled by: Yasas Sadeepa