

ABX00087 UNO R4 WiFi සංවර්ධන මණ්ඩලය
Arduino UNO R4 WiFi + ADXL345 + Edge භාවිතයෙන් ක්රිකට් වෙඩි හඳුනාගැනීම.
ආවේගය
මෙම ලේඛනය ADXL345 ත්වරණමානයක් සහ Edge Impulse Studio සමඟ Arduino UNO R4 WiFi භාවිතයෙන් ක්රිකට් වෙඩි හඳුනාගැනීමේ පද්ධතියක් ගොඩනැගීම සඳහා සම්පූර්ණ වැඩ ප්රවාහයක් සපයයි. මෙම ව්යාපෘතියට ත්වරණමාන දත්ත රැස් කිරීම, යන්ත්ර ඉගෙනුම් ආකෘතියක් පුහුණු කිරීම සහ තත්ය කාලීන වෙඩි වර්ගීකරණය සඳහා පුහුණු කළ ආකෘතිය Arduino වෙත නැවත යෙදවීම ඇතුළත් වේ.
මෙම ව්යාපෘතියේ සලකා බලන ලද ක්රිකට් පහරවල්:
– ආවරණ ධාවකය
– කෙළින්ම ධාවනය
– පුල් ෂොට්
පියවර 1: දෘඪාංග අවශ්යතා
– ආර්ඩුයිනෝ UNO R4 වයිෆයි
– ADXL345 ත්වරණමානය (I2C)
- ජම්පර් වයර්
– පාන් පුවරුව (විකල්ප)
- USB Type-C කේබලය
පියවර 2: මෘදුකාංග අවශ්යතා
– Arduino IDE (නවතම)
– Edge Impulse Studio ගිණුම (නොමිලේ)
– Edge Impulse CLI මෙවලම් (Node.js අවශ්යයි)
– Adafruit ADXL345 පුස්තකාලය
පියවර 3: ADXL345 රැහැන්ගත කිරීම
ADXL345 සංවේදකය Arduino UNO R4 WiFi වෙත පහත පරිදි සම්බන්ධ කරන්න:
වීසීසී → 3.3V
GND → GND
SDA → SDA (A4)
SCL → SCL (A5)
CS → 3.3V (විකල්ප, I2C මාදිලිය සඳහා)
SDO → පාවෙන හෝ GND
පියවර 4: IDE සංවේදකය සූදානම් කරන්න
Arduino IDE හි සංවේදක පුස්තකාල ස්ථාපනය කරන්නේ කෙසේද?
Arduino IDE විවෘත කරන්න.
මෙවලම් විවෘත කර පුස්තකාල කළමනාකරණය කරන්න... සහ ස්ථාපනය කරන්න: Adafruit ADXL345 ඒකාබද්ධ Adafruit ඒකාබද්ධ සංවේදකය
(ඔබ සතුව LSM6DSO හෝ MPU6050 තිබේ නම්: ඒ වෙනුවට SparkFun LSM6DSO, Adafruit LSM6DS හෝ MPU6050 ස්ථාපනය කරන්න.)
පියවර 5: දත්ත රැස් කිරීම සඳහා Arduino Sketch
මෙම සටහන ඔබගේ Arduino UNO R4 WiFi වෙත උඩුගත කරන්න. එය Edge Impulse සඳහා ~18 Hz හි CSV ආකෘතියෙන් (x,y,z) ත්වරණමාන දත්ත ප්රවාහ කරයි.
#ඇතුළත්
#ඇතුළත්
Adafruit_ADXL345_ඒකාබද්ධ ඇක්සලරේටරය =
ඇඩෆ්රූට්_ඒඩීඑක්ස්එල්345_ඒකීය(12345);
හිස් සැකසුම () {
Serial.begin(115200);
(!accel.begin()) නම් {
Serial.println(“ADXL345 අනාවරණය වී නැත”);
අතරතුර (1);
}
accel.setපරාසය(ADXL345_පරාසය_4_G);
}
void loop() {
සංවේදක_සිදුවීම්_ටී ඊ;
accel.සිදුවීම ලබා ගන්න(&e);
සීරියල්.ප්රින්ට් (e.ත්වරණය.x);
අනුක්රමික.මුද්රණය(“,”);
අනුක්රමික.මුද්රණය(e.ත්වරණය.y);
අනුක්රමික.මුද්රණය(“,”);
Serial.println(e.acceleration.z);delay(55); // ~18 Hz
}
දාර ආවේගය සකසන්න

පියවර 6: Edge Impulse වෙත සම්බන්ධ වීම
- Arduino අනුක්රමික මොනිටරය වසන්න.
- විධානය ක්රියාත්මක කරන්න: edge-impulse-data-forwarder –frequency 18
- අක්ෂ නම් ඇතුළත් කරන්න: accX, accY, accZ
- ඔබගේ උපාංගය නම් කරන්න: Arduino-Cricket-Board
- 'උපාංග' යටතේ ඇති Edge Impulse Studio හි සම්බන්ධතාවය තහවුරු කරන්න.


පියවර 7: දත්ත රැස් කිරීම
Edge Impulse Studio හි → දත්ත ලබා ගැනීම:
– උපාංගය: Arduino-Cricket-Board
- සංවේදකය: ත්වරණමානය (අක්ෂ 3)
- එස්ampදිග: 2000 ms (තත්පර 2)
– සංඛ්යාතය: 18 Hz
අවම වශයෙන් තත්පර 40ක් වාර්තා කරන්නampපන්තිය අනුව:
– ආවරණ ධාවකය
– කෙළින්ම ධාවනය
– පුල් ෂොට්
දත්ත එකතු කරන්න Examples
ආවරණ ධාවකය
උපාංගය: Arduino-Cricket-Board
ලේබලය: ආවරණ ධාවකය
සංවේදකය: අක්ෂ 3ක් සහිත සංවේදකය (accX, accY, accZ)
Sampදිග: 10000ms
සංඛ්යාතය: 18 Hz
Exampඅමු දත්ත:
ඇක්එක්ස් -0.32
ඇක්වයි 9.61
අකාසිZ -0.12
සෘජු ධාවනය
උපාංගය: Arduino-Cricket-Board
ලේබලය: සෘජු ධාවකය
සංවේදකය: අක්ෂ 3ක් සහිත සංවේදකය (accX, accY, accZ)
Sampදිග: 10000ms
සංඛ්යාතය: 18 Hz
Exampඅමු දත්ත:
ඇක්එක්ස් 1.24
ඇක්වයි 8.93
අකාසිZ -0.42
පුල් ෂොට්
උපාංගය: Arduino-Cricket-Board
ලේබලය: පුල් ෂොට්
සංවේදකය: අක්ෂ 3ක් සහිත සංවේදකය (accX, accY, accZ)
Sampදිග: 10000 ms
සංඛ්යාතය: 18 Hz
Exampඅමු දත්ත:
ඇක්එක්ස් 2.01
ඇක්වයි 7.84
අකාසිZ -0.63 
පියවර 8: ආවේග නිර්මාණය
Create impulse විවෘත කරන්න:
ආදාන කොටස: කාල ශ්රේණි දත්ත (අක්ෂ 3).
කවුළු ප්රමාණය: 1000 ms කවුළු වැඩි කිරීම (ඉදිරිය): 200 ms සක්රීය කරන්න: අක්ෂ, විශාලත්වය (විකල්ප), සංඛ්යාතය 18.
සැකසුම් කොටස: වර්ණාවලි විශ්ලේෂණය (චලනය සඳහා වර්ණාවලි විශේෂාංග ලෙසද හැඳින්වේ). කවුළු ප්රමාණය: 1000 ms කවුළු වැඩි කිරීම (ඉදිරිය): 200 ms සක්රීය කරන්න: අක්ෂ, විශාලත්වය (විකල්ප), සියලු පෙරනිමි පළමුව තබා ගන්න.
ඉගෙනුම් කොටස: වර්ගීකරණය (කේරස්).
ආවේගය සුරකින්න ක්ලික් කරන්න. 
විශේෂාංග ජනනය කරන්න:
වර්ණාවලි විශ්ලේෂණය වෙත ගොස්, පරාමිතීන් සුරකින්න ක්ලික් කරන්න, ඉන්පසු පුහුණු කට්ටලය සඳහා විශේෂාංග ජනනය කරන්න.

කුඩා ආකෘතියක් පුහුණු කරන්න
Classifier (Keras) වෙත ගොස් පහත පරිදි සංයුක්ත වින්යාසයක් භාවිතා කරන්න:
ස්නායු ජාලය: ඝන ස්ථර 1–2 (උදා: 60 → 30), ReLU
යුග: 40–60
ඉගෙනීමේ අනුපාතය: 0.001–0.005
කණ්ඩායම් ප්රමාණය: 32
දත්ත බෙදීම: 80/20 (දුම්රිය/පරීක්ෂණය)
දත්ත සුරකින්න සහ පුහුණු කරන්න
රඳවා ගැනීමේ කට්ටලය සමඟ ආකෘති පරීක්ෂාව ඇගයීම සහ පරීක්ෂා කිරීම.
ව්යාකූල අනුකෘතිය පරීක්ෂා කරන්න; රවුම සහ ඉහළට අතිච්ඡාදනය වන්නේ නම්, වඩාත් විවිධාකාර දත්ත රැස් කරන්න හෝ වෙනස් කරන්න.
වර්ණාවලි පරාමිතීන් (කවුළු ප්රමාණය / ශබ්ද තට්ටුව).
පියවර 9: Arduino වෙත යෙදවීම
යෙදවීම වෙත යන්න:
Arduino පුස්තකාලය තෝරන්න (C++ පුස්තකාලයද ක්රියාත්මක වේ).
මාදිලියේ ප්රමාණය හැකිලීමට EON සම්පාදකය (තිබේ නම්) සක්රීය කරන්න.
.zip බාගන්න, ඉන්පසු Arduino IDE හි: Sketch → Include Library → Add .ZIP Library… මෙය ex එකතු කරයිampස්ථිතික බෆරය සහ අඛණ්ඩ යටතේ වැනි File → උදාamples →
ඔබේ ව්යාපෘතියේ නම - Edge Impulse. Arduino UNO EK R4 WiFi + ADXL345 සඳහා අනුමාන සටහන.
පියවර 10: Arduino අනුමාන සටහන
#ඇතුළත්
#ඇතුළත්
#ඇතුළත් // Edge Impulse ශීර්ෂය සමඟ ප්රතිස්ථාපනය කරන්න
Adafruit_ADXL345_ඒකාබද්ධ ඇක්සලරේටරය =
ඇඩෆ්රූට්_ඒඩීඑක්ස්එල්345_ඒකීය(12345);
ස්ථිතික බූල් debug_nn = අසත්ය;
හිස් සැකසුම () {
Serial.begin(115200);
(! අනුක්රමික) {}
(!accel.begin()) නම් {
Serial.println(“දෝෂය: ADXL345 අනාවරණය වී නොමැත”);
අතරතුර (1);
}
accel.setපරාසය(ADXL345_පරාසය_4_G);
}
void loop() {
පාවෙන බෆරය[EI_CLASSIFIER_DSP_INPUT_FRAME_SIZE] = {0};
(size_t ix = 0; ix <EI_CLASSIFIER_DSP_INPUT_FRAME_SIZE; ix +=) සඳහා
3) {
uint64_t ඊළඟ_ටික් = මයික්රෝස්() + (EI_CLASSIFIER_INTERVAL_MS *
1000);
සංවේදක_සිදුවීම්_ටී ඊ;
accel.සිදුවීම ලබා ගන්න(&e);
බෆරය[ix + 0] = e.ත්වරණය.x;
බෆරය[ix + 1] = e.ත්වරණය.y;
බෆරය[ix + 2] = e.ත්වරණය.z;
int32_t රැඳී සිටින්න = (int32_t)(ඊළඟ_ටික් - මයික්රෝස්());
(ඉන්න > 0) ප්රමාද වුවහොත් මයික්රෝ තත්පර(ඉන්න);
}
සංඥා_ටී සංඥාව;
int err = අංකය::signal_from_buffer(බෆරය,
EI_CLASSIFIER_DSP_INPUT_FRAME_SIZE, &සංඥාව);
(err != 0) ආපසු ලබා දෙන්නේ නම්;
ei_impulse_result_t ප්රතිඵලය = {0};
EI_IMPULSE_ERROR res = run_classifier(&signal, &result,
නිදොස්කරණය_nn);
(res != EI_IMPULSE_OK) ආපසු ලබා දෙන්නේ නම්;
(size_t ix = 0; ix <EI_CLASSIFIER_LABEL_COUNT; ix++) සඳහා {
ei_printf(“%s: %3f”, ප්රතිඵලය.වර්ගීකරණය[ix].ලේබලය,
ප්රතිඵලය.වර්ගීකරණය[ix].අගය);
}
#EI_CLASSIFIER_ඇනමලි == 1 නම්
ei_printf(“විෂමතාව: %.3f”, ප්රතිඵලය.විෂමතාව);
#endif
ei_printf(“\n”);
}
ප්රතිදානය exampලෙ:
ඉඟි:
ඔබගේ දත්ත යොමු කිරීමේ සංඛ්යාතය (උදා: 100 Hz → 10 ms) සමඟ EI_CLASSIFIER_INTERVAL_MS සමමුහුර්තව තබා ගන්න. Edge Impulse පුස්තකාලය මෙම නියතය ඔබගේ ආවේගයෙන් ස්වයංක්රීයව සකසයි.
ඔබට අඛණ්ඩ අනාවරණය (ස්ලයිඩින් කවුළුව) අවශ්ය නම්, අඛණ්ඩ ex වලින් ආරම්භ කරන්න.ample EI පුස්තකාලය සමඟ ඇතුළත් කර ඇති අතර ADXL345 කියවීම් වල හුවමාරු කර ඇත.
අපි ඉක්මනින්ම වීඩියෝ නිබන්ධන එකතු කරන්නෙමු; එතෙක්, රැඳී සිටින්න - https://www.youtube.com/@RobuInlabs
ඔබට තවමත් යම් සැකයක් ඇත්නම්, ඔබට Edged Impulse හි මෙම වීඩියෝව නැරඹිය හැකිය: https://www.youtube.com/watch?v=FseGCn-oBA0&t=468s

ලේඛන / සම්පත්
![]() |
Arduino ABX00087 UNO R4 WiFi සංවර්ධන මණ්ඩලය [pdf] පරිශීලක මාර්ගෝපදේශය R4 WiFi, ADXL345, ABX00087 UNO R4 WiFi සංවර්ධන මණ්ඩලය, ABX00087, UNO R4 WiFi සංවර්ධන මණ්ඩලය, WiFi සංවර්ධන මණ්ඩලය, සංවර්ධන මණ්ඩලය, මණ්ඩලය |
