We’re here to help you start something.

Mon-Sat: 07:00 - 17:00
28 May 2025

මයික්‍රෝකොන්ට්‍රෝලර් එකක් තෝරාගන්නේ කෙසේද?

ඔබ ඉලෙක්ට්‍රොනික්ස් හෝ රොබෝටික්ස් වැඩ කරන අයෙක් නම්, මයික්‍රෝකොන්ට්‍රෝලර් (Microcontroller) එකක් තෝරාගැනීම ඉතා වැදගත්. එහෙත්, බොහෝ ආරම්භකයින්ට මෙය අපහසු විය හැකිය. අද අපි කතා කරන්නේ කුමන මයික්‍රෝකොන්ට්‍රෝලර් එක ඔබට ගැලපේද යන්න සහ ජනප්‍රිය මයික්‍රෝකොන්ට්‍රෝලර් 5ක් ගැන!


  1. ඔබේ ප්‍රොජෙක්ට් අවශ්‍යතා

    • සරල LED පරිපථයක්ද? → Basic Microcontroller (8051, Arduino Nano)

    • රොබෝ එකක් හෝ IoT වැඩද? → Advanced (ESP32, Raspberry Pi Zero W)

  2. පරිගණක භාෂාව

    • C/C++ (Arduino, ESP32)

    • Python (Raspberry Pi Zero W)

    • Assembly (8051)

  3. මිල සහ ලබාගැනීමේ පහසුව

    • ආරම්භකයින්ට: Arduino UNO (පහසු, ලේසියෙන් ලබා ගත හැක)

    • අඩු මිල: 8051, Arduino Nano

  4. කාර්ය

    • වේගවත් ක්‍රියාකාරීත්වය අවශ්‍යද? → ESP32, Raspberry Pi Zero W


ජනප්‍රිය මයික්‍රෝකොන්ට්‍රෝලර් 5ක්

1. 8051 Microcontroller

  • වැදගත්කම: ඉතා පැරණි, සරල, ඉගෙනීමට පහසු.

  • භාවිතය: ආරම්භක පරිපථ, LED/ස්විච් ප්‍රොජෙක්ට්.

  • අවාසිය: සීමිත කාර්ය සාධනය.

2. Arduino UNO (ATmega328P)

  • වැදගත්කම: ලොකු ප්‍රජා සහාය, පහසු කේතුකරණය (C++).

  • භාවිතය: රොබෝටික්ස්, සෙන්සර් ප්‍රොජෙක්ට්.

  • අවාසිය: WiFi/Bluetooth නැත.

3. Arduino Nano

  • වැදගත්කම: UNO වලට සමාන, එහෙත් කුඩා සහ අඩු මිල.

  • භාවිතය: පොර්ටබල් ප්‍රොජෙක්ට් (ඩ්‍රෝන්, රොබෝට්).

  • අවාසිය: සීමිත පින් සහ RAM.

4. ESP32

  • වැදගත්කම: WiFi + Bluetooth, ද්වි-කෝර් (Dual-Core).

  • භාවිතය: IoT (ස්මාර්ට් ගෙදර පද්ධති), වෙබ් සේවා.

  • අවාසිය: ආරම්භකයින්ට සංකීර්ණ.

5. Raspberry Pi Zero W

  • වැදගත්කම: WiFi සහිත, Linux ධාවනය කළ හැක.

  • භාවිතය: IoT, රොබෝටික්ස්, සරල පරිගණක ප්‍රොජෙක්ට්.

  • අවාසිය: Arduino තරම් පහසු නැත (Python/C++ යොදා ගත යුතුයි).


නිගමනය

  • ආරම්භකයින්ට → Arduino UNO හෝ Arduino Nano (අඩු මිල).

  • IoT/වේගවත් ප්‍රොජෙක්ට් → ESP32 (WiFi/Bluetooth සහිත).

  • Linux-based වැඩ → Raspberry Pi Zero W (Python සහාය).

  • පැරණි පරිපථ ඉගෙනීමට → 8051.

ඔබගේ ප්‍රොජෙක්ට් අනුව හරියටම ගැලපෙන මයික්‍රෝකොන්ට්‍රෝලර් එක තෝරාගන්න!

28 Feb 2025

Arduino Episode 2: සෙන්සර් සමඟ අන්තර්ක්‍රියා කිරීම (LDR & Button)

පසුගිය පාඩමෙන් ඔබ LED Blink කරන හැටි ඉගෙන ගත්තා නේද? අද අපි ඉගෙන ගන්නේ සෙන්සර් සහ බොත්තම් භාවිතා කරන ආකාරය!


අද ඉගෙන ගන්න දේ

✅ LDR (ආලෝක සංවේදී රෙසිස්ටර්) භාවිතා කර ආලෝක මට්ටම හඳුනා ගැනීම
✅ පුෂ් බොත්තම් (Push Button) සමඟ අන්තර්ක්‍රියා කිරීම
✅ සරල ප්‍රෝග්‍රෑම් 2ක් (LDR LED Control, Button LED Control)


ඔබට අවශ්‍ය දෑ

  1. Arduino UNO/Nano

  2. LDR සහ 10kΩ රෙසිස්ටර්

  3. පුෂ් බොත්තම්

  4. LED + 220Ω රෙසිස්ටර්

  5. බ්‍රෙඩ්බෝඩ් සහ වයර්


පරිපථ 1: LDR සමඟ LED පාලනය

පරිපථ සැකැස්ම

  • LDR එකේ එක් පාදය → 5V

  • LDR එකේ අනෙක් පාදය → A0 සහ 10kΩ රෙසිස්ටර් → GND

කේතය – Code

int ldrPin = A0; // LDR A0 ට සම්බන්ධ කර ඇත
int ledPin = 13;  // LED D13 ට සම්බන්ධ කර ඇත

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);  // සීරියල් මොනිටර් සකසන්න
}

void loop() {
  int light = analogRead(ldrPin);  // LDR අගය කියවන්න
  Serial.println(light);          // අගය පෙන්වන්න

  if (light < 500) {              // අඳුරු නම් LED ON කරන්න
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
  delay(100);
}

ක්‍රියාකාරිත්වය

  • LDR එක ආලෝකය අඩු වූ විට LED එක ලයිට් වේ!

  • Serial Monitor (Ctrl+Shift+M) විවෘත කර LDR අගය නරඹන්න.


පරිපථ 2: බොත්තම් සමඟ LED පාලනය

පරිපථ සැකැස්ම

  • බොත්තම් එක → D2 සහ GND

  • LED එක → D13

Button Circuit

කේතය

cpp

Copy

Download

int buttonPin = 2;  // බොත්තම් D2 ට සම්බන්ධ කර ඇත
int ledPin = 13;    // LED D13 ට සම්බන්ධ කර ඇත

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT_PULLUP);  // පුල්-අප් රෙසිස්ටර් සක්‍රිය කරන්න
}

void loop() {
  if (digitalRead(buttonPin) == LOW) {  // බොත්තම් ඔබා ඇත්නම්
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

ක්‍රියාකාරිත්වය

  • බොත්තම් ඔබන විට LED එක ලයිට් වේ!


ගැටලු නිරාකරණය

❌ LDR අගය නිවැරදිව නොපෙන්වේද?
→ 10kΩ රෙසිස්ටර් භාවිතා කර ඇත්දැයි පරීක්ෂා කරන්න.

❌ බොත්තම් ක්‍රියා නොකරයිද?
→ INPUT_PULLUP භාවිතා කර ඇත්දැයි බලන්න.


ඊළඟ පාඩම

  • PWM භාවිතා කර LED වල දීප්තිය පාලනය කිරීම

  • උෂ්ණත්ව සෙන්සර් (DHT11) සමඟ වැඩ කිරීම

28 Jan 2025

ඔබගේ පළමු Arduino ප්‍රෝග්‍රෑම් එක ලියන්න (LED Blink)

Arduino භාවිතා කර ඔබගේ පළමු ප්‍රෝග්‍රෑම් එක ලියමු! මෙම ලිපියෙන්, ඔබට LED එකක් පත්තු කරවන සරලම කේතය  සහ අවශ්‍ය දෑ පිළිබඳව ඉගෙන ගනිමු.


ඔබට අවශ්‍ය දෑ

  1. Arduino UNO හෝ Arduino Nano

  2. USB කේබල් (Arduino – PC සම්බන්ධ කිරීමට)

  3. LED එකක්

  4. 220Ω රෙසිස්ටර්

  5. බ්‍රෙඩ්බෝඩ් සහ ජම්පර් වයර්


පරිපථ සැකැස්ම

  1. LED එකේ ධන ලෙග් (දිගු පාදය) → Arduino ගේ D13 පින් එකට.

  2. LED එකේ ඍණ ලෙග් (කෙටි පාදය) → GND (Ground) ට.

  3. රෙසිස්ටර් එක LED සමඟ  අමතක නොකරන්න!


Arduino IDE වල කේතය (LED Blink Code)

void setup() {
  pinMode(13, OUTPUT);  // D13 පින් එක OUTPUT ලෙස සකසන්න
}

void loop() {
  digitalWrite(13, HIGH);  // LED එක ON කරන්න
  delay(1000);             // 1 තත්පරය බලා සිටින්න
  digitalWrite(13, LOW);   // LED එක OFF කරන්න
  delay(1000);             // 1 තත්පරය බලා සිටින්න
}

Code එක , නොහොත් කේතය පැහැදිලි කිරීම

  • setup(): Arduino ආරම්භක සැකසුම් (මෙහි D13 පින් එක output ලෙස සකස් කරයි).

  • loop(): ප්‍රෝග්‍රෑම් නැවත නැවත ධාවනය වේ.

  • digitalWrite(13, HIGH/LOW): LED එක ON/OFF කිරීම.

  • delay(1000): 1000ms (1 තත්පරය) බලා සිටීම.


ප්‍රෝග්‍රෑම් එක Arduino එකට Upload කරන ආකාරය

  1. Arduino IDE විවෘත කර නව Sketch එකක් සාදන්න.

  2. ඉහත කේතය ඇතුළත් කර Verify (✓) කරන්න.

  3. Tools > Board > Arduino UNO (හෝ ඔබ භාවිතා කරන එක) තෝරන්න.

  4. Tools > Port වලින් USB පෝර්ට් එක තෝරන්න.

  5. Upload (→) බොත්තම ඔබන්න.

  6. LED එක 1 තත්පරයට වරක් පත්තු විය යුතුයි!


ගැටලු නිරාකරණය

❌ LED එක පත්තු නොවේද?

  • පරිපථය නිවැරදිව සම්බන්ධ කර ඇත්දැයි පරීක්ෂා කරන්න.

  • රෙසිස්ටර් භාවිතා කර ඇත්දැයි බලන්න.

❌ Arduino IDE වල පෝර්ට් නොපෙනේද?


ඊළඟට ඉගෙන ගත යුතු දේ

  • පුළුල් ලෙස LED පාලනය කිරීම (PWM භාවිතා කරමින්).

  • බොත්තම් සමඟ අන්තර්ක්‍රියා කිරීම.

  • සෙන්සර් (උෂ්ණත්ව, ආර්ද්‍රතාව) භාවිතා කිරීම.