diff --git a/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.my.png b/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.my.png
new file mode 100644
index 00000000..1ba4f5c7
Binary files /dev/null and b/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.my.png differ
diff --git a/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.uk.png b/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.uk.png
new file mode 100644
index 00000000..1ba4f5c7
Binary files /dev/null and b/translated_images/IMG_5305.aa291c8812a9f1e5b08f3e789f9858e9eacc88c4bbc23296df1bffbbd9c671b3.uk.png differ
diff --git a/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.my.png b/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.my.png
new file mode 100644
index 00000000..3cac91bb
Binary files /dev/null and b/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.my.png differ
diff --git a/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.uk.png b/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.uk.png
new file mode 100644
index 00000000..3cac91bb
Binary files /dev/null and b/translated_images/IMG_5306.d575b9ab7025877b0ceba872490fa561edf3c4fcd5e8cca4ae2607a309d48c50.uk.png differ
diff --git a/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.my.png b/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.my.png
new file mode 100644
index 00000000..967e6539
Binary files /dev/null and b/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.my.png differ
diff --git a/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.uk.png b/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.uk.png
new file mode 100644
index 00000000..967e6539
Binary files /dev/null and b/translated_images/IMG_5307.f9c9b8361a8aa7345cc6e8ae05cf6b7583d43d3c37ecfbd76d3fdc531e3ac59c.uk.png differ
diff --git a/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.my.png b/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.my.png
new file mode 100644
index 00000000..247c1dd6
Binary files /dev/null and b/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.my.png differ
diff --git a/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.uk.png b/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.uk.png
new file mode 100644
index 00000000..247c1dd6
Binary files /dev/null and b/translated_images/IMG_5308.cbd6ed7007e6906012162c19b9e4097936c57873cdb2e54159899066c4281dc5.uk.png differ
diff --git a/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.my.png b/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.my.png
new file mode 100644
index 00000000..e89d81c4
Binary files /dev/null and b/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.my.png differ
diff --git a/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.uk.png b/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.uk.png
new file mode 100644
index 00000000..e89d81c4
Binary files /dev/null and b/translated_images/IMG_5309.23fbc3b6667bfb64fa44804f835f38885ad37d02b0a1c1c6e8d89f9a78ba19b4.uk.png differ
diff --git a/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.my.png b/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.my.png
new file mode 100644
index 00000000..0237836d
Binary files /dev/null and b/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.my.png differ
diff --git a/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.uk.png b/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.uk.png
new file mode 100644
index 00000000..0237836d
Binary files /dev/null and b/translated_images/IMG_5310.0ee0eb2fbc1c2d0e2d331e74d32b371a4086c07b0839817e9d6b7d4b5c98fc60.uk.png differ
diff --git a/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.my.png b/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.my.png
new file mode 100644
index 00000000..4229fee0
Binary files /dev/null and b/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.my.png differ
diff --git a/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.uk.png b/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.uk.png
new file mode 100644
index 00000000..4229fee0
Binary files /dev/null and b/translated_images/IMG_5311.8c90da6446c2d8c2ad70dd9e64f29b2b6f2b4d117f8502c3181be66297cc84da.uk.png differ
diff --git a/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.my.png b/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.my.png
new file mode 100644
index 00000000..9b503ac8
Binary files /dev/null and b/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.my.png differ
diff --git a/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.uk.png b/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.uk.png
new file mode 100644
index 00000000..9b503ac8
Binary files /dev/null and b/translated_images/IMG_5312.a45550ddd8ce8e654919361d52b919e2f8b1dbd01439268b5d3b813133a4e19b.uk.png differ
diff --git a/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.my.png b/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.my.png
new file mode 100644
index 00000000..c98b7aaf
Binary files /dev/null and b/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.my.png differ
diff --git a/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.uk.png b/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.uk.png
new file mode 100644
index 00000000..c98b7aaf
Binary files /dev/null and b/translated_images/IMG_5313.ed1b45211271dbd23dc596ce9f72078aba665bd5f21088a616a85dd966100427.uk.png differ
diff --git a/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.my.png b/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.my.png
new file mode 100644
index 00000000..706f83bc
Binary files /dev/null and b/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.my.png differ
diff --git a/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.uk.png b/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.uk.png
new file mode 100644
index 00000000..706f83bc
Binary files /dev/null and b/translated_images/IMG_5314.c2203206a05a74b5a4f10a68bbe274e65849a63e1fefe008b2c94be4ae86839c.uk.png differ
diff --git a/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.my.png b/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.my.png
new file mode 100644
index 00000000..76bec4da
Binary files /dev/null and b/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.my.png differ
diff --git a/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.uk.png b/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.uk.png
new file mode 100644
index 00000000..76bec4da
Binary files /dev/null and b/translated_images/IMG_5315.f698228e0e031bd430efcfab0d08b00d9f3af5289133ce88a9f56c0c3478cd71.uk.png differ
diff --git a/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.my.png b/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.my.png
new file mode 100644
index 00000000..b49060a2
Binary files /dev/null and b/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.my.png differ
diff --git a/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.uk.png b/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.uk.png
new file mode 100644
index 00000000..b49060a2
Binary files /dev/null and b/translated_images/IMG_5316.29dc70d802ce83497258426614e3e1426a91d6f9777e853daa4a9351b841b94f.uk.png differ
diff --git a/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.my.png b/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.my.png
new file mode 100644
index 00000000..3ca064d5
Binary files /dev/null and b/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.my.png differ
diff --git a/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.uk.png b/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.uk.png
new file mode 100644
index 00000000..3ca064d5
Binary files /dev/null and b/translated_images/IMG_5317.ed81e4c1ca5046dc50613049e39c905157fbb318ea19db44c738db513ac501b1.uk.png differ
diff --git a/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.my.png b/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.my.png
new file mode 100644
index 00000000..1f5f2412
Binary files /dev/null and b/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.my.png differ
diff --git a/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.uk.png b/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.uk.png
new file mode 100644
index 00000000..1f5f2412
Binary files /dev/null and b/translated_images/IMG_5318.15dfffeb7f47abf7ca0393628024c1fd45761193ab23185c315e899bd0e7048b.uk.png differ
diff --git a/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.my.png b/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.my.png
new file mode 100644
index 00000000..2953cea1
Binary files /dev/null and b/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.my.png differ
diff --git a/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.uk.png b/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.uk.png
new file mode 100644
index 00000000..2953cea1
Binary files /dev/null and b/translated_images/IMG_5319.b549b1fff0dcf143c2483044d0519a3c6dc3de12c88860911b378688e7a4e01b.uk.png differ
diff --git a/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.my.png b/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.my.png
new file mode 100644
index 00000000..2ce7dedf
Binary files /dev/null and b/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.my.png differ
diff --git a/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.uk.png b/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.uk.png
new file mode 100644
index 00000000..2ce7dedf
Binary files /dev/null and b/translated_images/IMG_5320.8268d3f61972f348df46401d107399af17512db9ef769f6a44c6cbb18faba998.uk.png differ
diff --git a/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.my.png b/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.my.png
new file mode 100644
index 00000000..157c08c6
Binary files /dev/null and b/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.my.png differ
diff --git a/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.uk.png b/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.uk.png
new file mode 100644
index 00000000..157c08c6
Binary files /dev/null and b/translated_images/IMG_5321.b207cf143a59458d150cb1fbd44c3678d14f9cfffe77a0ec64e1cdfe1436df1c.uk.png differ
diff --git a/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.my.png b/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.my.png
new file mode 100644
index 00000000..031361a6
Binary files /dev/null and b/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.my.png differ
diff --git a/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.uk.png b/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.uk.png
new file mode 100644
index 00000000..031361a6
Binary files /dev/null and b/translated_images/IMG_5322.974809b9461a9e200e99ae46142b4885e093e5b9b668e0fd818de461e27856a7.uk.png differ
diff --git a/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.my.png b/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.my.png
new file mode 100644
index 00000000..3a43eb23
Binary files /dev/null and b/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.my.png differ
diff --git a/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.uk.png b/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.uk.png
new file mode 100644
index 00000000..3a43eb23
Binary files /dev/null and b/translated_images/IMG_5323.4939fa17958f291bb856032bbd044a709c0199b2e3846f1801a7836d4455dd26.uk.png differ
diff --git a/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.my.png b/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.my.png
new file mode 100644
index 00000000..7c9552e3
Binary files /dev/null and b/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.my.png differ
diff --git a/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.uk.png b/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.uk.png
new file mode 100644
index 00000000..7c9552e3
Binary files /dev/null and b/translated_images/IMG_5324.0afbc6f0caceb1a341a9606fc9b879938eebebbc8401fce37dff2b167ed4b410.uk.png differ
diff --git a/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.my.png b/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.my.png
new file mode 100644
index 00000000..78f695b7
Binary files /dev/null and b/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.my.png differ
diff --git a/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.uk.png b/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.uk.png
new file mode 100644
index 00000000..78f695b7
Binary files /dev/null and b/translated_images/IMG_5325.9e9d9e9b85a10b06ac6038bf88ef91ef56fd371ed9e67b53495cd6878019faf9.uk.png differ
diff --git a/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.my.png b/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.my.png
new file mode 100644
index 00000000..77f563fb
Binary files /dev/null and b/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.my.png differ
diff --git a/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.uk.png b/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.uk.png
new file mode 100644
index 00000000..77f563fb
Binary files /dev/null and b/translated_images/IMG_5326.35bbc9e054c704d0418a8ba7418aa38f51baee13bd2b00cfe8300e1500fa9f32.uk.png differ
diff --git a/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.my.png b/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.my.png
new file mode 100644
index 00000000..8dccd514
Binary files /dev/null and b/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.my.png differ
diff --git a/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.uk.png b/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.uk.png
new file mode 100644
index 00000000..8dccd514
Binary files /dev/null and b/translated_images/IMG_5327.804b63a605b5a77a7b60c2fbf370be0f7364f2b5acb98c736420728e61845b62.uk.png differ
diff --git a/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.my.png b/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.my.png
new file mode 100644
index 00000000..b75e015e
Binary files /dev/null and b/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.my.png differ
diff --git a/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.uk.png b/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.uk.png
new file mode 100644
index 00000000..b75e015e
Binary files /dev/null and b/translated_images/IMG_5328.925a9da23d96759f6c7c13bfcd94b8063bb5082d2e8a0431058c057e6d14446b.uk.png differ
diff --git a/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.my.png b/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.my.png
new file mode 100644
index 00000000..5bfed282
Binary files /dev/null and b/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.my.png differ
diff --git a/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.uk.png b/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.uk.png
new file mode 100644
index 00000000..5bfed282
Binary files /dev/null and b/translated_images/IMG_5329.27da5fcbc3336773e94bbd2640df07799c76051bf97d2db7891d47bc462c6e09.uk.png differ
diff --git a/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.my.png b/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.my.png
new file mode 100644
index 00000000..34ca765c
Binary files /dev/null and b/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.my.png differ
diff --git a/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.uk.png b/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.uk.png
new file mode 100644
index 00000000..34ca765c
Binary files /dev/null and b/translated_images/IMG_5330.3db3d5ea01c8cca2ae41cf5ea501a0a836569a3abbc2ae95696e0ad1dd005b6a.uk.png differ
diff --git a/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.my.png b/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.my.png
new file mode 100644
index 00000000..d1f7bc09
Binary files /dev/null and b/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.my.png differ
diff --git a/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.uk.png b/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.uk.png
new file mode 100644
index 00000000..d1f7bc09
Binary files /dev/null and b/translated_images/IMG_5331.181987d3d094472fbf569a61760fadf282575f2821138de50007e408fd63182e.uk.png differ
diff --git a/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.my.png b/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.my.png
new file mode 100644
index 00000000..c215b446
Binary files /dev/null and b/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.my.png differ
diff --git a/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.uk.png b/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.uk.png
new file mode 100644
index 00000000..c215b446
Binary files /dev/null and b/translated_images/IMG_5332.4beed56eaa5158e3785dbacb53c9670a0ef1699ce386528f4bb9bad50adf88ca.uk.png differ
diff --git a/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.my.png b/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.my.png
new file mode 100644
index 00000000..63f58daa
Binary files /dev/null and b/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.my.png differ
diff --git a/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.uk.png b/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.uk.png
new file mode 100644
index 00000000..63f58daa
Binary files /dev/null and b/translated_images/IMG_5333.53c3364c2ee0e7bb5db0e299915faaf31e47bb99ad045ec8f6de6ca23d323f47.uk.png differ
diff --git a/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.my.png b/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.my.png
new file mode 100644
index 00000000..3eb38501
Binary files /dev/null and b/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.my.png differ
diff --git a/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.uk.png b/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.uk.png
new file mode 100644
index 00000000..3eb38501
Binary files /dev/null and b/translated_images/IMG_5334.979472e433948c109b122ae4bbd0f96971dc2e7b1e64615776ebb7337a97e183.uk.png differ
diff --git a/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.my.png b/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.my.png
new file mode 100644
index 00000000..4f960870
Binary files /dev/null and b/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.my.png differ
diff --git a/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.uk.png b/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.uk.png
new file mode 100644
index 00000000..4f960870
Binary files /dev/null and b/translated_images/IMG_5335.9f5bfba69a8d5a901c3e3b994a69f62a00d73ef9209b85561553d2ae99a56615.uk.png differ
diff --git a/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.my.png b/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.my.png
new file mode 100644
index 00000000..ca5b5882
Binary files /dev/null and b/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.my.png differ
diff --git a/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.uk.png b/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.uk.png
new file mode 100644
index 00000000..ca5b5882
Binary files /dev/null and b/translated_images/IMG_5336.1b46586fdec957670ea71c1bd68c26f73aa95cd5671d057328fd198640729db7.uk.png differ
diff --git a/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.my.png b/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.my.png
new file mode 100644
index 00000000..2c3440cd
Binary files /dev/null and b/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.my.png differ
diff --git a/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.uk.png b/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.uk.png
new file mode 100644
index 00000000..2c3440cd
Binary files /dev/null and b/translated_images/IMG_5337.91c82be4d37029b03cbb07553d92b9d2dd672e22a07fee6453cbc40568fbdef3.uk.png differ
diff --git a/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.my.png b/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.my.png
new file mode 100644
index 00000000..5294a9dc
Binary files /dev/null and b/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.my.png differ
diff --git a/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.uk.png b/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.uk.png
new file mode 100644
index 00000000..5294a9dc
Binary files /dev/null and b/translated_images/IMG_5338.9ab356541448923b528f2dedecd72d7ecd07d53cc69118aeb861c39dccb8b8cc.uk.png differ
diff --git a/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.my.png b/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.my.png
new file mode 100644
index 00000000..912ac4ca
Binary files /dev/null and b/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.my.png differ
diff --git a/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.uk.png b/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.uk.png
new file mode 100644
index 00000000..912ac4ca
Binary files /dev/null and b/translated_images/IMG_5340.8440651b3ce1dd35d9962036330b32a600fb3f59078a581a05c93920c5012b3a.uk.png differ
diff --git a/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.my.png b/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.my.png
new file mode 100644
index 00000000..8e47de7d
Binary files /dev/null and b/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.my.png differ
diff --git a/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.uk.png b/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.uk.png
new file mode 100644
index 00000000..8e47de7d
Binary files /dev/null and b/translated_images/IMG_5341.a1aa041c42dbc534c033447b06f0546fdd779b3ed5034992ded08a45a960fff5.uk.png differ
diff --git a/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.my.png b/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.my.png
new file mode 100644
index 00000000..b3c98d83
Binary files /dev/null and b/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.my.png differ
diff --git a/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.uk.png b/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.uk.png
new file mode 100644
index 00000000..b3c98d83
Binary files /dev/null and b/translated_images/IMG_5342.9f3b93d9fab90d3b3c1936edb55768b57024c9ebe88a214be315f5ebb083e45d.uk.png differ
diff --git a/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.my.png b/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.my.png
new file mode 100644
index 00000000..1d494613
Binary files /dev/null and b/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.my.png differ
diff --git a/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.uk.png b/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.uk.png
new file mode 100644
index 00000000..1d494613
Binary files /dev/null and b/translated_images/IMG_5343.fa30105d3c10cad2079ca2b2f023e9dab8f82824a235be61837d7e9d09d8d067.uk.png differ
diff --git a/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.my.png b/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.my.png
new file mode 100644
index 00000000..47ced39a
Binary files /dev/null and b/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.my.png differ
diff --git a/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.uk.png b/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.uk.png
new file mode 100644
index 00000000..47ced39a
Binary files /dev/null and b/translated_images/IMG_5344.acfcd61ee5281321426b2d93efeeb01a60505e73b4c5ee6224c7fa375027b9d8.uk.png differ
diff --git a/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.my.png b/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.my.png
new file mode 100644
index 00000000..88d5c896
Binary files /dev/null and b/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.my.png differ
diff --git a/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.uk.png b/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.uk.png
new file mode 100644
index 00000000..88d5c896
Binary files /dev/null and b/translated_images/IMG_5345.3d305ee2bb4ee8040102a8d1922cdf0450f619c6824add16014a4c0887c18b1d.uk.png differ
diff --git a/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.my.png b/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.my.png
new file mode 100644
index 00000000..e0706533
Binary files /dev/null and b/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.my.png differ
diff --git a/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.uk.png b/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.uk.png
new file mode 100644
index 00000000..e0706533
Binary files /dev/null and b/translated_images/IMG_5346.281dcc267f69c70b2bc2353b5e8289617c7bf3608f889dae8a582b9376a9ae7d.uk.png differ
diff --git a/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.my.png b/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.my.png
new file mode 100644
index 00000000..a1f17249
Binary files /dev/null and b/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.my.png differ
diff --git a/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.uk.png b/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.uk.png
new file mode 100644
index 00000000..a1f17249
Binary files /dev/null and b/translated_images/IMG_5347.48a4a981e76910ae1c65bf75102883039be5f0ded32b73f3d09d855f5b7dc977.uk.png differ
diff --git a/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.my.png b/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.my.png
new file mode 100644
index 00000000..3adc61ef
Binary files /dev/null and b/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.my.png differ
diff --git a/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.uk.png b/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.uk.png
new file mode 100644
index 00000000..3adc61ef
Binary files /dev/null and b/translated_images/IMG_5348.3961d3b444537c131299f8906dc4e2f7c3c172591ffeacb45719ec3d3718b625.uk.png differ
diff --git a/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.my.png b/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.my.png
new file mode 100644
index 00000000..1c3c8d53
Binary files /dev/null and b/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.my.png differ
diff --git a/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.uk.png b/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.uk.png
new file mode 100644
index 00000000..1c3c8d53
Binary files /dev/null and b/translated_images/IMG_5349.1f0ec7fbf8807b3bf991dd5400cfb69ded9fe53059bd1e71934f4dbd7ff963db.uk.png differ
diff --git a/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.my.jpg b/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.my.jpg
new file mode 100644
index 00000000..0f4a9a38
Binary files /dev/null and b/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.my.jpg differ
diff --git a/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.uk.jpg b/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.uk.jpg
new file mode 100644
index 00000000..0f4a9a38
Binary files /dev/null and b/translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.uk.jpg differ
diff --git a/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.my.png b/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.my.png
new file mode 100644
index 00000000..32dab60c
Binary files /dev/null and b/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.my.png differ
diff --git a/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.uk.png b/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.uk.png
new file mode 100644
index 00000000..32dab60c
Binary files /dev/null and b/translated_images/amqp.804bd4fce83301578f19af1b877f8ce87a6473a3616fb6c3f901fe4041ab6c96.uk.png differ
diff --git a/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.my.png b/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.my.png
new file mode 100644
index 00000000..78e9b675
Binary files /dev/null and b/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.my.png differ
diff --git a/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.uk.png b/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.uk.png
new file mode 100644
index 00000000..78e9b675
Binary files /dev/null and b/translated_images/analog-sensor-voltage.3b6f3153922473997cae6f71a6110d89a020a8a1838a83fba4f97e8fa6cef3ac.uk.png differ
diff --git a/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.my.png b/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.my.png
new file mode 100644
index 00000000..fb87dd71
Binary files /dev/null and b/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.my.png differ
diff --git a/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.uk.png b/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.uk.png
new file mode 100644
index 00000000..fb87dd71
Binary files /dev/null and b/translated_images/arducam-wio-terminal-connections.a4d5a4049bdb5ab800a2877389fc6ecf5e4ff307e6451ff56c517e6786467d0a.uk.png differ
diff --git a/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.my.png b/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.my.png
new file mode 100644
index 00000000..acaa9a02
Binary files /dev/null and b/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.my.png differ
diff --git a/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.uk.png b/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.uk.png
new file mode 100644
index 00000000..acaa9a02
Binary files /dev/null and b/translated_images/arducam.20e4e4cbb268296570b5914e20d6c349fc42ddac9ed4e1b9deba2188204eebae.uk.png differ
diff --git a/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.my.png b/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.my.png
new file mode 100644
index 00000000..b6afaa8a
Binary files /dev/null and b/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.my.png differ
diff --git a/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.uk.png b/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.uk.png
new file mode 100644
index 00000000..b6afaa8a
Binary files /dev/null and b/translated_images/arduino-sketch.79590cb837ff7a7c6a68d1afda6cab83fd53d3bb1bd9a8bf2eaf8d693a4d3ea6.uk.png differ
diff --git a/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.my.png b/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.my.png
new file mode 100644
index 00000000..18f92ede
Binary files /dev/null and b/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.my.png differ
diff --git a/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.uk.png b/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.uk.png
new file mode 100644
index 00000000..18f92ede
Binary files /dev/null and b/translated_images/assignment-1-flow.7552a51acb1a5ec858dca6e855cdbb44206434006df8ba3799a25afcdab1665d.uk.png differ
diff --git a/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.my.png b/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.my.png
new file mode 100644
index 00000000..e1eb6df0
Binary files /dev/null and b/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.my.png differ
diff --git a/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.uk.png b/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.uk.png
new file mode 100644
index 00000000..e1eb6df0
Binary files /dev/null and b/translated_images/assignment-1-internet-flow.3256feab5f052fd273bf4e331157c574c2c3fa42e479836fc9c3586f41db35a5.uk.png differ
diff --git a/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.my.png b/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.my.png
new file mode 100644
index 00000000..dfcfde45
Binary files /dev/null and b/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.my.png differ
diff --git a/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.uk.png b/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.uk.png
new file mode 100644
index 00000000..dfcfde45
Binary files /dev/null and b/translated_images/azure-container-registry-logo.09494206991d4b295025ebff7d4e2900325e527a59184ffbc8464b6ab59654be.uk.png differ
diff --git a/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.my.png b/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.my.png
new file mode 100644
index 00000000..44af1896
Binary files /dev/null and b/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.my.png differ
diff --git a/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.uk.png b/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.uk.png
new file mode 100644
index 00000000..44af1896
Binary files /dev/null and b/translated_images/azure-functions-logo.1cfc8e3204c9c44aaf80fcf406fc8544d80d7f00f8d3e8ed6fed764563e17564.uk.png differ
diff --git a/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.my.png b/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.my.png
new file mode 100644
index 00000000..6d749e6c
Binary files /dev/null and b/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.my.png differ
diff --git a/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.uk.png b/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.uk.png
new file mode 100644
index 00000000..6d749e6c
Binary files /dev/null and b/translated_images/azure-iot-edge-logo.c1c076749b5cba2e8755262fadc2f19ca1146b948d76990b1229199ac2292d79.uk.png differ
diff --git a/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.my.png b/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.my.png
new file mode 100644
index 00000000..7485e36c
Binary files /dev/null and b/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.my.png differ
diff --git a/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.uk.png b/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.uk.png
new file mode 100644
index 00000000..7485e36c
Binary files /dev/null and b/translated_images/azure-iot-hub-logo.28a19de76d0a1932464d858f7558712bcdace3e5ec69c434d482ed7ce41c3a26.uk.png differ
diff --git a/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.my.png b/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.my.png
new file mode 100644
index 00000000..0f499097
Binary files /dev/null and b/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.my.png differ
diff --git a/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.uk.png b/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.uk.png
new file mode 100644
index 00000000..0f499097
Binary files /dev/null and b/translated_images/azure-maps-logo.35d01dcfbd81fe6140e94257aaa1538f785a58c91576d14e0ebe7a2f6c694b99.uk.png differ
diff --git a/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.my.png b/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.my.png
new file mode 100644
index 00000000..710c440c
Binary files /dev/null and b/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.my.png differ
diff --git a/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.uk.png b/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.uk.png
new file mode 100644
index 00000000..710c440c
Binary files /dev/null and b/translated_images/azure-region-existing.73f704604f2aa6cb9b5a49ed40e93d4fd81ae3f4e6af4a8ca504023902832f56.uk.png differ
diff --git a/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.my.png b/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.my.png
new file mode 100644
index 00000000..24cecced
Binary files /dev/null and b/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.my.png differ
diff --git a/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.uk.png b/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.uk.png
new file mode 100644
index 00000000..24cecced
Binary files /dev/null and b/translated_images/azure-region-planned-expansion.a5074a1e8af74f156a73552d502429e5b126ea5019274d767ecb4b9afdad442b.uk.png differ
diff --git a/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.my.png b/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.my.png
new file mode 100644
index 00000000..b36025d9
Binary files /dev/null and b/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.my.png differ
diff --git a/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.uk.png b/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.uk.png
new file mode 100644
index 00000000..b36025d9
Binary files /dev/null and b/translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.uk.png differ
diff --git a/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.my.png b/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.my.png
new file mode 100644
index 00000000..b21a4bed
Binary files /dev/null and b/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.my.png differ
diff --git a/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.uk.png b/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.uk.png
new file mode 100644
index 00000000..b21a4bed
Binary files /dev/null and b/translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.uk.png differ
diff --git a/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.my.png b/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.my.png
new file mode 100644
index 00000000..8da6f9a4
Binary files /dev/null and b/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.my.png differ
diff --git a/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.uk.png b/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.uk.png
new file mode 100644
index 00000000..8da6f9a4
Binary files /dev/null and b/translated_images/azure-translator-logo.c6ed3a4a433edfd2f11577eca105412c50b8396b194cbbd730723dd1d0793bcd.uk.png differ
diff --git a/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.my.jpg b/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.my.jpg
new file mode 100644
index 00000000..437f3d07
Binary files /dev/null and b/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.my.jpg differ
diff --git a/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.uk.jpg b/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.uk.jpg
new file mode 100644
index 00000000..437f3d07
Binary files /dev/null and b/translated_images/banana-arducam.be1b32d4267a8194b0fd042362e56faa431da9cd4af172051b37243ea9be0256.uk.jpg differ
diff --git a/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.my.png b/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.my.png
new file mode 100644
index 00000000..cc61fb13
Binary files /dev/null and b/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.my.png differ
diff --git a/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.uk.png b/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.uk.png
new file mode 100644
index 00000000..cc61fb13
Binary files /dev/null and b/translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.uk.png differ
diff --git a/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.my.png b/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.my.png
new file mode 100644
index 00000000..3472b1d9
Binary files /dev/null and b/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.my.png differ
diff --git a/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.uk.png b/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.uk.png
new file mode 100644
index 00000000..3472b1d9
Binary files /dev/null and b/translated_images/banana-ripe-1.6ed72365ffc9230064fbaefdb698bde74529ad5b3c747a4a28421b534730fa5f.uk.png differ
diff --git a/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.my.png b/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.my.png
new file mode 100644
index 00000000..0bbca602
Binary files /dev/null and b/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.my.png differ
diff --git a/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.uk.png b/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.uk.png
new file mode 100644
index 00000000..0bbca602
Binary files /dev/null and b/translated_images/banana-ripe-1.780e9be3a60d8879826126ee1e84e135ffa20ec91697bb759daf7ba0b76c811b.uk.png differ
diff --git a/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.my.png b/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.my.png
new file mode 100644
index 00000000..b5775adc
Binary files /dev/null and b/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.my.png differ
diff --git a/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.uk.png b/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.uk.png
new file mode 100644
index 00000000..b5775adc
Binary files /dev/null and b/translated_images/banana-ripe-10.c3d98eb280e7464ffa36da1fa18413db4fd032da973b098bb4978d6d99c1a3af.uk.png differ
diff --git a/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.my.png b/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.my.png
new file mode 100644
index 00000000..bc58477a
Binary files /dev/null and b/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.my.png differ
diff --git a/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.uk.png b/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.uk.png
new file mode 100644
index 00000000..bc58477a
Binary files /dev/null and b/translated_images/banana-ripe-11.3d932f292b95b9a202082ce75f5b52ecaf43718721661810b53f7a5a2c4b4133.uk.png differ
diff --git a/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.my.png b/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.my.png
new file mode 100644
index 00000000..1b7a40f4
Binary files /dev/null and b/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.my.png differ
diff --git a/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.uk.png b/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.uk.png
new file mode 100644
index 00000000..1b7a40f4
Binary files /dev/null and b/translated_images/banana-ripe-12.9f87e663b9da6c8525f3ce63c5c0a1c095e42675e2a6af9b0fddb14ebb1e0b4b.uk.png differ
diff --git a/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.my.png b/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.my.png
new file mode 100644
index 00000000..011b07a3
Binary files /dev/null and b/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.my.png differ
diff --git a/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.uk.png b/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.uk.png
new file mode 100644
index 00000000..011b07a3
Binary files /dev/null and b/translated_images/banana-ripe-13.b7402e05160f454309533a578849d7e79f92dd70799428943d7211c2fbb82465.uk.png differ
diff --git a/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.my.png b/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.my.png
new file mode 100644
index 00000000..7f9d24ef
Binary files /dev/null and b/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.my.png differ
diff --git a/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.uk.png b/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.uk.png
new file mode 100644
index 00000000..7f9d24ef
Binary files /dev/null and b/translated_images/banana-ripe-14.85cf309aa702cfa870286a5f8838ee5875a655074a982bafe5b8d32d4d5819f2.uk.png differ
diff --git a/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.my.png b/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.my.png
new file mode 100644
index 00000000..0c6a7067
Binary files /dev/null and b/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.my.png differ
diff --git a/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.uk.png b/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.uk.png
new file mode 100644
index 00000000..0c6a7067
Binary files /dev/null and b/translated_images/banana-ripe-15.933412eb14a3f8e419c764c8157d1e5f25256972a8dcf450aa630b8c007c8c3d.uk.png differ
diff --git a/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.my.png b/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.my.png
new file mode 100644
index 00000000..8f7968a5
Binary files /dev/null and b/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.my.png differ
diff --git a/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.uk.png b/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.uk.png
new file mode 100644
index 00000000..8f7968a5
Binary files /dev/null and b/translated_images/banana-ripe-16.781a68a01401f89e5e523c88e659a0f9697b7de378571c91e597edc0d0c2eb07.uk.png differ
diff --git a/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.my.png b/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.my.png
new file mode 100644
index 00000000..20c6036f
Binary files /dev/null and b/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.my.png differ
diff --git a/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.uk.png b/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.uk.png
new file mode 100644
index 00000000..20c6036f
Binary files /dev/null and b/translated_images/banana-ripe-17.f8e2853a40d3ac450e290036792b75ac4b8da5883536478722fb336d5f66517e.uk.png differ
diff --git a/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.my.png b/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.my.png
new file mode 100644
index 00000000..f077b6e9
Binary files /dev/null and b/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.my.png differ
diff --git a/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.uk.png b/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.uk.png
new file mode 100644
index 00000000..f077b6e9
Binary files /dev/null and b/translated_images/banana-ripe-18.3d05f5f78ecf6f0d74aecdafb8e415851a5333e5dbc016ac1870ab5e4c383b07.uk.png differ
diff --git a/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.my.png b/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.my.png
new file mode 100644
index 00000000..484206d5
Binary files /dev/null and b/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.my.png differ
diff --git a/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.uk.png b/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.uk.png
new file mode 100644
index 00000000..484206d5
Binary files /dev/null and b/translated_images/banana-ripe-19.ac3b0fc6cf6fdfd5523227bc246c915b228bc3d4bc1c72f6612723ed889023b5.uk.png differ
diff --git a/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.my.png b/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.my.png
new file mode 100644
index 00000000..9fa156e2
Binary files /dev/null and b/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.my.png differ
diff --git a/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.uk.png b/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.uk.png
new file mode 100644
index 00000000..9fa156e2
Binary files /dev/null and b/translated_images/banana-ripe-2.8ab96da692df69f1c78bd3a93acfdb17bc292ac964a3f3bac9249ba1dd1681c3.uk.png differ
diff --git a/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.my.png b/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.my.png
new file mode 100644
index 00000000..b0813972
Binary files /dev/null and b/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.my.png differ
diff --git a/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.uk.png b/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.uk.png
new file mode 100644
index 00000000..b0813972
Binary files /dev/null and b/translated_images/banana-ripe-2.96ddc53114c5f020a328b264174eef43d2096620c6b10ff5189e99674c1dfa8c.uk.png differ
diff --git a/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.my.png b/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.my.png
new file mode 100644
index 00000000..4f2da8dc
Binary files /dev/null and b/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.my.png differ
diff --git a/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.uk.png b/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.uk.png
new file mode 100644
index 00000000..4f2da8dc
Binary files /dev/null and b/translated_images/banana-ripe-20.a4d0ad33a7e6f037ac9276dc751ae62d56d3cc16e625837197ef49da426bc3c8.uk.png differ
diff --git a/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.my.png b/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.my.png
new file mode 100644
index 00000000..8ae3904c
Binary files /dev/null and b/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.my.png differ
diff --git a/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.uk.png b/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.uk.png
new file mode 100644
index 00000000..8ae3904c
Binary files /dev/null and b/translated_images/banana-ripe-21.07e03d64f265d55dfe3b304df3e36f06140b87f80ae2cadd22a7736e2855eb8f.uk.png differ
diff --git a/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.my.png b/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.my.png
new file mode 100644
index 00000000..ea5cbe30
Binary files /dev/null and b/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.my.png differ
diff --git a/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.uk.png b/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.uk.png
new file mode 100644
index 00000000..ea5cbe30
Binary files /dev/null and b/translated_images/banana-ripe-22.a63c05aeb7f866fc64b6ac04e6fa68e1d1a22d729ad16d9fadf3357df97654a3.uk.png differ
diff --git a/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.my.png b/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.my.png
new file mode 100644
index 00000000..eab9fb03
Binary files /dev/null and b/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.my.png differ
diff --git a/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.uk.png b/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.uk.png
new file mode 100644
index 00000000..eab9fb03
Binary files /dev/null and b/translated_images/banana-ripe-23.6f3364afcab19e571497cb5a3fa2b0c603a303beb31034cb82ae25635f4cc005.uk.png differ
diff --git a/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.my.png b/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.my.png
new file mode 100644
index 00000000..c49c0459
Binary files /dev/null and b/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.my.png differ
diff --git a/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.uk.png b/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.uk.png
new file mode 100644
index 00000000..c49c0459
Binary files /dev/null and b/translated_images/banana-ripe-24.ff2c02cc80a9c4301d1f851af0a96f414fcc844f912ea4bea902877c9d6978f6.uk.png differ
diff --git a/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.my.png b/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.my.png
new file mode 100644
index 00000000..127b0257
Binary files /dev/null and b/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.my.png differ
diff --git a/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.uk.png b/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.uk.png
new file mode 100644
index 00000000..127b0257
Binary files /dev/null and b/translated_images/banana-ripe-25.65ce63418cdc4de2d1d29d0fd35401a9f99e967938e01c3578f13a6b6812ae50.uk.png differ
diff --git a/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.my.png b/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.my.png
new file mode 100644
index 00000000..0b528799
Binary files /dev/null and b/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.my.png differ
diff --git a/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.uk.png b/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.uk.png
new file mode 100644
index 00000000..0b528799
Binary files /dev/null and b/translated_images/banana-ripe-3.4fae05a0a1d2b5f010998afee52fb77a113453a95331c76eb4b509c14d5cb5d7.uk.png differ
diff --git a/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.my.png b/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.my.png
new file mode 100644
index 00000000..e5b04c65
Binary files /dev/null and b/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.my.png differ
diff --git a/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.uk.png b/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.uk.png
new file mode 100644
index 00000000..e5b04c65
Binary files /dev/null and b/translated_images/banana-ripe-5.c762086879ccec4c5402fb5dd5387f4ee4c208de3ec13fd69a5461ef36cde34a.uk.png differ
diff --git a/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.my.png b/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.my.png
new file mode 100644
index 00000000..46543926
Binary files /dev/null and b/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.my.png differ
diff --git a/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.uk.png b/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.uk.png
new file mode 100644
index 00000000..46543926
Binary files /dev/null and b/translated_images/banana-ripe-6.5131bcbf492980cb737c3658b96f6ff3381ced4cd6505588b05bd95d82965c49.uk.png differ
diff --git a/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.my.png b/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.my.png
new file mode 100644
index 00000000..46e99668
Binary files /dev/null and b/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.my.png differ
diff --git a/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.uk.png b/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.uk.png
new file mode 100644
index 00000000..46e99668
Binary files /dev/null and b/translated_images/banana-ripe-7.5fc18dfe7b7ae9dc5afe27cc6c0ce162c819b78b69b05f6f9c1636d5d1b82edc.uk.png differ
diff --git a/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.my.png b/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.my.png
new file mode 100644
index 00000000..c012d47d
Binary files /dev/null and b/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.my.png differ
diff --git a/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.uk.png b/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.uk.png
new file mode 100644
index 00000000..c012d47d
Binary files /dev/null and b/translated_images/banana-ripe-8.dba1d33bd34d4830201c15a9c35c56fde4b1a45dc7dc5e3a7def9986bf1b6c28.uk.png differ
diff --git a/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.my.png b/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.my.png
new file mode 100644
index 00000000..fa44061a
Binary files /dev/null and b/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.my.png differ
diff --git a/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.uk.png b/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.uk.png
new file mode 100644
index 00000000..fa44061a
Binary files /dev/null and b/translated_images/banana-ripe-9.32f91462c8b0e2d3666f49a12afd84462212c5834835f988b3c37441c0493952.uk.png differ
diff --git a/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.my.png b/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.my.png
new file mode 100644
index 00000000..e499b2fd
Binary files /dev/null and b/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.my.png differ
diff --git a/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.uk.png b/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.uk.png
new file mode 100644
index 00000000..e499b2fd
Binary files /dev/null and b/translated_images/banana-training-images.530eb203346d73bc23b8b990fb4609470bf4ff7c942ccc13d4cfffeed9be1ad4.uk.png differ
diff --git a/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.my.png b/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.my.png
new file mode 100644
index 00000000..66e9927a
Binary files /dev/null and b/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.my.png differ
diff --git a/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.uk.png b/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.uk.png
new file mode 100644
index 00000000..66e9927a
Binary files /dev/null and b/translated_images/banana-unripe-1.910c8606a300fa2014a0e0adb31348effd6e0fdd5760fdfe80b8e69533bac6f7.uk.png differ
diff --git a/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.my.png b/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.my.png
new file mode 100644
index 00000000..e512cf63
Binary files /dev/null and b/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.my.png differ
diff --git a/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.uk.png b/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.uk.png
new file mode 100644
index 00000000..e512cf63
Binary files /dev/null and b/translated_images/banana-unripe-1.b2c7051d9c8a4e617be0425bea42775d16f896f3a183344e9038da2d1fb81dea.uk.png differ
diff --git a/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.my.png b/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.my.png
new file mode 100644
index 00000000..89e41b8a
Binary files /dev/null and b/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.my.png differ
diff --git a/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.uk.png b/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.uk.png
new file mode 100644
index 00000000..89e41b8a
Binary files /dev/null and b/translated_images/banana-unripe-10.38dab0db918a24870e655b62e7f3af030eaebe5bcfb7cfebbfb010637b46ba44.uk.png differ
diff --git a/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.my.png b/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.my.png
new file mode 100644
index 00000000..257c3e55
Binary files /dev/null and b/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.my.png differ
diff --git a/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.uk.png b/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.uk.png
new file mode 100644
index 00000000..257c3e55
Binary files /dev/null and b/translated_images/banana-unripe-11.ec8d0eefe63e10b953579d18d4fdd9d89cedc247749ec1d11fdbe49a43f1bc90.uk.png differ
diff --git a/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.my.png b/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.my.png
new file mode 100644
index 00000000..85a581ed
Binary files /dev/null and b/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.my.png differ
diff --git a/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.uk.png b/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.uk.png
new file mode 100644
index 00000000..85a581ed
Binary files /dev/null and b/translated_images/banana-unripe-12.b95a088ccae935db01b47786dac829cb356feb5d4dbfcf8d91e000e9ed3be7a2.uk.png differ
diff --git a/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.my.png b/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.my.png
new file mode 100644
index 00000000..c07f67c3
Binary files /dev/null and b/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.my.png differ
diff --git a/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.uk.png b/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.uk.png
new file mode 100644
index 00000000..c07f67c3
Binary files /dev/null and b/translated_images/banana-unripe-13.37e5a7cac5aa0920343a6dd17dc720499d9f9b7c990cf4bc002f681216a545b7.uk.png differ
diff --git a/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.my.png b/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.my.png
new file mode 100644
index 00000000..c598913b
Binary files /dev/null and b/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.my.png differ
diff --git a/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.uk.png b/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.uk.png
new file mode 100644
index 00000000..c598913b
Binary files /dev/null and b/translated_images/banana-unripe-14.d19ddd6bbf63a2591db0d88a6c81e17d2186dee04b9bb4ff60031009fc0cce0a.uk.png differ
diff --git a/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.my.png b/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.my.png
new file mode 100644
index 00000000..a630a6f3
Binary files /dev/null and b/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.my.png differ
diff --git a/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.uk.png b/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.uk.png
new file mode 100644
index 00000000..a630a6f3
Binary files /dev/null and b/translated_images/banana-unripe-15.274e48544326077a58c0e00e04e98c7abe04bc473caaab64fe3154c551d8a0a8.uk.png differ
diff --git a/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.my.png b/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.my.png
new file mode 100644
index 00000000..f63ad48d
Binary files /dev/null and b/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.my.png differ
diff --git a/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.uk.png b/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.uk.png
new file mode 100644
index 00000000..f63ad48d
Binary files /dev/null and b/translated_images/banana-unripe-16.bd058f64bd7ec014d10bdeb9da39568aeb5871908b5c2a6376a5f97d3101c273.uk.png differ
diff --git a/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.my.png b/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.my.png
new file mode 100644
index 00000000..73c0aea6
Binary files /dev/null and b/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.my.png differ
diff --git a/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.uk.png b/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.uk.png
new file mode 100644
index 00000000..73c0aea6
Binary files /dev/null and b/translated_images/banana-unripe-17.408382d679bfa079fbe89e269fbc05a2602d2f980834601380633a5471c72396.uk.png differ
diff --git a/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.my.png b/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.my.png
new file mode 100644
index 00000000..0768efbc
Binary files /dev/null and b/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.my.png differ
diff --git a/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.uk.png b/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.uk.png
new file mode 100644
index 00000000..0768efbc
Binary files /dev/null and b/translated_images/banana-unripe-18.39c0eb79d7b3b9baf71858801fb8cb8b01e395289bab8c7091a57a97d1dfa075.uk.png differ
diff --git a/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.my.png b/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.my.png
new file mode 100644
index 00000000..a6c3afe8
Binary files /dev/null and b/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.my.png differ
diff --git a/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.uk.png b/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.uk.png
new file mode 100644
index 00000000..a6c3afe8
Binary files /dev/null and b/translated_images/banana-unripe-19.e61e6d7efaf2d8c81a25acbff9c40f018b78c3c240c8e384d54da374eda70f9b.uk.png differ
diff --git a/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.my.png b/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.my.png
new file mode 100644
index 00000000..eed10ecb
Binary files /dev/null and b/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.my.png differ
diff --git a/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.uk.png b/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.uk.png
new file mode 100644
index 00000000..eed10ecb
Binary files /dev/null and b/translated_images/banana-unripe-2.43a73b544521afc7efd54de90fd585f314844de67b16509fff2ab80c05eec7bd.uk.png differ
diff --git a/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.my.png b/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.my.png
new file mode 100644
index 00000000..4c086050
Binary files /dev/null and b/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.my.png differ
diff --git a/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.uk.png b/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.uk.png
new file mode 100644
index 00000000..4c086050
Binary files /dev/null and b/translated_images/banana-unripe-2.9591d1a6aa27deebbaec0955b227bbae20d6bfae43f29d832bd412bbafa45bfd.uk.png differ
diff --git a/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.my.png b/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.my.png
new file mode 100644
index 00000000..9f641588
Binary files /dev/null and b/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.my.png differ
diff --git a/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.uk.png b/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.uk.png
new file mode 100644
index 00000000..9f641588
Binary files /dev/null and b/translated_images/banana-unripe-20.85b7a74eaab5634e769fe2fec57405201513094c400f71e16d75cd79bde092ab.uk.png differ
diff --git a/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.my.png b/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.my.png
new file mode 100644
index 00000000..9404843f
Binary files /dev/null and b/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.my.png differ
diff --git a/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.uk.png b/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.uk.png
new file mode 100644
index 00000000..9404843f
Binary files /dev/null and b/translated_images/banana-unripe-21.ccc1333439b344bc502fbfa9b60e5e9013a4d57ba539ba87000ccd69dc0675e2.uk.png differ
diff --git a/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.my.png b/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.my.png
new file mode 100644
index 00000000..9636ac68
Binary files /dev/null and b/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.my.png differ
diff --git a/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.uk.png b/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.uk.png
new file mode 100644
index 00000000..9636ac68
Binary files /dev/null and b/translated_images/banana-unripe-22.27dff4b438163080fcace0af6f24b8c9866b76a15269844e9ed1b722ae2220e7.uk.png differ
diff --git a/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.my.png b/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.my.png
new file mode 100644
index 00000000..38a2b35d
Binary files /dev/null and b/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.my.png differ
diff --git a/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.uk.png b/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.uk.png
new file mode 100644
index 00000000..38a2b35d
Binary files /dev/null and b/translated_images/banana-unripe-23.c4c9067f23370e90c5156d7659a0d17590d952e2defd6550aeded84e847c1e4b.uk.png differ
diff --git a/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.my.png b/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.my.png
new file mode 100644
index 00000000..cd09e177
Binary files /dev/null and b/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.my.png differ
diff --git a/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.uk.png b/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.uk.png
new file mode 100644
index 00000000..cd09e177
Binary files /dev/null and b/translated_images/banana-unripe-24.6f0b781c309da62f71147fcc87699967bef10c57a794029ede2eb0d1d88e4b73.uk.png differ
diff --git a/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.my.png b/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.my.png
new file mode 100644
index 00000000..4cc4f4bc
Binary files /dev/null and b/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.my.png differ
diff --git a/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.uk.png b/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.uk.png
new file mode 100644
index 00000000..4cc4f4bc
Binary files /dev/null and b/translated_images/banana-unripe-25.21d553d84880ac4ff73128909d01c79c4544424d218f740482da46bdae46f74b.uk.png differ
diff --git a/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.my.png b/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.my.png
new file mode 100644
index 00000000..33e03220
Binary files /dev/null and b/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.my.png differ
diff --git a/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.uk.png b/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.uk.png
new file mode 100644
index 00000000..33e03220
Binary files /dev/null and b/translated_images/banana-unripe-26.823c48b61feb1d5c319e9cf54f5e7c2bb43f91e781bf42d57f386d0dabf3fd12.uk.png differ
diff --git a/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.my.png b/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.my.png
new file mode 100644
index 00000000..489d49e3
Binary files /dev/null and b/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.my.png differ
diff --git a/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.uk.png b/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.uk.png
new file mode 100644
index 00000000..489d49e3
Binary files /dev/null and b/translated_images/banana-unripe-27.f98fd272deeb02d9b6771340fe6da2de82db652ade770d9eca14ba6be2d0ad17.uk.png differ
diff --git a/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.my.png b/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.my.png
new file mode 100644
index 00000000..80b39b63
Binary files /dev/null and b/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.my.png differ
diff --git a/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.uk.png b/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.uk.png
new file mode 100644
index 00000000..80b39b63
Binary files /dev/null and b/translated_images/banana-unripe-28.5331ba409ce41c07caa09d72d6ad7375b5a5b3d7609fcabdaa82d9799439fd21.uk.png differ
diff --git a/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.my.png b/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.my.png
new file mode 100644
index 00000000..2404a4ce
Binary files /dev/null and b/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.my.png differ
diff --git a/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.uk.png b/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.uk.png
new file mode 100644
index 00000000..2404a4ce
Binary files /dev/null and b/translated_images/banana-unripe-29.84e126f389bf627ed464abdf8127f3a58e8b0131b5b1b9ee038de51703c31657.uk.png differ
diff --git a/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.my.png b/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.my.png
new file mode 100644
index 00000000..f884cc81
Binary files /dev/null and b/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.my.png differ
diff --git a/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.uk.png b/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.uk.png
new file mode 100644
index 00000000..f884cc81
Binary files /dev/null and b/translated_images/banana-unripe-3.896df8fb2c3b8f51f71b212645fc5314b591a033938208000839642858ddcabd.uk.png differ
diff --git a/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.my.png b/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.my.png
new file mode 100644
index 00000000..9f649bd1
Binary files /dev/null and b/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.my.png differ
diff --git a/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.uk.png b/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.uk.png
new file mode 100644
index 00000000..9f649bd1
Binary files /dev/null and b/translated_images/banana-unripe-4.483e740d6fd7b5a671cb49ad1b0f2c35f1637f86ccb9746bb4cc3b59ab752bf7.uk.png differ
diff --git a/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.my.png b/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.my.png
new file mode 100644
index 00000000..03e1fa8c
Binary files /dev/null and b/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.my.png differ
diff --git a/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.uk.png b/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.uk.png
new file mode 100644
index 00000000..03e1fa8c
Binary files /dev/null and b/translated_images/banana-unripe-5.e9923cf1ffcfc1c93e8c2aeb184bd071566742b738b671ab9cedcd5708239a58.uk.png differ
diff --git a/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.my.png b/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.my.png
new file mode 100644
index 00000000..983f836f
Binary files /dev/null and b/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.my.png differ
diff --git a/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.uk.png b/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.uk.png
new file mode 100644
index 00000000..983f836f
Binary files /dev/null and b/translated_images/banana-unripe-6.e3a73307558caecc9aac5ae80bbe37ca38f105e2bd7311afab61ee1014fc6c0e.uk.png differ
diff --git a/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.my.png b/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.my.png
new file mode 100644
index 00000000..2aede939
Binary files /dev/null and b/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.my.png differ
diff --git a/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.uk.png b/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.uk.png
new file mode 100644
index 00000000..2aede939
Binary files /dev/null and b/translated_images/banana-unripe-7.634ca89acc17d68f8423b1a13f1bec6bdbd5135f0149c6cfaa53d7b7d5fa1c65.uk.png differ
diff --git a/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.my.png b/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.my.png
new file mode 100644
index 00000000..7bc7bab2
Binary files /dev/null and b/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.my.png differ
diff --git a/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.uk.png b/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.uk.png
new file mode 100644
index 00000000..7bc7bab2
Binary files /dev/null and b/translated_images/banana-unripe-8.75720b4cdebac8c36964c86e051ea962ab02e530abec3f577bd77fdbc34d7f9d.uk.png differ
diff --git a/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.my.png b/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.my.png
new file mode 100644
index 00000000..4ffd862a
Binary files /dev/null and b/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.my.png differ
diff --git a/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.uk.png b/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.uk.png
new file mode 100644
index 00000000..4ffd862a
Binary files /dev/null and b/translated_images/banana-unripe-9.e8076983351d2f54cfb246bc01090e7016b63fb8d81396822cbe5366c1b88b7f.uk.png differ
diff --git a/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.my.png b/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.my.png
new file mode 100644
index 00000000..ef506579
Binary files /dev/null and b/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.my.png differ
diff --git a/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.uk.png b/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.uk.png
new file mode 100644
index 00000000..ef506579
Binary files /dev/null and b/translated_images/banana-unripe-quick-test-prediction.dae9b5e1c4ef7c64886422438850ea14f0be6ac918c217ea3b255c685abfabe7.uk.png differ
diff --git a/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.my.png b/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.my.png
new file mode 100644
index 00000000..ddf79213
Binary files /dev/null and b/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.my.png differ
diff --git a/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.uk.png b/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.uk.png
new file mode 100644
index 00000000..ddf79213
Binary files /dev/null and b/translated_images/bananas-ripe-vs-unripe-predictions.8d0e2034014aa50ece4e4589e724b142da0681f35470fe3db3f7d51240f69c85.uk.png differ
diff --git a/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.my.png b/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.my.png
new file mode 100644
index 00000000..1796bcce
Binary files /dev/null and b/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.my.png differ
diff --git a/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.uk.png b/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.uk.png
new file mode 100644
index 00000000..1796bcce
Binary files /dev/null and b/translated_images/basic-thermostat.a923217fd1f37e5a6f3390396a65c22a387419ea2dd17e518ec24315ba6ae9a8.uk.png differ
diff --git a/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.my.png b/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.my.png
new file mode 100644
index 00000000..ab763666
Binary files /dev/null and b/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.my.png differ
diff --git a/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.uk.png b/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.uk.png
new file mode 100644
index 00000000..ab763666
Binary files /dev/null and b/translated_images/bing-translate.348aa796d6efe2a92f41ea74a5cf42bb4c63d6faaa08e7f46924e072a35daa48.uk.png differ
diff --git a/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.my.png b/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.my.png
new file mode 100644
index 00000000..013f247d
Binary files /dev/null and b/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.my.png differ
diff --git a/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.uk.png b/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.uk.png
new file mode 100644
index 00000000..013f247d
Binary files /dev/null and b/translated_images/bounding-box.1420a7ea0d3d15f71e1ffb5cf4b2271d184fac051f990abc541975168d163684.uk.png differ
diff --git a/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.my.png b/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.my.png
new file mode 100644
index 00000000..fd1b7753
Binary files /dev/null and b/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.my.png differ
diff --git a/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.uk.png b/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.uk.png
new file mode 100644
index 00000000..fd1b7753
Binary files /dev/null and b/translated_images/bricked-car.dc38f8efadc6c59d76211f981a521efb300939283dee468f79503aae3ec67615.uk.png differ
diff --git a/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.my.png b/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.my.png
new file mode 100644
index 00000000..55154b84
Binary files /dev/null and b/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.my.png differ
diff --git a/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.uk.png b/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.uk.png
new file mode 100644
index 00000000..55154b84
Binary files /dev/null and b/translated_images/button-with-digital.3749edea8eb885af0303f7ea29e2389d704661c0ca3225b08ff0cbc22f332059.uk.png differ
diff --git a/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.my.png b/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.my.png
new file mode 100644
index 00000000..306d6f14
Binary files /dev/null and b/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.my.png differ
diff --git a/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.uk.png b/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.uk.png
new file mode 100644
index 00000000..306d6f14
Binary files /dev/null and b/translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.uk.png differ
diff --git a/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.my.png b/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.my.png
new file mode 100644
index 00000000..dfb03646
Binary files /dev/null and b/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.my.png differ
diff --git a/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.uk.png b/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.uk.png
new file mode 100644
index 00000000..dfb03646
Binary files /dev/null and b/translated_images/chart-soil-moisture-relay.fbb391236d34a64d0abf1df396e9197e0a24df14150620b9cc820a64a55c9326.uk.png differ
diff --git a/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.my.png b/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.my.png
new file mode 100644
index 00000000..05208120
Binary files /dev/null and b/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.my.png differ
diff --git a/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.uk.png b/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.uk.png
new file mode 100644
index 00000000..05208120
Binary files /dev/null and b/translated_images/chart-soil-moisture.fd6d9d0cdc0b5f75e78038ecb8945dfc84b38851359de99d84b16e3336d6d7c2.uk.png differ
diff --git a/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.my.jpg b/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.my.jpg
new file mode 100644
index 00000000..e78b8c6c
Binary files /dev/null and b/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.my.jpg differ
diff --git a/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.uk.jpg b/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.uk.jpg
new file mode 100644
index 00000000..e78b8c6c
Binary files /dev/null and b/translated_images/child-watering-garden.9a5d3f1bfe6d0d8d488291e8189899b2c59f82abaa487f18d404217a25e671e7.uk.jpg differ
diff --git a/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.my.png b/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.my.png
new file mode 100644
index 00000000..0b221a3f
Binary files /dev/null and b/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.my.png differ
diff --git a/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.uk.png b/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.uk.png
new file mode 100644
index 00000000..0b221a3f
Binary files /dev/null and b/translated_images/cloud-with-edge.1e26462c62c126fe150bd15a5714ddf0be599f09bacbad08b85be02b76ea1ae1.uk.png differ
diff --git a/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.my.png b/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.my.png
new file mode 100644
index 00000000..576d3f84
Binary files /dev/null and b/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.my.png differ
diff --git a/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.uk.png b/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.uk.png
new file mode 100644
index 00000000..576d3f84
Binary files /dev/null and b/translated_images/cloud-without-edge.b4da641f6022c95ed6b91fde8b5323abd2f94e0d52073ad54172ae8f5dac90e9.uk.png differ
diff --git a/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.my.png b/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.my.png
new file mode 100644
index 00000000..297ccc5e
Binary files /dev/null and b/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.my.png differ
diff --git a/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.uk.png b/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.uk.png
new file mode 100644
index 00000000..297ccc5e
Binary files /dev/null and b/translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.uk.png differ
diff --git a/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.my.png b/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.my.png
new file mode 100644
index 00000000..89bd1ba6
Binary files /dev/null and b/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.my.png differ
diff --git a/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.uk.png b/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.uk.png
new file mode 100644
index 00000000..89bd1ba6
Binary files /dev/null and b/translated_images/commands.d6c06bbbb3a02cce95f2831a1c331daf6dedd4e470c4aa2b0ae54f332016e504.uk.png differ
diff --git a/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.my.jpg b/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.my.jpg
new file mode 100644
index 00000000..383794f2
Binary files /dev/null and b/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.my.jpg differ
diff --git a/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.uk.jpg b/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.uk.jpg
new file mode 100644
index 00000000..383794f2
Binary files /dev/null and b/translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.uk.jpg differ
diff --git a/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.my.png b/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.my.png
new file mode 100644
index 00000000..f28538e1
Binary files /dev/null and b/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.my.png differ
diff --git a/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.uk.png b/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.uk.png
new file mode 100644
index 00000000..f28538e1
Binary files /dev/null and b/translated_images/consumer-groups.a3262e26fc27ba2092863678ad57af15c7223416e388a23f330c058cf4358630.uk.png differ
diff --git a/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.my.png b/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.my.png
new file mode 100644
index 00000000..39431760
Binary files /dev/null and b/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.my.png differ
diff --git a/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.uk.png b/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.uk.png
new file mode 100644
index 00000000..39431760
Binary files /dev/null and b/translated_images/container-edge-flow.c246050dd60ceefdb6ace026a4ce5c6aa4112bb5898ae23fbb2ab4be29ae3e1b.uk.png differ
diff --git a/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.my.png b/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.my.png
new file mode 100644
index 00000000..46a26d45
Binary files /dev/null and b/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.my.png differ
diff --git a/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.uk.png b/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.uk.png
new file mode 100644
index 00000000..46a26d45
Binary files /dev/null and b/translated_images/container-web-browser.4ee81dd4f0d8838ce622b2a0d600b6a4322b5d4fe43159facd87b7b34f84d66a.uk.png differ
diff --git a/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.my.png b/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.my.png
new file mode 100644
index 00000000..6f70239b
Binary files /dev/null and b/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.my.png differ
diff --git a/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.uk.png b/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.uk.png
new file mode 100644
index 00000000..6f70239b
Binary files /dev/null and b/translated_images/counterfit-camera-options.eb3bd5150a8e7dffbf24bc5bcaba0cf2cdef95fbe6bbe393695d173817d6b8df.uk.png differ
diff --git a/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.my.png b/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.my.png
new file mode 100644
index 00000000..c5cd51da
Binary files /dev/null and b/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.my.png differ
diff --git a/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.uk.png b/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.uk.png
new file mode 100644
index 00000000..c5cd51da
Binary files /dev/null and b/translated_images/counterfit-camera.001ec52194c8ee5d3f617173da2c79e1df903d10882adc625cbfc493525125d4.uk.png differ
diff --git a/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.my.png b/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.my.png
new file mode 100644
index 00000000..0328b3ea
Binary files /dev/null and b/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.my.png differ
diff --git a/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.uk.png b/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.uk.png
new file mode 100644
index 00000000..0328b3ea
Binary files /dev/null and b/translated_images/counterfit-connected.ed30b46d8f79b0921f3fc70be10366e596a89dca3f80c2224a9d9fc98fccf884.uk.png differ
diff --git a/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.my.png b/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.my.png
new file mode 100644
index 00000000..b3d0d223
Binary files /dev/null and b/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.my.png differ
diff --git a/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.uk.png b/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.uk.png
new file mode 100644
index 00000000..b3d0d223
Binary files /dev/null and b/translated_images/counterfit-create-camera.a5de97f59c0bd3cbe0416d7e89a3cfe86d19fbae05c641c53a91286412af0a34.uk.png differ
diff --git a/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.my.png b/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.my.png
new file mode 100644
index 00000000..0729dbce
Binary files /dev/null and b/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.my.png differ
diff --git a/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.uk.png b/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.uk.png
new file mode 100644
index 00000000..0729dbce
Binary files /dev/null and b/translated_images/counterfit-create-distance-sensor.967c9fb98f27888d95920c9784d004c972490eb71f70397fe13bd70a79a879a3.uk.png differ
diff --git a/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.my.png b/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.my.png
new file mode 100644
index 00000000..2e3adef5
Binary files /dev/null and b/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.my.png differ
diff --git a/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.uk.png b/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.uk.png
new file mode 100644
index 00000000..2e3adef5
Binary files /dev/null and b/translated_images/counterfit-create-gps-sensor.6385dc9357d85ad1d47b4abb2525e7651fd498917d25eefc5a72feab09eedc70.uk.png differ
diff --git a/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.my.png b/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.my.png
new file mode 100644
index 00000000..4e9aa9b4
Binary files /dev/null and b/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.my.png differ
diff --git a/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.uk.png b/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.uk.png
new file mode 100644
index 00000000..4e9aa9b4
Binary files /dev/null and b/translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.uk.png differ
diff --git a/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.my.png b/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.my.png
new file mode 100644
index 00000000..766527c0
Binary files /dev/null and b/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.my.png differ
diff --git a/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.uk.png b/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.uk.png
new file mode 100644
index 00000000..766527c0
Binary files /dev/null and b/translated_images/counterfit-create-led.ba9db1c9b8c622a635d6dfae5cdc4e70c2b250635bd4f0601c6cf0bd22b7ba46.uk.png differ
diff --git a/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.my.png b/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.my.png
new file mode 100644
index 00000000..f34ad7c6
Binary files /dev/null and b/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.my.png differ
diff --git a/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.uk.png b/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.uk.png
new file mode 100644
index 00000000..f34ad7c6
Binary files /dev/null and b/translated_images/counterfit-create-light-sensor.9f36a5e0d4458d8d554d54b34d2c806d56093d6e49fddcda2d20f6fef7f5cce1.uk.png differ
diff --git a/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.my.png b/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.my.png
new file mode 100644
index 00000000..403bb436
Binary files /dev/null and b/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.my.png differ
diff --git a/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.uk.png b/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.uk.png
new file mode 100644
index 00000000..403bb436
Binary files /dev/null and b/translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.uk.png differ
diff --git a/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.my.png b/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.my.png
new file mode 100644
index 00000000..07398a97
Binary files /dev/null and b/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.my.png differ
diff --git a/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.uk.png b/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.uk.png
new file mode 100644
index 00000000..07398a97
Binary files /dev/null and b/translated_images/counterfit-create-soil-moisture-sensor.35266135a5e0ae68b29a684d7db0d2933a8098b2307d197f7c71577b724603aa.uk.png differ
diff --git a/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.my.png b/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.my.png
new file mode 100644
index 00000000..83d0a29e
Binary files /dev/null and b/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.my.png differ
diff --git a/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.uk.png b/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.uk.png
new file mode 100644
index 00000000..83d0a29e
Binary files /dev/null and b/translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.uk.png differ
diff --git a/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.my.png b/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.my.png
new file mode 100644
index 00000000..cdd566f5
Binary files /dev/null and b/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.my.png differ
diff --git a/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.uk.png b/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.uk.png
new file mode 100644
index 00000000..cdd566f5
Binary files /dev/null and b/translated_images/counterfit-distance-sensor.079eefeeea0b68afc36431ce8fcbe2f09a7e4916ed1cd5cb30e696db53bc18fa.uk.png differ
diff --git a/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.my.png b/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.my.png
new file mode 100644
index 00000000..50caa7a8
Binary files /dev/null and b/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.my.png differ
diff --git a/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.uk.png b/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.uk.png
new file mode 100644
index 00000000..50caa7a8
Binary files /dev/null and b/translated_images/counterfit-first-run.433326358b669b31d0e99c3513cb01bfbb13724d162c99cdcc8f51ecf5f9c779.uk.png differ
diff --git a/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.my.png b/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.my.png
new file mode 100644
index 00000000..e68c1881
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.my.png differ
diff --git a/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.uk.png b/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.uk.png
new file mode 100644
index 00000000..e68c1881
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-gpxfile.8310b063ce8a425ccc8ebeec8306aeac5e8e55207f007d52c6e1194432a70cd9.uk.png differ
diff --git a/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.my.png b/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.my.png
new file mode 100644
index 00000000..357708db
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.my.png differ
diff --git a/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.uk.png b/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.uk.png
new file mode 100644
index 00000000..357708db
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-latlon.008c867d75464fbe7f84107cc57040df565ac07cb57d2f21db37d087d470197d.uk.png differ
diff --git a/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.my.png b/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.my.png
new file mode 100644
index 00000000..ff2cb168
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.my.png differ
diff --git a/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.uk.png b/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.uk.png
new file mode 100644
index 00000000..ff2cb168
Binary files /dev/null and b/translated_images/counterfit-gps-sensor-nmea.c62eea442171e17e19528b051b104cfcecdc9cd18db7bc72920f29821ae63f73.uk.png differ
diff --git a/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.my.png b/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.my.png
new file mode 100644
index 00000000..4dd28830
Binary files /dev/null and b/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.my.png differ
diff --git a/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.uk.png b/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.uk.png
new file mode 100644
index 00000000..4dd28830
Binary files /dev/null and b/translated_images/counterfit-gps-sensor.3fbb15af0a5367566f2f11324ef5a6f30861cdf2b497071a5e002b7aa473550e.uk.png differ
diff --git a/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.my.png b/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.my.png
new file mode 100644
index 00000000..36a0bed7
Binary files /dev/null and b/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.my.png differ
diff --git a/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.uk.png b/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.uk.png
new file mode 100644
index 00000000..36a0bed7
Binary files /dev/null and b/translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.uk.png differ
diff --git a/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.my.png b/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.my.png
new file mode 100644
index 00000000..43b82415
Binary files /dev/null and b/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.my.png differ
diff --git a/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.uk.png b/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.uk.png
new file mode 100644
index 00000000..43b82415
Binary files /dev/null and b/translated_images/counterfit-led.c0ab02de6d256ad84d9bad4d67a7faa709f0ea83e410cfe9b5561ef0cef30b1c.uk.png differ
diff --git a/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.my.png b/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.my.png
new file mode 100644
index 00000000..9f42e92d
Binary files /dev/null and b/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.my.png differ
diff --git a/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.uk.png b/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.uk.png
new file mode 100644
index 00000000..9f42e92d
Binary files /dev/null and b/translated_images/counterfit-light-sensor.5d0f5584df56b90f6b2561910d9cb20dfbd73eeff2177c238d38f4de54aefae1.uk.png differ
diff --git a/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.my.png b/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.my.png
new file mode 100644
index 00000000..91118b35
Binary files /dev/null and b/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.my.png differ
diff --git a/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.uk.png b/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.uk.png
new file mode 100644
index 00000000..91118b35
Binary files /dev/null and b/translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.uk.png differ
diff --git a/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.my.png b/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.my.png
new file mode 100644
index 00000000..c1074a8e
Binary files /dev/null and b/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.my.png differ
diff --git a/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.uk.png b/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.uk.png
new file mode 100644
index 00000000..c1074a8e
Binary files /dev/null and b/translated_images/counterfit-soil-moisture-sensor.81742b2de0e9de60a3b3b9a2ff8ecc686d428eb6d71820f27a693be26e5aceee.uk.png differ
diff --git a/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.my.png b/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.my.png
new file mode 100644
index 00000000..a4cca4dc
Binary files /dev/null and b/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.my.png differ
diff --git a/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.uk.png b/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.uk.png
new file mode 100644
index 00000000..a4cca4dc
Binary files /dev/null and b/translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.uk.png differ
diff --git a/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.my.png b/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.my.png
new file mode 100644
index 00000000..1dd02459
Binary files /dev/null and b/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.my.png differ
diff --git a/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.uk.png b/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.uk.png
new file mode 100644
index 00000000..1dd02459
Binary files /dev/null and b/translated_images/custom-vision-banana-prediction.30cdff4e1d72db5d9a0be0193790a47c2b387da034e12dc1314dd57ca2131b59.uk.png differ
diff --git a/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.my.png b/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.my.png
new file mode 100644
index 00000000..64ba974b
Binary files /dev/null and b/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.my.png differ
diff --git a/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.uk.png b/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.uk.png
new file mode 100644
index 00000000..64ba974b
Binary files /dev/null and b/translated_images/custom-vision-create-object-detector-project.32d4fb9aa8e7e7375f8a799bfce517aca970f2cb65e42d4245c5e635c734ab29.uk.png differ
diff --git a/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.my.png b/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.my.png
new file mode 100644
index 00000000..fd3d1f9b
Binary files /dev/null and b/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.my.png differ
diff --git a/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.uk.png b/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.uk.png
new file mode 100644
index 00000000..fd3d1f9b
Binary files /dev/null and b/translated_images/custom-vision-create-project.cf46325b92d8b131089f6647cf5e07b664cb77850e106d66e3c057b6b69756c6.uk.png differ
diff --git a/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.my.png b/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.my.png
new file mode 100644
index 00000000..f523159b
Binary files /dev/null and b/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.my.png differ
diff --git a/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.uk.png b/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.uk.png
new file mode 100644
index 00000000..f523159b
Binary files /dev/null and b/translated_images/custom-vision-logo.d3d4e7c8a87ec9daf825e72e210576c3cbf60312577be7a139e22dd97ab7f1e6.uk.png differ
diff --git a/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.my.png b/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.my.png
new file mode 100644
index 00000000..70a9bacf
Binary files /dev/null and b/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.my.png differ
diff --git a/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.uk.png b/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.uk.png
new file mode 100644
index 00000000..70a9bacf
Binary files /dev/null and b/translated_images/custom-vision-object-detector-publish-button.34ee379fc650ccb9856c3868d0003f413b9529f102fc73c37168c98d721cc293.uk.png differ
diff --git a/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.my.png b/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.my.png
new file mode 100644
index 00000000..9e30ab1c
Binary files /dev/null and b/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.my.png differ
diff --git a/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.uk.png b/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.uk.png
new file mode 100644
index 00000000..9e30ab1c
Binary files /dev/null and b/translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.uk.png differ
diff --git a/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.my.png b/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.my.png
new file mode 100644
index 00000000..e9f61adc
Binary files /dev/null and b/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.my.png differ
diff --git a/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.uk.png b/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.uk.png
new file mode 100644
index 00000000..e9f61adc
Binary files /dev/null and b/translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.uk.png differ
diff --git a/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.my.png b/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.my.png
new file mode 100644
index 00000000..a54521f7
Binary files /dev/null and b/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.my.png differ
diff --git a/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.uk.png b/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.uk.png
new file mode 100644
index 00000000..a54521f7
Binary files /dev/null and b/translated_images/custom-vision-stock-prediction.942266ab1bcca3410ecdf23643b9f5f570cfab2345235074e24c51f285777613.uk.png differ
diff --git a/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.my.png b/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.my.png
new file mode 100644
index 00000000..6981df8a
Binary files /dev/null and b/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.my.png differ
diff --git a/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.uk.png b/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.uk.png
new file mode 100644
index 00000000..6981df8a
Binary files /dev/null and b/translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.uk.png differ
diff --git a/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.my.png b/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.my.png
new file mode 100644
index 00000000..2722c065
Binary files /dev/null and b/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.my.png differ
diff --git a/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.uk.png b/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.uk.png
new file mode 100644
index 00000000..2722c065
Binary files /dev/null and b/translated_images/dmac-adc-buffers.4509aee49145c90bc2e1be472b8ed2ddfcb2b6a81ad3e559114aca55f5fff759.uk.png differ
diff --git a/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.my.jpg b/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.my.jpg
new file mode 100644
index 00000000..cce2a759
Binary files /dev/null and b/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.my.jpg differ
diff --git a/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.uk.jpg b/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.uk.jpg
new file mode 100644
index 00000000..cce2a759
Binary files /dev/null and b/translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.uk.jpg differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.my.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.my.png
new file mode 100644
index 00000000..26e0ae43
Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.my.png differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.uk.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.uk.png
new file mode 100644
index 00000000..26e0ae43
Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.uk.png differ
diff --git a/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.my.png b/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.my.png
new file mode 100644
index 00000000..a5d549fd
Binary files /dev/null and b/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.my.png differ
diff --git a/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.uk.png b/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.uk.png
new file mode 100644
index 00000000..a5d549fd
Binary files /dev/null and b/translated_images/fetch-decode-execute.2fd6f150f6280392807f4475382319abd0cee0b90058e1735444d6baa6f2078c.uk.png differ
diff --git a/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.my.png b/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.my.png
new file mode 100644
index 00000000..a251745c
Binary files /dev/null and b/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.my.png differ
diff --git a/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.uk.png b/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.uk.png
new file mode 100644
index 00000000..a251745c
Binary files /dev/null and b/translated_images/fruit-quality-detector-message-flow.adf2a65da8fd8741ac7af11361574de89adc126785d67606bb4d2ec00467e380.uk.png differ
diff --git a/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.my.png b/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.my.png
new file mode 100644
index 00000000..bb97d28e
Binary files /dev/null and b/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.my.png differ
diff --git a/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.uk.png b/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.uk.png
new file mode 100644
index 00000000..bb97d28e
Binary files /dev/null and b/translated_images/gdd-calculation-corn.64a58b7a7afcd0dfd46ff733996d939f17f4f3feac9f0d1c632be3523e51ebd9.uk.png differ
diff --git a/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.my.png b/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.my.png
new file mode 100644
index 00000000..e34dea22
Binary files /dev/null and b/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.my.png differ
diff --git a/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.uk.png b/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.uk.png
new file mode 100644
index 00000000..e34dea22
Binary files /dev/null and b/translated_images/gdd-calculation-strawberries.59f57db94b22adb8ff6efb951ace33af104a1c6ccca3ffb0f8169c14cb160c90.uk.png differ
diff --git a/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.my.png b/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.my.png
new file mode 100644
index 00000000..fa863501
Binary files /dev/null and b/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.my.png differ
diff --git a/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.uk.png b/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.uk.png
new file mode 100644
index 00000000..fa863501
Binary files /dev/null and b/translated_images/gdd-calculation.79b3660f9c5757aa92dc2dd2cdde75344e2d2c1565c4b3151640f7887edc0275.uk.png differ
diff --git a/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.my.png b/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.my.png
new file mode 100644
index 00000000..0d0e0c48
Binary files /dev/null and b/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.my.png differ
diff --git a/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.uk.png b/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.uk.png
new file mode 100644
index 00000000..0d0e0c48
Binary files /dev/null and b/translated_images/gdd-jupyter-notebook.c5b52cf21094f158a61f47f455490fd95f1729777ff90861a4521820bf354cdc.uk.png differ
diff --git a/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.my.png b/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.my.png
new file mode 100644
index 00000000..6f79a498
Binary files /dev/null and b/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.my.png differ
diff --git a/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.uk.png b/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.uk.png
new file mode 100644
index 00000000..6f79a498
Binary files /dev/null and b/translated_images/geofence-crossing-inaccurate-gps.6a3ed911202ad9cabb66d3964888cec03a42c61d5b8f536ad5bdc99716b370f5.uk.png differ
diff --git a/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.my.png b/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.my.png
new file mode 100644
index 00000000..8527d4cd
Binary files /dev/null and b/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.my.png differ
diff --git a/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.uk.png b/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.uk.png
new file mode 100644
index 00000000..8527d4cd
Binary files /dev/null and b/translated_images/geofence-examples.172fbc534665769f6e1a1ddcf75e3b25183cd10354c80cc603ba44b635390e1a.uk.png differ
diff --git a/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.my.png b/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.my.png
new file mode 100644
index 00000000..8597bf4d
Binary files /dev/null and b/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.my.png differ
diff --git a/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.uk.png b/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.uk.png
new file mode 100644
index 00000000..8597bf4d
Binary files /dev/null and b/translated_images/gps-satellites.04acf1148fe25fbf1586bc2e8ba698e8d79b79a50c36824b38417dd13372b90f.uk.png differ
diff --git a/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.my.png b/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.my.png
new file mode 100644
index 00000000..3bf24358
Binary files /dev/null and b/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.my.png differ
diff --git a/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.uk.png b/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.uk.png
new file mode 100644
index 00000000..3bf24358
Binary files /dev/null and b/translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.uk.png differ
diff --git a/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.my.png b/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.my.png
new file mode 100644
index 00000000..562f66d2
Binary files /dev/null and b/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.my.png differ
diff --git a/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.uk.png b/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.uk.png
new file mode 100644
index 00000000..562f66d2
Binary files /dev/null and b/translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.uk.png differ
diff --git a/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.my.png b/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.my.png
new file mode 100644
index 00000000..2f50d53a
Binary files /dev/null and b/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.my.png differ
diff --git a/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.uk.png b/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.uk.png
new file mode 100644
index 00000000..2f50d53a
Binary files /dev/null and b/translated_images/grove-base-hat-ribbon-cable.501fed202fcf73b11b2b68f6d246189f7d15d3e4423c572ddee79d77b4632b47.uk.png differ
diff --git a/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.my.png b/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.my.png
new file mode 100644
index 00000000..de7f343e
Binary files /dev/null and b/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.my.png differ
diff --git a/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.uk.png b/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.uk.png
new file mode 100644
index 00000000..de7f343e
Binary files /dev/null and b/translated_images/grove-button.a70cfbb809a8563681003250cf5b06d68cdcc68624f9e2f493d5a534ae2da1e5.uk.png differ
diff --git a/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.my.png b/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.my.png
new file mode 100644
index 00000000..c8b1a544
Binary files /dev/null and b/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.my.png differ
diff --git a/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.uk.png b/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.uk.png
new file mode 100644
index 00000000..c8b1a544
Binary files /dev/null and b/translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.uk.png differ
diff --git a/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.my.png b/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.my.png
new file mode 100644
index 00000000..17d1151d
Binary files /dev/null and b/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.my.png differ
diff --git a/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.uk.png b/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.uk.png
new file mode 100644
index 00000000..17d1151d
Binary files /dev/null and b/translated_images/grove-dht11.07f8eafceee170043efbb53e1d15722bd4e00fbaa9ff74290b57e9f66eb82c17.uk.png differ
diff --git a/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.my.png b/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.my.png
new file mode 100644
index 00000000..ffafc104
Binary files /dev/null and b/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.my.png differ
diff --git a/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.uk.png b/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.uk.png
new file mode 100644
index 00000000..ffafc104
Binary files /dev/null and b/translated_images/grove-gps-sensor.247943bf69b03f0d1820ef6ed10c587f9b650e8db55b936851c92412180bd3e2.uk.png differ
diff --git a/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.my.png b/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.my.png
new file mode 100644
index 00000000..e3d86f8c
Binary files /dev/null and b/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.my.png differ
diff --git a/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.uk.png b/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.uk.png
new file mode 100644
index 00000000..e3d86f8c
Binary files /dev/null and b/translated_images/grove-led.6c853be93f473cf2c439cfc74bb1064732b22251a83cedf66e62f783f9cc1a79.uk.png differ
diff --git a/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.my.png b/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.my.png
new file mode 100644
index 00000000..3a4445ee
Binary files /dev/null and b/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.my.png differ
diff --git a/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.uk.png b/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.uk.png
new file mode 100644
index 00000000..3a4445ee
Binary files /dev/null and b/translated_images/grove-light-sensor.b8127b7c434e632d6bcdb57587a14e9ef69a268a22df95d08628f62b8fa5505c.uk.png differ
diff --git a/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.my.png b/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.my.png
new file mode 100644
index 00000000..b2bf4d3f
Binary files /dev/null and b/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.my.png differ
diff --git a/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.uk.png b/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.uk.png
new file mode 100644
index 00000000..b2bf4d3f
Binary files /dev/null and b/translated_images/grove-relay-labelled.293e068f5c3c2a199bd7892f2661fdc9e10c920b535cfed317fbd6d1d4ae1168.uk.png differ
diff --git a/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.my.png b/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.my.png
new file mode 100644
index 00000000..467cedcd
Binary files /dev/null and b/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.my.png differ
diff --git a/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.uk.png b/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.uk.png
new file mode 100644
index 00000000..467cedcd
Binary files /dev/null and b/translated_images/grove-relay.d426958ca210fbd0fb7983d7edc069d46c73a8b0a099d94797bd756f7b6bb6be.uk.png differ
diff --git a/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.my.png b/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.my.png
new file mode 100644
index 00000000..88efaa59
Binary files /dev/null and b/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.my.png differ
diff --git a/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.uk.png b/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.uk.png
new file mode 100644
index 00000000..88efaa59
Binary files /dev/null and b/translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.uk.png differ
diff --git a/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.my.png b/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.my.png
new file mode 100644
index 00000000..6197ed95
Binary files /dev/null and b/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.my.png differ
diff --git a/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.uk.png b/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.uk.png
new file mode 100644
index 00000000..6197ed95
Binary files /dev/null and b/translated_images/gsm-calculation-example.99f9803b4f29e97668e7c15412136c0c399ab12dbba0b89596fdae9d8aedb6fb.uk.png differ
diff --git a/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.my.png b/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.my.png
new file mode 100644
index 00000000..ec7768da
Binary files /dev/null and b/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.my.png differ
diff --git a/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.uk.png b/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.uk.png
new file mode 100644
index 00000000..ec7768da
Binary files /dev/null and b/translated_images/gsm-calculation.6da38c6201eec14e7573bb2647aa18892883193553d23c9d77e5dc681522dfb2.uk.png differ
diff --git a/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.my.png b/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.my.png
new file mode 100644
index 00000000..f68bf461
Binary files /dev/null and b/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.my.png differ
diff --git a/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.uk.png b/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.uk.png
new file mode 100644
index 00000000..f68bf461
Binary files /dev/null and b/translated_images/i2c.83da845dde02256bdd462dbe0d5145461416b74930571b89d1ae142841eeb584.uk.png differ
diff --git a/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.my.png b/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.my.png
new file mode 100644
index 00000000..73e34cfe
Binary files /dev/null and b/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.my.png differ
diff --git a/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.uk.png b/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.uk.png
new file mode 100644
index 00000000..73e34cfe
Binary files /dev/null and b/translated_images/image-classifier-cashews-tomato.bc2e16ab8f05cf9ac0f59f73e32efc4227f9a5b601b90b2c60f436694547a965.uk.png differ
diff --git a/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.my.png b/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.my.png
new file mode 100644
index 00000000..21cc6bd0
Binary files /dev/null and b/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.my.png differ
diff --git a/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.uk.png b/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.uk.png
new file mode 100644
index 00000000..21cc6bd0
Binary files /dev/null and b/translated_images/image-upload-bananas.0751639f3815e0ec42bdbc6254d1e4357a185834d1ae10c9948a0e7d6d336695.uk.png differ
diff --git a/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.my.png b/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.my.png
new file mode 100644
index 00000000..9c7deb23
Binary files /dev/null and b/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.my.png differ
diff --git a/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.uk.png b/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.uk.png
new file mode 100644
index 00000000..9c7deb23
Binary files /dev/null and b/translated_images/image-upload-object-detector.77c7892c3093cb59b79018edecd678749a75d71a099bc8a2d2f2f76320f88a5b.uk.png differ
diff --git a/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.my.png b/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.my.png
new file mode 100644
index 00000000..ddc9958b
Binary files /dev/null and b/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.my.png differ
diff --git a/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.uk.png b/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.uk.png
new file mode 100644
index 00000000..ddc9958b
Binary files /dev/null and b/translated_images/iot-device-and-hacked-device-connecting-encryption.5941aff601fc978f979e46f2849b573564eeb4a4dc5b52f669f62745397492fb.uk.png differ
diff --git a/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.my.png b/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.my.png
new file mode 100644
index 00000000..d181210a
Binary files /dev/null and b/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.my.png differ
diff --git a/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.uk.png b/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.uk.png
new file mode 100644
index 00000000..d181210a
Binary files /dev/null and b/translated_images/iot-device-and-hacked-device-connecting.e0671675df74d6d99eb1dedb5a670e606f698efa6202b1ad4c8ae548db299cc6.uk.png differ
diff --git a/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.my.png b/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.my.png
new file mode 100644
index 00000000..a00ab427
Binary files /dev/null and b/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.my.png differ
diff --git a/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.uk.png b/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.uk.png
new file mode 100644
index 00000000..a00ab427
Binary files /dev/null and b/translated_images/iot-for-beginners.95958e2ed1900917f0c2173dd725ae0a2c1af97b9a26e56c76d3c8c8925f32ee.uk.png differ
diff --git a/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.my.png b/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.my.png
new file mode 100644
index 00000000..dedb38a3
Binary files /dev/null and b/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.my.png differ
diff --git a/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.uk.png b/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.uk.png
new file mode 100644
index 00000000..dedb38a3
Binary files /dev/null and b/translated_images/iot-hub-cloud-to-device-message.f4f21fea772cc20ba15004d853b805f6c01b612d257df6295ed7618550308aaf.uk.png differ
diff --git a/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.my.png b/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.my.png
new file mode 100644
index 00000000..2b34487d
Binary files /dev/null and b/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.my.png differ
diff --git a/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.uk.png b/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.uk.png
new file mode 100644
index 00000000..2b34487d
Binary files /dev/null and b/translated_images/iot-hub-device-to-cloud-message.e46e584d87f35fd952657f0b566dcac59473fe960d87c96fa54a4b5438ddc31f.uk.png differ
diff --git a/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.my.png b/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.my.png
new file mode 100644
index 00000000..1cae68ed
Binary files /dev/null and b/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.my.png differ
diff --git a/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.uk.png b/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.uk.png
new file mode 100644
index 00000000..1cae68ed
Binary files /dev/null and b/translated_images/iot-hub-device-twins.7055a60fc5e2331c44298ae157d72edec0022910b1a4bf4bc93f39c620878b68.uk.png differ
diff --git a/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.my.png b/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.my.png
new file mode 100644
index 00000000..df961cae
Binary files /dev/null and b/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.my.png differ
diff --git a/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.uk.png b/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.uk.png
new file mode 100644
index 00000000..df961cae
Binary files /dev/null and b/translated_images/iot-hub-direct-method-request.86a5026e91f4ca1864e2043fab4b8199e42c2c6efc1209973cb56f199646b171.uk.png differ
diff --git a/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.my.png b/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.my.png
new file mode 100644
index 00000000..aaeaeff8
Binary files /dev/null and b/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.my.png differ
diff --git a/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.uk.png b/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.uk.png
new file mode 100644
index 00000000..aaeaeff8
Binary files /dev/null and b/translated_images/iot-messages-to-serverless.0194da1cc0732bb7d0f823aed3fce54735c6b1ad3bf36089804d8aaefc0a774f.uk.png differ
diff --git a/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.my.png b/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.my.png
new file mode 100644
index 00000000..7613fe86
Binary files /dev/null and b/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.my.png differ
diff --git a/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.uk.png b/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.uk.png
new file mode 100644
index 00000000..7613fe86
Binary files /dev/null and b/translated_images/iot-reference-architecture-azure.0b8d2161af924cb18ae48a8558a19541cca47f27264851b5b7e56d7b8bb372ac.uk.png differ
diff --git a/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.my.png b/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.my.png
new file mode 100644
index 00000000..335bdf32
Binary files /dev/null and b/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.my.png differ
diff --git a/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.uk.png b/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.uk.png
new file mode 100644
index 00000000..335bdf32
Binary files /dev/null and b/translated_images/iot-reference-architecture-fruit-quality.cc705f121c3b6fa71c800d9630935ac34bc08223a04601e35f41d5e9b5dd5207.uk.png differ
diff --git a/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.my.png b/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.my.png
new file mode 100644
index 00000000..32c8ba10
Binary files /dev/null and b/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.my.png differ
diff --git a/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.uk.png b/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.uk.png
new file mode 100644
index 00000000..32c8ba10
Binary files /dev/null and b/translated_images/iot-reference-architecture.2278b98b55c6d4e89bde18eada3688d893861d43507641804dd2f9d3079cfaa0.uk.png differ
diff --git a/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.my.png b/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.my.png
new file mode 100644
index 00000000..82802e17
Binary files /dev/null and b/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.my.png differ
diff --git a/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.uk.png b/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.uk.png
new file mode 100644
index 00000000..82802e17
Binary files /dev/null and b/translated_images/iot-service-allowed-denied-connection.818b0063ac213fb84204a7229303764d9b467ca430fb822b4ac2fca267d56726.uk.png differ
diff --git a/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.my.png b/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.my.png
new file mode 100644
index 00000000..8214fc2c
Binary files /dev/null and b/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.my.png differ
diff --git a/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.uk.png b/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.uk.png
new file mode 100644
index 00000000..8214fc2c
Binary files /dev/null and b/translated_images/iot-service-connectivity.7e873847921a5d6fd60d0ba3a943210194518cee0d4e362476624316443275c3.uk.png differ
diff --git a/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.my.png b/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.my.png
new file mode 100644
index 00000000..434baaad
Binary files /dev/null and b/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.my.png differ
diff --git a/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.uk.png b/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.uk.png
new file mode 100644
index 00000000..434baaad
Binary files /dev/null and b/translated_images/latitude-equator.feccc3214b7d9fb1e1b2e44f938081c85149f092152de1509783b344e5f2097a.uk.png differ
diff --git a/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.my.png b/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.my.png
new file mode 100644
index 00000000..d32271b5
Binary files /dev/null and b/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.my.png differ
diff --git a/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.uk.png b/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.uk.png
new file mode 100644
index 00000000..d32271b5
Binary files /dev/null and b/translated_images/latitude-lines.11d8d91dfb2014a57437272d7db7fd6607243098e8685f06e0c5f1ec984cb7eb.uk.png differ
diff --git a/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.my.png b/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.my.png
new file mode 100644
index 00000000..04cd7dc8
Binary files /dev/null and b/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.my.png differ
diff --git a/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.uk.png b/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.uk.png
new file mode 100644
index 00000000..04cd7dc8
Binary files /dev/null and b/translated_images/led-digital-control.13b9be14077ea49f883c2ec52e1ce1c587804f2ed653f4061661e6a8783dd8c7.uk.png differ
diff --git a/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.my.png b/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.my.png
new file mode 100644
index 00000000..a8a12bce
Binary files /dev/null and b/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.my.png differ
diff --git a/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.uk.png b/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.uk.png
new file mode 100644
index 00000000..a8a12bce
Binary files /dev/null and b/translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.uk.png differ
diff --git a/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.my.jpg b/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.my.jpg
new file mode 100644
index 00000000..23ea98b2
Binary files /dev/null and b/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.my.jpg differ
diff --git a/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.uk.jpg b/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.uk.jpg
new file mode 100644
index 00000000..23ea98b2
Binary files /dev/null and b/translated_images/lesson-1.2606670fa61ee904687da5d6fa4e726639d524d064c895117da1b95b9ff6251d.uk.jpg differ
diff --git a/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.my.jpg b/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.my.jpg
new file mode 100644
index 00000000..1e3581d3
Binary files /dev/null and b/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.my.jpg differ
diff --git a/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.uk.jpg b/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.uk.jpg
new file mode 100644
index 00000000..1e3581d3
Binary files /dev/null and b/translated_images/lesson-10.829c86b80b9403bb770929ee553a1d293afe50dc23121aaf9be144673ae012cc.uk.jpg differ
diff --git a/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.my.jpg b/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.my.jpg
new file mode 100644
index 00000000..554ea37b
Binary files /dev/null and b/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.my.jpg differ
diff --git a/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.uk.jpg b/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.uk.jpg
new file mode 100644
index 00000000..554ea37b
Binary files /dev/null and b/translated_images/lesson-11.9fddbac4b664c6d50ab7ac9bb32f1fc3f945f03760e72f7f43938073762fb017.uk.jpg differ
diff --git a/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.my.jpg b/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.my.jpg
new file mode 100644
index 00000000..427ba4c3
Binary files /dev/null and b/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.my.jpg differ
diff --git a/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.uk.jpg b/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.uk.jpg
new file mode 100644
index 00000000..427ba4c3
Binary files /dev/null and b/translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.uk.jpg differ
diff --git a/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.my.jpg b/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.my.jpg
new file mode 100644
index 00000000..b2357285
Binary files /dev/null and b/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.my.jpg differ
diff --git a/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.uk.jpg b/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.uk.jpg
new file mode 100644
index 00000000..b2357285
Binary files /dev/null and b/translated_images/lesson-13.a259db1485021be7d7c72e90842fbe0ab977529e8684c179b5fb1ea75e92b3ef.uk.jpg differ
diff --git a/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.my.jpg b/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.my.jpg
new file mode 100644
index 00000000..1736ebb4
Binary files /dev/null and b/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.my.jpg differ
diff --git a/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.uk.jpg b/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.uk.jpg
new file mode 100644
index 00000000..1736ebb4
Binary files /dev/null and b/translated_images/lesson-14.63980c5150ae3c153e770fb71d044c1845dce79248d86bed9fc525adf3ede73c.uk.jpg differ
diff --git a/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.my.jpg b/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.my.jpg
new file mode 100644
index 00000000..bf1d724f
Binary files /dev/null and b/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.my.jpg differ
diff --git a/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.uk.jpg b/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.uk.jpg
new file mode 100644
index 00000000..bf1d724f
Binary files /dev/null and b/translated_images/lesson-15.843d21afdc6fb2bba70cd9db7b7d2f91598859fafda2078b0bdc44954194b6c0.uk.jpg differ
diff --git a/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.my.jpg b/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.my.jpg
new file mode 100644
index 00000000..bb78259a
Binary files /dev/null and b/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.my.jpg differ
diff --git a/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.uk.jpg b/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.uk.jpg
new file mode 100644
index 00000000..bb78259a
Binary files /dev/null and b/translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.uk.jpg differ
diff --git a/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.my.jpg b/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.my.jpg
new file mode 100644
index 00000000..b311b568
Binary files /dev/null and b/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.my.jpg differ
diff --git a/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.uk.jpg b/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.uk.jpg
new file mode 100644
index 00000000..b311b568
Binary files /dev/null and b/translated_images/lesson-17.bc333c3c35ba8e42cce666cfffa82b915f787f455bd94e006aea2b6f2722421a.uk.jpg differ
diff --git a/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.my.jpg b/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.my.jpg
new file mode 100644
index 00000000..5bd350fd
Binary files /dev/null and b/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.my.jpg differ
diff --git a/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.uk.jpg b/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.uk.jpg
new file mode 100644
index 00000000..5bd350fd
Binary files /dev/null and b/translated_images/lesson-18.92c32ed1d354caa5a54baa4032cf0b172d4655e8e326ad5d46c558a0def15365.uk.jpg differ
diff --git a/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.my.jpg b/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.my.jpg
new file mode 100644
index 00000000..66fbe114
Binary files /dev/null and b/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.my.jpg differ
diff --git a/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.uk.jpg b/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.uk.jpg
new file mode 100644
index 00000000..66fbe114
Binary files /dev/null and b/translated_images/lesson-19.cf6973cecadf080c4b526310620dc4d6f5994c80fb0139c6f378cc9ca2d435cd.uk.jpg differ
diff --git a/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.my.jpg b/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.my.jpg
new file mode 100644
index 00000000..050e7206
Binary files /dev/null and b/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.my.jpg differ
diff --git a/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.uk.jpg b/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.uk.jpg
new file mode 100644
index 00000000..050e7206
Binary files /dev/null and b/translated_images/lesson-2.324b0580d620c25e0a24fb7fddfc0b29a846dd4b82c08e7a9466d580ee78ce51.uk.jpg differ
diff --git a/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.my.jpg b/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.my.jpg
new file mode 100644
index 00000000..91c64faa
Binary files /dev/null and b/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.my.jpg differ
diff --git a/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.uk.jpg b/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.uk.jpg
new file mode 100644
index 00000000..91c64faa
Binary files /dev/null and b/translated_images/lesson-20.0211df9551a8abb300fc8fcf7dc2789468dea2eabe9202273ac077b0ba37f15e.uk.jpg differ
diff --git a/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.my.jpg b/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.my.jpg
new file mode 100644
index 00000000..36e1a4b3
Binary files /dev/null and b/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.my.jpg differ
diff --git a/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.uk.jpg b/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.uk.jpg
new file mode 100644
index 00000000..36e1a4b3
Binary files /dev/null and b/translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.uk.jpg differ
diff --git a/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.my.jpg b/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.my.jpg
new file mode 100644
index 00000000..1b87df4c
Binary files /dev/null and b/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.my.jpg differ
diff --git a/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.uk.jpg b/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.uk.jpg
new file mode 100644
index 00000000..1b87df4c
Binary files /dev/null and b/translated_images/lesson-22.6148ea28500d9e00c396aaa2649935fb6641362c8f03d8e5e90a676977ab01dd.uk.jpg differ
diff --git a/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.my.jpg b/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.my.jpg
new file mode 100644
index 00000000..8df37a22
Binary files /dev/null and b/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.my.jpg differ
diff --git a/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.uk.jpg b/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.uk.jpg
new file mode 100644
index 00000000..8df37a22
Binary files /dev/null and b/translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.uk.jpg differ
diff --git a/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.my.jpg b/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.my.jpg
new file mode 100644
index 00000000..943af1b9
Binary files /dev/null and b/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.my.jpg differ
diff --git a/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.uk.jpg b/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.uk.jpg
new file mode 100644
index 00000000..943af1b9
Binary files /dev/null and b/translated_images/lesson-24.4246968ed058510ab275052e87ef9aa89c7b2f938915d103c605c04dc6cd5bb7.uk.jpg differ
diff --git a/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.my.jpg b/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.my.jpg
new file mode 100644
index 00000000..5a96f7fb
Binary files /dev/null and b/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.my.jpg differ
diff --git a/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.uk.jpg b/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.uk.jpg
new file mode 100644
index 00000000..5a96f7fb
Binary files /dev/null and b/translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.uk.jpg differ
diff --git a/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.my.jpg b/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.my.jpg
new file mode 100644
index 00000000..8f0bee50
Binary files /dev/null and b/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.my.jpg differ
diff --git a/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.uk.jpg b/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.uk.jpg
new file mode 100644
index 00000000..8f0bee50
Binary files /dev/null and b/translated_images/lesson-4.7344e074ea68fa545fd320b12dce36d72dd62d28c3b4596cb26cf315f434b98f.uk.jpg differ
diff --git a/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.my.jpg b/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.my.jpg
new file mode 100644
index 00000000..4ba24109
Binary files /dev/null and b/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.my.jpg differ
diff --git a/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.uk.jpg b/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.uk.jpg
new file mode 100644
index 00000000..4ba24109
Binary files /dev/null and b/translated_images/lesson-5.42b234299279d263143148b88ab4583861a32ddb03110c6c1120e41bb88b2592.uk.jpg differ
diff --git a/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.my.jpg b/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.my.jpg
new file mode 100644
index 00000000..cdf0f557
Binary files /dev/null and b/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.my.jpg differ
diff --git a/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.uk.jpg b/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.uk.jpg
new file mode 100644
index 00000000..cdf0f557
Binary files /dev/null and b/translated_images/lesson-6.3e493b60eee85adc8c74dfeaaec3a3a6cfba61fedbcb84aa0146e7e80603a5dd.uk.jpg differ
diff --git a/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.my.jpg b/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.my.jpg
new file mode 100644
index 00000000..f59ee98d
Binary files /dev/null and b/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.my.jpg differ
diff --git a/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.uk.jpg b/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.uk.jpg
new file mode 100644
index 00000000..f59ee98d
Binary files /dev/null and b/translated_images/lesson-7.30b5f577d3cb8e031238751475cb519c7d6dbaea261b5df4643d086ffb2a03bb.uk.jpg differ
diff --git a/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.my.jpg b/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.my.jpg
new file mode 100644
index 00000000..5bdbfd14
Binary files /dev/null and b/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.my.jpg differ
diff --git a/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.uk.jpg b/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.uk.jpg
new file mode 100644
index 00000000..5bdbfd14
Binary files /dev/null and b/translated_images/lesson-8.3f21f3c11159e6a0a376351973ea5724d5de68fa23b4288853a174bed9ac48c3.uk.jpg differ
diff --git a/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.my.jpg b/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.my.jpg
new file mode 100644
index 00000000..b78ab3ac
Binary files /dev/null and b/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.my.jpg differ
diff --git a/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.uk.jpg b/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.uk.jpg
new file mode 100644
index 00000000..b78ab3ac
Binary files /dev/null and b/translated_images/lesson-9.dfe99c8e891f48e179724520da9f5794392cf9a625079281ccdcbf09bd85e1b6.uk.jpg differ
diff --git a/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.my.png b/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.my.png
new file mode 100644
index 00000000..d071dffe
Binary files /dev/null and b/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.my.png differ
diff --git a/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.uk.png b/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.uk.png
new file mode 100644
index 00000000..d071dffe
Binary files /dev/null and b/translated_images/light-switch.760317ad6ab8bd6d611da5352dfe9c73a94a0822ccec7df3c8bae35da18e1658.uk.png differ
diff --git a/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.my.png b/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.my.png
new file mode 100644
index 00000000..b8947f6d
Binary files /dev/null and b/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.my.png differ
diff --git a/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.uk.png b/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.uk.png
new file mode 100644
index 00000000..b8947f6d
Binary files /dev/null and b/translated_images/lines-of-longitude-and-latitude.032aca9d3e402c4e89da3f1c269b955f0dac443ae4ae3dd6e1dada5761c39a92.uk.png differ
diff --git a/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.my.png b/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.my.png
new file mode 100644
index 00000000..5c5dfb96
Binary files /dev/null and b/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.my.png differ
diff --git a/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.uk.png b/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.uk.png
new file mode 100644
index 00000000..5c5dfb96
Binary files /dev/null and b/translated_images/longitude-meridians.ab4ef1c91c064586b0185a3c8d39e585903696c6a7d28c098a93a629cddb5d20.uk.png differ
diff --git a/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.my.png b/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.my.png
new file mode 100644
index 00000000..663ad7e9
Binary files /dev/null and b/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.my.png differ
diff --git a/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.uk.png b/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.uk.png
new file mode 100644
index 00000000..663ad7e9
Binary files /dev/null and b/translated_images/longitude-prime-meridian.33b01b41ce615f9ddf85d91b0f93bdc076cfa44bb10b17296de42e2d1ba1090e.uk.png differ
diff --git a/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.my.png b/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.my.png
new file mode 100644
index 00000000..b1e33d6b
Binary files /dev/null and b/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.my.png differ
diff --git a/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.uk.png b/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.uk.png
new file mode 100644
index 00000000..b1e33d6b
Binary files /dev/null and b/translated_images/luis-intent-examples.25716580b2d2723cf1bafdf277d015c7f046d8cfa20f27bddf3a0873ec45fab7.uk.png differ
diff --git a/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.my.png b/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.my.png
new file mode 100644
index 00000000..2a03ab78
Binary files /dev/null and b/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.my.png differ
diff --git a/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.uk.png b/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.uk.png
new file mode 100644
index 00000000..2a03ab78
Binary files /dev/null and b/translated_images/luis-logo.5cb4f3e88c020ee6df4f614e8831f4a4b6809a7247bf52085fb48d629ef9be52.uk.png differ
diff --git a/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.my.png b/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.my.png
new file mode 100644
index 00000000..02ef1351
Binary files /dev/null and b/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.my.png differ
diff --git a/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.uk.png b/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.uk.png
new file mode 100644
index 00000000..02ef1351
Binary files /dev/null and b/translated_images/map-image.8fb2c53eb23ef39c1c0a4410a5282e879b3b452b707eb066ff04c5488d3d72b7.uk.png differ
diff --git a/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.my.png b/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.my.png
new file mode 100644
index 00000000..33faabd1
Binary files /dev/null and b/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.my.png differ
diff --git a/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.uk.png b/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.uk.png
new file mode 100644
index 00000000..33faabd1
Binary files /dev/null and b/translated_images/map-path.896832e72dc696ffe20650e4051027d4855442d955f93fdbb80bb417ca8a406f.uk.png differ
diff --git a/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.my.png b/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.my.png
new file mode 100644
index 00000000..aa94da2c
Binary files /dev/null and b/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.my.png differ
diff --git a/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.uk.png b/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.uk.png
new file mode 100644
index 00000000..aa94da2c
Binary files /dev/null and b/translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.uk.png differ
diff --git a/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.my.png b/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.my.png
new file mode 100644
index 00000000..ac000818
Binary files /dev/null and b/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.my.png differ
diff --git a/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.uk.png b/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.uk.png
new file mode 100644
index 00000000..ac000818
Binary files /dev/null and b/translated_images/microsoft-gps-location-world.a321d481b010f6adfcca139b2ba0adc53b79f58a540495b8e2ce7f779ea64bfe.uk.png differ
diff --git a/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.my.png b/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.my.png
new file mode 100644
index 00000000..2fb519f5
Binary files /dev/null and b/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.my.png differ
diff --git a/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.uk.png b/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.uk.png
new file mode 100644
index 00000000..2fb519f5
Binary files /dev/null and b/translated_images/microsoft-gps-location.9eb77a13b22b7e70a0a80bd2b54c24eda141b4ee15a0373c93f8c73f4fcd81f5.uk.png differ
diff --git a/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.my.png b/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.my.png
new file mode 100644
index 00000000..48459b92
Binary files /dev/null and b/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.my.png differ
diff --git a/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.uk.png b/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.uk.png
new file mode 100644
index 00000000..48459b92
Binary files /dev/null and b/translated_images/mobile-controlled-thermostat.4a994010473d8d6a52ba68c67e5f02dc8928c717e93ca4b9bc55525aa75bbb60.uk.png differ
diff --git a/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.my.png b/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.my.png
new file mode 100644
index 00000000..d502a579
Binary files /dev/null and b/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.my.png differ
diff --git a/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.uk.png b/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.uk.png
new file mode 100644
index 00000000..d502a579
Binary files /dev/null and b/translated_images/mqtt.cbf7f21d9adc3e17548b359444cc11bb4bf2010543e32ece9a47becf54438c23.uk.png differ
diff --git a/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.my.png b/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.my.png
new file mode 100644
index 00000000..fca45002
Binary files /dev/null and b/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.my.png differ
diff --git a/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.uk.png b/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.uk.png
new file mode 100644
index 00000000..fca45002
Binary files /dev/null and b/translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.uk.png differ
diff --git a/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.my.png b/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.my.png
new file mode 100644
index 00000000..94aa28db
Binary files /dev/null and b/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.my.png differ
diff --git a/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.uk.png b/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.uk.png
new file mode 100644
index 00000000..94aa28db
Binary files /dev/null and b/translated_images/object-detector-cashews-tomato.1af7c26686b4db0e709754aeb196f4e73271f54e2085db3bcccb70d4a0d84d97.uk.png differ
diff --git a/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.my.png b/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.my.png
new file mode 100644
index 00000000..894df473
Binary files /dev/null and b/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.my.png differ
diff --git a/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.uk.png b/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.uk.png
new file mode 100644
index 00000000..894df473
Binary files /dev/null and b/translated_images/object-detector-detected-tomato-paste.52656fe87af4c37b4ee540526d63e73ed075da2e54a9a060aa528e0c562fb1b6.uk.png differ
diff --git a/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.my.png b/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.my.png
new file mode 100644
index 00000000..b75dfdd2
Binary files /dev/null and b/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.my.png differ
diff --git a/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.uk.png b/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.uk.png
new file mode 100644
index 00000000..b75dfdd2
Binary files /dev/null and b/translated_images/object-detector-tag-tomato-paste.f47c362fb0f0eb582f3bc68cf3855fb43a805106395358d41896a269c210b7b4.uk.png differ
diff --git a/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.my.png b/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.my.png
new file mode 100644
index 00000000..1e7934c3
Binary files /dev/null and b/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.my.png differ
diff --git a/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.uk.png b/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.uk.png
new file mode 100644
index 00000000..1e7934c3
Binary files /dev/null and b/translated_images/optical-tomato-sorting.61aa134bdda4e5b1bfb16a212c1e35a6ef0c426cbb8b1c975f79d7bfbf48d068.uk.png differ
diff --git a/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.my.png b/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.my.png
new file mode 100644
index 00000000..5bb319ec
Binary files /dev/null and b/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.my.png differ
diff --git a/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.uk.png b/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.uk.png
new file mode 100644
index 00000000..5bb319ec
Binary files /dev/null and b/translated_images/overlap-object-detection.d431e03cae75072a2760430eca7f2c5fdd43045bfd72dadcbf12711f7cd6c2ae.uk.png differ
diff --git a/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.my.png b/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.my.png
new file mode 100644
index 00000000..d66e224f
Binary files /dev/null and b/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.my.png differ
diff --git a/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.uk.png b/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.uk.png
new file mode 100644
index 00000000..d66e224f
Binary files /dev/null and b/translated_images/pi-button.c7a1a4f55943341ce1baf1057658e9a205804d4131d258e820c93f951df0abf3.uk.png differ
diff --git a/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.my.png b/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.my.png
new file mode 100644
index 00000000..ed18e7b0
Binary files /dev/null and b/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.my.png differ
diff --git a/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.uk.png b/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.uk.png
new file mode 100644
index 00000000..ed18e7b0
Binary files /dev/null and b/translated_images/pi-camera-module.4278753c31bd6e757aa2b858be97d72049f71616278cefe4fb5abb485b40a078.uk.png differ
diff --git a/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.my.png b/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.my.png
new file mode 100644
index 00000000..9acb21a7
Binary files /dev/null and b/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.my.png differ
diff --git a/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.uk.png b/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.uk.png
new file mode 100644
index 00000000..9acb21a7
Binary files /dev/null and b/translated_images/pi-camera-ribbon-cable.0bf82acd251611c21ac616f082849413e2b322a261d0e4f8fec344248083b07e.uk.png differ
diff --git a/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.my.png b/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.my.png
new file mode 100644
index 00000000..1ced5fc1
Binary files /dev/null and b/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.my.png differ
diff --git a/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.uk.png b/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.uk.png
new file mode 100644
index 00000000..1ced5fc1
Binary files /dev/null and b/translated_images/pi-camera-socket-ribbon-cable.a18309920b11800911082ed7aa6fb28e6d9be3a022e4079ff990016cae3fca10.uk.png differ
diff --git a/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.my.png b/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.my.png
new file mode 100644
index 00000000..7293ced1
Binary files /dev/null and b/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.my.png differ
diff --git a/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.uk.png b/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.uk.png
new file mode 100644
index 00000000..7293ced1
Binary files /dev/null and b/translated_images/pi-camera-upside-down.5376961ba31459883362124152ad6b823d5ac5fc14e85f317e22903bd681c2b6.uk.png differ
diff --git a/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.my.png b/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.my.png
new file mode 100644
index 00000000..be837c63
Binary files /dev/null and b/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.my.png differ
diff --git a/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.uk.png b/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.uk.png
new file mode 100644
index 00000000..be837c63
Binary files /dev/null and b/translated_images/pi-gps-sensor.1f99ee2b2f6528915047ec78967bd362e0e4ee0ed594368a3837b9cf9cdaca64.uk.png differ
diff --git a/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.my.png b/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.my.png
new file mode 100644
index 00000000..73861107
Binary files /dev/null and b/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.my.png differ
diff --git a/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.uk.png b/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.uk.png
new file mode 100644
index 00000000..73861107
Binary files /dev/null and b/translated_images/pi-hardware-kit.26dbadaedb7dd44c73b0131d5d68ea29472ed0a9744f90d5866c6d82f2d16380.uk.png differ
diff --git a/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.my.png b/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.my.png
new file mode 100644
index 00000000..1b26d7ff
Binary files /dev/null and b/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.my.png differ
diff --git a/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.uk.png b/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.uk.png
new file mode 100644
index 00000000..1b26d7ff
Binary files /dev/null and b/translated_images/pi-led.97f1d474981dc35d1c7996c7b17de355d3d0a6bc9606d79fa5f89df933415122.uk.png differ
diff --git a/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.my.png b/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.my.png
new file mode 100644
index 00000000..f1905ecc
Binary files /dev/null and b/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.my.png differ
diff --git a/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.uk.png b/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.uk.png
new file mode 100644
index 00000000..f1905ecc
Binary files /dev/null and b/translated_images/pi-light-sensor.66cc1e31fa48cd7d5f23400d4b2119aa41508275cb7c778053a7923b4e972d7e.uk.png differ
diff --git a/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.my.png b/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.my.png
new file mode 100644
index 00000000..edc44fa9
Binary files /dev/null and b/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.my.png differ
diff --git a/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.uk.png b/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.uk.png
new file mode 100644
index 00000000..edc44fa9
Binary files /dev/null and b/translated_images/pi-relay-and-soil-moisture-sensor.02f3198975b8c53e69ec716cd2719ce117700bd1fc933eaf93476c103c57939b.uk.png differ
diff --git a/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.my.png b/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.my.png
new file mode 100644
index 00000000..87854d3a
Binary files /dev/null and b/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.my.png differ
diff --git a/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.uk.png b/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.uk.png
new file mode 100644
index 00000000..87854d3a
Binary files /dev/null and b/translated_images/pi-respeaker-hat.f00fabe7dd039a93e2e0aa0fc946c9af0c6a9eb17c32fa1ca097fb4e384f69f0.uk.png differ
diff --git a/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.my.png b/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.my.png
new file mode 100644
index 00000000..d1158e0d
Binary files /dev/null and b/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.my.png differ
diff --git a/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.uk.png b/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.uk.png
new file mode 100644
index 00000000..d1158e0d
Binary files /dev/null and b/translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.uk.png differ
diff --git a/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.my.png b/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.my.png
new file mode 100644
index 00000000..122abea4
Binary files /dev/null and b/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.my.png differ
diff --git a/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.uk.png b/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.uk.png
new file mode 100644
index 00000000..122abea4
Binary files /dev/null and b/translated_images/pi-temperature-sensor.3ff82fff672c8e565ef25a39d26d111de006b825a7e0867227ef4e7fbff8553c.uk.png differ
diff --git a/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.my.png b/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.my.png
new file mode 100644
index 00000000..dc009aa5
Binary files /dev/null and b/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.my.png differ
diff --git a/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.uk.png b/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.uk.png
new file mode 100644
index 00000000..dc009aa5
Binary files /dev/null and b/translated_images/pi-time-of-flight-sensor.58c8dc04eb3bfb57a7c3019f031433ef4d798d4d7603d565afbf6f3802840dba.uk.png differ
diff --git a/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.my.png b/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.my.png
new file mode 100644
index 00000000..ccb0d4e1
Binary files /dev/null and b/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.my.png differ
diff --git a/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.uk.png b/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.uk.png
new file mode 100644
index 00000000..ccb0d4e1
Binary files /dev/null and b/translated_images/plant-growth-temp-graph copy.65baa28afd9b7f5fbc04bf7c9684b086c466a467631568c23549d54949fc71d2.uk.png differ
diff --git a/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.my.png b/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.my.png
new file mode 100644
index 00000000..ccb0d4e1
Binary files /dev/null and b/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.my.png differ
diff --git a/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.uk.png b/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.uk.png
new file mode 100644
index 00000000..ccb0d4e1
Binary files /dev/null and b/translated_images/plant-growth-temp-graph.c6d69c9478e6ca832baa8dcb8d4adcbb67304074ce50e94ac8faae95975177f9.uk.png differ
diff --git a/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.my.png b/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.my.png
new file mode 100644
index 00000000..12274b8b
Binary files /dev/null and b/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.my.png differ
diff --git a/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.uk.png b/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.uk.png
new file mode 100644
index 00000000..12274b8b
Binary files /dev/null and b/translated_images/polygon-points.302193da381cb415f46c2c7a98496ee4be05d6c73d21238a89721ad93e121233.uk.png differ
diff --git a/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.my.png b/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.my.png
new file mode 100644
index 00000000..da226797
Binary files /dev/null and b/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.my.png differ
diff --git a/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.uk.png b/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.uk.png
new file mode 100644
index 00000000..da226797
Binary files /dev/null and b/translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.uk.png differ
diff --git a/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.my.png b/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.my.png
new file mode 100644
index 00000000..67bd8a82
Binary files /dev/null and b/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.my.png differ
diff --git a/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.uk.png b/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.uk.png
new file mode 100644
index 00000000..67bd8a82
Binary files /dev/null and b/translated_images/proximity-sensor.f5cd752c77fb62fea000156233b32fd24fad3707ec69b8bdd8d312b7af85156d.uk.png differ
diff --git a/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.my.png b/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.my.png
new file mode 100644
index 00000000..18938f59
Binary files /dev/null and b/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.my.png differ
diff --git a/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.uk.png b/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.uk.png
new file mode 100644
index 00000000..18938f59
Binary files /dev/null and b/translated_images/pub-sub.7c7ed43fe9fd15d4e1f81a3fd95440413c457acd9bcbe9a43341e30e88db5264.uk.png differ
diff --git a/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.my.png b/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.my.png
new file mode 100644
index 00000000..db480604
Binary files /dev/null and b/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.my.png differ
diff --git a/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.uk.png b/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.uk.png
new file mode 100644
index 00000000..db480604
Binary files /dev/null and b/translated_images/pump-wired-to-relay.66c5cfc0d89189900cd601777f5caeb39ee35c6250f6c86bf38feaceedb21fe9.uk.png differ
diff --git a/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.my.png b/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.my.png
new file mode 100644
index 00000000..535e5798
Binary files /dev/null and b/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.my.png differ
diff --git a/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.uk.png b/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.uk.png
new file mode 100644
index 00000000..535e5798
Binary files /dev/null and b/translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.uk.png differ
diff --git a/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.my.png b/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.my.png
new file mode 100644
index 00000000..b3d83ab7
Binary files /dev/null and b/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.my.png differ
diff --git a/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.uk.png b/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.uk.png
new file mode 100644
index 00000000..b3d83ab7
Binary files /dev/null and b/translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.uk.png differ
diff --git a/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.my.png b/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.my.png
new file mode 100644
index 00000000..4bb97d60
Binary files /dev/null and b/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.my.png differ
diff --git a/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.uk.png b/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.uk.png
new file mode 100644
index 00000000..4bb97d60
Binary files /dev/null and b/translated_images/ram-comparison.6beb73541b42ac6ffde64cdf79fc925a84b932ce7ebd4d41d5fd7afc1257a696.uk.png differ
diff --git a/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.my.jpg b/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.my.jpg
new file mode 100644
index 00000000..4cf0d73d
Binary files /dev/null and b/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.my.jpg differ
diff --git a/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.uk.jpg b/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.uk.jpg
new file mode 100644
index 00000000..4cf0d73d
Binary files /dev/null and b/translated_images/raspberry-pi-4.fd4590d308c3d456db1327e86b395ddcd735513267aafd4879ea2785f7792eac.uk.jpg differ
diff --git a/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.my.png b/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.my.png
new file mode 100644
index 00000000..0aace880
Binary files /dev/null and b/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.my.png differ
diff --git a/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.uk.png b/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.uk.png
new file mode 100644
index 00000000..0aace880
Binary files /dev/null and b/translated_images/raspberry-pi-imager.24aedeab9e233d841a1504ed7cfeb871b1f8e1134cfcd8370e7f60a092056be2.uk.png differ
diff --git a/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.my.png b/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.my.png
new file mode 100644
index 00000000..b19b1f6b
Binary files /dev/null and b/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.my.png differ
diff --git a/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.uk.png b/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.uk.png
new file mode 100644
index 00000000..b19b1f6b
Binary files /dev/null and b/translated_images/raspberry-pi-logo.4efaa16605cee05489d8fa53941e991b3757aa24c20a95abdcf8cfd761953596.uk.png differ
diff --git a/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.my.jpg b/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.my.jpg
new file mode 100644
index 00000000..827670ed
Binary files /dev/null and b/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.my.jpg differ
diff --git a/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.uk.jpg b/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.uk.jpg
new file mode 100644
index 00000000..827670ed
Binary files /dev/null and b/translated_images/raspberry-pi-zero.f7a4133e1e7d54bb3dbb32319b217a53c5b94871995a54647f2894b54206b8d8.uk.jpg differ
diff --git a/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.my.png b/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.my.png
new file mode 100644
index 00000000..435f901a
Binary files /dev/null and b/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.my.png differ
diff --git a/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.uk.png b/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.uk.png
new file mode 100644
index 00000000..435f901a
Binary files /dev/null and b/translated_images/relay-off.c34a178a2960fecdc3c6400d43e633ed11c6746cd653cfb4a768fa097c40394c.uk.png differ
diff --git a/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.my.png b/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.my.png
new file mode 100644
index 00000000..7308a1d1
Binary files /dev/null and b/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.my.png differ
diff --git a/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.uk.png b/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.uk.png
new file mode 100644
index 00000000..7308a1d1
Binary files /dev/null and b/translated_images/relay-on.4db16a0fd6b669262fd6699aff3fbcd31b6057c06d90411b6bddc06326d1cf75.uk.png differ
diff --git a/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.my.png b/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.my.png
new file mode 100644
index 00000000..8454c4d2
Binary files /dev/null and b/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.my.png differ
diff --git a/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.uk.png b/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.uk.png
new file mode 100644
index 00000000..8454c4d2
Binary files /dev/null and b/translated_images/resistive-soil-moisture-sensor.728a138a3d109e0653d8e4f6744140836c67461bbd0f4d887f47ed8228dc80b5.uk.png differ
diff --git a/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.my.png b/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.my.png
new file mode 100644
index 00000000..324b711d
Binary files /dev/null and b/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.my.png differ
diff --git a/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.uk.png b/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.uk.png
new file mode 100644
index 00000000..324b711d
Binary files /dev/null and b/translated_images/respeaker-35mm-speaker.ad79ef4f128c7751f0abf854869b6b779c90c12ae3e48909944a7e48aeee3c7e.uk.png differ
diff --git a/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.my.png b/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.my.png
new file mode 100644
index 00000000..ddfb42aa
Binary files /dev/null and b/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.my.png differ
diff --git a/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.uk.png b/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.uk.png
new file mode 100644
index 00000000..ddfb42aa
Binary files /dev/null and b/translated_images/respeaker-jst-speaker.a441d177809df9458041a2012dd336dbb22c00a5c9642647109d2940a50d6fcc.uk.png differ
diff --git a/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.my.png b/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.my.png
new file mode 100644
index 00000000..280f2fe0
Binary files /dev/null and b/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.my.png differ
diff --git a/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.uk.png b/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.uk.png
new file mode 100644
index 00000000..280f2fe0
Binary files /dev/null and b/translated_images/respeaker.f5d19d1c6b14ab1676d24ac2764e64fac5339046ae07be8b45ce07633d61b79b.uk.png differ
diff --git a/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.my.jpg b/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.my.jpg
new file mode 100644
index 00000000..89b581ef
Binary files /dev/null and b/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.my.jpg differ
diff --git a/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.uk.jpg b/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.uk.jpg
new file mode 100644
index 00000000..89b581ef
Binary files /dev/null and b/translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.uk.jpg differ
diff --git a/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.my.jpg b/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.my.jpg
new file mode 100644
index 00000000..6efd2da1
Binary files /dev/null and b/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.my.jpg differ
diff --git a/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.uk.jpg b/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.uk.jpg
new file mode 100644
index 00000000..6efd2da1
Binary files /dev/null and b/translated_images/rpi-stock-with-bounding-boxes.b5540e2ecb7cd49f1271828d3be412671d950e87625c5597ea97c90f11e01097.uk.jpg differ
diff --git a/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.my.png b/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.my.png
new file mode 100644
index 00000000..348fe7a0
Binary files /dev/null and b/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.my.png differ
diff --git a/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.uk.png b/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.uk.png
new file mode 100644
index 00000000..348fe7a0
Binary files /dev/null and b/translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.uk.png differ
diff --git a/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.my.png b/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.my.png
new file mode 100644
index 00000000..a69e73f4
Binary files /dev/null and b/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.my.png differ
diff --git a/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.uk.png b/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.uk.png
new file mode 100644
index 00000000..a69e73f4
Binary files /dev/null and b/translated_images/save-telemetry-database.ddc9c6bea0c5ba39449966a463ca6748cd8e2d565dab44ff31c9f1d2f6c21d27.uk.png differ
diff --git a/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.my.png b/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.my.png
new file mode 100644
index 00000000..49b0ca9b
Binary files /dev/null and b/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.my.png differ
diff --git a/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.uk.png b/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.uk.png
new file mode 100644
index 00000000..49b0ca9b
Binary files /dev/null and b/translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.uk.png differ
diff --git a/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.my.png b/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.my.png
new file mode 100644
index 00000000..458a3c95
Binary files /dev/null and b/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.my.png differ
diff --git a/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.uk.png b/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.uk.png
new file mode 100644
index 00000000..458a3c95
Binary files /dev/null and b/translated_images/search-buffer-and-distance.e6a79af3898183c7b2ef6fbf12271b8b34afd23969bb946962b1b18d3d2635e8.uk.png differ
diff --git a/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.my.png b/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.my.png
new file mode 100644
index 00000000..90b687c2
Binary files /dev/null and b/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.my.png differ
diff --git a/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.uk.png b/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.uk.png
new file mode 100644
index 00000000..90b687c2
Binary files /dev/null and b/translated_images/seeed-logo.74732b6b482b6e8e8bdcc06f0541fc92b1dabf5e3e8f37afb91e04393a8cb977.uk.png differ
diff --git a/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.my.png b/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.my.png
new file mode 100644
index 00000000..cb4bc445
Binary files /dev/null and b/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.my.png differ
diff --git a/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.uk.png b/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.uk.png
new file mode 100644
index 00000000..cb4bc445
Binary files /dev/null and b/translated_images/select-the-random-checkbox-and-set-a-range.32cf4bc7c12e797f8c76616b10c7c23a6592321bb1a6310e0b481e72f97d23b3.uk.png differ
diff --git a/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.my.png b/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.my.png
new file mode 100644
index 00000000..e7ea8ab6
Binary files /dev/null and b/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.my.png differ
diff --git a/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.uk.png b/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.uk.png
new file mode 100644
index 00000000..e7ea8ab6
Binary files /dev/null and b/translated_images/send-message-asymmetric.7abe327c62615b8c19805252af5d4b6c5e7aaeb8fbc455efeff866fe2d300b62.uk.png differ
diff --git a/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.my.png b/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.my.png
new file mode 100644
index 00000000..6f138cf9
Binary files /dev/null and b/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.my.png differ
diff --git a/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.uk.png b/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.uk.png
new file mode 100644
index 00000000..6f138cf9
Binary files /dev/null and b/translated_images/send-message-certificate.9cc576ac1e46b76eb58ebc8eedaa522566fa0700076da46f5180aad78c2435db.uk.png differ
diff --git a/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.my.png b/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.my.png
new file mode 100644
index 00000000..2f5f2861
Binary files /dev/null and b/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.my.png differ
diff --git a/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.uk.png b/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.uk.png
new file mode 100644
index 00000000..2f5f2861
Binary files /dev/null and b/translated_images/send-message-symmetric-key-hacker.e7cb53db1707adfb1486a8144060cb76435fe8dbdede8cecc09e7d15b2d9a251.uk.png differ
diff --git a/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.my.png b/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.my.png
new file mode 100644
index 00000000..f2f1b63e
Binary files /dev/null and b/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.my.png differ
diff --git a/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.uk.png b/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.uk.png
new file mode 100644
index 00000000..f2f1b63e
Binary files /dev/null and b/translated_images/send-message-symmetric-key.a2e8ad0d495896ffcdf15d25bb4491c695a5cb851457b359fb0f0c89d67707c9.uk.png differ
diff --git a/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.my.png b/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.my.png
new file mode 100644
index 00000000..5643c164
Binary files /dev/null and b/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.my.png differ
diff --git a/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.uk.png b/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.uk.png
new file mode 100644
index 00000000..5643c164
Binary files /dev/null and b/translated_images/sentence-as-intent-entities.301401696f9922590a99343f5c5d211b710b906f212f0d4d034cee3ffb610272.uk.png differ
diff --git a/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.my.png b/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.my.png
new file mode 100644
index 00000000..73fa30d1
Binary files /dev/null and b/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.my.png differ
diff --git a/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.uk.png b/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.uk.png
new file mode 100644
index 00000000..73fa30d1
Binary files /dev/null and b/translated_images/serverless-scaling.f8c769adf0413fd17be1af4f07ff63016b347e2ff869be6c4abb211f9e93909d.uk.png differ
diff --git a/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.my.png b/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.my.png
new file mode 100644
index 00000000..eee39f7d
Binary files /dev/null and b/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.my.png differ
diff --git a/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.uk.png b/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.uk.png
new file mode 100644
index 00000000..eee39f7d
Binary files /dev/null and b/translated_images/shapes-to-images.1a309f0ea88dd66fafa4da6d38e88806ce174cc6a88081efb32852230ed55de8.uk.png differ
diff --git a/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.my.png b/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.my.png
new file mode 100644
index 00000000..5a0fb117
Binary files /dev/null and b/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.my.png differ
diff --git a/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.uk.png b/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.uk.png
new file mode 100644
index 00000000..5a0fb117
Binary files /dev/null and b/translated_images/smarter-thermostat.a75855f15d2d9e63d5da9d7ba5847a987f6c9d98e96e770c203532275194e27d.uk.png differ
diff --git a/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.my.png b/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.my.png
new file mode 100644
index 00000000..27ddbfee
Binary files /dev/null and b/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.my.png differ
diff --git a/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.uk.png b/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.uk.png
new file mode 100644
index 00000000..27ddbfee
Binary files /dev/null and b/translated_images/soil-moisture-delay.865f3fae206db01d5f8f100f4f44040215d44a0412dd3450aef7ff7b93b6d273.uk.png differ
diff --git a/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.my.png b/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.my.png
new file mode 100644
index 00000000..ee07bd10
Binary files /dev/null and b/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.my.png differ
diff --git a/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.uk.png b/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.uk.png
new file mode 100644
index 00000000..ee07bd10
Binary files /dev/null and b/translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.uk.png differ
diff --git a/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.my.png b/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.my.png
new file mode 100644
index 00000000..37a2464a
Binary files /dev/null and b/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.my.png differ
diff --git a/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.uk.png b/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.uk.png
new file mode 100644
index 00000000..37a2464a
Binary files /dev/null and b/translated_images/soil-moisture-to-voltage-with-reading.681cb3e1f8b68caf5547dbf1415851c82e201edfb78face16fc98da4051ed9b2.uk.png differ
diff --git a/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.my.png b/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.my.png
new file mode 100644
index 00000000..d852153c
Binary files /dev/null and b/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.my.png differ
diff --git a/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.uk.png b/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.uk.png
new file mode 100644
index 00000000..d852153c
Binary files /dev/null and b/translated_images/soil-moisture-to-voltage.df86d80cda1587008f312431ed5f79eb6c50c58d4fbc25a6763c5e9127c3106b.uk.png differ
diff --git a/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.my.png b/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.my.png
new file mode 100644
index 00000000..a457ac8d
Binary files /dev/null and b/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.my.png differ
diff --git a/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.uk.png b/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.uk.png
new file mode 100644
index 00000000..a457ac8d
Binary files /dev/null and b/translated_images/soil-moisture-travel.a0e31af222cf14385de5380dfc32c7b8213960965228b8e4f7b7ab7f73b310a3.uk.png differ
diff --git a/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.my.png b/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.my.png
new file mode 100644
index 00000000..3eccd326
Binary files /dev/null and b/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.my.png differ
diff --git a/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.uk.png b/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.uk.png
new file mode 100644
index 00000000..3eccd326
Binary files /dev/null and b/translated_images/spi.297431d6f98b386b4ff88aea44ce9c1e7acfb1ef69c7e4e388a7aa97b6948e24.uk.png differ
diff --git a/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.my.png b/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.my.png
new file mode 100644
index 00000000..49083372
Binary files /dev/null and b/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.my.png differ
diff --git a/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.uk.png b/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.uk.png
new file mode 100644
index 00000000..49083372
Binary files /dev/null and b/translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.uk.png differ
diff --git a/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.my.png b/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.my.png
new file mode 100644
index 00000000..1b4a94e5
Binary files /dev/null and b/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.my.png differ
diff --git a/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.uk.png b/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.uk.png
new file mode 100644
index 00000000..1b4a94e5
Binary files /dev/null and b/translated_images/stock-7-cans-tomato-paste.f86059cc573d7becaa89a0eafb9d2cd7e2fe37405a530fe565990e2333d0e4a1.uk.png differ
diff --git a/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.my.png b/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.my.png
new file mode 100644
index 00000000..8589e88f
Binary files /dev/null and b/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.my.png differ
diff --git a/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.uk.png b/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.uk.png
new file mode 100644
index 00000000..8589e88f
Binary files /dev/null and b/translated_images/stock-rogue-corn.be1f3ada8c4578544641af66671c1711a4c02297f14cc7f503354dae0d30a954.uk.png differ
diff --git a/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.my.png b/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.my.png
new file mode 100644
index 00000000..e1246f56
Binary files /dev/null and b/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.my.png differ
diff --git a/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.uk.png b/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.uk.png
new file mode 100644
index 00000000..e1246f56
Binary files /dev/null and b/translated_images/strawberry-with-pump.b410fc72ac6aabad3e28de9775bf2393ead73dcfec6fd8c9bc01cf107ecd171a.uk.png differ
diff --git a/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.my.png b/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.my.png
new file mode 100644
index 00000000..db66a52b
Binary files /dev/null and b/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.my.png differ
diff --git a/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.uk.png b/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.uk.png
new file mode 100644
index 00000000..db66a52b
Binary files /dev/null and b/translated_images/telemetry.21e5d8b97649d2ebeb0f68d4b9691ab2d1f7bd629338e131465aff8a614e4d4a.uk.png differ
diff --git a/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.my.png b/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.my.png
new file mode 100644
index 00000000..66c76c2f
Binary files /dev/null and b/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.my.png differ
diff --git a/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.uk.png b/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.uk.png
new file mode 100644
index 00000000..66c76c2f
Binary files /dev/null and b/translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.uk.png differ
diff --git a/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.my.png b/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.my.png
new file mode 100644
index 00000000..450b824c
Binary files /dev/null and b/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.my.png differ
diff --git a/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.uk.png b/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.uk.png
new file mode 100644
index 00000000..450b824c
Binary files /dev/null and b/translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.uk.png differ
diff --git a/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.my.png b/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.my.png
new file mode 100644
index 00000000..615bc7a9
Binary files /dev/null and b/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.my.png differ
diff --git a/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.uk.png b/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.uk.png
new file mode 100644
index 00000000..615bc7a9
Binary files /dev/null and b/translated_images/traditional-vs-ml.5c20c169621fa539ca84a2cd9a49f6ff7410b3a6c6b46c97ff2af3f99db3c66b.uk.png differ
diff --git a/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.my.png b/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.my.png
new file mode 100644
index 00000000..3c9e2930
Binary files /dev/null and b/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.my.png differ
diff --git a/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.uk.png b/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.uk.png
new file mode 100644
index 00000000..3c9e2930
Binary files /dev/null and b/translated_images/translated-smart-timer.08ac20057fdc5c3778ed41cb425dca5d7fbcd4584b6da7b73ca67115a5b8a883.uk.png differ
diff --git a/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.my.png b/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.my.png
new file mode 100644
index 00000000..e4bb0186
Binary files /dev/null and b/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.my.png differ
diff --git a/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.uk.png b/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.uk.png
new file mode 100644
index 00000000..e4bb0186
Binary files /dev/null and b/translated_images/transpiration.b735aa34e4372e659f76d82527e9ce683f076d56065d0d8fddf13321666f4d80.uk.png differ
diff --git a/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.my.png b/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.my.png
new file mode 100644
index 00000000..91e4cba6
Binary files /dev/null and b/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.my.png differ
diff --git a/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.uk.png b/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.uk.png
new file mode 100644
index 00000000..91e4cba6
Binary files /dev/null and b/translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.uk.png differ
diff --git a/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.my.png b/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.my.png
new file mode 100644
index 00000000..91230d0c
Binary files /dev/null and b/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.my.png differ
diff --git a/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.uk.png b/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.uk.png
new file mode 100644
index 00000000..91230d0c
Binary files /dev/null and b/translated_images/uart.d0dbd3fb9e3728c6ee1995c8206f3cdb13cdfd208f13745e8ef6854cab75e421.uk.png differ
diff --git a/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.my.png b/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.my.png
new file mode 100644
index 00000000..128cd4a9
Binary files /dev/null and b/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.my.png differ
diff --git a/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.uk.png b/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.uk.png
new file mode 100644
index 00000000..128cd4a9
Binary files /dev/null and b/translated_images/vscode-azure-functions-init-notification.bd19b49229963edb5311fb3a79445ea469424759d2917ee2f2eb6f92d65d5086.uk.png differ
diff --git a/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.my.png b/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.my.png
new file mode 100644
index 00000000..8d62d827
Binary files /dev/null and b/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.my.png differ
diff --git a/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.uk.png b/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.uk.png
new file mode 100644
index 00000000..8d62d827
Binary files /dev/null and b/translated_images/vscode-kill-terminal.1cc4de7c6f25ee08f423f0ead714e61d069fac1eb2089e97b8a7bbcb3d45fe5e.uk.png differ
diff --git a/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.my.png b/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.my.png
new file mode 100644
index 00000000..a84ab661
Binary files /dev/null and b/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.my.png differ
diff --git a/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.uk.png b/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.uk.png
new file mode 100644
index 00000000..a84ab661
Binary files /dev/null and b/translated_images/vscode-new-file-button.182702340fe6723c8cbb4cfa1a9a9fb0d0a5227643b4e46b91ff67b07a39a92f.uk.png differ
diff --git a/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.my.png b/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.my.png
new file mode 100644
index 00000000..4c88d3d3
Binary files /dev/null and b/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.my.png differ
diff --git a/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.uk.png b/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.uk.png
new file mode 100644
index 00000000..4c88d3d3
Binary files /dev/null and b/translated_images/vscode-new-terminal.77db8fc0f9cd31824b0e49a201beafe4ae4616d6c7339992cb2819e789b3eff9.uk.png differ
diff --git a/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.my.png b/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.my.png
new file mode 100644
index 00000000..bc1895b8
Binary files /dev/null and b/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.my.png differ
diff --git a/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.uk.png b/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.uk.png
new file mode 100644
index 00000000..bc1895b8
Binary files /dev/null and b/translated_images/vscode-open-nightlight-remote.d3d2a4011e30d535c4b70084f6e94bf6b5b1327fd8e77affe64465ac151ee766.uk.png differ
diff --git a/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.my.png b/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.my.png
new file mode 100644
index 00000000..d8ff3180
Binary files /dev/null and b/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.my.png differ
diff --git a/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.uk.png b/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.uk.png
new file mode 100644
index 00000000..d8ff3180
Binary files /dev/null and b/translated_images/vscode-platformio-build-command-palette.7708e7ec7d75d7ee1a0551f42229a321c7e2e4bccac7f1a64df2ed55999f723d.uk.png differ
diff --git a/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.my.png b/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.my.png
new file mode 100644
index 00000000..06b86a65
Binary files /dev/null and b/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.my.png differ
diff --git a/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.uk.png b/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.uk.png
new file mode 100644
index 00000000..06b86a65
Binary files /dev/null and b/translated_images/vscode-platformio-home-open.3f9a41bfd3f4da1c866ec3e69f1675faa30b823b5b58ab58ac88e5df9a85da19.uk.png differ
diff --git a/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.my.png b/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.my.png
new file mode 100644
index 00000000..ac7aa47a
Binary files /dev/null and b/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.my.png differ
diff --git a/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.uk.png b/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.uk.png
new file mode 100644
index 00000000..ac7aa47a
Binary files /dev/null and b/translated_images/vscode-platformio-menu.297be26b9733e5c4635d9d8e636e93fed2015809eafb7cc8fd409c37b3ef2ef5.uk.png differ
diff --git a/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.my.png b/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.my.png
new file mode 100644
index 00000000..20480a22
Binary files /dev/null and b/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.my.png differ
diff --git a/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.uk.png b/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.uk.png
new file mode 100644
index 00000000..20480a22
Binary files /dev/null and b/translated_images/vscode-platformio-nightlight-project-wizard.5c64db4da6037420827c2597507897233457210ee23975711fa2285efdcd0dc7.uk.png differ
diff --git a/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.my.png b/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.my.png
new file mode 100644
index 00000000..9d90f435
Binary files /dev/null and b/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.my.png differ
diff --git a/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.uk.png b/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.uk.png
new file mode 100644
index 00000000..9d90f435
Binary files /dev/null and b/translated_images/vscode-platformio-serial-monitor-command-palette.b348ec841b8a1c14af503d6fc0bf73c657c79c9acc12a6b6dd485ce3b5826f48.uk.png differ
diff --git a/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.my.png b/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.my.png
new file mode 100644
index 00000000..27b0ea2c
Binary files /dev/null and b/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.my.png differ
diff --git a/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.uk.png b/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.uk.png
new file mode 100644
index 00000000..27b0ea2c
Binary files /dev/null and b/translated_images/vscode-platformio-upload-command-palette.9e0f49cf80d1f1c3eb5c6689b8705ad8b89f0374b21698e996fec11e4ed09347.uk.png differ
diff --git a/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.my.png b/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.my.png
new file mode 100644
index 00000000..3526a6d0
Binary files /dev/null and b/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.my.png differ
diff --git a/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.uk.png b/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.uk.png
new file mode 100644
index 00000000..3526a6d0
Binary files /dev/null and b/translated_images/vscode-platformio-welcome-new-button.ba6fc8a4c7b78cc822e1ce47ba29c5db96668cce7c5f4adbfd2f1196422baa26.uk.png differ
diff --git a/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.my.png b/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.my.png
new file mode 100644
index 00000000..855d442e
Binary files /dev/null and b/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.my.png differ
diff --git a/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.uk.png b/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.uk.png
new file mode 100644
index 00000000..855d442e
Binary files /dev/null and b/translated_images/vscode-virtual-env.8ba42e04c3d533cf677e16cbe5ed9a3b80f62c6964472dc84b6f940800f0909f.uk.png differ
diff --git a/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.my.png b/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.my.png
new file mode 100644
index 00000000..aed3d813
Binary files /dev/null and b/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.my.png differ
diff --git a/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.uk.png b/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.uk.png
new file mode 100644
index 00000000..aed3d813
Binary files /dev/null and b/translated_images/what-is-azure-video-thumbnail.20174db09e03bbb87d213f928d3cb27410305d2e567e952827de8478dbda959b.uk.png differ
diff --git a/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.my.png b/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.my.png
new file mode 100644
index 00000000..9bfca6c2
Binary files /dev/null and b/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.my.png differ
diff --git a/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.uk.png b/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.uk.png
new file mode 100644
index 00000000..9bfca6c2
Binary files /dev/null and b/translated_images/wio-gps-sensor.19fd52b81ce58095d5deb3d4e5a1fdd88818d76569b00b1f0d740c92dc986525.uk.png differ
diff --git a/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.my.png b/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.my.png
new file mode 100644
index 00000000..0490e302
Binary files /dev/null and b/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.my.png differ
diff --git a/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.uk.png b/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.uk.png
new file mode 100644
index 00000000..0490e302
Binary files /dev/null and b/translated_images/wio-hardware-kit.4c70c48b85e4283a1d73e248d87d49587c0cd077eeb69cb3eca803166f63c9a5.uk.png differ
diff --git a/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.my.png b/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.my.png
new file mode 100644
index 00000000..676e2378
Binary files /dev/null and b/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.my.png differ
diff --git a/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.uk.png b/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.uk.png
new file mode 100644
index 00000000..676e2378
Binary files /dev/null and b/translated_images/wio-led.265a1897e72d7f21c753257516a4b677d8e30ce2b95fee98189458b3275ba0a6.uk.png differ
diff --git a/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.my.png b/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.my.png
new file mode 100644
index 00000000..280e18c3
Binary files /dev/null and b/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.my.png differ
diff --git a/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.uk.png b/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.uk.png
new file mode 100644
index 00000000..280e18c3
Binary files /dev/null and b/translated_images/wio-light-sensor.b1f529f3c95f51654f2e2c1d2d4b55fe547d189f588c974f5c2462c728133840.uk.png differ
diff --git a/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.my.png b/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.my.png
new file mode 100644
index 00000000..bb70a905
Binary files /dev/null and b/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.my.png differ
diff --git a/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.uk.png b/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.uk.png
new file mode 100644
index 00000000..bb70a905
Binary files /dev/null and b/translated_images/wio-mic.3f8c843dbe8ad917424037a93e3d25c62634add00a04dd8e091317b5a7a90088.uk.png differ
diff --git a/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.my.png b/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.my.png
new file mode 100644
index 00000000..c0860d6e
Binary files /dev/null and b/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.my.png differ
diff --git a/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.uk.png b/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.uk.png
new file mode 100644
index 00000000..c0860d6e
Binary files /dev/null and b/translated_images/wio-relay-and-soil-moisture-sensor.ed722202d42babe0be5f4518cf13e8c2c81e8df21d37839266cbdb60cf30172d.uk.png differ
diff --git a/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.my.png b/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.my.png
new file mode 100644
index 00000000..9a34d708
Binary files /dev/null and b/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.my.png differ
diff --git a/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.uk.png b/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.uk.png
new file mode 100644
index 00000000..9a34d708
Binary files /dev/null and b/translated_images/wio-respeaker-hat.bd54917d446e6f6f142f9371ea52c12fd708873986bf46191208a151cd929bad.uk.png differ
diff --git a/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.my.png b/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.my.png
new file mode 100644
index 00000000..2c683d8b
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.my.png differ
diff --git a/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.uk.png b/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.uk.png
new file mode 100644
index 00000000..2c683d8b
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-0.767f80aa6508103880d256cdf99ee7219e190db257c7261e4aec219759dc67b9.uk.png differ
diff --git a/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.my.png b/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.my.png
new file mode 100644
index 00000000..1ba4c5b0
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.my.png differ
diff --git a/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.uk.png b/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.uk.png
new file mode 100644
index 00000000..1ba4c5b0
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-1.8d894727f2ba24004824ee5e06b83b6d10952550003a3efb603182121521b0ef.uk.png differ
diff --git a/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.my.png b/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.my.png
new file mode 100644
index 00000000..93aa3743
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.my.png differ
diff --git a/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.uk.png b/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.uk.png
new file mode 100644
index 00000000..93aa3743
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-2.329e1cbd306e754f8ffe56f9294794f4a8fa123860d76067a79e9ea385d1bf56.uk.png differ
diff --git a/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.my.png b/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.my.png
new file mode 100644
index 00000000..3089e5e1
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.my.png differ
diff --git a/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.uk.png b/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.uk.png
new file mode 100644
index 00000000..3089e5e1
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-3.75b0be447e2fa9307a6a954f9ae8a71b77e39ada6a5ef1a059d341dc850fd90c.uk.png differ
diff --git a/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.my.png b/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.my.png
new file mode 100644
index 00000000..53468420
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.my.png differ
diff --git a/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.uk.png b/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.uk.png
new file mode 100644
index 00000000..53468420
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-4.aa9cd434d8779437de720cba2719d83992413caed1b620b6148f6c8924889afb.uk.png differ
diff --git a/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.my.png b/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.my.png
new file mode 100644
index 00000000..003dc174
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.my.png differ
diff --git a/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.uk.png b/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.uk.png
new file mode 100644
index 00000000..003dc174
Binary files /dev/null and b/translated_images/wio-respeaker-wiring-5.af117c20acf622f3cd656ccd8f4053f8845d6aaa3af164d24cb7dbd54a4bb470.uk.png differ
diff --git a/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.my.png b/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.my.png
new file mode 100644
index 00000000..3c0d2f87
Binary files /dev/null and b/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.my.png differ
diff --git a/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.uk.png b/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.uk.png
new file mode 100644
index 00000000..3c0d2f87
Binary files /dev/null and b/translated_images/wio-sd-card.acdcbe322fa4ee7f8f9c8cc015b3263964bb26ab5c7e25b41747988cc5280d64.uk.png differ
diff --git a/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.my.png b/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.my.png
new file mode 100644
index 00000000..56f285f2
Binary files /dev/null and b/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.my.png differ
diff --git a/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.uk.png b/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.uk.png
new file mode 100644
index 00000000..56f285f2
Binary files /dev/null and b/translated_images/wio-soil-moisture-sensor.46919b61c3f6cb7497662251b29038ee0e57a4c8b9d071feb996c3b0d7f65aaf.uk.png differ
diff --git a/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.my.png b/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.my.png
new file mode 100644
index 00000000..ec8bbe2f
Binary files /dev/null and b/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.my.png differ
diff --git a/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.uk.png b/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.uk.png
new file mode 100644
index 00000000..ec8bbe2f
Binary files /dev/null and b/translated_images/wio-temperature-sensor.2934928f38c7f79a68d24879d2c8986c78244696f931e2e33c293f426ecdc0ad.uk.png differ
diff --git a/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.my.png b/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.my.png
new file mode 100644
index 00000000..bbaae894
Binary files /dev/null and b/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.my.png differ
diff --git a/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.uk.png b/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.uk.png
new file mode 100644
index 00000000..bbaae894
Binary files /dev/null and b/translated_images/wio-terminal-c-button.73df3cb1c1445ea07ee98316af0e7925fcb43135df0abed58d3d4822b2589c3b.uk.png differ
diff --git a/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.my.png b/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.my.png
new file mode 100644
index 00000000..ef71f6da
Binary files /dev/null and b/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.my.png differ
diff --git a/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.uk.png b/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.uk.png
new file mode 100644
index 00000000..ef71f6da
Binary files /dev/null and b/translated_images/wio-terminal-pin-sticker.b90b1535937b84bd00d853f0004aea74fac2aec04b43f14b887796b2633f855e.uk.png differ
diff --git a/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.my.png b/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.my.png
new file mode 100644
index 00000000..4e9390eb
Binary files /dev/null and b/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.my.png differ
diff --git a/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.uk.png b/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.uk.png
new file mode 100644
index 00000000..4e9390eb
Binary files /dev/null and b/translated_images/wio-terminal.b8299ee16587db9aa9e05fabf9721bccd9eb8fb541b7c1a8267241282d81b603.uk.png differ
diff --git a/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.my.png b/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.my.png
new file mode 100644
index 00000000..16d7af80
Binary files /dev/null and b/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.my.png differ
diff --git a/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.uk.png b/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.uk.png
new file mode 100644
index 00000000..16d7af80
Binary files /dev/null and b/translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.uk.png differ
diff --git a/translations/my/1-getting-started/README.md b/translations/my/1-getting-started/README.md
new file mode 100644
index 00000000..e3f857c4
--- /dev/null
+++ b/translations/my/1-getting-started/README.md
@@ -0,0 +1,30 @@
+
+# IoT စတင်အသုံးပြုခြင်း
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင် Internet of Things (IoT) ကိုမိတ်ဆက်ပေးပြီး အခြေခံအကြောင်းအရာများကိုလေ့လာပါမည်။ ထို့အပြင် cloud ကိုချိတ်ဆက်ပြီး 'Hello World' IoT ပရောဂျက်ကိုတည်ဆောက်ခြင်းအပါအဝင် အခြေခံအချက်များကိုလည်းသင်ယူပါမည်။ ဒီပရောဂျက်မှာ အလင်းအရောင်အဆင့်ကို sensor တစ်ခုကတိုင်းတာပြီး အလင်းအရောင်ကျဆင်းလာတဲ့အခါ မီးလင်းပေးမည့် nightlight တစ်ခုဖြစ်ပါတယ်။
+
+
+
+## ခေါင်းစဉ်များ
+
+1. [IoT ကိုမိတ်ဆက်ခြင်း](lessons/1-introduction-to-iot/README.md)
+1. [IoT ကိုနက်နက်ရှိုင်းရှိုင်းလေ့လာခြင်း](lessons/2-deeper-dive/README.md)
+1. [Sensor နှင့် actuator များဖြင့် ရုပ်ပိုင်းဆိုင်ရာကမ္ဘာနှင့်အပြန်အလှန်ဆက်သွယ်ခြင်း](lessons/3-sensors-and-actuators/README.md)
+1. [သင့် device ကိုအင်တာနက်နှင့်ချိတ်ဆက်ခြင်း](lessons/4-connect-internet/README.md)
+
+## အကျိုးတူ
+
+ဒီသင်ခန်းစာအားလုံးကို [Jim Bennett](https://GitHub.com/JimBobBennett) မှ ♥️ ဖြင့်ရေးသားထားပါသည်။
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှု ဝန်ဆောင်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/1-introduction-to-iot/README.md b/translations/my/1-getting-started/lessons/1-introduction-to-iot/README.md
new file mode 100644
index 00000000..6a66539b
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/1-introduction-to-iot/README.md
@@ -0,0 +1,222 @@
+
+# IoT အကြောင်းအကျဉ်း
+
+
+
+> ပုံရေးသူ [Nitya Narasimhan](https://github.com/nitya)။ ပုံကို နှိပ်ပြီး ပိုကြီးတဲ့ဗားရှင်းကိုကြည့်ပါ။
+
+ဒီသင်ခန်းစာကို [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) မှ [Hello IoT series](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) အစီအစဉ်အတွင်း သင်ကြားခဲ့သည်။ သင်ခန်းစာကို ၂ မိနစ်စာဗီဒီယိုများဖြင့် သင်ကြားခဲ့ပြီး၊ ၁ နာရီစာ သင်ခန်းစာနှင့် ၁ နာရီစာ အခန်းဖွင့်ချိန်တွင် သင်ခန်းစာ၏ အပိုင်းများကို ပိုမိုနက်ရှိုင်းစွာ လေ့လာပြီး မေးခွန်းများကို ဖြေကြားခဲ့သည်။
+
+[](https://youtu.be/bVFfcYh6UBw)
+
+[](https://youtu.be/YI772q5v3yI)
+
+> 🎥 အထက်ပါပုံများကို နှိပ်ပြီး ဗီဒီယိုများကို ကြည့်ပါ။
+
+## သင်ခန်းစာမတိုင်မီ မေးခွန်းများ
+
+[သင်ခန်းစာမတိုင်မီ မေးခွန်းများ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/1)
+
+## အကျဉ်းချုပ်
+
+ဒီသင်ခန်းစာမှာ Internet of Things (IoT) အကြောင်းအခြေခံအကြောင်းအရာများကို လေ့လာပြီး၊ သင့် hardware ကို စတင်တပ်ဆင်ရန် လမ်းညွှန်ပေးပါမည်။
+
+ဒီသင်ခန်းစာမှာ ကျွန်ုပ်တို့ လေ့လာမည့်အကြောင်းအရာများမှာ -
+
+* [Internet of Things ဆိုတာဘာလဲ?](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+* [IoT စက်ပစ္စည်းများ](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+* [သင့်စက်ကို တပ်ဆင်ပါ](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+* [IoT ၏ အသုံးချမှုများ](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+* [သင့်ပတ်ဝန်းကျင်ရှိ IoT စက်ပစ္စည်းများ၏ ဥပမာများ](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+
+## Internet of Things ဆိုတာဘာလဲ?
+
+'Internet of Things' ဆိုတဲ့စကားလုံးကို [Kevin Ashton](https://wikipedia.org/wiki/Kevin_Ashton) က ၁၉၉၉ ခုနှစ်မှာ စတင်အသုံးပြုခဲ့ပြီး၊ အင်တာနက်ကို sensor တွေကတဆင့် ရုပ်ပိုင်းဆိုင်ရာကမ္ဘာနဲ့ ချိတ်ဆက်ဖို့ ရည်ရွယ်ခဲ့တာဖြစ်ပါတယ်။ အဲဒီအချိန်ကစပြီး၊ ဒီစကားလုံးကို sensor တွေကနေ ဒေတာစုဆောင်းခြင်း၊ ဒါမှမဟုတ် actuator တွေ (LED မီးလင်းခြင်း၊ switch ဖွင့်ခြင်းစတဲ့ လုပ်ဆောင်မှုများ) ကတဆင့် ရုပ်ပိုင်းဆိုင်ရာလုပ်ဆောင်မှုများကို ပေးစွမ်းခြင်းတို့ဖြင့် ရုပ်ပိုင်းဆိုင်ရာကမ္ဘာနဲ့ အပြန်အလှန်ဆက်သွယ်နိုင်တဲ့ စက်ပစ္စည်းများကို ဖော်ပြဖို့ အသုံးပြုလာပါတယ်။
+
+> **Sensor** တွေက ကမ္ဘာပတ်ဝန်းကျင်ကနေ အချက်အလက်တွေကို စုဆောင်းပေးပြီး၊ အမြန်နှုန်း၊ အပူချိန်၊ ဒေသအနေအထားစတဲ့ အချက်အလက်တွေကို တိုင်းတာပေးပါတယ်။
+>
+> **Actuator** တွေက လျှပ်စစ် signal တွေကို ရုပ်ပိုင်းဆိုင်ရာလုပ်ဆောင်မှုတွေ (switch ဖွင့်ခြင်း၊ မီးလင်းခြင်း၊ အသံထုတ်ခြင်း၊ ဒါမှမဟုတ် အခြား hardware တွေကို ထိန်းချုပ်တဲ့ signal ပေးခြင်း) အဖြစ် ပြောင်းလဲပေးပါတယ်။
+
+IoT ဆိုတာ စက်ပစ္စည်းတွေထက်ပိုပြီး cloud-based service တွေကိုပါ အပါအဝင်ဖြစ်ပါတယ်။ Sensor data တွေကို process လုပ်ပေးခြင်း၊ ဒါမှမဟုတ် IoT စက်ပစ္စည်းတွေနဲ့ ချိတ်ဆက်ထားတဲ့ actuator တွေကို request ပေးခြင်းတို့ကို လုပ်ဆောင်နိုင်ပါတယ်။ Internet ချိတ်ဆက်မှုမရှိတဲ့ စက်ပစ္စည်းတွေ (edge devices) ကိုပါ အပါအဝင်ဖြစ်ပြီး၊ AI model တွေကို cloud မှာ training လုပ်ပြီး sensor data ကို ကိုယ်တိုင် process လုပ်နိုင်တဲ့ စက်ပစ္စည်းတွေဖြစ်ပါတယ်။
+
+IoT ဆိုတာ အလွန်မြန်ဆန်စွာ တိုးတက်လာတဲ့ နည်းပညာကဏ္ဍတစ်ခုဖြစ်ပါတယ်။ ၂၀၂၀ ခုနှစ်ကုန်ပိုင်းမှာ IoT စက်ပစ္စည်း ၃၀ ဘီလီယံခန့်ကို deploy လုပ်ပြီး အင်တာနက်နဲ့ ချိတ်ဆက်ထားခဲ့ပါတယ်။ အနာဂတ်ကို ကြည့်မယ်ဆိုရင်၊ ၂၀၂၅ ခုနှစ်မှာ IoT စက်ပစ္စည်းတွေက ၈၀ zettabytes (၈၀ trillion gigabytes) ခန့် ဒေတာကို စုဆောင်းနေမယ်လို့ ခန့်မှန်းထားပါတယ်။ ဒါဟာ အလွန်များတဲ့ ဒေတာပမာဏပါ!
+
+
+
+✅ သုတေသနလေးလုပ်ပါ: IoT စက်ပစ္စည်းတွေက စုဆောင်းတဲ့ ဒေတာတွေထဲမှာ ဘယ်နှစ်ရာခိုင်နှုန်းက အသုံးဝင်ပြီး၊ ဘယ်နှစ်ရာခိုင်နှုန်းက အလဟဿဖြစ်နေလဲ? ဒေတာများများကို မသုံးဘဲထားရတဲ့ အကြောင်းရင်းက ဘာလဲ?
+
+ဒီဒေတာတွေက IoT ရဲ့ အောင်မြင်မှုရဲ့ အဓိကဖြစ်ပါတယ်။ IoT developer အဖြစ် အောင်မြင်ဖို့ဆိုရင်၊ သင့်အတွက်လိုအပ်တဲ့ ဒေတာကို ဘယ်လိုစုဆောင်းမလဲ၊ ဘယ်လိုဆုံးဖြတ်မလဲ၊ အဲ့ဒီဆုံးဖြတ်ချက်တွေကို ရုပ်ပိုင်းဆိုင်ရာကမ္ဘာနဲ့ ဆက်သွယ်ဖို့လိုအပ်ရင် ဘယ်လိုအသုံးချမလဲဆိုတာကို နားလည်ဖို့လိုပါတယ်။
+
+## IoT စက်ပစ္စည်းများ
+
+IoT ရဲ့ **T** ဆိုတာ **Things** ကို ဆိုလိုပါတယ် - sensor တွေကနေ ဒေတာစုဆောင်းခြင်း၊ ဒါမှမဟုတ် actuator တွေကတဆင့် ရုပ်ပိုင်းဆိုင်ရာလုပ်ဆောင်မှုတွေကို ပေးစွမ်းခြင်းတို့ဖြင့် ရုပ်ပိုင်းဆိုင်ရာကမ္ဘာနဲ့ ဆက်သွယ်နိုင်တဲ့ စက်ပစ္စည်းတွေကို ဆိုလိုပါတယ်။
+
+ထုတ်လုပ်မှု သို့မဟုတ် စီးပွားရေးအတွက် အသုံးပြုတဲ့ စက်ပစ္စည်းတွေ (ဥပမာ - fitness tracker တွေ၊ စက်ရုံထိန်းချုပ်စက်တွေ) က custom-made ဖြစ်ပါတယ်။ အဲ့ဒီစက်တွေဟာ custom circuit board တွေ၊ custom processor တွေကို အသုံးပြုပြီး၊ လက်ပေါ်မှာ တပ်ဆင်နိုင်အောင် သေးငယ်ရမယ်၊ ဒါမှမဟုတ် အပူချိန်မြင့်၊ အကြမ်းခံရမယ့် စက်ရုံပတ်ဝန်းကျင်မှာ အသုံးပြုနိုင်အောင် ရည်ရွယ်ထားတဲ့ လုပ်ငန်းလိုအပ်ချက်တွေကို ဖြည့်ဆည်းနိုင်အောင် ဒီဇိုင်းဆွဲထားပါတယ်။
+
+Developer အဖြစ် IoT ကို လေ့လာနေသူ သို့မဟုတ် စက်ပစ္စည်း prototype တစ်ခုကို ဖန်တီးနေသူအဖြစ်၊ developer kit တစ်ခုကို စတင်အသုံးပြုဖို့လိုပါတယ်။ Developer kit တွေဟာ developer တွေကို အသုံးပြုဖို့ ရည်ရွယ်ထားတဲ့ general-purpose IoT စက်ပစ္စည်းတွေဖြစ်ပြီး၊ production device တွေမှာ မပါမဖြစ် features တွေ (sensor တွေ၊ actuator တွေကို ချိတ်ဆက်ဖို့ pin တွေ၊ debugging hardware တွေ၊ large-scale ထုတ်လုပ်မှုမှာ မလိုအပ်တဲ့ အပို resource တွေ) ပါဝင်ပါတယ်။
+
+Developer kit တွေဟာ မိုက်ခရိုကွန်ထရိုလာ (microcontroller) တွေ၊ single-board computer တွေဆိုပြီး အမျိုးအစား ၂ မျိုးရှိပါတယ်။ ဒီသင်ခန်းစာမှာ အကျဉ်းချုပ်ဖော်ပြပေးပြီး၊ နောက်သင်ခန်းစာမှာ ပိုမိုအသေးစိတ်လေ့လာပါမည်။
+
+> 💁 သင့်ဖုန်းကို sensor တွေ၊ actuator တွေ built-in ပါဝင်တဲ့ general-purpose IoT စက်ပစ္စည်းတစ်ခုအဖြစ် သတ်မှတ်နိုင်ပါတယ်။ အမျိုးမျိုးသော app တွေက sensor တွေ၊ actuator တွေကို cloud service တွေကို အသုံးပြုပြီး အခြားနည်းလမ်းတွေနဲ့ အသုံးချနိုင်ပါတယ်။ IoT စက်ပစ္စည်းအဖြစ် ဖုန်း app ကို အသုံးပြုတဲ့ tutorial တွေကိုလည်း တွေ့နိုင်ပါတယ်။
+
+### မိုက်ခရိုကွန်ထရိုလာ (Microcontrollers)
+
+မိုက်ခရိုကွန်ထရိုလာ (MCU - microcontroller unit) ဆိုတာ -
+
+🧠 CPU (central processing unit) တစ်ခု သို့မဟုတ် အများအပြား - မိုက်ခရိုကွန်ထရိုလာရဲ့ 'ဦးနှောက်' ဖြစ်ပြီး သင့် program ကို run လုပ်ပေးပါတယ်။
+
+💾 Memory (RAM နှင့် program memory) - သင့် program, data, variable တွေကို သိမ်းဆည်းထားတဲ့နေရာ
+
+🔌 Programmable input/output (I/O) connection - sensor တွေ၊ actuator တွေလို peripherals တွေနဲ့ ဆက်သွယ်ဖို့
+
+မိုက်ခရိုကွန်ထရိုလာတွေဟာ အလွန်စျေးသက်သာတဲ့ computing device တွေဖြစ်ပြီး၊ custom hardware တွေမှာ အသုံးပြုတဲ့ မိုက်ခရိုကွန်ထရိုလာတွေဟာ US$0.50 လောက်အထိ စျေးကျလာပါတယ်။ Developer kit တွေဟာ US$4 ကနေ စတင်ပြီး၊ feature တွေ ပေါင်းထည့်သလို စျေးနှုန်းတက်လာပါတယ်။ [Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) ဆိုတဲ့ Seeed Studios မှထုတ်လုပ်တဲ့ microcontroller developer kit ဟာ sensor, actuator, WiFi, screen ပါဝင်ပြီး US$30 လောက်ကျသင့်ပါတယ်။
+
+
+
+> 💁 မိုက်ခရိုကွန်ထရိုလာတွေကို အင်တာနက်မှာ ရှာဖွေတဲ့အခါ **MCU** ဆိုတဲ့စကားလုံးကို ရှာဖွေပါက Marvel Cinematic Universe (MCU) နဲ့ဆိုင်တဲ့ ရလဒ်တွေကို အများကြီးတွေ့နိုင်ပါတယ်။
+
+### Single-board computers
+
+Single-board computer ဆိုတာ -
+
+
+
+Raspberry Pi ဟာ single-board computer တွေထဲမှာ အလွန်လူကြိုက်များတဲ့ device တစ်ခုဖြစ်ပါတယ်။
+
+Single-board computer တွေဟာ sensor, actuator တွေနဲ့ interaction လုပ်နိုင်တဲ့ GPIO (general-purpose input/output) pin တွေပါဝင်ပြီး၊ desktop computer သို့မဟုတ် laptop computer တစ်ခုလို အပြည့်အစုံ feature တွေပါဝင်ပါတယ်။
+
+> 🎓 Single-board computer ကို သင့် PC သို့မဟုတ် Mac ရဲ့ သေးငယ်ပြီး စျေးသက်သာတဲ့ version တစ်ခုအဖြစ် သတ်မှတ်နိုင်ပါတယ်။
+
+Single-board computer တွေဟာ fully-featured computer တွေဖြစ်တဲ့အတွက် ဘယ် programming language နဲ့မဆို program ရေးနိုင်ပါတယ်။ IoT device တွေကို Python language နဲ့ program ရေးလေ့ရှိပါတယ်။
+
+### နောက်သင်ခန်းစာများအတွက် hardware ရွေးချယ်မှု
+
+နောက်သင်ခန်းစာတွေမှာ IoT device ကို အသုံးပြုပြီး ရုပ်ပိုင်းဆိုင်ရာကမ္ဘာနဲ့ interaction လုပ်ခြင်း၊ cloud နဲ့ ဆက်သွယ်ခြင်းတို့ကို လုပ်ဆောင်မည့် assignment တွေပါဝင်ပါတယ်။ Arduino (Seeed Studios Wio Terminal ကို အသုံးပြုခြင်း) သို့မဟုတ် single-board computer (Raspberry Pi 4 သို့မဟုတ် virtual single-board computer) တစ်ခုကို အသုံးပြုနိုင်ပါတယ်။
+
+> 💁 IoT hardware မဝယ်ရသေးလည်း သင်ခန်းစာတွေကို virtual single-board computer ကို အသုံးပြုပြီး ပြီးစီးနိုင်ပါတယ်။
+
+### Arduino developer kit
+
+Microcontroller development ကို လေ့လာချင်သူများအတွက် Arduino device ကို အသုံးပြုနိုင်ပါတယ်။ C/C++ programming ကို အခြေခံနားလည်မှုရှိဖို့လိုအပ်ပြီး၊ Arduino framework, sensor, actuator, cloud library တွေကို သင်ခန်းစာမှာသာ သင်ကြားပေးပါမည်။
+
+### Single-board computer developer kit
+
+Single-board computer ကို အသုံးပြုပြီး IoT development ကို လေ့လာချင်သူများအတွက် Raspberry Pi သို့မဟုတ် virtual device ကို အသုံးပြုနိုင်ပါတယ်။ Python programming ကို အခြေခံနားလည်မှုရှိဖို့လိုအပ်ပြီး၊ sensor, actuator, cloud library တွေကို သင်ခန်းစာမှာသာ သင်ကြားပေးပါမည်။
+
+> 💁 Python ကို သင်ယူချင်သူများအတွက် ဗီဒီယို series ၂ ခုကို ကြည့်ပါ:
+>
+> * [Python for beginners](https://channel9.msdn.com/Series/Intro-to-Python-Development?WT.mc_id=academic-17441-jabenn)
+> * [More Python for beginners](https://channel9.msdn.com/Series/More-Python-for-Beginners?WT.mc_id=academic-7372-jabenn)
+
+## သင့်စက်ကို တပ်ဆင်ပါ
+
+IoT device ကို program ရေးမတိုင်မီ သင့်စက်ကို အနည်းငယ် setup လုပ်ဖို့လိုအပ်ပါတယ်။ သင့် device အမျိုးအစားအလိုက် လိုက်နာရမည့် လမ်းညွှန်ချက်များကို အောက်တွင် ဖော်ပြထားပါတယ်။
+💁 အကယ်၍ သင့်မှာ စက်ပစ္စည်းမရှိသေးပါက [hardware guide](../../../hardware.md) ကို ကိုးကားပြီး သုံးမည့် စက်ပစ္စည်းနှင့် ဝယ်ယူရန် လိုအပ်သော ထပ်ဆောင်း hardware များကို ဆုံးဖြတ်နိုင်ပါသည်။ သင် hardware မဝယ်ယူလည်း ရနိုင်ပါသည်၊ အကြောင်းမှာ အစီအစဉ်များအားလုံးကို အတု hardware ပေါ်တွင် အလုပ်လုပ်နိုင်သောကြောင့် ဖြစ်ပါသည်။
+ဒီလမ်းညွှန်စာအုပ်တွင် သင်အသုံးပြုမည့် hardware သို့မဟုတ် tools များအတွက် အမြဲတမ်းနောက်ဆုံးပေါ် လမ်းညွှန်ချက်များကို အသုံးပြုနိုင်ရန် third-party websites link များပါဝင်သည်။
+
+သင့်စက်ကို set up လုပ်ပြီး 'Hello World' project ကို ပြီးမြောက်အောင်လုပ်ပါ။ ဒါဟာ IoT nightlight တစ်ခုကို ဖန်တီးရန် စတင်ခြင်းအဆင့်ဖြစ်ပြီး ဒီလမ်းညွှန်စာအုပ်၏ ၄ ပုဒ်တွင် ပါဝင်သည်။
+
+* [Arduino - Wio Terminal](wio-terminal.md)
+* [Single-board computer - Raspberry Pi](pi.md)
+* [Single-board computer - Virtual device](virtual-device.md)
+
+✅ Arduino နှင့် Single-board computers နှစ်ခုစလုံးအတွက် VS Code ကို အသုံးပြုမည်ဖြစ်သည်။ သင်မသုံးဖူးသေးပါက [VS Code site](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) တွင် ပိုမိုသိရှိနိုင်ပါသည်။
+
+## IoT ၏ အသုံးချမှုများ
+
+IoT သည် အသုံးချမှုအမျိုးမျိုးကို အကျယ်အဝန်းဖြင့် ဖုံးလွှမ်းထားပြီး အောက်ပါ broad groups အနည်းငယ်တွင် ခွဲခြားထားသည်-
+
+* Consumer IoT
+* Commercial IoT
+* Industrial IoT
+* Infrastructure IoT
+
+✅ သုတေသနအနည်းငယ်လုပ်ပါ- အောက်တွင် ဖော်ပြထားသော အပိုင်းများအတွက် စာသားတွင် မပါဝင်သော တိကျသော ဥပမာတစ်ခုကို ရှာဖွေပါ။
+
+### Consumer IoT
+
+Consumer IoT သည် အိမ်တွင်းတွင် အသုံးပြုရန် လူသုံးများဝယ်ယူမည့် IoT devices များကို ဆိုလိုသည်။ ဒီ devices များအနက် အလွန်အသုံးဝင်သောအရာများလည်းရှိပြီး၊ ဥပမာ- smart speakers, smart heating systems, robotic vacuum cleaners စသည်ဖြင့်။ သို့သော် အသုံးဝင်မှုအပေါ် မေးခွန်းထုတ်ရမည့်အရာများလည်းရှိသည်၊ ဥပမာ- voice-controlled taps များသည် ရေစီးသံကြောင့် voice control မကြားနိုင်သောကြောင့် ရေကိုပိတ်၍မရနိုင်ခြင်း။
+
+Consumer IoT devices များသည် လူများကို ပတ်ဝန်းကျင်တွင် ပိုမိုအောင်မြင်စေသော အခွင့်အရေးများပေးနေသည်။ အထူးသဖြင့် မသန်စွမ်းသူ ၁ ဘီလီယံအတွက် အလွန်အကျိုးရှိစေသည်။ ဥပမာ- robotic vacuum cleaners များသည် မသန်စွမ်းသူများအတွက် အိမ်ကြမ်းကို သန့်ရှင်းစေပြီး၊ voice-controlled ovens များသည် မျက်စိမမြင်သူများ သို့မဟုတ် လက်မလှုပ်နိုင်သူများအတွက် အသံဖြင့် oven ကို အပူပေးနိုင်စေသည်။ ကျန်းမာရေးစောင့်ကြည့်စနစ်များသည် လူနာများကို ၎င်းတို့၏ ရောဂါအခြေအနေကို ပိုမိုကြိမ်နှုန်းမြင့်စွာ စောင့်ကြည့်နိုင်စေသည်။ COVID ကာလတွင် အိမ်တွင်းမှ ကျောင်းတက်နေသော ကလေးများသည် smart home devices များကို အသုံးပြု၍ ကျောင်းအလုပ်များကို စောင့်ကြည့်ရန် timer များထားခြင်း၊ သို့မဟုတ် အတန်းအစည်းအဝေးများကို သတိပေးရန် alarm များထားခြင်းတို့ကို လုပ်ဆောင်ခဲ့သည်။
+
+✅ သင့်အိမ်တွင် သို့မဟုတ် သင့်ကိုယ်ပိုင်တွင် Consumer IoT devices များ ရှိပါသလား?
+
+### Commercial IoT
+
+Commercial IoT သည် အလုပ်ခွင်တွင် IoT ကို အသုံးပြုခြင်းကို ဆိုလိုသည်။ ရုံးတွင်းတွင် occupancy sensors နှင့် motion detectors များကို အသုံးပြု၍ မလိုအပ်သောအချိန်တွင် မီးနှင့် အပူပေးစနစ်များကို ပိတ်ထားနိုင်သည်။ စက်ရုံတွင် IoT devices များသည် hard hats မဝတ်ဆင်သော အလုပ်သမားများ သို့မဟုတ် အန္တရာယ်ရှိသော ဆူညံသံများကို စောင့်ကြည့်နိုင်သည်။ စျေးဝယ်စခန်းတွင် IoT devices များသည် အအေးခံထားသော အစားအစာများ၏ အပူချိန်ကို တိုင်းတာပြီး အပူချိန်အကန့်အသတ်ကို ကျော်လွန်ပါက အစီရင်ခံပေးနိုင်သည်။ သို့မဟုတ် ရောင်းချပြီးသော ပစ္စည်းများကို ပြန်လည်ဖြည့်ရန် ဝန်ထမ်းများကို ညွှန်ကြားနိုင်သည်။ သယ်ယူပို့ဆောင်ရေးလုပ်ငန်းတွင် IoT ကို အသုံးပြု၍ ယာဉ်တည်နေရာများကို စောင့်ကြည့်ခြင်း၊ လမ်းပေါ် mileage ကို တိုင်းတာခြင်း၊ ယာဉ်မောင်းအနားယူချိန်များကို စောင့်ကြည့်ခြင်း၊ သို့မဟုတ် ယာဉ်သည် depot ကို ရောက်ရှိမည့်အချိန်ကို အစီရင်ခံပေးခြင်းတို့ကို လုပ်ဆောင်သည်။
+
+✅ သင့်ကျောင်း သို့မဟုတ် အလုပ်ခွင်တွင် Commercial IoT devices များ ရှိပါသလား?
+
+### Industrial IoT (IIoT)
+
+Industrial IoT သို့မဟုတ် IIoT သည် စက်ပစ္စည်းများကို အကြီးအကျယ် စီမံခန့်ခွဲရန် IoT devices များကို အသုံးပြုခြင်းဖြစ်သည်။ ဥပမာ- စက်ရုံများနှင့် digital agriculture များ။
+
+စက်ရုံများတွင် IoT devices များကို အပူချိန်၊ တုန်ခါမှုနှင့် လည်ပတ်နှုန်းတို့ကို စောင့်ကြည့်ရန် sensor များစွာဖြင့် စက်ပစ္စည်းများကို စောင့်ကြည့်သည်။ ဒီ data များကို စက်ပစ္စည်းသည် tolerance အကန့်အသတ်များကို ကျော်လွန်ပါက ရပ်တန့်စေသည်။ ဥပမာ- အပူလွန်ကဲမှုကြောင့် စက်ကို ရပ်တန့်စေခြင်း။ ဒီ data များကို အချိန်ကြာမြင့်စွာ စုဆောင်းပြီး AI models များကို အသုံးပြု၍ failure မဖြစ်မီ ခန့်မှန်းနိုင်သော predictive maintenance ကို လုပ်ဆောင်သည်။
+
+Digital agriculture သည် လူဦးရေတိုးလာမှုကြောင့် စိုက်ပျိုးရေးလုပ်ငန်းများကို ပိုမိုထိရောက်စေရန် အရေးကြီးသည်။ subsistence farming ကို အခြေခံသော ၅၀၀ သန်း households အတွက် အထူးအရေးကြီးသည်။ Digital agriculture သည် အနည်းငယ်သော sensor များမှ စ၍ အကြီးမားသော စိုက်ပျိုးရေးစနစ်များအထိ ကွဲပြားသည်။ ဥပမာ- စိုက်ပျိုးရေးသမားများသည် အပူချိန်ကို စောင့်ကြည့်ပြီး growing degree days ကို အသုံးပြု၍ သီးနှံရိတ်သိမ်းချိန်ကို ခန့်မှန်းနိုင်သည်။ မြေစိုထိုင်းမှုကို စောင့်ကြည့်ပြီး automated watering systems များနှင့် ချိတ်ဆက်၍ သီးနှံများအတွက် လိုအပ်သော ရေကိုပေးနိုင်သည်။ စိုက်ပျိုးရေးသမားများသည် drone, satellite data နှင့် AI ကို အသုံးပြု၍ သီးနှံများ၏ အရည်အသွေး၊ ရောဂါနှင့် မြေညီထိန်းသိမ်းမှုကို စောင့်ကြည့်နေသည်။
+
+✅ စိုက်ပျိုးရေးသမားများအတွက် IoT devices များ ဘယ်လိုကူညီနိုင်မလဲ?
+
+### Infrastructure IoT
+
+Infrastructure IoT သည် လူများနေ့စဉ်အသုံးပြုသော ဒေသတွင်းနှင့် ကမ္ဘာလုံးဆိုင်ရာ အခြေခံအဆောက်အအုံများကို စောင့်ကြည့်ခြင်းနှင့် ထိန်းချုပ်ခြင်းဖြစ်သည်။
+
+[Smart Cities](https://wikipedia.org/wiki/Smart_city) သည် IoT devices များကို အသုံးပြု၍ မြို့၏ data များကို စုဆောင်းပြီး မြို့ကို ပိုမိုထိရောက်စွာ စီမံခန့်ခွဲရန် အသုံးပြုသည်။ ဥပမာ- ဒိန်းမတ်နိုင်ငံ Copenhagen တွင် လေထုညစ်ညမ်းမှုကို စောင့်ကြည့်ပြီး cycling နှင့် jogging လမ်းကြောင်းများအတွက် အကောင်းဆုံး data ကို ပေးသည်။
+
+[Smart power grids](https://wikipedia.org/wiki/Smart_grid) သည် အိမ်တစ်အိမ်ချင်းစီ၏ လျှပ်စစ်အသုံးပြုမှု data ကို စုဆောင်းပြီး နိုင်ငံအဆင့်တွင် လျှပ်စစ်စက်ရုံများကို ဘယ်နေရာတွင် တည်ဆောက်မည်ကို ဆုံးဖြတ်နိုင်သည်။ အိမ်အသုံးပြုသူများအတွက်လည်း လျှပ်စစ်အသုံးပြုမှု data ကို ပေးပြီး အချိန်နှင့် အကျိုးကျေးဇူးများကို သိရှိစေသည်။
+
+✅ သင့်နေရာတွင် IoT devices များကို ဘာကို တိုင်းတာရန် ထည့်သွင်းလိုပါသလဲ?
+
+## သင့်ပတ်ဝန်းကျင်ရှိ IoT devices များ၏ ဥပမာများ
+
+သင့်ပတ်ဝန်းကျင်တွင် IoT devices များ အများကြီး ရှိနေသည်ကို သင်အံ့ဩမိပါမည်။ ဥပမာ- အိမ်တွင်းတွင် ရေးသားနေသောအခါ အောက်ပါ IoT devices များရှိသည်-
+
+* Smart speakers များ
+* ရေခဲသေတ္တာ၊ ပန်းကန်ဆေးစက်၊ မိုက်ခရိုဝေ့နှင့် အိုးဖို
+* Solar panels အတွက် လျှပ်စစ် monitor
+* Smart plugs
+* Video doorbell နှင့် security cameras
+* Smart thermostat နှင့် smart room sensors များ
+* Garage door opener
+* Home entertainment systems နှင့် voice-controlled TVs
+* မီးများ
+* Fitness နှင့် health trackers
+
+ဒီ devices များအားလုံးတွင် sensor များနှင့်/သို့မဟုတ် actuator များပါဝင်ပြီး Internet နှင့် ချိတ်ဆက်ထားသည်။ ဥပမာ- garage door ကို timer ဖြင့် ညအချိန်တွင် auto-close လုပ်နိုင်သည်။ Doorbell မှာ speaker နှင့် microphone ပါဝင်ပြီး အိမ်မရှိချိန်တွင်လည်း အပြန်အလှန်ပြောဆိုနိုင်သည်။ ကျန်းမာရေး data များကို စောင့်ကြည့်ပြီး ကျန်းမာရေးကို တိုးတက်စေသည်။
+
+---
+
+## 🚀 စိန်ခေါ်မှု
+
+သင့်အိမ်၊ ကျောင်း သို့မဟုတ် အလုပ်ခွင်တွင် ရှိသော IoT devices များကို အများဆုံး ရှာဖွေပါ- သင်မထင်ထားသော devices များလည်း ရှိနိုင်ပါသည်!
+
+## Post-lecture quiz
+
+[Post-lecture quiz](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/2)
+
+## Review & Self Study
+
+Consumer IoT projects များ၏ အကျိုးကျေးဇူးများနှင့် အဆင်မပြေမှုများကို ဖတ်ရှုပါ။ Privacy, hardware သို့မဟုတ် connectivity မရှိခြင်းကြောင့် ဖြစ်ပေါ်သော ပြဿနာများအကြောင်း သတင်းများကို ရှာဖွေပါ။
+
+ဥပမာ-
+
+* Twitter account **[Internet of Sh*t](https://twitter.com/internetofshit)** *(profanity warning)* တွင် Consumer IoT ၏ အဆင်မပြေမှုများကို ကြည့်ရှုပါ။
+* [c|net - My Apple Watch saved my life: 5 people share their stories](https://www.cnet.com/news/apple-watch-lifesaving-health-features-read-5-peoples-stories/)
+* [c|net - ADT technician pleads guilty to spying on customer camera feeds for years](https://www.cnet.com/news/adt-home-security-technician-pleads-guilty-to-spying-on-customer-camera-feeds-for-years/) *(trigger warning - non-consensual voyeurism)*
+
+## Assignment
+
+[Investigate an IoT project](assignment.md)
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေပါသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/1-introduction-to-iot/assignment.md b/translations/my/1-getting-started/lessons/1-introduction-to-iot/assignment.md
new file mode 100644
index 00000000..d56d2d40
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/1-introduction-to-iot/assignment.md
@@ -0,0 +1,27 @@
+
+# IoT ပရောဂျက်တစ်ခုကို စုံစမ်းလေ့လာပါ
+
+## လမ်းညွှန်ချက်များ
+
+လောလောဆယ် ကမ္ဘာတစ်ဝှမ်းမှာ IoT ပရောဂျက်ကြီးများ၊ သေးငယ်သော IoT ပရောဂျက်များကို စိုက်ပျိုးရေး၊ မြို့ကြီးများ၊ ကျန်းမာရေးကြီးကြပ်မှု၊ သယ်ယူပို့ဆောင်ရေးနှင့် အများပြည်သူအသုံးပြုနေရာများအတွက် စတင်အကောင်အထည်ဖော်နေကြသည်။
+
+သင့်ကိုစိတ်ဝင်စားစေသော၊ သင့်နေထိုင်ရာနီးစပ်ရာနေရာတွင်ရှိသော ပရောဂျက်တစ်ခုအကြောင်းကို အင်တာနက်တွင် ရှာဖွေပါ။ အဆိုပါပရောဂျက်၏ အကျိုးကျေးဇူးများ၊ ဖြစ်ပေါ်လာနိုင်သော ပြဿနာများနှင့် ကိုယ်ရေးအချက်အလက်လုံခြုံရေးကို ဘယ်လိုစဉ်းစားထားသည်ကို ရှင်းလင်းဖော်ပြပါ။
+
+## အဆင့်သတ်မှတ်ချက်
+
+| အဆင့်သတ်မှတ်ချက် | ထူးချွန်သော | လုံလောက်သော | တိုးတက်မှုလိုအပ်သော |
+| ----------------- | ------------ | ------------ | ------------------- |
+| အကျိုးကျေးဇူးများနှင့် ပြဿနာများကို ရှင်းလင်းဖော်ပြမှု | ပရောဂျက်၏ အကျိုးကျေးဇူးများနှင့် ပြဿနာများကို ရှင်းလင်းစွာ ဖော်ပြထားသည် | အကျိုးကျေးဇူးများနှင့် ပြဿနာများကို အကျဉ်းချုပ်ဖော်ပြထားသည် | အကျိုးကျေးဇူးများ သို့မဟုတ် ပြဿနာများကို မဖော်ပြထားပါ |
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှု ဝန်ဆောင်မှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားယူမှားမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/1-introduction-to-iot/pi.md b/translations/my/1-getting-started/lessons/1-introduction-to-iot/pi.md
new file mode 100644
index 00000000..3e86b08f
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/1-introduction-to-iot/pi.md
@@ -0,0 +1,268 @@
+
+# Raspberry Pi
+
+[Raspberry Pi](https://raspberrypi.org) သည် single-board computer တစ်ခုဖြစ်သည်။ သင်သည် sensor များနှင့် actuator များကို device များနှင့် ecosystem များစွာကို အသုံးပြု၍ ထည့်သွင်းနိုင်ပြီး၊ ဤသင်ခန်းစာများအတွက် [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) ဟုခေါ်သော hardware ecosystem ကို အသုံးပြုမည်ဖြစ်သည်။ သင်၏ Pi ကို Python ဖြင့် code ရေးပြီး Grove sensor များကို access ပြုလုပ်နိုင်ပါသည်။
+
+
+
+## Setup
+
+Raspberry Pi ကို သင်၏ IoT hardware အဖြစ် အသုံးပြုမည်ဆိုပါက၊ သင်တွင် ရွေးချယ်စရာနှစ်ခုရှိသည် - ဤသင်ခန်းစာများအားလုံးကို Pi ပေါ်တွင် တိုက်ရိုက် code ရေးနိုင်သည်၊ သို့မဟုတ် 'headless' Pi ကို remote ဖြင့် ချိတ်ဆက်ပြီး သင်၏ computer မှ code ရေးနိုင်သည်။
+
+စတင်ရန်မတိုင်မီ၊ Grove Base Hat ကို သင်၏ Pi နှင့် ချိတ်ဆက်ရန် လိုအပ်ပါသည်။
+
+### Task - setup
+
+Grove base hat ကို သင်၏ Pi တွင် တပ်ဆင်ပြီး Pi ကို configure လုပ်ပါ
+
+1. Grove base hat ကို သင်၏ Pi နှင့် ချိတ်ဆက်ပါ။ Hat ပေါ်ရှိ socket သည် Pi ရှိ GPIO pin အားလုံးကို အပြည့်အဝ fitting ဖြစ်ပြီး base ပေါ်တွင် ခိုင်ခိုင်မာမာ ထိုင်နေပါသည်။ ၎င်းသည် Pi ကို ဖုံးအုပ်ထားသည်။
+
+ 
+
+1. သင်၏ Pi ကို program ရေးရန် ရွေးချယ်ပြီး အောက်ပါ အပိုင်းသို့ သွားပါ:
+
+ * [Work directly on your Pi](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+ * [Remote access to code the Pi](../../../../../1-getting-started/lessons/1-introduction-to-iot)
+
+### Work directly on your Pi
+
+သင်သည် Pi ပေါ်တွင် တိုက်ရိုက် အလုပ်လုပ်လိုပါက၊ Raspberry Pi OS ၏ desktop version ကို အသုံးပြု၍ လိုအပ်သော tool များအားလုံးကို install လုပ်နိုင်သည်။
+
+#### Task - work directly on your Pi
+
+Development အတွက် သင်၏ Pi ကို setup လုပ်ပါ။
+
+1. [Raspberry Pi setup guide](https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up) တွင်ပါရှိသော လမ်းညွှန်ချက်များကို လိုက်နာပြီး သင်၏ Pi ကို setup လုပ်ပါ၊ keyboard/mouse/monitor နှင့် ချိတ်ဆက်ပါ၊ WiFi သို့မဟုတ် ethernet network နှင့် ချိတ်ဆက်ပါ၊ software ကို update လုပ်ပါ။
+
+Pi ကို Grove sensor များနှင့် actuator များဖြင့် program ရေးရန် device code ရေးရန် editor တစ်ခုနှင့် Grove hardware နှင့် အပြန်အလှန်လုပ်ဆောင်နိုင်သော library များနှင့် tool များကို install လုပ်ရန် လိုအပ်ပါသည်။
+
+1. သင်၏ Pi ကို reboot ပြုလုပ်ပြီးနောက်၊ Terminal ကို launch လုပ်ပါ။ **Terminal** icon ကို အပေါ် menu bar တွင် click လုပ်ပါ၊ သို့မဟုတ် *Menu -> Accessories -> Terminal* ကို ရွေးပါ။
+
+1. OS နှင့် install လုပ်ထားသော software ကို up-to-date ဖြစ်စေရန် အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ sudo apt update && sudo apt full-upgrade --yes
+ ```
+
+1. Grove hardware အတွက် လိုအပ်သော library များအား install လုပ်ရန် အောက်ပါ command များကို run လုပ်ပါ:
+
+ ```sh
+ sudo apt install git python3-dev python3-pip --yes
+
+ git clone https://github.com/Seeed-Studio/grove.py
+ cd grove.py
+ sudo pip3 install .
+
+ sudo raspi-config nonint do_i2c 0
+ ```
+
+ ဤသည်မှာ Git ကို install လုပ်ခြင်းဖြင့် စတင်ပြီး Python package များကို install လုပ်ရန် Pip ကို install လုပ်ပါသည်။
+
+ Python ၏ အားသာချက်တစ်ခုမှာ [Pip packages](https://pypi.org) ကို install လုပ်နိုင်ခြင်းဖြစ်သည် - ၎င်းသည် အခြားသူများရေးသားပြီး အင်တာနက်တွင် publish လုပ်ထားသော code package များဖြစ်သည်။ သင်သည် command တစ်ခုဖြင့် Pip package ကို သင်၏ computer ပေါ်တွင် install လုပ်ပြီး သင်၏ code တွင် အသုံးပြုနိုင်ပါသည်။
+
+ Seeed Grove Python package များကို source မှ install လုပ်ရန် လိုအပ်သည်။ ဤ command များသည် ဤ package ၏ source code ပါဝင်သော repo ကို clone လုပ်ပြီး local တွင် install လုပ်ပါသည်။
+
+ > 💁 Package တစ်ခုကို install လုပ်သောအခါ၊ ၎င်းသည် သင်၏ computer ပေါ်ရှိနေရာအားလုံးတွင် အသုံးပြုနိုင်သည်။ သို့သော် package version များနှင့် ပတ်သက်သော ပြဿနာများ ဖြစ်ပေါ်နိုင်သည် - ဥပမာ application တစ်ခုသည် package version တစ်ခုကို မူတည်ပြီး application တစ်ခုအတွက် version အသစ် install လုပ်သောအခါ ပြဿနာဖြစ်ပေါ်နိုင်သည်။ ဤပြဿနာကို ဖြေရှင်းရန် [Python virtual environment](https://docs.python.org/3/library/venv.html) ကို အသုံးပြုနိုင်သည်။ ၎င်းသည် Python ၏ copy တစ်ခုကို dedicated folder တွင်ထားပြီး Pip package များကို folder ထဲတွင်သာ install လုပ်သည်။ သင်၏ Pi ကို အသုံးပြုသောအခါ virtual environment များကို အသုံးမပြုပါ။ Grove install script သည် Grove Python package များကို global အဖြစ် install လုပ်သည်၊ ထို့ကြောင့် virtual environment ကို setup လုပ်ပြီး Grove package များကို ထို environment ထဲတွင် manually ပြန် install လုပ်ရန် လိုအပ်ပါသည်။ Global package များကို အသုံးပြုခြင်းသည် ပိုမိုလွယ်ကူသည်၊ အထူးသဖြင့် Pi developer များသည် project တစ်ခုစီအတွက် SD card ကို clean ပြန် flash လုပ်လေ့ရှိသည်။
+
+ နောက်ဆုံးတွင်၊ I2C interface ကို enable လုပ်ပါသည်။
+
+1. Menu ကို အသုံးပြု၍ သို့မဟုတ် Terminal တွင် အောက်ပါ command ကို run လုပ်၍ Pi ကို reboot ပြုလုပ်ပါ:
+
+ ```sh
+ sudo reboot
+ ```
+
+1. Pi ကို reboot ပြုလုပ်ပြီးနောက်၊ Terminal ကို ပြန်လည် launch လုပ်ပြီး Python language support ဖြင့် device code ရေးရန် အသုံးပြုမည့် [Visual Studio Code (VS Code)](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) ကို install လုပ်ရန် အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ sudo apt install code
+ ```
+
+ Install ပြီးပါက၊ VS Code သည် အပေါ် menu မှ အသုံးပြုနိုင်ပါသည်။
+
+ > 💁 သင်သည် Python IDE သို့မဟုတ် editor တစ်ခုကို သင်နှစ်သက်သော tool အဖြစ် အသုံးပြုနိုင်ပါသည်၊ သို့သော် ဤသင်ခန်းစာများသည် VS Code ကို အသုံးပြုခြင်းအပေါ် အခြေခံထားသော လမ်းညွှန်ချက်များပေးမည်ဖြစ်သည်။
+
+1. Pylance ကို install လုပ်ပါ။ ၎င်းသည် Python language support ပေးသော VS Code အတွက် extension တစ်ခုဖြစ်သည်။ VS Code တွင် extension ကို install လုပ်ရန် [Pylance extension documentation](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) ကို ရည်ညွှန်းပါ။
+
+### Remote access to code the Pi
+
+Pi ပေါ်တွင် တိုက်ရိုက် code ရေးခြင်းမဟုတ်ဘဲ၊ ၎င်းကို 'headless' အဖြစ် run လုပ်နိုင်ပြီး keyboard/mouse/monitor မပါဘဲ သင်၏ computer မှ configure လုပ်ပြီး code ရေးနိုင်သည်။
+
+#### Set up the Pi OS
+
+Remote ဖြင့် code ရေးရန် Pi OS ကို SD Card ပေါ်တွင် install လုပ်ရန် လိုအပ်သည်။
+
+##### Task - set up the Pi OS
+
+Headless Pi OS ကို setup လုပ်ပါ။
+
+1. **Raspberry Pi Imager** ကို [Raspberry Pi OS software page](https://www.raspberrypi.org/software/) မှ download လုပ်ပြီး install လုပ်ပါ
+
+1. SD card ကို သင်၏ computer တွင် ထည့်ပါ၊ adapter လိုအပ်ပါက အသုံးပြုပါ
+
+1. Raspberry Pi Imager ကို launch လုပ်ပါ
+
+1. Raspberry Pi Imager မှ **CHOOSE OS** button ကို ရွေးပါ၊ *Raspberry Pi OS (Other)* ကို ရွေးပြီး *Raspberry Pi OS Lite (32-bit)* ကို ရွေးပါ
+
+ 
+
+ > 💁 Raspberry Pi OS Lite သည် desktop UI သို့မဟုတ် UI based tool မပါသော Raspberry Pi OS version ဖြစ်သည်။ ၎င်းသည် headless Pi အတွက် မလိုအပ်သော UI များကို ဖယ်ရှားထားပြီး install size ကို သေးငယ်စေပြီး boot up time ကို မြန်စေသည်။
+
+1. **CHOOSE STORAGE** button ကို ရွေးပြီး သင်၏ SD card ကို ရွေးပါ
+
+1. **Advanced Options** ကို `Ctrl+Shift+X` ကို နှိပ်၍ launch လုပ်ပါ။ ဤ options များသည် Raspberry Pi OS ကို SD card ပေါ်တွင် image လုပ်မည်မတိုင်မီ pre-configuration ပြုလုပ်ရန် ခွင့်ပြုသည်။
+
+ 1. **Enable SSH** check box ကို check လုပ်ပြီး `pi` user အတွက် password တစ်ခုကို သတ်မှတ်ပါ။ ဤသည်မှာ Pi ကို later တွင် log in ပြုလုပ်ရန် သင်အသုံးပြုမည့် password ဖြစ်သည်။
+
+ 1. သင်သည် Pi ကို WiFi ဖြင့် ချိတ်ဆက်ရန် စီစဉ်ပါက **Configure WiFi** check box ကို check လုပ်ပြီး သင်၏ WiFi SSID နှင့် password ကို ထည့်သွင်းပါ၊ သင်၏ WiFi country ကို ရွေးပါ။ သင်သည် ethernet cable ကို အသုံးပြုမည်ဆိုပါက ဤအချက်များကို မလုပ်ရပါ။ သင်၏ computer ရှိ network နှင့် တူညီသော network ကို ချိတ်ဆက်ထားသည်ကို သေချာပါစေ။
+
+ 1. **Set locale settings** check box ကို check လုပ်ပြီး သင်၏ country နှင့် timezone ကို သတ်မှတ်ပါ
+
+ 1. **SAVE** button ကို ရွေးပါ
+
+1. **WRITE** button ကို ရွေး၍ OS ကို SD card ပေါ်တွင် ရေးပါ။ macOS ကို အသုံးပြုပါက disk image ရေးရန် privileged access လိုအပ်သော tool ကို အသုံးပြုရန် သင်၏ password ကို ထည့်သွင်းရန် တောင်းဆိုမည်ဖြစ်သည်။
+
+OS ကို SD card ပေါ်တွင် ရေးပြီးပြီးနောက် SD card ကို OS မှ eject လုပ်ပြီး သတိပေးမည်။ SD card ကို သင်၏ computer မှ ဖယ်ရှားပြီး Pi ထဲသို့ ထည့်ပါ၊ Pi ကို power up လုပ်ပြီး boot ပြုလုပ်ရန် ၂ မိနစ်ခန့် စောင့်ပါ။
+
+#### Connect to the Pi
+
+နောက်တစ်ဆင့်မှာ Pi ကို remote access ပြုလုပ်ရန် ဖြစ်သည်။ ၎င်းကို macOS, Linux နှင့် Windows ၏ နောက်ဆုံး version များတွင် ရရှိနိုင်သော `ssh` ကို အသုံးပြု၍ ပြုလုပ်နိုင်သည်။
+
+##### Task - connect to the Pi
+
+Pi ကို remote access ပြုလုပ်ပါ။
+
+1. Terminal သို့မဟုတ် Command Prompt ကို launch လုပ်ပြီး Pi ကို ချိတ်ဆက်ရန် အောက်ပါ command ကို ထည့်သွင်းပါ:
+
+ ```sh
+ ssh pi@raspberrypi.local
+ ```
+
+ သင်သည် Windows ၏ နောက်ဆုံး version မဟုတ်သော version ကို အသုံးပြုပြီး `ssh` install မရှိပါက OpenSSH ကို အသုံးပြုနိုင်သည်။ [OpenSSH installation documentation](https://docs.microsoft.com//windows-server/administration/openssh/openssh_install_firstuse?WT.mc_id=academic-17441-jabenn) တွင် installation လမ်းညွှန်ချက်များကို ရှာနိုင်သည်။
+
+1. ဤသည် Pi နှင့် ချိတ်ဆက်ပြီး password ကို တောင်းဆိုမည်။
+
+ `.local` ကို သင်၏ network ပေါ်တွင် computer များကို ရှာဖွေရန် အသုံးပြုနိုင်ခြင်းသည် Linux နှင့် Windows ၏ နောက်ဆုံး version များတွင် fairly recent ဖြစ်သည်။ Linux သို့မဟုတ် Windows ကို အသုံးပြုပြီး Hostname ကို မတွေ့နိုင်သော error များရရှိပါက ZeroConf networking (Apple မှ Bonjour ဟုလည်း ခေါ်သည်) ကို enable လုပ်ရန် additional software ကို install လုပ်ရန် လိုအပ်ပါသည်:
+
+ 1. Linux ကို အသုံးပြုပါက အောက်ပါ command ကို အသုံးပြု၍ Avahi ကို install လုပ်ပါ:
+
+ ```sh
+ sudo apt-get install avahi-daemon
+ ```
+
+ 1. Windows ကို အသုံးပြုပါက ZeroConf ကို enable လုပ်ရန် အလွယ်ဆုံးနည်းလမ်းမှာ [Bonjour Print Services for Windows](http://support.apple.com/kb/DL999) ကို install လုပ်ခြင်းဖြစ်သည်။ [iTunes for Windows](https://www.apple.com/itunes/download/) ကို install လုပ်၍ utility ၏ နောက်ဆုံး version ကို ရယူနိုင်သည် (standalone အနေဖြင့် ရရှိနိုင်မည်မဟုတ်ပါ)။
+
+ > 💁 သင်သည် `raspberrypi.local` ကို အသုံးပြု၍ ချိတ်ဆက်မရပါက၊ Pi ၏ IP address ကို အသုံးပြုနိုင်သည်။ [Raspberry Pi IP address documentation](https://www.raspberrypi.org/documentation/remote-access/ip-address.md) တွင် IP address ရယူရန် နည်းလမ်းများစွာကို ရှာနိုင်သည်။
+
+1. Raspberry Pi Imager Advanced Options တွင် သတ်မှတ်ထားသော password ကို ထည့်သွင်းပါ
+
+#### Configure software on the Pi
+
+Pi ကို ချိတ်ဆက်ပြီးနောက်၊ OS ကို up-to-date ဖြစ်စေရန် သေချာစွာ ပြုလုပ်ပြီး Grove hardware နှင့် အပြန်အလှန်လုပ်ဆောင်နိုင်သော library များနှင့် tool များကို install လုပ်ရန် လိုအပ်သည်။
+
+##### Task - configure software on the Pi
+
+Install လုပ်ထားသော Pi software ကို configure လုပ်ပြီး Grove library များကို install လုပ်ပါ။
+
+1. သင်၏ `ssh` session မှ Pi ကို update ပြုလုပ်ပြီး reboot ပြုလုပ်ရန် အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ sudo apt update && sudo apt full-upgrade --yes && sudo reboot
+ ```
+
+ Pi ကို update ပြုလုပ်ပြီး reboot လုပ်မည်။ Pi ကို reboot ပြုလုပ်သောအခါ `ssh` session သည် အဆုံးသတ်မည်ဖြစ်သည်၊ ထို့ကြောင့် ၃၀ စက္ကန့်ခန့် စောင့်ပြီး ပြန်လည်ချိတ်ဆက်ပါ။
+
+1. ပြန်လည်ချိတ်ဆက်ထားသော `ssh` session မှ Grove hardware အတွက် လိုအပ်သော library များအား install လုပ်ရန် အောက်ပါ command များကို run လုပ်ပါ:
+
+ ```sh
+ sudo apt install git python3-dev python3-pip --yes
+
+ git clone https://github.com/Seeed-Studio/grove.py
+ cd grove.py
+ sudo pip3 install .
+
+ sudo raspi-config nonint do_i2c 0
+ ```
+
+ ဤသည်မှာ Git ကို install လုပ်ခြင်းဖြင့် စတင်ပြီး Python package များကို install လုပ်ရန် Pip ကို install လုပ်ပါသည်။
+
+ Python ၏ အားသာချက်တစ်ခုမှာ [Pip packages](https://pypi.org) ကို install လုပ်နိုင်ခြင်းဖြစ်သည် - ၎င်းသည် အခြားသူများရေးသားပြီး အင်တာနက်တွင် publish လုပ်ထားသော code package များဖြစ်သည်။ သင်သည် command တစ်ခုဖြင့် Pip package ကို သင်၏ computer ပေါ်တွင် install လုပ်ပြီး သင်၏ code တွင် အသုံးပြုနိုင်ပါသည်။
+
+ Seeed Grove Python package များကို source မှ install လုပ်ရန် လိုအပ်သည်။ ဤ command များသည် ဤ package ၏ source code ပါဝင်သော repo ကို clone လုပ်ပြီး local တွင် install လုပ်ပါသည်။
+
+ > 💁 Package တစ်ခုကို install လုပ်သောအခါ၊ ၎င်းသည် သင်၏ computer ပေါ်ရှိနေရာအားလုံးတွင် အသုံးပြုနိုင်သည်။ သို့သော် package version များနှင့် ပတ်သက်သော ပြဿနာများ ဖြစ်ပေါ်နိုင်သည် - ဥပမာ application တစ်ခုသည် package version တစ်ခုကို မူတည်ပြီး application တစ်ခုအတွက် version အသစ် install လုပ်သောအခါ ပြဿနာဖြစ်ပေါ်နိုင်သည်။ ဤပြဿနာကို ဖြေရှင်းရန် [Python virtual environment](https://docs.python.org/3/library/venv.html) ကို အသုံးပြုနိုင်သည်။ ၎င်းသည် Python ၏ copy တစ်ခုကို dedicated folder တွင်ထားပြီး Pip package များကို folder ထဲတွင်သာ install လုပ်သည်။ သင်၏ Pi ကို အသုံးပြုသောအခါ virtual environment များကို အသုံးမပြုပါ။ Grove install script သည် Grove Python package များကို global အဖြစ် install လုပ်သည်၊ ထို့ကြောင့် virtual environment ကို setup လုပ်ပြီး Grove package များကို ထို environment ထဲတွင် manually ပြန် install လုပ်ရန် လိုအပ်ပါသည်။ Global package များကို အသုံးပြုခြင်းသည် ပိုမိုလွယ်ကူသည်၊ အထူးသဖြင့် Pi developer များသည် project တစ်ခုစီအတွက် SD card ကို clean ပြန် flash လုပ်လေ့ရှိသည်။
+
+ နောက်ဆုံးတွင်၊ I2C interface ကို enable လုပ်ပါသည်။
+
+1. Pi ကို အောက်ပါ command ကို run လုပ်၍ reboot ပြုလုပ်ပါ:
+
+ ```sh
+ sudo reboot
+ ```
+
+ Pi ကို reboot ပြုလုပ်သောအ
+အသစ်တစ်ခုသော programming language သို့မဟုတ် နည်းပညာတစ်ခုကို စတင်လေ့လာရာတွင် `"Hello World"` ဟု အမည်ရသော အသေးစား application တစ်ခုကို ဖန်တီးခြင်းသည် ရိုးရာအဖြစ်ကျင့်သုံးကြသည်။ ဤ application သည် `"Hello World"` စာသားကို output အဖြစ် ပြသပြီး သင့် tools များအားလုံးမှန်ကန်စွာ တပ်ဆင်ပြီးဖြစ်ကြောင်း သက်သေပြသည်။
+
+Pi အတွက် Hello World app သည် Python နှင့် Visual Studio Code ကို မှန်ကန်စွာ တပ်ဆင်ထားကြောင်း သေချာစေမည်ဖြစ်သည်။
+
+ဤ app ကို `nightlight` ဟု အမည်ရသော folder အတွင်းတွင် ထည့်သွင်းထားမည်ဖြစ်ပြီး၊ ဤအလုပ်မှာ နောက်ပိုင်းအပိုင်းများတွင် နောက်ထပ် code များဖြင့် ပြန်လည်အသုံးပြုကာ nightlight application ကို တည်ဆောက်သွားမည်ဖြစ်သည်။
+
+### လုပ်ငန်း - hello world
+
+Hello World app ကို ဖန်တီးပါ။
+
+1. VS Code ကို Pi ပေါ်တွင် တိုက်ရိုက်ဖွင့်ပါ၊ သို့မဟုတ် သင့်ကွန်ပျူတာပေါ်မှ Remote SSH extension ကို အသုံးပြုကာ Pi နှင့် ချိတ်ဆက်ပြီး ဖွင့်ပါ။
+
+1. VS Code Terminal ကို ဖွင့်ရန် *Terminal -> New Terminal* ကို ရွေးပါ၊ သို့မဟုတ် `` CTRL+` `` ကို နှိပ်ပါ။ ၎င်းသည် `pi` အသုံးပြုသူ၏ home directory တွင် ဖွင့်လှစ်မည်ဖြစ်သည်။
+
+1. သင့် code အတွက် directory တစ်ခု ဖန်တီးရန်နှင့် ထို directory အတွင်း `app.py` ဟု အမည်ရသော Python ဖိုင်တစ်ခု ဖန်တီးရန် အောက်ပါ command များကို run ပါ။
+
+ ```sh
+ mkdir nightlight
+ cd nightlight
+ touch app.py
+ ```
+
+1. *File -> Open...* ကို ရွေးပြီး *nightlight* folder ကို ရွေးပါ၊ ထို့နောက် **OK** ကို နှိပ်ပါ။
+
+ 
+
+1. VS Code explorer မှ `app.py` ဖိုင်ကို ဖွင့်ပြီး အောက်ပါ code ကို ထည့်သွင်းပါ။
+
+ ```python
+ print('Hello World!')
+ ```
+
+ `print` function သည် ထည့်သွင်းထားသော အရာကို console တွင် ပြသပေးသည်။
+
+1. VS Code Terminal မှ အောက်ပါ command ကို run ကာ သင့် Python app ကို run ပါ။
+
+ ```sh
+ python app.py
+ ```
+
+ > 💁 သင့် Pi တွင် Python 2 နှင့် Python 3 နှစ်မျိုးလုံး တပ်ဆင်ထားပါက၊ ဤ code ကို run ရန် `python3` ကို သီးသန့်ခေါ်ရန် လိုအပ်နိုင်သည်။ Python 2 တပ်ဆင်ထားပါက `python` ဟု ခေါ်သည့်အခါ Python 2 ကို အသုံးပြုမည်ဖြစ်သည်။ သို့သော်၊ နောက်ဆုံးထွက်ရှိသော Raspberry Pi OS များတွင် Python 3 သာ တပ်ဆင်ထားသည်။
+
+ Terminal တွင် အောက်ပါ output ကို တွေ့ရမည်။
+
+ ```output
+ pi@raspberrypi:~/nightlight $ python3 app.py
+ Hello World!
+ ```
+
+> 💁 ဤ code ကို [code/pi](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/pi) folder တွင် ရှာနိုင်ပါသည်။
+
+😀 သင့် 'Hello World' program အောင်မြင်စွာ ပြီးစီးခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွဲအချော်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md b/translations/my/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md
new file mode 100644
index 00000000..0aeebb62
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/1-introduction-to-iot/virtual-device.md
@@ -0,0 +1,245 @@
+
+# အတူတူတည်ဆောက်ထားသော single-board computer
+
+IoT စက်ပစ္စည်းများ၊ sensor များနှင့် actuator များကို ဝယ်ယူရန်မလိုအပ်ဘဲ၊ သင်၏ကွန်ပျူတာကို အသုံးပြု၍ IoT hardware ကို simulation လုပ်နိုင်ပါသည်။ [CounterFit project](https://github.com/CounterFit-IoT/CounterFit) သည် sensor များနှင့် actuator များကဲ့သို့သော IoT hardware ကို simulation လုပ်နိုင်သော app ကို locally အလုပ်လုပ်စေပြီး၊ sensor များနှင့် actuator များကို local Python code မှတဆင့် access လုပ်နိုင်စေသည်။ ဒီ code သည် physical hardware အသုံးပြုသော Raspberry Pi ပေါ်တွင်ရေးသားသည့် code ကဲ့သို့ပင်ဖြစ်သည်။
+
+## Setup
+
+CounterFit ကို အသုံးပြုရန် သင်၏ကွန်ပျူတာတွင် အခမဲ့ software များကို install လုပ်ရန်လိုအပ်ပါသည်။
+
+### Task
+
+လိုအပ်သော software များကို install လုပ်ပါ။
+
+1. Python ကို install လုပ်ပါ။ Python ၏နောက်ဆုံး version ကို install လုပ်ရန် [Python downloads page](https://www.python.org/downloads/) ကို ရှာဖွေပါ။
+
+1. Visual Studio Code (VS Code) ကို install လုပ်ပါ။ Python ဖြင့် virtual device code ရေးရန် သင်အသုံးပြုမည့် editor ဖြစ်သည်။ VS Code ကို install လုပ်ရန် [VS Code documentation](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) ကို ရှာဖွေပါ။
+
+ > 💁 သင်နှစ်သက်သော Python IDE သို့မဟုတ် editor ကို lessons များတွင် အသုံးပြုနိုင်ပါသည်။ သို့သော် lessons များတွင် VS Code ကို အသုံးပြုခြင်းအပေါ် အညွှန်းများပေးထားပါသည်။
+
+1. VS Code Pylance extension ကို install လုပ်ပါ။ Python language support ပေးသော VS Code extension ဖြစ်သည်။ VS Code တွင် extension ကို install လုပ်ရန် [Pylance extension documentation](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) ကို ရှာဖွေပါ။
+
+CounterFit app ကို install လုပ်ရန်နှင့် configure လုပ်ရန်အညွှန်းများကို assignment instructions တွင် သတ်မှတ်ထားသောအချိန်တွင်ပေးပါမည်။ ဒါဟာ project တစ်ခုချင်းစီအပေါ်မှာ install လုပ်ရမည့်အရာဖြစ်သည်။
+
+## Hello world
+
+Programming language သို့မဟုတ် technology အသစ်တစ်ခုကို စတင်အသုံးပြုသောအခါ "Hello World" application တစ်ခုကို ဖန်တီးခြင်းသည် ရိုးရာဖြစ်သည်။ ဒီ application သည် `"Hello World"` ကဲ့သို့သောစာသားကို output ပြုလုပ်ပြီး tools များအားလုံးကို မှန်ကန်စွာ configure လုပ်ထားကြောင်းပြသသည်။
+
+Virtual IoT hardware အတွက် Hello World app သည် Python နှင့် Visual Studio Code ကို မှန်ကန်စွာ install လုပ်ထားကြောင်းသေချာစေပါမည်။ ဒါဟာ CounterFit ကို virtual IoT sensor များနှင့် actuator များအတွက် connect လုပ်ပါမည်။ Hardware များကို အသုံးမပြုပါဘဲ connect လုပ်ပြီး အားလုံးအလုပ်လုပ်နေကြောင်း သက်သေပြပါမည်။
+
+ဒီ app ကို `nightlight` ဟုခေါ်သော folder တစ်ခုတွင်ရှိမည်ဖြစ်ပြီး၊ assignment ၏ နောက်ပိုင်းအပိုင်းများတွင် nightlight application ကို တည်ဆောက်ရန်အတွက် ကွဲပြားသော code များနှင့်အတူ ပြန်လည်အသုံးပြုမည်ဖြစ်သည်။
+
+### Python virtual environment ကို configure လုပ်ပါ
+
+Python ၏ အားသာချက်တစ်ခုမှာ [Pip packages](https://pypi.org) ကို install လုပ်နိုင်ခြင်းဖြစ်သည်။ Pip packages သည် အခြားသူများရေးသားပြီး အင်တာနက်ပေါ်တွင် publish လုပ်ထားသော code packages ဖြစ်သည်။ Command တစ်ခုဖြင့် Pip package ကို install လုပ်ပြီး သင်၏ code တွင် package ကို အသုံးပြုနိုင်ပါသည်။ CounterFit နှင့် ဆက်သွယ်ရန် package တစ်ခုကို install လုပ်ရန် သင် Pip ကို အသုံးပြုမည်ဖြစ်သည်။
+
+ပုံမှန်အားဖြင့် package ကို install လုပ်သောအခါ package သည် သင်၏ကွန်ပျူတာတွင် အားလုံးအတွက်ရရှိနိုင်ပါသည်။ ဒါဟာ package version များနှင့်ပတ်သက်သောပြဿနာများကို ဖြစ်စေနိုင်သည်။ ဥပမာ - application တစ်ခုသည် package version တစ်ခုကို မူတည်ပြီး၊ application တစ်ခုအတွက် version အသစ်ကို install လုပ်သောအခါ ပြဿနာဖြစ်စေနိုင်သည်။ ဒီပြဿနာကို ဖြေရှင်းရန် [Python virtual environment](https://docs.python.org/3/library/venv.html) ကို အသုံးပြုနိုင်သည်။ ဒါဟာ Python ၏ copy တစ်ခုကို dedicated folder တစ်ခုတွင်ထားပြီး၊ Pip packages များကို install လုပ်သောအခါ folder ထဲတွင်သာ install လုပ်ပါမည်။
+
+> 💁 သင် Raspberry Pi ကို အသုံးပြုနေပါက virtual environment ကို setup မလုပ်ပါဘဲ global packages ကို အသုံးပြုနေပါသည်။ Grove packages များကို installer script မှတဆင့် global အနေဖြင့် install လုပ်ထားသည်။
+
+#### Task - Python virtual environment ကို configure လုပ်ပါ
+
+Python virtual environment ကို configure လုပ်ပြီး CounterFit အတွက် Pip packages များကို install လုပ်ပါ။
+
+1. Terminal သို့မဟုတ် command line မှာ အောက်ပါ command များကို run လုပ်ပြီး directory အသစ်တစ်ခုကို ဖန်တီးပြီး navigate လုပ်ပါ:
+
+ ```sh
+ mkdir nightlight
+ cd nightlight
+ ```
+
+1. `.venv` folder တွင် virtual environment ကို ဖန်တီးရန် အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ python3 -m venv .venv
+ ```
+
+ > 💁 Python 2 ကို install လုပ်ထားပြီး Python 3 (နောက်ဆုံး version) ကို install လုပ်ထားပါက `python3` ကို explicitly call လုပ်ရန်လိုအပ်ပါသည်။ Python 2 ကို install လုပ်ထားပါက `python` ကို call လုပ်သောအခါ Python 2 ကို အသုံးပြုမည်ဖြစ်သည်။
+
+1. Virtual environment ကို activate လုပ်ပါ:
+
+ * Windows တွင်:
+ * Command Prompt သို့မဟုတ် Windows Terminal မှ Command Prompt ကို အသုံးပြုပါက အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```cmd
+ .venv\Scripts\activate.bat
+ ```
+
+ * PowerShell ကို အသုံးပြုပါက အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```powershell
+ .\.venv\Scripts\Activate.ps1
+ ```
+
+ > Scripts များကို run လုပ်ခြင်းကို system တွင် disable လုပ်ထားသည်ဟု error message ရရှိပါက script များကို run လုပ်နိုင်ရန် execution policy ကို set လုပ်ရန်လိုအပ်ပါသည်။ PowerShell ကို administrator အနေဖြင့် launch လုပ်ပြီး အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```powershell
+ Set-ExecutionPolicy -ExecutionPolicy Unrestricted
+ ```
+
+ Confirm ပြုလုပ်ရန် `Y` ကို ရိုက်ထည့်ပါ။ PowerShell ကို ပြန်လည် launch လုပ်ပြီး ထပ်မံကြိုးစားပါ။
+
+ အနာဂတ်တွင်လိုအပ်ပါက execution policy ကို ပြန်လည် reset လုပ်နိုင်ပါသည်။ [Execution Policies page on Microsoft Docs](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_execution_policies?WT.mc_id=academic-17441-jabenn) တွင်ပိုမိုသိရှိနိုင်ပါသည်။
+
+ * macOS သို့မဟုတ် Linux တွင် အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```cmd
+ source ./.venv/bin/activate
+ ```
+
+ > 💁 ဒီ command များကို virtual environment ကို ဖန်တီးသောနေရာတွင် run လုပ်ပါ။ `.venv` folder ထဲသို့ navigate လုပ်ရန်မလိုအပ်ပါ။ Activate command နှင့် package များကို install လုပ်ရန် command များကို virtual environment ကို ဖန်တီးသော folder မှ run လုပ်ပါ။
+
+1. Virtual environment ကို activate လုပ်ပြီးနောက် default `python` command သည် virtual environment ကို ဖန်တီးရန် အသုံးပြုသော Python version ကို run လုပ်ပါမည်။ Version ကို ရှာဖွေရန် အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ python --version
+ ```
+
+ Output တွင် အောက်ပါအရာများပါဝင်ရမည်:
+
+ ```output
+ (.venv) ➜ nightlight python --version
+ Python 3.9.1
+ ```
+
+ > 💁 သင်၏ Python version သည် ကွဲပြားနိုင်ပါသည် - version 3.6 သို့မဟုတ် အထက်ရှိပါက အဆင်ပြေပါသည်။ မဟုတ်ပါက folder ကို delete လုပ်ပြီး Python ၏ version အသစ်ကို install လုပ်ပြီး ထပ်မံကြိုးစားပါ။
+
+1. CounterFit အတွက် Pip packages များကို install လုပ်ရန် အောက်ပါ command များကို run လုပ်ပါ။ ဒီ packages များတွင် Grove hardware အတွက် shims များပါဝင်သည်။ ဒီ shims များသည် Grove ecosystem မှ physical sensor များနှင့် actuator များကို အသုံးပြုသကဲ့သို့ virtual IoT devices များကို programming လုပ်ရန် code ရေးသားနိုင်စေသည်။
+
+ ```sh
+ pip install CounterFit
+ pip install counterfit-connection
+ pip install counterfit-shims-grove
+ ```
+
+ ဒီ Pip packages များသည် virtual environment တွင်သာ install လုပ်ထားပြီး အပြင်မှာရရှိနိုင်မည်မဟုတ်ပါ။
+
+### Code ကိုရေးပါ
+
+Python virtual environment ကို ပြင်ဆင်ပြီးနောက် 'Hello World' application အတွက် code ကိုရေးနိုင်ပါသည်။
+
+#### Task - Code ကိုရေးပါ
+
+Console တွင် `"Hello World"` ကို print လုပ်သော Python application တစ်ခုကို ဖန်တီးပါ။
+
+1. Virtual environment အတွင်း terminal သို့မဟုတ် command line မှာ အောက်ပါ command ကို run လုပ်ပြီး `app.py` ဟုခေါ်သော Python file ကို ဖန်တီးပါ:
+
+ * Windows မှ run လုပ်ပါ:
+
+ ```cmd
+ type nul > app.py
+ ```
+
+ * macOS သို့မဟုတ် Linux မှ run လုပ်ပါ:
+
+ ```cmd
+ touch app.py
+ ```
+
+1. လက်ရှိ folder ကို VS Code တွင် open လုပ်ပါ:
+
+ ```sh
+ code .
+ ```
+
+ > 💁 macOS တွင် terminal မှာ `command not found` message ရရှိပါက VS Code ကို PATH တွင် ထည့်သွင်းထားခြင်းမရှိပါ။ PATH တွင် VS Code ကို ထည့်သွင်းရန် [Launching from the command line section of the VS Code documentation](https://code.visualstudio.com/docs/setup/mac?WT.mc_id=academic-17441-jabenn#_launching-from-the-command-line) ကို လိုက်နာပြီး command ကို ထပ်မံ run လုပ်ပါ။ Windows နှင့် Linux တွင် VS Code သည် PATH တွင် default အနေဖြင့် install လုပ်ထားသည်။
+
+1. VS Code ကို launch လုပ်သောအခါ Python virtual environment ကို activate လုပ်ပါမည်။ Virtual environment ကို select လုပ်ထားသည်ကို အောက်ခြေ status bar တွင် တွေ့နိုင်ပါမည်:
+
+ 
+
+1. VS Code Terminal သည် VS Code စတင်လုပ်ဆောင်သောအခါ run လုပ်နေပါက virtual environment ကို activate လုပ်ထားမည်မဟုတ်ပါ။ Terminal ကို **Kill the active terminal instance** button ဖြင့် ပိတ်လိုက်ပါ:
+
+ 
+
+ Terminal prompt တွင် virtual environment ၏နာမည် `.venv` ဟု prefix အနေဖြင့်ပါဝင်ပါမည်။ ဥပမာ - prompt သည် အောက်ပါအတိုင်းဖြစ်နိုင်သည်:
+
+ ```sh
+ (.venv) ➜ nightlight
+ ```
+
+ Prompt တွင် `.venv` prefix မပါရှိပါက terminal တွင် virtual environment ကို activate လုပ်ထားခြင်းမရှိပါ။
+
+1. VS Code Terminal အသစ်ကို *Terminal -> New Terminal* ကို select လုပ်ခြင်းဖြင့် သို့မဟုတ် `` CTRL+` `` ကို နှိပ်ခြင်းဖြင့် launch လုပ်ပါ။ Terminal အသစ်သည် virtual environment ကို load လုပ်ပြီး terminal တွင် activate command ကို ပြပါမည်။ Prompt တွင် virtual environment (`.venv`) ၏နာမည်ပါဝင်ပါမည်:
+
+ ```output
+ ➜ nightlight source .venv/bin/activate
+ (.venv) ➜ nightlight
+ ```
+
+1. VS Code explorer မှ `app.py` file ကို open လုပ်ပြီး အောက်ပါ code ကို ထည့်သွင်းပါ:
+
+ ```python
+ print('Hello World!')
+ ```
+
+ `print` function သည် console တွင် pass လုပ်ထားသောအရာကို print လုပ်ပါမည်။
+
+1. VS Code terminal မှ Python app ကို run လုပ်ရန် အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ python app.py
+ ```
+
+ Output တွင် အောက်ပါအရာများပါဝင်ရမည်:
+
+ ```output
+ (.venv) ➜ nightlight python app.py
+ Hello World!
+ ```
+
+😀 သင်၏ 'Hello World' program အောင်မြင်ခဲ့ပါသည်!
+
+### 'hardware' ကို connect လုပ်ပါ
+
+'Hello World' ၏ ဒုတိယအဆင့်အနေဖြင့် CounterFit app ကို run လုပ်ပြီး သင်၏ code ကို connect လုပ်ပါမည်။ ဒါဟာ IoT hardware တစ်ခုကို dev kit တွင် plug လုပ်သကဲ့သို့ virtual အနေဖြင့်လုပ်ဆောင်ခြင်းဖြစ်သည်။
+
+#### Task - 'hardware' ကို connect လုပ်ပါ
+
+1. VS Code terminal မှ CounterFit app ကို အောက်ပါ command ဖြင့် launch လုပ်ပါ:
+
+ ```sh
+ counterfit
+ ```
+
+ App သည် run လုပ်ပြီး သင်၏ web browser တွင် open လုပ်ပါမည်:
+
+ 
+
+ App သည် *Disconnected* ဟုပြထားပြီး LED သည် အပိတ်ထားသည်။
+
+1. `app.py` file ၏ အပေါ်ပိုင်းတွင် အောက်ပါ code ကို ထည့်သွင်းပါ:
+
+ ```python
+ from counterfit_connection import CounterFitConnection
+ CounterFitConnection.init('127.0.0.1', 5000)
+ ```
+
+ ဒီ code သည် `counterfit_connection` module မှ `CounterFitConnection` class ကို import လုပ်ပြီး၊ `127.0.0.1` (သင်၏ local computer ကို access လုပ်ရန်အမြဲအသုံးပြုနိုင်သော IP address) တွင် port 5000 ကို အသုံးပြု၍ CounterFit app ကို initialize လုပ်ပါမည်။
+
+ > 💁 Port 5000 တွင် အခြား app များ run လုပ်နေပါက code တွင် port ကို update လုပ်ပြီး `CounterFit --port ` command ကို run လုပ်ပါ။ `` ကို သင်အသုံးပြုလိုသော port ဖြင့် အစားထိုးပါ။
+
+1. VS Code terminal အသစ်ကို **Create a new integrated terminal** button ကို select လုပ်ခြင်းဖြင့် launch လုပ်ပါ။ ဒါဟာ လက်ရှိ terminal တွင် CounterFit app run လုပ်နေသောကြောင့်ဖြစ်သည်။
+
+ 
+
+1. Terminal အသစ်တွင် `app.py` file ကို အရင်ကအတိုင်း run လုပ်ပါ။ CounterFit ၏ status သည် **Connected** ဟုပြောင်းပြီး LED သည် အလင်းပေးပါမည်။
+
+ 
+
+> 💁 ဒီ code ကို [code/virtual-device](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/virtual-device) folder တွင် ရှာနိုင်ပါသည်။
+
+😀 သင်၏ hardware နှင့် connection အောင်မြင်ခဲ့ပါသည်!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md b/translations/my/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md
new file mode 100644
index 00000000..2229a4e0
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md
@@ -0,0 +1,222 @@
+
+# Wio Terminal
+
+[Seeed Studios မှ Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) သည် Arduino-compatible microcontroller တစ်ခုဖြစ်ပြီး WiFi နှင့် sensor များ၊ actuator များပါဝင်သည့်အပြင် [Grove](https://www.seeedstudio.com/category/Grove-c-1003.html) ဟုခေါ်သော hardware ecosystem ကို အသုံးပြု၍ sensor များနှင့် actuator များကို ထပ်မံထည့်သွင်းနိုင်သော port များပါရှိသည်။
+
+
+
+## Setup
+
+Wio Terminal ကို အသုံးပြုရန်အတွက် သင့်ကွန်ပျူတာတွင် အခမဲ့ software များကို ထည့်သွင်းရန်လိုအပ်ပါသည်။ WiFi သို့ ချိတ်ဆက်နိုင်ရန်အတွက် Wio Terminal firmware ကို update လုပ်ရန်လည်း လိုအပ်ပါသည်။
+
+### Task - setup
+
+လိုအပ်သော software များကို ထည့်သွင်းပြီး firmware ကို update လုပ်ပါ။
+
+1. Visual Studio Code (VS Code) ကို ထည့်သွင်းပါ။ သင့် device code ကို C/C++ ဖြင့် ရေးသားရန် အသုံးပြုမည့် editor ဖြစ်ပါသည်။ VS Code ကို ထည့်သွင်းရန်အတွက် [VS Code documentation](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) ကို ရည်ညွှန်းပါ။
+
+ > 💁 Arduino development အတွက် နောက်ထပ် လူကြိုက်များသော IDE တစ်ခုမှာ [Arduino IDE](https://www.arduino.cc/en/software) ဖြစ်ပါသည်။ သင်ဤ tool ကို ရင်းနှီးပြီးသားဖြစ်ပါက VS Code နှင့် PlatformIO အစား အသုံးပြုနိုင်ပါသည်။ သို့သော် သင်ခန်းစာများတွင် VS Code ကို အသုံးပြုခြင်းအပေါ် အခြေခံထားသော လမ်းညွှန်ချက်များကို ပေးပါမည်။
+
+1. VS Code PlatformIO extension ကို ထည့်သွင်းပါ။ ဤ extension သည် VS Code အတွက် C/C++ ဖြင့် microcontroller များကို programming လုပ်ရန် အထောက်အကူပြုသော extension ဖြစ်ပါသည်။ VS Code တွင် ဤ extension ကို ထည့်သွင်းရန်အတွက် [PlatformIO extension documentation](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=platformio.platformio-ide) ကို ရည်ညွှန်းပါ။ ဤ extension သည် Microsoft C/C++ extension ကို အလိုအလျောက် ထည့်သွင်းပြီး C နှင့် C++ code များနှင့် အလုပ်လုပ်ရန်လိုအပ်ပါသည်။
+
+1. Wio Terminal ကို သင့်ကွန်ပျူတာနှင့် ချိတ်ဆက်ပါ။ Wio Terminal တွင် အောက်ခြေတွင် USB-C port တစ်ခုရှိပြီး သင့်ကွန်ပျူတာ၏ USB port နှင့် ချိတ်ဆက်ရန်လိုအပ်ပါသည်။ Wio Terminal တွင် USB-C to USB-A cable ပါဝင်ပြီး သင့်ကွန်ပျူတာတွင် USB-C port များသာရှိပါက USB-C cable သို့မဟုတ် USB-A to USB-C adapter တစ်ခုလိုအပ်ပါသည်။
+
+1. [Wio Terminal Wiki WiFi Overview documentation](https://wiki.seeedstudio.com/Wio-Terminal-Network-Overview/) တွင် ရှိသော လမ်းညွှန်ချက်များကို လိုက်နာပြီး Wio Terminal ကို setup လုပ်ကာ firmware ကို update လုပ်ပါ။
+
+## Hello world
+
+Programming language သို့မဟုတ် နည်းပညာအသစ်တစ်ခုကို စတင်အသုံးပြုသောအခါ "Hello World" application တစ်ခုကို ဖန်တီးခြင်းသည် ရိုးရာဖြစ်ပါသည်။ ဤ application သည် `"Hello World"` စာသားကို output ပြုလုပ်ပြီး tool များအားလုံးကို မှန်ကန်စွာ configure လုပ်ထားကြောင်း ပြသပါသည်။
+
+Wio Terminal အတွက် Hello World app သည် Visual Studio Code ကို PlatformIO ဖြင့် microcontroller development အတွက် မှန်ကန်စွာ ထည့်သွင်းထားကြောင်း သေချာစေပါသည်။
+
+### Create a PlatformIO project
+
+ပထမဆုံးအဆင့်မှာ Wio Terminal အတွက် configure လုပ်ထားသော PlatformIO project တစ်ခုကို ဖန်တီးပါ။
+
+#### Task - create a PlatformIO project
+
+PlatformIO project ကို ဖန်တီးပါ။
+
+1. Wio Terminal ကို သင့်ကွန်ပျူတာနှင့် ချိတ်ဆက်ပါ။
+
+1. VS Code ကို ဖွင့်ပါ။
+
+1. PlatformIO icon သည် ဘေး menu bar တွင် ရှိပါမည်။
+
+ 
+
+ ဤ menu item ကို ရွေးချယ်ပြီး *PIO Home -> Open* ကို ရွေးပါ။
+
+ 
+
+1. Welcome screen မှ **+ New Project** ခလုတ်ကို ရွေးချယ်ပါ။
+
+ 
+
+1. *Project Wizard* တွင် project ကို configure လုပ်ပါ။
+
+ 1. သင့် project ကို `nightlight` ဟု အမည်ပေးပါ။
+
+ 1. *Board* dropdown မှ `WIO` ဟု ရိုက်ထည့်ကာ board များကို filter လုပ်ပြီး *Seeeduino Wio Terminal* ကို ရွေးပါ။
+
+ 1. *Framework* ကို *Arduino* အဖြစ်ထားပါ။
+
+ 1. *Use default location* checkbox ကို check လုပ်ထားပါ၊ သို့မဟုတ် uncheck လုပ်ပြီး သင့် project အတွက် location တစ်ခုကို ရွေးပါ။
+
+ 1. **Finish** ခလုတ်ကို ရွေးပါ။
+
+ 
+
+ PlatformIO သည် Wio Terminal အတွက် code ကို compile လုပ်ရန်လိုအပ်သော components များကို download လုပ်ပြီး သင့် project ကို ဖန်တီးပါမည်။ ဤလုပ်ငန်းစဉ်သည် မိနစ်အနည်းငယ်ကြာနိုင်ပါသည်။
+
+### Investigate the PlatformIO project
+
+VS Code explorer တွင် PlatformIO wizard ဖန်တီးထားသော file များနှင့် folder များကို ပြသပါမည်။
+
+#### Folders
+
+* `.pio` - ဤ folder တွင် PlatformIO အတွက် libraries သို့မဟုတ် compiled code ကဲ့သို့သော ယာယီ data များပါရှိသည်။ ဖျက်လိုက်ပါက အလိုအလျောက် ပြန်ဖန်တီးမည်ဖြစ်ပြီး GitHub ကဲ့သို့သော site များတွင် project ကို share လုပ်သောအခါ source code control တွင် ထည့်သွင်းရန် မလိုအပ်ပါ။
+* `.vscode` - ဤ folder တွင် PlatformIO နှင့် VS Code အတွက် configuration များပါရှိသည်။ ဖျက်လိုက်ပါက အလိုအလျောက် ပြန်ဖန်တီးမည်ဖြစ်ပြီး GitHub ကဲ့သို့သော site များတွင် project ကို share လုပ်သောအခါ source code control တွင် ထည့်သွင်းရန် မလိုအပ်ပါ။
+* `include` - ဤ folder သည် သင့် code တွင် ထည့်သွင်းထားသော libraries များအတွက် external header file များအတွက် ဖြစ်သည်။ ဤသင်ခန်းစာများတွင် folder ကို အသုံးမပြုပါ။
+* `lib` - ဤ folder သည် သင့် code မှ ခေါ်ယူလိုသော external libraries များအတွက် ဖြစ်သည်။ ဤသင်ခန်းစာများတွင် folder ကို အသုံးမပြုပါ။
+* `src` - ဤ folder တွင် သင့် application အတွက် main source code ပါရှိသည်။ အစပိုင်းတွင် `main.cpp` file တစ်ခုသာ ပါရှိမည်။
+* `test` - ဤ folder သည် သင့် code အတွက် unit tests များကို ထည့်သွင်းရန်အတွက် ဖြစ်သည်။
+
+#### Files
+
+* `main.cpp` - `src` folder တွင်ပါရှိသော ဤ file သည် သင့် application အတွက် entry point ဖြစ်သည်။ ဤ file ကို ဖွင့်ပါက အောက်ပါ code ပါရှိမည်။
+
+ ```cpp
+ #include
+
+ void setup() {
+ // put your setup code here, to run once:
+ }
+
+ void loop() {
+ // put your main code here, to run repeatedly:
+ }
+ ```
+
+ Device စတင်လုပ်ဆောင်သောအခါ Arduino framework သည် `setup` function ကို တစ်ကြိမ် run လုပ်ပြီး `loop` function ကို device ပိတ်သွားသည်အထိ ထပ်တလဲလဲ run လုပ်ပါမည်။
+
+* `.gitignore` - ဤ file တွင် GitHub ကဲ့သို့သော repository တွင် code ကို upload လုပ်သောအခါ git source code control တွင် မထည့်သွင်းရန် files နှင့် directories များကို ဖော်ပြထားသည်။
+
+* `platformio.ini` - ဤ file တွင် သင့် device နှင့် app အတွက် configuration ပါရှိသည်။ ဤ file ကို ဖွင့်ပါက အောက်ပါ code ပါရှိမည်။
+
+ ```ini
+ [env:seeed_wio_terminal]
+ platform = atmelsam
+ board = seeed_wio_terminal
+ framework = arduino
+ ```
+
+ `[env:seeed_wio_terminal]` section တွင် Wio Terminal အတွက် configuration ပါရှိသည်။ သင့် code ကို multiple boards အတွက် compile လုပ်နိုင်ရန် multiple `env` section များကို ထည့်သွင်းနိုင်ပါသည်။
+
+ အခြား value များသည် project wizard မှ configuration နှင့် ကိုက်ညီပါသည်။
+
+ * `platform = atmelsam` သည် Wio Terminal အသုံးပြုသော hardware ကို သတ်မှတ်သည် (ATSAMD51-based microcontroller)
+ * `board = seeed_wio_terminal` သည် microcontroller board အမျိုးအစားကို သတ်မှတ်သည် (Wio Terminal)
+ * `framework = arduino` သည် project သည် Arduino framework ကို အသုံးပြုနေသည်ကို သတ်မှတ်သည်။
+
+### Write the Hello World app
+
+Hello World app ကို ရေးသားရန် အဆင်သင့်ဖြစ်ပါပြီ။
+
+#### Task - write the Hello World app
+
+Hello World app ကို ရေးသားပါ။
+
+1. VS Code တွင် `main.cpp` file ကို ဖွင့်ပါ။
+
+1. Code ကို အောက်ပါအတိုင်း ပြောင်းလဲပါ။
+
+ ```cpp
+ #include
+
+ void setup()
+ {
+ Serial.begin(9600);
+
+ while (!Serial)
+ ; // Wait for Serial to be ready
+
+ delay(1000);
+ }
+
+ void loop()
+ {
+ Serial.println("Hello World");
+ delay(5000);
+ }
+ ```
+
+ `setup` function သည် serial port (ဤကိစ္စတွင် USB port) နှင့် ချိတ်ဆက်မှုကို initialize လုပ်ပါသည်။ `9600` parameter သည် [baud rate](https://wikipedia.org/wiki/Symbol_rate) (Symbol rate ဟုလည်းခေါ်သည်) သို့မဟုတ် serial port မှတဆင့် data ပို့ပေးမည့်အမြန်နှုန်းကို သတ်မှတ်သည်။ ဤ setting သည် တစ်စက္ကန့်လျှင် 9,600 bits (0s နှင့် 1s) ပို့ပေးသည်ကို ဆိုလိုသည်။ ထို့နောက် serial port အဆင်သင့်ဖြစ်ရန် စောင့်ပါသည်။
+
+ `loop` function သည် `Hello World!` စာသားကို serial port သို့ ပို့ပေးပြီး newline character ကို ထည့်သွင်းပါသည်။ ထို့နောက် 5,000 milliseconds (5 seconds) အိပ်စက်ပါသည်။ `loop` function ပြီးဆုံးသောအခါ device ပိတ်သွားသည်အထိ ထပ်တလဲလဲ run လုပ်ပါမည်။
+
+1. Wio Terminal ကို upload mode သို့ ပြောင်းပါ။ Device သို့ code အသစ် upload လုပ်သောအခါတိုင်း ဤလုပ်ငန်းစဉ်ကို ပြုလုပ်ရန်လိုအပ်ပါသည်။
+
+ 1. Power switch ကို အလျင်အမြန် နှစ်ကြိမ် ဆွဲချပါ - switch သည် အစအနေအတိုင်း ပြန်တက်ပါမည်။
+
+ 1. USB port ၏ ညာဘက်တွင်ရှိသော blue status LED ကို စစ်ဆေးပါ။ LED သည် pulsing ဖြစ်ရမည်။
+
+ [](https://youtu.be/LeKU_7zLRrQ)
+
+ ဤလုပ်ငန်းစဉ်ကို ပြုလုပ်ပုံကို ပြသထားသော ဗီဒီယိုကို ကြည့်ရန် အထက်ပါပုံကို click လုပ်ပါ။
+
+1. Code ကို build လုပ်ပြီး Wio Terminal သို့ upload လုပ်ပါ။
+
+ 1. VS Code command palette ကို ဖွင့်ပါ။
+
+ 1. `PlatformIO Upload` ဟု ရိုက်ထည့်ကာ upload option ကို ရှာပြီး *PlatformIO: Upload* ကို ရွေးပါ။
+
+ 
+
+ PlatformIO သည် upload လုပ်ရန်အလိုအလျောက် code ကို build လုပ်ပါမည်။
+
+ 1. Code ကို compile လုပ်ပြီး Wio Terminal သို့ upload လုပ်ပါမည်။
+
+ > 💁 macOS အသုံးပြုပါက *DISK NOT EJECTED PROPERLY* ဟု notification တစ်ခု ပေါ်လာနိုင်ပါသည်။ ဤ notification သည် flashing လုပ်ငန်းစဉ်၏ အစိတ်အပိုင်းအဖြစ် drive အနေဖြင့် mount လုပ်ထားသော Wio Terminal ကို compiled code ရေးသားသောအခါ disconnect လုပ်သွားသောကြောင့် ဖြစ်သည်။ ဤ notification ကို လုံးဝလျစ်လျူရှုနိုင်ပါသည်။
+
+ ⚠️ Upload port မရရှိနိုင်ကြောင်း error ပေါ်လာပါက Wio Terminal ကို သင့်ကွန်ပျူတာနှင့် ချိတ်ဆက်ထားပြီး screen ၏ ဘယ်ဘက်တွင်ရှိသော switch ကို အသုံးပြု၍ ဖွင့်ထားကြောင်း သေချာပါစေ။ Upload mode သို့ ပြောင်းထားရန် လိုအပ်ပါသည်။ အောက်ခြေတွင်ရှိသော အစိမ်းရောင်အလင်းသည် ဖွင့်ထားရမည်၊ blue light သည် pulsing ဖြစ်ရမည်။ Error ရှိနေပါက power switch ကို အလျင်အမြန် နှစ်ကြိမ် ဆွဲချပြီး upload mode သို့ ပြောင်းကာ upload ကို ထပ်မံကြိုးစားပါ။
+
+PlatformIO တွင် Serial Monitor တစ်ခုရှိပြီး Wio Terminal မှ USB cable ဖြင့် ပို့ပေးသော data ကို စောင့်ကြည့်နိုင်သည်။ ဤသည်သည် `Serial.println("Hello World");` command မှ ပို့ပေးသော data ကို စောင့်ကြည့်ရန် အထောက်အကူပြုသည်။
+
+1. VS Code command palette ကို ဖွင့်ပါ။
+
+1. `PlatformIO Serial` ဟု ရိုက်ထည့်ကာ Serial Monitor option ကို ရှာပြီး *PlatformIO: Serial Monitor* ကို ရွေးပါ။
+
+ 
+
+ Terminal အသစ်တစ်ခု ဖွင့်ပြီး serial port မှ ပို့ပေးသော data ကို ဤ terminal တွင် stream လုပ်ပါမည်။
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem101 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Hello World
+ Hello World
+ ```
+
+ `Hello World` သည် serial monitor တွင် 5 စက္ကန့်တိုင်း print လုပ်ပါမည်။
+
+> 💁 ဤ code ကို [code/wio-terminal](../../../../../1-getting-started/lessons/1-introduction-to-iot/code/wio-terminal) folder တွင် ရှာနိုင်ပါသည်။
+
+😀 သင့် 'Hello World' program အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားယူမှားမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/2-deeper-dive/README.md b/translations/my/1-getting-started/lessons/2-deeper-dive/README.md
new file mode 100644
index 00000000..f52c5587
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/2-deeper-dive/README.md
@@ -0,0 +1,247 @@
+
+# IoT အကြောင်းပိုမိုနက်ရှိုင်းစွာလေ့လာခြင်း
+
+
+
+> Sketchnote ကို [Nitya Narasimhan](https://github.com/nitya) မှရေးသားထားသည်။ ပုံကိုနှိပ်ပြီး ပိုမိုကြီးမားသောဗားရှင်းကိုကြည့်ပါ။
+
+ဒီသင်ခန်းစာကို [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) မှ [Hello IoT series](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) ၏ အစိတ်အပိုင်းအဖြစ် သင်ကြားခဲ့သည်။ သင်ခန်းစာကို ၁ နာရီကြာသင်ခန်းစာနှင့် ၁ နာရီကြာအခန်းဖွင့်ချိန်အဖြစ် သင်ခန်းစာ၏ အပိုင်းများကိုပိုမိုနက်ရှိုင်းစွာလေ့လာပြီး မေးခွန်းများကိုဖြေဆိုခြင်းအဖြစ် သင်ကြားခဲ့သည်။
+
+[](https://youtu.be/t0SySWw3z9M)
+
+[](https://youtu.be/tTZYf9EST1E)
+
+> 🎥 အထက်ပါပုံများကိုနှိပ်ပြီး ဗီဒီယိုများကိုကြည့်ပါ
+
+## သင်ခန်းစာမတိုင်မီမေးခွန်း
+
+[သင်ခန်းစာမတိုင်မီမေးခွန်း](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/3)
+
+## အကျဉ်းချုပ်
+
+ဒီသင်ခန်းစာမှာ ယခင်သင်ခန်းစာတွင်ဖော်ပြခဲ့သော အချို့သောအယူအဆများကိုပိုမိုနက်ရှိုင်းစွာလေ့လာပါမည်။
+
+ဒီသင်ခန်းစာမှာ ကျွန်ုပ်တို့လေ့လာမည့်အကြောင်းအရာများမှာ:
+
+* [IoT အက်ပလီကေးရှင်း၏အစိတ်အပိုင်းများ](../../../../../1-getting-started/lessons/2-deeper-dive)
+* [Microcontrollers အကြောင်းပိုမိုနက်ရှိုင်းစွာလေ့လာခြင်း](../../../../../1-getting-started/lessons/2-deeper-dive)
+* [Single-board computers အကြောင်းပိုမိုနက်ရှိုင်းစွာလေ့လာခြင်း](../../../../../1-getting-started/lessons/2-deeper-dive)
+
+## IoT အက်ပလီကေးရှင်း၏အစိတ်အပိုင်းများ
+
+IoT အက်ပလီကေးရှင်း၏အစိတ်အပိုင်းနှစ်ခုမှာ *အင်တာနက်* နှင့် *အရာဝတ္ထု* ဖြစ်သည်။ အခုဒီအစိတ်အပိုင်းနှစ်ခုကိုပိုမိုအသေးစိတ်လေ့လာကြည့်ရအောင်။
+
+### အရာဝတ္ထု
+
+
+
+IoT ၏ **အရာဝတ္ထု** အပိုင်းသည် ရုပ်ပိုင်းဆိုင်ရာကမ္ဘာနှင့်အပြန်အလှန်ဆက်သွယ်နိုင်သော စက်ကိုဆိုလိုသည်။ ဒီစက်များသည် သေးငယ်ပြီး စျေးနှုန်းသက်သာသောကွန်ပျူတာများဖြစ်ပြီး အမြန်နှုန်းနည်းပြီး အားသုံးမှုနည်းပါသည်။ ဥပမာအားဖြင့် RAM ကီလိုဘိုက်များသာရှိသောရိုးရှင်းသော microcontrollers (PC တွင်ရှိသောဂီဂါဘိုက်များမဟုတ်)၊ PC တွင်ရှိသောဂီဂါဟတ်ဇ်များမဟုတ်ပဲ မီဂါဟတ်ဇ်အနည်းငယ်သာရှိသောအမြန်နှုန်းဖြင့် လည်ပတ်ပြီး ဘက်ထရီများဖြင့် ရက်ပေါင်းများစွာ၊ လများစွာ သို့မဟုတ် နှစ်များစွာအထိ လည်ပတ်နိုင်သောအားသုံးမှုနည်းသောစက်များဖြစ်သည်။
+
+ဒီစက်များသည် ရုပ်ပိုင်းဆိုင်ရာကမ္ဘာနှင့်ဆက်သွယ်ပြီး အနီးအနားမှဒေတာများကို စနစ်တကျစုဆောင်းရန် sensor များကိုအသုံးပြုခြင်း သို့မဟုတ် actuator များကိုထိန်းချုပ်ခြင်းဖြင့် ရုပ်ပိုင်းဆိုင်ရာပြောင်းလဲမှုများကိုလုပ်ဆောင်ခြင်းဖြင့် ဆက်သွယ်သည်။ ဥပမာအားဖြင့် smart thermostat တစ်ခုသည် temperature sensor တစ်ခု၊ dial သို့မဟုတ် touchscreen ကဲ့သို့သော temperature ကိုသတ်မှတ်ရန်နည်းလမ်းတစ်ခုနှင့် အပူချိန်သည်လိုအပ်သောအကွာအဝေးအပြင်မှာရှိနေသောအခါ heating သို့မဟုတ် cooling system ကိုဖွင့်နိုင်သော connection တစ်ခုပါရှိသည်။ Temperature sensor သည် အခန်းအေးနေသည်ကို detect လုပ်ပြီး actuator သည် heating ကိုဖွင့်သည်။
+
+
+
+IoT စက်များအဖြစ် လုပ်ဆောင်နိုင်သောအရာဝတ္ထုများသည် အမျိုးအစားအများကြီးရှိပြီး တစ်ခုတည်းသောအရာကို detect လုပ်သော dedicated hardware မှ smartphone အထိပါဝင်သည်။ Smartphone တစ်လုံးသည် sensor များကိုအသုံးပြု၍ အနီးအနားကမ္ဘာကို detect လုပ်နိုင်ပြီး actuator များကိုအသုံးပြု၍ ကမ္ဘာနှင့်ဆက်သွယ်နိုင်သည် - ဥပမာအားဖြင့် GPS sensor ကိုအသုံးပြု၍ သင့်တည်နေရာကို detect လုပ်ခြင်းနှင့် speaker ကိုအသုံးပြု၍ သွားရောက်ရန်နေရာအတွက် navigation အညွှန်းများပေးခြင်း။
+
+✅ Sensor မှဒေတာကိုဖတ်ပြီး ဆုံးဖြတ်ချက်များကိုလုပ်ဆောင်သော သင့်အနီးရှိအခြားစနစ်များကိုစဉ်းစားပါ။ ဥပမာတစ်ခုမှာ အိုးပေါ်ရှိ thermostat ဖြစ်သည်။ သင်ပိုမိုများစွာရှာဖွေနိုင်ပါသလား?
+
+### အင်တာနက်
+
+IoT အက်ပလီကေးရှင်း၏ **အင်တာနက်** အပိုင်းသည် IoT စက်သည် ဒေတာပို့ရန်နှင့်လက်ခံရန်ဆက်သွယ်နိုင်သောအက်ပလီကေးရှင်းများနှင့် IoT စက်မှဒေတာကို process လုပ်ရန်နှင့် IoT စက်၏ actuator များကိုပို့ရန် request များကိုလုပ်ဆောင်ရန်အက်ပလီကေးရှင်းများကိုပါဝင်သည်။
+
+ပုံမှန် setup တစ်ခုမှာ IoT စက်သည်ဆက်သွယ်သော cloud service တစ်ခုရှိပြီး ဒီ cloud service သည် security ကဲ့သို့သောအရာများကို handle လုပ်ခြင်း၊ IoT စက်မှ message များကိုလက်ခံခြင်းနှင့် IoT စက်သို့ message များကိုပြန်ပို့ခြင်းတို့ကိုလုပ်ဆောင်သည်။ ဒီ cloud service သည် sensor data ကို process သို့မဟုတ် store လုပ်သောအခြားအက်ပလီကေးရှင်းများနှင့်ဆက်သွယ်ခြင်း သို့မဟုတ် အခြားစနစ်များမှဒေတာနှင့် sensor data ကိုအသုံးပြု၍ ဆုံးဖြတ်ချက်များကိုလုပ်ဆောင်ခြင်းတို့ကိုလုပ်ဆောင်သည်။
+
+စက်များသည် WiFi သို့မဟုတ် wired connection များကိုအသုံးပြု၍ အင်တာနက်နှင့်တိုက်ရိုက်ဆက်သွယ်မည်မဟုတ်ပါ။ အချို့သောစက်များသည် mesh networking ကိုအသုံးပြု၍ Bluetooth ကဲ့သို့သောနည်းပညာများကိုအသုံးပြု၍ hub device တစ်ခုမှတဆင့် အင်တာနက် connection ရှိသောနေရာတွင်တစ်ဦးနှင့်တစ်ဦးဆက်သွယ်သည်။
+
+Smart thermostat ၏ဥပမာတွင် thermostat သည် home WiFi ကိုအသုံးပြု၍ cloud service တစ်ခုနှင့်ဆက်သွယ်သည်။ အပူချိန်ဒေတာကို cloud service သို့ပို့ပြီး homeowner သည် phone app ကိုအသုံးပြု၍ လက်ရှိနှင့်အတိတ်အပူချိန်များကိုစစ်ဆေးနိုင်ရန် database တစ်ခုသို့ရေးသားသည်။ Cloud service တွင် homeowner သည်လိုအပ်သောအပူချိန်ကိုသိပြီး IoT စက်၏ actuator ကို heating system ကိုဖွင့်ရန် သို့မဟုတ်ပိတ်ရန်ပြောဆိုသော message များကို cloud service မှတဆင့် IoT စက်သို့ပြန်ပို့သည်။
+
+
+
+ပိုမို smart ဖြစ်သော version တစ်ခုမှာ cloud တွင် AI ကိုအသုံးပြု၍ occupancy sensor ကဲ့သို့သော IoT စက်များနှင့်ဆက်သွယ်သော sensor များမှဒေတာများ၊ weather နှင့် calendar ကဲ့သို့သောဒေတာများကိုအသုံးပြု၍ temperature ကို smart ဖြစ်အောင်သတ်မှတ်ရန်ဆုံးဖြတ်ချက်များကိုလုပ်ဆောင်သည်။ ဥပမာအားဖြင့် calendar မှ vacation သွားနေသည်ကိုဖတ်ပြီး heating ကိုပိတ်နိုင်သည် သို့မဟုတ် သင့်အသုံးပြုသောအခန်းများပေါ်မူတည်၍ room by room အပူချိန်ကိုပိတ်နိုင်သည်။ ဒေတာမှတဆင့်ပိုမိုတိကျစွာလေ့လာနိုင်ရန်အချိန်ကြာလာသည်နှင့်အမျှပိုမိုတိုးတက်လာသည်။
+
+
+
+✅ အင်တာနက်နှင့်ဆက်သွယ်သော thermostat ကိုပိုမို smart ဖြစ်အောင်လုပ်ဆောင်ရန်အခြားဒေတာများကူညီနိုင်မည်ကဲ့သို့ဖြစ်မည်ကိုစဉ်းစားပါ။
+
+### Edge တွင် IoT
+
+IoT ၏ I သည် အင်တာနက်ကိုဆိုလိုသော်လည်း ဒီစက်များသည် အင်တာနက်နှင့်ဆက်သွယ်ရန်မလိုအပ်ပါ။ အချို့သောအခါများတွင် စက်များသည် 'edge' စက်များ - သင့် local network တွင် run လုပ်သော gateway စက်များနှင့်ဆက်သွယ်နိုင်ပြီး ဒေတာကို အင်တာနက်မှတဆင့် call မလုပ်ဘဲ process လုပ်နိုင်သည်။ ဒေတာများများရှိသောအခါ သို့မဟုတ် အင်တာနက် connection နှေးသောအခါပိုမိုလျင်မြန်နိုင်သည်၊ အင်တာနက် connection မဖြစ်နိုင်သောနေရာတွင် offline အဖြစ် run လုပ်နိုင်သည် - ဥပမာအားဖြင့် သင်္ဘောပေါ်တွင် သို့မဟုတ် လူသားအကူအညီပေးရေးအရေးပေါ်အခြေအနေတွင် run လုပ်ခြင်း၊ ဒေတာကို private ဖြစ်အောင်ထားနိုင်သည်။ အချို့သောစက်များသည် cloud tools ကိုအသုံးပြု၍ ဖန်တီးထားသော processing code ကိုပါရှိပြီး ဒေတာကိုစုဆောင်းရန်နှင့် အင်တာနက် connection မလိုအပ်ဘဲ ဆုံးဖြတ်ချက်ကိုပြုလုပ်ရန် locally တွင် run လုပ်သည်။
+
+ဥပမာတစ်ခုမှာ Apple HomePod, Amazon Alexa သို့မဟုတ် Google Home ကဲ့သို့သော smart home device ဖြစ်ပြီး cloud တွင် training လုပ်ထားသော AI models ကိုအသုံးပြု၍ သင့်အသံကိုနားထောင်သည်။ ဒီစက်များသည် စကားလုံး သို့မဟုတ် စကားစုတစ်ခုကိုပြောသောအခါ 'wake up' လုပ်ပြီး သင့်စကားကို process လုပ်ရန်အင်တာနက်မှတဆင့်ပို့သည်။ စက်သည် သင့်စကားတွင် pause တစ်ခု detect လုပ်သောအခါ သင့်စကားကိုပို့ခြင်းကိုရပ်သည်။ Wake word ဖြင့်စက်ကို wake up လုပ်သောအခါမပြောသောအရာအားလုံးနှင့် စက်သည်နားထောင်ရပ်သောအခါမပြောသောအရာအားလုံးသည် device provider သို့အင်တာနက်မှတဆင့်မပို့ပါ၊ ထို့ကြောင့် private ဖြစ်သည်။
+
+✅ Privacy အရေးကြီးသောအခြေအနေများကိုစဉ်းစားပြီး ဒေတာကို cloud တွင်မလုပ်ဘဲ edge တွင် process လုပ်ခြင်းကပိုမိုကောင်းမည်ဖြစ်သည်။ အကြံပြုချက် - camera သို့မဟုတ် imaging device များပါရှိသော IoT စက်များကိုစဉ်းစားပါ။
+
+### IoT Security
+
+အင်တာနက် connection တစ်ခုရှိသောအခါ security သည်အရေးကြီးသောအချက်ဖြစ်သည်။ 'IoT တွင် S သည် Security ကိုဆိုလိုသည်' ဟုဆိုသောဟာသဟောင်းတစ်ခုရှိသည် - IoT တွင် 'S' မရှိပါ၊ security မရှိကြောင်းကိုဆိုလိုသည်။
+
+IoT စက်များသည် cloud service တစ်ခုနှင့်ဆက်သွယ်ပြီး ထို့ကြောင့် security သည် cloud service ရဲ့ security အပေါ်မူတည်သည် - သင့် cloud service သည် စက်မည်သည့်စက်မဆိုဆက်သွယ်ခွင့်ပြုပါက malicious data ပို့ခြင်း သို့မဟုတ် virus တိုက်ခိုက်မှုများဖြစ်နိုင်သည်။ IoT စက်များသည်အခြားစက်များနှင့်ဆက်သွယ်ပြီး ထိန်းချုပ်သောကြောင့် ဒီအရာသည် အလွန်အရေးကြီးသောအကျိုးသက်ရောက်မှုများရှိနိုင်သည်။ ဥပမာအားဖြင့် [Stuxnet worm](https://wikipedia.org/wiki/Stuxnet) သည် centrifuge များရှိ valves များကို manipulate လုပ်ပြီး ပျက်စီးစေခဲ့သည်။ Hackers များသည် [security အားနည်းချက်များကိုအသုံးပြု၍ baby monitors](https://www.npr.org/sections/thetwo-way/2018/06/05/617196788/s-c-mom-says-baby-monitor-was-hacked-experts-say-many-devices-are-vulnerable) နှင့် အခြား home surveillance devices များကို access လုပ်ခဲ့သည်။
+
+> 💁 IoT စက်များနှင့် edge စက်များသည် ဒေတာကို private ဖြစ်အောင်ထားရန်နှင့် security ရှိစေရန် အင်တာနက်မှလုံးဝခွဲထားသော network တွင် run လုပ်သည်။ ဒီအရာကို [air-gapping](https://wikipedia.org/wiki/Air_gap_(networking)) ဟုခေါ်သည်။
+
+## Microcontrollers အကြောင်းပိုမိုနက်ရှိုင်းစွာလေ့လာခြင်း
+
+ယခင်သင်ခန်းစာတွင် microcontrollers ကိုမိတ်ဆက်ခဲ့သည်။ အခုတော့ ဒီအကြောင်းပိုမိုနက်ရှိုင်းစွာလေ့လာကြည့်ရအောင်။
+
+### CPU
+
+CPU သည် microcontroller ၏ 'ဦးနှောက်' ဖြစ်သည်။ ၎င်းသည် သင့် code ကို run လုပ်ပြီး connected devices များမှဒေတာကိုပို့ရန်နှင့်လက်ခံရန်လုပ်ဆောင်နိုင်သော processor ဖြစ်သည်။ CPUs တွင် core တစ်ခု သို့မဟုတ် core အများအပြားပါရှိနိုင်သည် - အဓိကအားဖြင့် သင့် code ကို run လုပ်ရန်အတူတကွလုပ်ဆောင်နိုင်သော CPU များဖြစ်သည်။
+
+CPUs သည် တစ်စက္ကန့်တွင် သန်းပေါင်းများ သို့မဟုတ် ဘီလီယံပေါင်းများအကြိမ် tick လုပ်သော clock ကိုအပေါ်မူတည်သည်။ Tick သို့မဟုတ် cycle တစ်ခုစီသည် CPU လုပ်ဆောင်နိုင်သော actions များကို synchronize လုပ်သည်။ Tick တစ်ခုစီတွင် CPU သည် program မှ instruction တစ်ခုကို retrieve လုပ်ခြင်း သို့မဟုတ် mathematical calculation တစ်ခုကိုလုပ်ဆောင်ခြင်းကဲ့သို့သော instruction တစ်ခုကို execute လုပ်နိုင်သည်။ ဒီ regular cycle သည် next instruction ကို process လုပ်မည့်အခါမတိုင်မီ အားလုံးကိုပြီးစီးစေရန်အထောက်အကူပြုသည်။
+
+Clock cycle ပိုမြန်လျင် တစ်စက္ကန့်တွင် process လုပ်နိုင်သော instruction ပိုများပြီး CPU
+> 🎓 အစီအစဉ်မှတ်ဉာဏ်သည် သင့်ကုဒ်ကို သိမ်းဆည်းထားပြီး လျှပ်စစ်မရှိသည့်အချိန်တွင်လည်း မပျောက်ဆုံးပါ။
+🎓 RAM သည် သင့်ပရိုဂရမ်ကို အလုပ်လုပ်စေဖို့ အသုံးပြုပြီး လျှပ်စစ်မရှိတဲ့အခါမှာ ပြန်လည်သက်သာသွားပါသည်။
+
+CPU နဲ့တူတူပဲ၊ microcontroller ရဲ့ memory ဟာ PC သို့မဟုတ် Mac ထက် အများကြီးသေးငယ်ပါတယ်။ ပုံမှန် PC တစ်ခုမှာ 8 Gigabytes (GB) RAM ရှိနိုင်ပြီး၊ 8,000,000,000 bytes ရှိပါတယ်။ Byte တစ်ခုမှာ အက္ခရာတစ်လုံး သို့မဟုတ် 0-255 အတွင်းက နံပါတ်တစ်ခုကို သိမ်းဆည်းဖို့ လုံလောက်တဲ့နေရာရှိပါတယ်။ Microcontroller တစ်ခုမှာတော့ RAM ရဲ့ Kilobytes (KB) ပမာဏသာရှိပြီး၊ kilobyte တစ်ခုမှာ 1,000 bytes ရှိပါတယ်။ အထက်မှာဖော်ပြထားတဲ့ Wio terminal မှာ 192KB RAM ရှိပြီး၊ 192,000 bytes ရှိပါတယ်။ ဒါဟာ ပုံမှန် PC တစ်ခုထက် 40,000 ဆလျော့နည်းပါတယ်။
+
+အောက်မှာပါတဲ့ အကြမ်းဖျင်းပုံစံက 192KB နဲ့ 8GB ရဲ့ အရွယ်အစားကွာခြားမှုကို ပြထားပါတယ်။ အလယ်မှာပါတဲ့ သေးငယ်တဲ့ dot က 192KB ကို ကိုယ်စားပြုပါတယ်။
+
+
+
+ပရိုဂရမ်ကို သိမ်းဆည်းဖို့နေရာလည်း PC ထက် သေးငယ်ပါတယ်။ ပုံမှန် PC တစ်ခုမှာ 500GB hard drive ရှိပြီး၊ microcontroller တစ်ခုမှာတော့ kilobytes သို့မဟုတ် megabytes (MB) အနည်းငယ်သာရှိနိုင်ပါတယ်။ (1MB = 1,000KB = 1,000,000 bytes) Wio terminal မှာ 4MB program storage ရှိပါတယ်။
+
+✅ သင့်ရဲ့ computer ရဲ့ RAM နဲ့ storage ပမာဏကို ရှာဖွေကြည့်ပါ။ Microcontroller နဲ့ ဘယ်လိုကွာခြားလဲဆိုတာကို နှိုင်းယှဉ်ကြည့်ပါ။
+
+### Input/Output
+
+Microcontroller တွေဟာ sensor တွေကနေ data ကိုဖတ်ပြီး actuator တွေကို control signal ပို့ဖို့ input/output (I/O) connection တွေလိုအပ်ပါတယ်။ အများအားဖြင့် general-purpose input/output (GPIO) pins အတော်များများပါဝင်ပါတယ်။ ဒီ pins တွေကို software မှာ input (signal ကို လက်ခံ) သို့မဟုတ် output (signal ကို ပို့) အဖြစ် configure လုပ်နိုင်ပါတယ်။
+
+🧠⬅️ Input pins တွေကို sensor တွေကနေ value ဖတ်ဖို့ အသုံးပြုပါတယ်။
+
+🧠➡️ Output pins တွေ actuator တွေကို instruction ပို့ဖို့ အသုံးပြုပါတယ်။
+
+✅ ဒီအကြောင်းကို နောက်ဆုံးပေါ်သင်ခန်းစာမှာ ပိုမိုလေ့လာနိုင်ပါမယ်။
+
+#### Task
+
+Wio Terminal ကို စူးစမ်းလေ့လာပါ။
+
+ဒီသင်ခန်းစာတွေမှာ Wio Terminal ကို အသုံးပြုနေတယ်ဆိုရင်၊ GPIO pins တွေကို ရှာဖွေပါ။ [Wio Terminal product page](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) ရဲ့ *Pinout diagram* အပိုင်းကို ရှာဖွေပြီး ဘယ် pins ဘယ်လိုအသုံးပြုရမလဲကို လေ့လာပါ။ Wio Terminal မှာ pin numbers ပါတဲ့ sticker တစ်ခုပါဝင်ပြီး၊ အဲဒီ sticker ကို device ရဲ့နောက်ဘက်မှာ တပ်ဆင်နိုင်ပါတယ်။ မတပ်ဆင်ရသေးရင် အခုတပ်ဆင်ပါ။
+
+### Physical size
+
+Microcontroller တွေဟာ အရွယ်အစားသေးငယ်ပါတယ်။ အနည်းဆုံး [Freescale Kinetis KL03 MCU](https://www.edn.com/tiny-arm-cortex-m0-based-mcu-shrinks-package/) က golf ball ရဲ့ dimple ထဲမှာတောင် ထည့်နိုင်အောင် သေးငယ်ပါတယ်။ PC ရဲ့ CPU တစ်ခုက 40mm x 40mm အရွယ်ရှိပြီး၊ CPU ကို အပူလွန်ကဲမှုမဖြစ်အောင် အေးစေဖို့ heat sinks နဲ့ fans တွေလိုအပ်ပါတယ်။ ဒါဟာ microcontroller တစ်ခုထက် အများကြီးကြီးမားပါတယ်။ Wio terminal developer kit မှာ microcontroller, case, screen နဲ့ connection တွေ၊ components တွေပါဝင်ပြီး၊ bare Intel i9 CPU ထက် အနည်းငယ်ကြီးမားပါတယ်။ ဒါပေမယ့် heat sink နဲ့ fan ပါတဲ့ CPU ထက် အများကြီးသေးငယ်ပါတယ်။
+
+| Device | Size |
+| ------------------------------- | --------------------- |
+| Freescale Kinetis KL03 | 1.6mm x 2mm x 1mm |
+| Wio terminal | 72mm x 57mm x 12mm |
+| Intel i9 CPU, Heat sink and fan | 136mm x 145mm x 103mm |
+
+### Frameworks and operating systems
+
+Microcontroller တွေဟာ အမြန်နှုန်းနဲ့ memory size နည်းတဲ့အတွက် desktop OS မရနိုင်ပါဘူး။ Windows, Linux, macOS စတဲ့ OS တွေဟာ memory နဲ့ processing power အများကြီးလိုအပ်ပြီး၊ microcontroller တွေမှာ မလိုအပ်တဲ့ task တွေကို run ဖို့အတွက် ရည်ရွယ်ထားပါတယ်။ Microcontroller တွေဟာ အထူးသတ်မှတ်ထားတဲ့ task တစ်ခု သို့မဟုတ် task အနည်းငယ်ကို run ဖို့အတွက် program လုပ်ထားတာဖြစ်ပြီး၊ PC သို့မဟုတ် Mac တစ်ခုလို general-purpose computer မဟုတ်ပါဘူး။
+
+OS မပါဘဲ microcontroller ကို program လုပ်ဖို့ tooling တစ်ခုလိုအပ်ပါတယ်။ ဒီ tooling က microcontroller run လို့ရအောင် code ကို build လုပ်ဖို့ API တွေကို အသုံးပြုနိုင်ပါတယ်။ Microcontroller တစ်ခုစီက မတူညီတဲ့အတွက်၊ ထုတ်လုပ်သူတွေက normally standard frameworks တွေကို support လုပ်ပြီး၊ framework ကို support လုပ်တဲ့ microcontroller တစ်ခုစီမှာ code ကို build လုပ်ဖို့ standard 'recipe' ကို follow လုပ်နိုင်ပါတယ်။
+
+Microcontroller တွေကို OS အသုံးပြုပြီး program လုပ်နိုင်ပါတယ်။ ဒီ OS တွေကို real-time operating system (RTOS) လို့ခေါ်ပြီး၊ peripherals တွေကို real time မှာ data ပို့ပေးဖို့အတွက် design လုပ်ထားပါတယ်။ RTOS တွေဟာ အလွန်ပေါ့ပါးပြီး အောက်ပါ feature တွေကိုပေးစွမ်းပါတယ်။
+
+* Multi-threading - code block အများကြီးကို တစ်ချိန်တည်းမှာ run လို့ရအောင်၊ သို့မဟုတ် core တစ်ခုမှာ အလှည့်ကျ run လို့ရအောင်လုပ်ပေးပါတယ်။
+* Networking - အင်တာနက်ပေါ်မှာ securely ဆက်သွယ်နိုင်ပါတယ်။
+* Graphical user interface (GUI) components - screen ပါတဲ့ device တွေမှာ user interface (UI) တည်ဆောက်ဖို့အတွက်။
+
+✅ RTOS အမျိုးမျိုးကို လေ့လာပါ။ [Azure RTOS](https://azure.microsoft.com/services/rtos/?WT.mc_id=academic-17441-jabenn), [FreeRTOS](https://www.freertos.org), [Zephyr](https://www.zephyrproject.org)
+
+#### Arduino
+
+
+
+[Arduino](https://www.arduino.cc) ဟာ microcontroller framework တွေထဲမှာ အများဆုံးလူသုံးတဲ့ framework ဖြစ်ပြီး၊ ကျောင်းသားတွေ၊ hobbyist တွေ၊ maker တွေကြားမှာ အထူးလူကြိုက်များပါတယ်။ Arduino ဟာ software နဲ့ hardware ပေါင်းစပ်ထားတဲ့ open source electronics platform ဖြစ်ပါတယ်။ Arduino compatible boards တွေကို Arduino ကိုယ်တိုင် သို့မဟုတ် အခြားထုတ်လုပ်သူတွေကနေ ဝယ်ယူနိုင်ပြီး၊ Arduino framework ကို အသုံးပြုပြီး code ရေးနိုင်ပါတယ်။
+
+Arduino boards တွေကို C သို့မဟုတ် C++ နဲ့ code ရေးပါတယ်။ C/C++ ကို အသုံးပြုခြင်းက code ကို အလွန်သေးငယ်စေပြီး၊ microcontroller တစ်ခုလို resource အကန့်အသတ်ရှိတဲ့ device မှာ အမြန် run လို့ရအောင်လုပ်ပေးပါတယ်။ Arduino application ရဲ့ အဓိကအပိုင်းကို sketch လို့ခေါ်ပြီး၊ C/C++ code ဖြစ်ပါတယ်။ Sketch မှာ `setup` နဲ့ `loop` ဆိုတဲ့ function 2 ခုပါဝင်ပါတယ်။ Board ကို start လုပ်တဲ့အခါ Arduino framework code က `setup` function ကို တစ်ကြိမ် run လုပ်ပြီး၊ `loop` function ကို အမြဲတမ်း run လုပ်နေပါတယ်၊ power ပိတ်တဲ့အချိန်အထိ။
+
+`setup` function မှာ WiFi နဲ့ cloud services တွေကို connect လုပ်တာ၊ input/output pins တွေကို initialize လုပ်တာတွေကိုရေးနိုင်ပါတယ်။ `loop` function မှာ sensor ကနေ data ဖတ်ပြီး cloud ကို value ပို့တာတွေကိုရေးနိုင်ပါတယ်။ Loop တစ်ခုစီမှာ delay ထည့်သွင်းရပါမယ်၊ ဥပမာ sensor data ကို 10 စက္ကန့်တစ်ကြိမ်ပို့ချင်ရင် loop ရဲ့အဆုံးမှာ 10 စက္ကန့် delay ထည့်ပြီး၊ microcontroller ကို power save mode မှာထားပြီး၊ 10 စက္ကန့်အကြာမှာ loop ကို ပြန် run လုပ်နိုင်ပါတယ်။
+
+
+
+✅ ဒီ program architecture ကို *event loop* သို့မဟုတ် *message loop* လို့ခေါ်ပါတယ်။ Desktop applications အများစုမှာ ဒီပုံစံကို အသုံးပြုထားပြီး၊ Windows, macOS, Linux OS တွေမှာ run လုပ်တဲ့ application တွေမှာ standard ဖြစ်ပါတယ်။ `loop` function က user interface components (button, keyboard) သို့မဟုတ် device တွေကနေ message တွေကို နားထောင်ပြီး၊ အဲဒီ message တွေကို တုံ့ပြန်ပါတယ်။ [event loop](https://wikipedia.org/wiki/Event_loop) အကြောင်းကို ဒီ article မှာ ပိုမိုဖတ်ရှုနိုင်ပါတယ်။
+
+Arduino က microcontroller နဲ့ I/O pins တွေကို အသုံးပြုဖို့ standard libraries တွေကို ပေးထားပါတယ်။ Arduino code ကို board တစ်ခုမှာရေးပြီး၊ အခြား Arduino board တွေမှာ recompile လုပ်ပြီး run လို့ရပါတယ်၊ pins တွေတူပြီး board တွေက အတူတူ feature တွေ support လုပ်ရင်။
+
+Arduino ecosystem မှာ third-party libraries အများကြီးရှိပြီး၊ sensor နဲ့ actuator တွေကို အသုံးပြုတာ၊ cloud IoT services တွေကို connect လုပ်တာတွေကို အလွယ်တကူလုပ်နိုင်ပါတယ်။
+
+##### Task
+
+Wio Terminal ကို စူးစမ်းလေ့လာပါ။
+
+ဒီသင်ခန်းစာတွေမှာ Wio Terminal ကို အသုံးပြုနေတယ်ဆိုရင်၊ အရင်သင်ခန်းစာမှာရေးထားတဲ့ code ကို ပြန်ဖတ်ပါ။ `setup` နဲ့ `loop` function ကို ရှာဖွေပါ။ Loop function က serial output ကို အမြဲတမ်း monitor လုပ်နေတဲ့အကြောင်းကို သတိပြုပါ။ `setup` function မှာ serial port ကိုရေးဖို့ code ထည့်ပြီး၊ device ကို reboot လုပ်တိုင်း ဒီ code က တစ်ကြိမ်ပဲ run လုပ်တာကို သတိပြုပါ။ Side မှာရှိတဲ့ power switch ကို အသုံးပြုပြီး device ကို reboot လုပ်ပြီး၊ device reboot လုပ်တိုင်း `setup` function က run လုပ်တာကို ပြသပါ။
+
+## Single-board computers အကြောင်းပိုမိုလေ့လာခြင်း
+
+အရင်သင်ခန်းစာမှာ single-board computers ကို မိတ်ဆက်ပေးခဲ့ပါတယ်။ အခုတော့ အဲဒီအကြောင်းကို ပိုမိုနက်နက်ရှိုင်းရှိုင်းလေ့လာကြည့်ပါမယ်။
+
+### Raspberry Pi
+
+
+
+[Raspberry Pi Foundation](https://www.raspberrypi.org) ဟာ UK မှ charity တစ်ခုဖြစ်ပြီး၊ 2009 ခုနှစ်မှာ ကျောင်းတွေရဲ့ computer science ပညာသင်ကြားမှုကို မြှင့်တင်ဖို့ ရည်ရွယ်ပြီး စတင်တည်ထောင်ခဲ့ပါတယ်။ ဒီရည်ရွယ်ချက်အတွက် Raspberry Pi ဆိုတဲ့ single-board computer ကို ဖန်တီးခဲ့ပါတယ်။ Raspberry Pi တွေဟာ full size version, Pi Zero, compute module ဆိုပြီး 3 မျိုးရှိပါတယ်။
+
+
+
+Raspberry Pi ရဲ့ နောက်ဆုံးပေါ် full size version က Raspberry Pi 4B ဖြစ်ပါတယ်။ Quad-core (4 core) CPU 1.5GHz, 2, 4, 8GB RAM, gigabit ethernet, WiFi, 2 HDMI ports (4k screen support), audio/composite video output port, USB ports (2 USB 2.0, 2 USB 3.0), 40 GPIO pins, camera connector, SD card slot ပါဝင်ပြီး၊ အရွယ်အစား 88mm x 58mm x 19.5mm ဖြစ်ပါတယ်။ USB-C power supply 3A အသုံးပြုပြီး၊ US$35 ကနေ စတင်ရောင်းချပါတယ်။
+
+> 💁 Pi400 ဟာ keyboard ထဲမှာ Pi4 ကို ထည့်ထားတဲ့ all-in-one computer ဖြစ်ပါတယ်။
+
+
+
+Pi Zero ဟာ ပိုသေးငယ်ပြီး၊ power နည်းပါတယ်။ Single-core 1GHz CPU, 512MB RAM, WiFi (Zero W model), single HDMI port, micro-USB port, 40 GPIO pins, camera connector, SD card slot ပါဝင်ပြီး၊ အရွယ်အစား 65mm x 30mm x 5mm ဖြစ်ပါတယ်။ Zero ဟာ US$5 ဖြစ်ပြီး၊ WiFi ပါတဲ့ Zero W version ဟာ US$10 ဖြစ်ပါတယ်။
+
+> 🎓 CPU တွေဟာ ARM processor ဖြစ်ပြီး၊ PC/Mac တွေမှာတွေ့ရတဲ့ Intel/AMD x86/x64 processor မဟုတ်ပါဘူး။ ARM processor တွေဟာ microcontroller တွေ၊ mobile phone အများစု၊ Microsoft Surface X, Apple Silicon Mac တွေမှာ တွေ့ရပါတယ်။
+
+Raspberry Pi တွေဟာ Debian Linux ရဲ့ version တစ်ခုဖြစ်တဲ့ Raspberry Pi OS ကို run လုပ်ပါတယ်။ Lite version (desktop မပါ) သို့မဟုတ် full version (desktop environment, web browser, office applications, coding tools, games) ရရှိနိုင်ပါတယ်။ Debian Linux ဖြစ်တဲ့အတွက် ARM processor အတွက် build လုပ်ထားတဲ့ Debian application/tool တွေကို install လုပ်နိုင်ပါတယ်။
+
+#### Task
+
+Raspberry Pi ကို စူးစမ်းလေ့လာပါ။
+
+ဒီသင်ခန်းစာတွေမှာ Raspberry Pi ကို အသုံးပြုနေတယ်ဆိုရင်၊ board ရဲ့ hardware components တွေကို ဖတ်ရှုပါ။
+
+* [Raspberry Pi hardware documentation page](https://www.raspberrypi.org/documentation/hardware/raspberrypi/) မှာ processor အကြောင်းကို ဖတ်ရှုပါ။ သင့် Pi မှာ အသုံးပြုထားတဲ့ processor ကို ရှာဖွေပါ။
+* GPIO pins တွေကို ရှာဖွေပါ။ [Raspberry Pi GPIO documentation](https://www.raspberrypi.org/documentation/hardware/raspberrypi/gpio/README.md) ကို ဖတ်ရှုပါ။ [GPIO Pin Usage guide](https://www.raspberrypi.org/documentation/usage/gpio/README.md) ကို အသုံးပြုပြီး Pi ရဲ့ pins တွေကို သတ်မှတ်ပါ။
+
+### Single-board computers ကို programming လုပ်ခြင်း
+
+Single-board computers တွေဟာ full OS run လုပ်တဲ့ full computers ဖြစ်ပါတယ်။ ဒါကြောင့် programming languages, frameworks, tools အများကြီးကို အသုံးပြုနိုင်ပါတယ်။ Microcontroller တွေက Arduino framework support လုပ်တဲ့ board တွေကိုသာ အားထားရပါတယ်။ Programming languages အများစုမှာ GPIO pins ကို sensor/actuator တွေက data ပို့/လက်ခံဖို့ library တွေပါဝင်ပါတယ်။
+
+✅ သင့်ရဲ့ Linux OS မှာ support လုပ်တဲ့ programming languages တွေကို ရှာဖွေပါ။
+
+Raspberry Pi မှာ IoT applications တည်ဆောက်ဖို့အတွက် အများဆုံးအသုံးပြုတဲ့ programming language က Python ဖြစ်ပါတယ်။ Raspberry Pi အတွက် hardware ecosystem အကြီးအကျယ်ရှိပြီး၊ Python libraries အနေနဲ့ hardware တွေကို အသုံးပြုဖို့ code တွေပါဝင်ပါတယ်။ Hardware ecosystem တွေထဲမှာ 'hats' တွေပါဝင်ပြီး၊ Pi ရဲ့ 40 GPIO pins တွေကို socket တစ်ခုနဲ့ ချိတ်ဆက်ထားပါတယ်။ Hats တွေက screen, sensor, remote-controlled cars, standardized cable sensor adapter တွေကို ပေးစွမ်းပါတယ်။
+### ပရော်ဖက်ရှင်နယ် IoT တပ်ဆင်မှုများတွင် Single-board Computers အသုံးပြုခြင်း
+
+Single-board computers များကို ပရော်ဖက်ရှင်နယ် IoT တပ်ဆင်မှုများတွင် အသုံးပြုကြသည်။ Developer kits အဖြစ်သာမက၊ hardware ကိုထိန်းချုပ်ရန်နှင့် machine learning models များကို run လုပ်ရန်လိုအပ်သော အဆင့်မြင့်လုပ်ဆောင်မှုများကို run လုပ်နိုင်စွမ်းရှိသည်။ ဥပမာအားဖြင့် [Raspberry Pi 4 compute module](https://www.raspberrypi.org/blog/raspberry-pi-compute-module-4/) သည် Raspberry Pi 4 ၏ စွမ်းဆောင်ရည်အားလုံးကို ပေးစွမ်းနိုင်ပြီး၊ ပေါ့ပါးပြီး စျေးသက်သာသော ပုံစံဖြင့် port များအများစုမပါဝင်သော compact design ဖြစ်သည်။ ၎င်းကို custom hardware တွင် တပ်ဆင်ရန်အတွက် ဒီဇိုင်းထုတ်ထားသည်။
+
+---
+
+## 🚀 စိန်ခေါ်မှု
+
+နောက်ဆုံးသင်ခန်းစာတွင် စိန်ခေါ်မှုမှာ သင့်အိမ်၊ ကျောင်း၊ သို့မဟုတ် အလုပ်နေရာတွင် ရှိသော IoT devices များကို အများဆုံး စာရင်းပြုစုရန်ဖြစ်သည်။ ဒီစာရင်းထဲမှာ device တစ်ခုချင်းစီအတွက်၊ ၎င်းတို့သည် microcontrollers, single-board computers, သို့မဟုတ် နှစ်မျိုးလုံးပေါင်းစပ်ထားသောအရာများဖြစ်မည်လို့ သင်ထင်ပါသလား?
+
+## သင်ခန်းစာပြီးနောက် Quiz
+
+[Post-lecture quiz](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/4)
+
+## ပြန်လည်သုံးသပ်ခြင်းနှင့် ကိုယ်တိုင်လေ့လာခြင်း
+
+* Arduino platform အကြောင်းပိုမိုနားလည်ရန် [Arduino getting started guide](https://www.arduino.cc/en/Guide/Introduction) ကိုဖတ်ပါ။
+* Raspberry Pi များအကြောင်းပိုမိုလေ့လာရန် [introduction to the Raspberry Pi 4](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/) ကိုဖတ်ပါ။
+* [Electrical Engineering Journal](https://www.eejournal.com/article/what-the-faq-are-cpus-mpus-mcus-and-gpus/) တွင် CPUs, MPUs, MCUs, နှင့် GPUs အကြောင်း ရှင်းလင်းထားသော ဆောင်းပါးကိုဖတ်ပြီး အခြေခံအယူအဆများနှင့် အတိုကောက်များအကြောင်းပိုမိုလေ့လာပါ။
+
+✅ ဒီလမ်းညွှန်များကို အသုံးပြုပြီး၊ [hardware guide](../../../hardware.md) တွင် ဖော်ပြထားသော link များကိုလိုက်၍ စျေးနှုန်းများကိုကြည့်ပါ။ သင်အသုံးပြုလိုသော hardware platform ကိုဆုံးဖြတ်ပါ၊ သို့မဟုတ် virtual device ကို အသုံးပြုရန် ရွေးချယ်ပါ။
+
+## လုပ်ငန်းတာဝန်
+
+[Compare and contrast microcontrollers and single-board computers](assignment.md)
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေပါသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတရ အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/2-deeper-dive/assignment.md b/translations/my/1-getting-started/lessons/2-deeper-dive/assignment.md
new file mode 100644
index 00000000..af57213a
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/2-deeper-dive/assignment.md
@@ -0,0 +1,26 @@
+
+# မိုက်ခရိုကွန်ထရိုလာများနှင့် တစ်ခုတည်းသောဘုတ်ကွန်ပျူတာများကို နှိုင်းယှဉ်ခြင်းနှင့် ကွဲပြားချက်များ
+
+## ညွှန်ကြားချက်များ
+
+ဒီသင်ခန်းစာမှာ မိုက်ခရိုကွန်ထရိုလာများနဲ့ တစ်ခုတည်းသောဘုတ်ကွန်ပျူတာများကို လေ့လာခဲ့ပါတယ်။ မိုက်ခရိုကွန်ထရိုလာနဲ့ တစ်ခုတည်းသောဘုတ်ကွန်ပျူတာတို့ကို နှိုင်းယှဉ်ပြီး ကွဲပြားချက်များကို ဇယားတစ်ခုဖန်တီးပါ။ မိုက်ခရိုကွန်ထရိုလာကို တစ်ခုတည်းသောဘုတ်ကွန်ပျူတာထက် အသုံးပြုရမည့် အကြောင်းအရင်း ၂ ခုအနည်းဆုံး၊ တစ်ခုတည်းသောဘုတ်ကွန်ပျူတာကို မိုက်ခရိုကွန်ထရိုလာထက် အသုံးပြုရမည့် အကြောင်းအရင်း ၂ ခုအနည်းဆုံးကို မှတ်သားပါ။
+
+## အဆင့်သတ်မှတ်ချက်
+
+| စံနှုန်းများ | ထူးချွန်သော | လုံလောက်သော | တိုးတက်မှုလိုအပ်သော |
+| ------------ | ------------ | ------------ | -------------------- |
+| မိုက်ခရိုကွန်ထရိုလာများနှင့် တစ်ခုတည်းသောဘုတ်ကွန်ပျူတာများကို နှိုင်းယှဉ်ပြီး ဇယားဖန်တီးခြင်း | များစွာသော အချက်များကို မှန်ကန်စွာ နှိုင်းယှဉ်ပြီး ကွဲပြားချက်များ ဖော်ပြနိုင်ခြင်း | အချက်အလက် အနည်းငယ်သာ ဖော်ပြနိုင်ခြင်း | တစ်ချက် သို့မဟုတ် အချက်မရှိဘဲ နှိုင်းယှဉ်မှု သို့မဟုတ် ကွဲပြားမှု ဖော်ပြရန် မအောင်မြင်ခြင်း |
+| တစ်ခုကို တစ်ခုထက် အသုံးပြုရမည့် အကြောင်းအရင်းများ | မိုက်ခရိုကွန်ထရိုလာအတွက် အကြောင်းအရင်း ၂ ခု သို့မဟုတ် ထို့ထက်ပို၍ ဖော်ပြနိုင်ခြင်း၊ တစ်ခုတည်းသောဘုတ်ကွန်ပျူတာအတွက်လည်း အကြောင်းအရင်း ၂ ခု သို့မဟုတ် ထို့ထက်ပို၍ ဖော်ပြနိုင်ခြင်း | မိုက်ခရိုကွန်ထရိုလာအတွက် အကြောင်းအရင်း ၁-၂ ခုသာ ဖော်ပြနိုင်ခြင်း၊ တစ်ခုတည်းသောဘုတ်ကွန်ပျူတာအတွက်လည်း အကြောင်းအရင်း ၁-၂ ခုသာ ဖော်ပြနိုင်ခြင်း | မိုက်ခရိုကွန်ထရိုလာ သို့မဟုတ် တစ်ခုတည်းသောဘုတ်ကွန်ပျူတာအတွက် အကြောင်းအရင်း ၁ ခု သို့မဟုတ် ထို့ထက်နည်းသော အကြောင်းအရင်းကို ဖော်ပြရန် မအောင်မြင်ခြင်း |
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတရားရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/3-sensors-and-actuators/README.md b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/README.md
new file mode 100644
index 00000000..ba87b667
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/README.md
@@ -0,0 +1,189 @@
+
+# အာရုံခံကိရိယာများနှင့် လုပ်ဆောင်မှုကိရိယာများဖြင့် ရုပ်ပိုင်းဆိုင်ရာကမ္ဘာနှင့် အပြန်အလှန်ဆက်သွယ်ခြင်း
+
+
+
+> [Nitya Narasimhan](https://github.com/nitya) မှ ရေးမှတ်ပုံ။ ပုံကို နှိပ်ပြီး ပိုမိုကြီးမားသော ဗားရှင်းကို ကြည့်ပါ။
+
+ဒီသင်ခန်းစာကို [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) မှ [Hello IoT series](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) ၏ အစိတ်အပိုင်းအဖြစ် သင်ကြားခဲ့သည်။ သင်ခန်းစာကို ၂ မိနစ်စာ ဗီဒီယိုများဖြင့် သင်ကြားခဲ့ပြီး၊ ၁ နာရီစာ သင်ခန်းစာနှင့် ၁ နာရီစာ အခန်းဖွင့်ချိန်တွင် သင်ခန်းစာ၏ အပိုင်းများကို ပိုမိုနက်နက်ရှိုင်းရှိုင်း လေ့လာပြီး မေးခွန်းများကို ဖြေကြားခဲ့သည်။
+
+[](https://youtu.be/Lqalu1v6aF4)
+
+[](https://youtu.be/qR3ekcMlLWA)
+
+> 🎥 အထက်ပါပုံများကို နှိပ်ပြီး ဗီဒီယိုများကို ကြည့်ပါ
+
+## သင်ခန်းစာမတိုင်မီ မေးခွန်းများ
+
+[သင်ခန်းစာမတိုင်မီ မေးခွန်းများ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/5)
+
+## အကျဉ်းချုပ်
+
+ဒီသင်ခန်းစာမှာ သင့် IoT ကိရိယာအတွက် အရေးကြီးသော အယူအဆ ၂ ခုဖြစ်သည့် အာရုံခံကိရိယာများနှင့် လုပ်ဆောင်မှုကိရိယာများကို မိတ်ဆက်ပေးပါမည်။ သင်သည် အလင်းအာရုံခံကိရိယာကို သင့် IoT ပရောဂျက်တွင် ထည့်သွင်းပြီး၊ အလင်းအဆင့်များကို ထိန်းချုပ်သော LED ကို ထည့်သွင်းကာ အလင်းမရှိသောအခါ အလင်းပေးသော nightlight တစ်ခုကို တည်ဆောက်မည်ဖြစ်သည်။
+
+ဒီသင်ခန်းစာမှာ ကျော်ဖြတ်မည့်အကြောင်းအရာများမှာ -
+
+* [အာရုံခံကိရိယာများဆိုတာဘာလဲ?](../../../../../1-getting-started/lessons/3-sensors-and-actuators)
+* [အာရုံခံကိရိယာကို အသုံးပြုပါ](../../../../../1-getting-started/lessons/3-sensors-and-actuators)
+* [အာရုံခံကိရိယာအမျိုးအစားများ](../../../../../1-getting-started/lessons/3-sensors-and-actuators)
+* [လုပ်ဆောင်မှုကိရိယာများဆိုတာဘာလဲ?](../../../../../1-getting-started/lessons/3-sensors-and-actuators)
+* [လုပ်ဆောင်မှုကိရိယာကို အသုံးပြုပါ](../../../../../1-getting-started/lessons/3-sensors-and-actuators)
+* [လုပ်ဆောင်မှုကိရိယာအမျိုးအစားများ](../../../../../1-getting-started/lessons/3-sensors-and-actuators)
+
+## အာရုံခံကိရိယာများဆိုတာဘာလဲ?
+
+အာရုံခံကိရိယာများသည် ရုပ်ပိုင်းဆိုင်ရာကမ္ဘာကို ခံစားနိုင်သော ဟာ့ဒ်ဝဲကိရိယာများဖြစ်ပြီး၊ ၎င်းတို့သည် ပတ်ဝန်းကျင်ရှိ အင်္ဂါရပ်တစ်ခုခုကို တိုင်းတာကာ IoT ကိရိယာသို့ အချက်အလက်များ ပေးပို့သည်။ အာရုံခံကိရိယာများသည် တိုင်းတာနိုင်သော အရာများစွာရှိသည့်အတွက် ကိရိယာအမျိုးအစားများစွာကို ဖုံးလွှမ်းထားသည်။ ဥပမာအားဖြင့် လေထုအပူချိန်ကဲ့သို့ သဘာဝအင်္ဂါရပ်များမှ စ၍ လှုပ်ရှားမှုကဲ့သို့ ရုပ်ပိုင်းဆိုင်ရာ အပြန်အလှန်ဆက်သွယ်မှုများအထိ။
+
+အာရုံခံကိရိယာများတွင် အများဆုံးတွေ့ရသောအရာများမှာ -
+
+* အပူချိန်အာရုံခံကိရိယာများ - ၎င်းတို့သည် လေထုအပူချိန် သို့မဟုတ် ၎င်းတို့ရေစိမ်ထားသော အရာ၏ အပူချိန်ကို ခံစားသည်။ အပန်းဖြေသူများနှင့် ဖွံ့ဖြိုးသူများအတွက်၊ ၎င်းတို့သည် အများအားဖြင့် လေထုဖိအားနှင့် စိုထိုင်းဆကို တစ်ခုတည်းသော အာရုံခံကိရိယာတွင် ပေါင်းစပ်ထားသည်။
+* ခလုတ်များ - ၎င်းတို့သည် ဖိထားသောအခါကို ခံစားသည်။
+* အလင်းအာရုံခံကိရိယာများ - ၎င်းတို့သည် အလင်းအဆင့်များကို ရှာဖွေပြီး၊ အရောင်အထူးသတ်မှတ်ထားသောအလင်း၊ UV အလင်း၊ IR အလင်း သို့မဟုတ် အထွေထွေမြင်နိုင်သောအလင်းကို ရှာဖွေသည်။
+* ကင်မရာများ - ၎င်းတို့သည် ဓာတ်ပုံရိုက်ခြင်း သို့မဟုတ် ဗီဒီယိုစီးရီးကို စီးဆင်းခြင်းဖြင့် ကမ္ဘာ၏ ရုပ်ပိုင်းဆိုင်ရာကို ခံစားသည်။
+* လှုပ်ရှားမှုအာရုံခံကိရိယာများ - ၎င်းတို့သည် အမျိုးမျိုးသော ဦးတည်ချက်များတွင် လှုပ်ရှားမှုကို ခံစားသည်။
+* မိုက်ခရိုဖုန်းများ - ၎င်းတို့သည် အသံကို ခံစားပြီး၊ အထွေထွေအသံအဆင့်များ သို့မဟုတ် ဦးတည်ချက်အသံကို ခံစားသည်။
+
+✅ သင်၏ဖုန်းတွင် ဘယ်အာရုံခံကိရိယာများရှိသည်ဆိုတာ သုတေသနလုပ်ပါ။
+
+အာရုံခံကိရိယာများတွင် တစ်ခုတည်းသော အချက်အလက်ရှိသည် - ၎င်းတို့သည် ခံစားသောအရာကို IoT ကိရိယာက ဖော်ဆောင်နိုင်သော လျှပ်စစ် signal အဖြစ် ပြောင်းလဲပေးသည်။ ဒီ signal ကို ဘယ်လိုဖော်ဆောင်မလဲဆိုတာ သက်ဆိုင်ရာ အာရုံခံကိရိယာနှင့် IoT ကိရိယာနှင့် ဆက်သွယ်မှု protocol ပေါ်မူတည်သည်။
+
+## အာရုံခံကိရိယာကို အသုံးပြုပါ
+
+သင့် IoT ကိရိယာတွင် အာရုံခံကိရိယာတစ်ခု ထည့်သွင်းရန် အောက်ပါ လမ်းညွှန်ချက်ကို လိုက်နာပါ -
+
+* [Arduino - Wio Terminal](wio-terminal-sensor.md)
+* [Single-board computer - Raspberry Pi](pi-sensor.md)
+* [Single-board computer - Virtual device](virtual-device-sensor.md)
+
+## အာရုံခံကိရိယာအမျိုးအစားများ
+
+အာရုံခံကိရိယာများသည် analog သို့မဟုတ် digital ဖြစ်သည်။
+
+### Analog အာရုံခံကိရိယာများ
+
+အခြေခံအာရုံခံကိရိယာများအနက် တစ်ချို့သည် analog ဖြစ်သည်။ ၎င်းတို့သည် IoT ကိရိယာမှ voltage ကို လက်ခံပြီး၊ အာရုံခံကိရိယာ၏ components များက voltage ကို ပြောင်းလဲကာ၊ အာရုံခံကိရိယာမှ ပြန်ပေးသော voltage ကို တိုင်းတာကာ အာရုံခံတန်ဖိုးကို ရရှိသည်။
+
+> 🎓 Voltage ဆိုတာက လျှပ်စစ်ဓာတ်အားကို တစ်နေရာမှ တစ်နေရာသို့ ရွှေ့ရန် အားပေးမှုကို တိုင်းတာခြင်းဖြစ်သည်။ ဥပမာအားဖြင့် AA ဘက်ထရီတစ်ခုသည် 1.5V (V သည် volts အတွက် သင်္ကေတဖြစ်သည်) ဖြစ်ပြီး၊ ၎င်း၏ positive terminal မှ negative terminal သို့ 1.5V အားဖြင့် လျှပ်စစ်ဓာတ်အားကို ရွှေ့နိုင်သည်။ လျှပ်စစ် hardware များသည် အလုပ်လုပ်ရန် မတူညီသော voltage များလိုအပ်သည်။ ဥပမာအားဖြင့် LED တစ်ခုသည် 2-3V အတွင်းတွင် အလင်းပေးနိုင်သော်လည်း၊ 100W filament lightbulb တစ်ခုသည် 240V လိုအပ်သည်။ Voltage အကြောင်းကို [Wikipedia တွင် Voltage စာမျက်နှာ](https://wikipedia.org/wiki/Voltage) တွင် ပိုမိုဖတ်ရှုနိုင်သည်။
+
+ဥပမာအားဖြင့် potentiometer တစ်ခုကို ယူပါ။ ၎င်းသည် ၂ ခုသော အနေအထားအကြားတွင် လှည့်နိုင်သော dial ဖြစ်ပြီး၊ အာရုံခံကိရိယာသည် လှည့်မှုကို တိုင်းတာသည်။
+
+
+
+IoT ကိရိယာသည် potentiometer သို့ 5 volts (5V) voltage signal တစ်ခု ပေးပို့သည်။ Potentiometer ကို ပြောင်းလဲသည့်အခါ၊ ၎င်းသည် အခြားဘက်မှ ပြန်ပေးသော voltage ကို ပြောင်းလဲသည်။ Potentiometer ကို 0 မှ [11](https://wikipedia.org/wiki/Up_to_eleven) အထိ label လုပ်ထားသော dial အနေအထားရှိသည်ဟု စဉ်းစားပါ။ Potentiometer ကို အပြည့်အဝပိတ်ထားသောအနေအထား (0) တွင် 0V (0 volts) ပြန်ပေးသည်။ အပြည့်အဝဖွင့်ထားသောအနေအထား (11) တွင် 5V (5 volts) ပြန်ပေးသည်။
+
+> 🎓 ဒီဟာက oversimplification ဖြစ်ပြီး၊ potentiometer နှင့် variable resistors အကြောင်းကို [Wikipedia တွင် potentiometer စာမျက်နှာ](https://wikipedia.org/wiki/Potentiometer) တွင် ပိုမိုဖတ်ရှုနိုင်သည်။
+
+အာရုံခံကိရိယာမှ ပြန်ပေးသော voltage ကို IoT ကိရိယာက ဖတ်ရှုပြီး၊ ကိရိယာသည် ၎င်းကို တုံ့ပြန်နိုင်သည်။ အာရုံခံကိရိယာပေါ်မူတည်၍၊ ဒီ voltage သည် အကြောင်းအရာမရှိသောတန်ဖိုးဖြစ်နိုင်သည် သို့မဟုတ် စံ unit တစ်ခုနှင့် mapping ဖြစ်နိုင်သည်။ ဥပမာအားဖြင့် [thermistor](https://wikipedia.org/wiki/Thermistor) အပူချိန်အာရုံခံကိရိယာသည် အပူချိန်ပေါ်မူတည်၍ ၎င်း၏ resistance ကို ပြောင်းလဲသည်။ Output voltage ကို Kelvin အပူချိန်သို့ ပြောင်းလဲပြီး၊ °C သို့မဟုတ် °F သို့ code တွင် calculation များဖြင့် ပြောင်းလဲနိုင်သည်။
+
+✅ အာရုံခံကိရိယာမှ ပေးပို့သော voltage သည် ပေးပို့သော voltage ထက် မြင့်မားလာပါက (ဥပမာအားဖြင့် အပြင်ပန်း power supply မှလာသော) ဘာဖြစ်မလဲဟု စဉ်းစားပါ။ ⛔️ ဒီဟာကို စမ်းသပ်မလုပ်ပါနှင့်။
+
+#### Analog to digital conversion
+
+IoT ကိရိယာများသည် digital ဖြစ်သည် - ၎င်းတို့သည် analog တန်ဖိုးများနှင့် အလုပ်လုပ်နိုင်မည်မဟုတ်ဘဲ၊ 0s နှင့် 1s များနှင့်သာ အလုပ်လုပ်နိုင်သည်။ ဒါကြောင့် analog အာရုံခံတန်ဖိုးများကို digital signal သို့ ပြောင်းလဲရန် လိုအပ်သည်။ IoT ကိရိယာများတွင် analog-to-digital converters (ADCs) ရှိပြီး၊ analog inputs များကို ၎င်းတို့၏တန်ဖိုး၏ digital ကိုယ်စားပြုမှုများသို့ ပြောင်းလဲသည်။ Sensor များသည် connector board မှတဆင့် ADCs နှင့် အလုပ်လုပ်နိုင်သည်။
+
+ဥပမာအားဖြင့် Seeed Grove ecosystem တွင် Raspberry Pi နှင့် analog sensors များသည် Pi ၏ GPIO pins တွင် ချိတ်ဆက်ထားသော 'hat' ၏ သတ်မှတ်ထားသော ports တွင် ချိတ်ဆက်ထားပြီး၊ ဒီ hat တွင် ADC ရှိကာ voltage ကို digital signal သို့ ပြောင်းလဲကာ Pi ၏ GPIO pins မှ ပေးပို့သည်။
+
+ဥပမာအားဖြင့် 3.3V အသုံးပြုသော IoT ကိရိယာနှင့် ချိတ်ဆက်ထားသော analog အလင်းအာရုံခံကိရိယာတစ်ခုသည် 1V တန်ဖိုးကို ပြန်ပေးနေသည်ဟု စဉ်းစားပါ။ ဒီ 1V သည် digital ကမ္ဘာတွင် ဘာမှ မဆိုလိုပါ၊ ဒါကြောင့် ပြောင်းလဲရန် လိုအပ်သည်။ Voltage ကို ကိရိယာနှင့် sensor ပေါ်မူတည်၍ scale တစ်ခုကို အသုံးပြုကာ analog တန်ဖိုးသို့ ပြောင်းလဲသည်။
+
+ဥပမာအားဖြင့် Seeed Grove အလင်း sensor သည် 0 မှ 1,023 အထိ တန်ဖိုးများကို output လုပ်သည်။ ဒီ sensor သည် 3.3V တွင် အလုပ်လုပ်နေပြီး၊ 1V output သည် 300 တန်ဖိုးဖြစ်သည်။ IoT ကိရိယာသည် analog တန်ဖိုး 300 ကို handle မလုပ်နိုင်သဖြင့်၊ Grove hat မှ binary representation `0000000100101100` (300) သို့ ပြောင်းလဲသည်။ ၎င်းကို IoT ကိရိယာက ဆက်လက်ဖော်ဆောင်သည်။
+
+✅ Binary ကို မသိပါက၊ 0s နှင့် 1s များဖြင့် နံပါတ်များကို ကိုယ်စားပြုပုံကို သုတေသနလုပ်ပါ။ [BBC Bitesize introduction to binary lesson](https://www.bbc.co.uk/bitesize/guides/zwsbwmn/revision/1) သည် စတင်ရန် ကောင်းသောနေရာဖြစ်သည်။
+
+Coding အမြင်မှ၊ ဒီအရာအားလုံးကို sensor များနှင့် လာသော libraries များက handle လုပ်သည်။ ဒါကြောင့် ဒီ conversion ကို ကိုယ်တိုင် စိုးရိမ်ရန် မလိုအပ်ပါ။ Grove အလင်း sensor အတွက် Python library ကို အသုံးပြုကာ `light` property ကို ခေါ်ရန် သို့မဟုတ် Arduino library ကို အသုံးပြုကာ `analogRead` ကို ခေါ်ရန် လိုအပ်သည်။
+
+### Digital အာရုံခံကိရိယာများ
+
+Analog အာရုံခံကိရိယာများကဲ့သို့ Digital အာရုံခံကိရိယာများသည် လျှပ်စစ် voltage ပြောင်းလဲမှုများကို အသုံးပြုကာ ကမ္ဘာပတ်ဝန်းကျင်ကို ခံစားသည်။ ကွာခြားချက်မှာ ၎င်းတို့သည် digital signal ကို output လုပ်သည်၊ ၎င်းသည် ADC တစ်ခု built-in ဖြစ်သည်။
+
+Digital အာရုံခံကိရိယာ၏ အလွယ်ဆုံးကိရိယာမှာ ခလုတ် သို့မဟုတ် switch ဖြစ်သည်။ ၎င်းသည် ၂ ခုသော အနေအထားကိုသာ တိုင်းတာသည် - ဖွင့်ထား သို့မဟုတ် ပိတ်ထား။
+
+
+
+IoT ကိရိယာများတွင် GPIO pins ကဲ့သို့ pins များသည် ဒီ signal ကို တိုက်ရိုက် 0 သို့မဟုတ် 1 အဖြစ် တိုင်းတာနိုင်
+
+
+အတူတူသော အာရုံခံကိရိယာများလိုပဲ၊ အမှန်တကယ် IoT ကိရိယာသည် ဒစ်ဂျစ်တယ်အချက်အလက်များပေါ်တွင် အလုပ်လုပ်သည်၊ အနာလော့မဟုတ်ပါ။ ဒါကြောင့် အနာလော့အချက်အလက်တစ်ခုကို ပေးပို့ရန် IoT ကိရိယာသည် ဒစ်ဂျစ်တယ်မှ အနာလော့ပြောင်းလဲစက် (DAC) တစ်ခုလိုအပ်ပါမည်၊ ဒါဟာ IoT ကိရိယာပေါ်မှာတစ်ဆင့်ဖြစ်နိုင်သလို၊ ချိတ်ဆက်ဘုတ်ပေါ်မှာလည်းဖြစ်နိုင်ပါတယ်။ ဒါဟာ IoT ကိရိယာမှ 0 နှင့် 1 များကို အက်တူအိတ်တာအသုံးပြုနိုင်သော အနာလော့ဗို့အားသို့ ပြောင်းလဲပေးပါမည်။
+
+✅ IoT ကိရိယာက အက်တူအိတ်တာကို ခံနိုင်ရည်ရှိသည့်အထက်ဗို့အားကို ပေးပို့ခဲ့ရင် ဘာဖြစ်မလဲလို့ သင်ထင်ပါသလဲ?
+⛔️ ဒီအရာကို စမ်းသပ်မလုပ်ပါနဲ့။
+
+#### ပလပ်စ်-ဝစ်ဒ် မော်ဂျူလေးရှင်း (Pulse-Width Modulation)
+
+IoT ကိရိယာမှ ဒစ်ဂျစ်တယ်အချက်အလက်များကို အနာလော့အချက်အလက်များသို့ ပြောင်းလဲရန် နောက်ထပ်ရွေးချယ်စရာတစ်ခုမှာ ပလပ်စ်-ဝစ်ဒ် မော်ဂျူလေးရှင်း (PWM) ဖြစ်ပါတယ်။ ဒါဟာ အနာလော့အချက်အလက်တစ်ခုလိုပုံစံဖြစ်အောင် အတိုအထွာရှိသော ဒစ်ဂျစ်တယ်ပလပ်စ်များစွာကို ပေးပို့ရမည်ဖြစ်သည်။
+
+ဥပမာအားဖြင့်၊ သင် PWM ကို အသုံးပြု၍ မော်တာ၏ အရှိန်ကို ထိန်းချုပ်နိုင်ပါတယ်။
+
+သင် 5V ဖြင့် မော်တာတစ်လုံးကို ထိန်းချုပ်နေတယ်လို့ စဉ်းစားပါ။ သင် မော်တာကို အတိုအထွာရှိသော ပလပ်စ်တစ်ခု ပေးပို့ပြီး 0.02 စက္ကန့် (200 milliseconds) အတွင်း 5V အထိ ဗို့အားကို မြှင့်တင်လိုက်တယ်။ အဲဒီအချိန်အတွင်း မော်တာက 36° (တစ်ဝက်လှည့်) လှည့်နိုင်ပါတယ်။ ပြီးတော့ 0.02 စက္ကန့်အတွင်း ဗို့အားကို 0V သို့ လျှော့ချလိုက်တယ်။ အပေါင်း 0.04 စက္ကန့်ကြာတဲ့ စက်ကန့်တစ်ခုပြီးသွားပါမယ်။ ဒီစက်ကန့်ကို ထပ်မံလုပ်ဆောင်ပါမယ်။
+
+
+
+ဒီလိုဆိုရင် တစ်စက္ကန့်အတွင်း 0.02 စက္ကန့်ကြာတဲ့ 5V ပလပ်စ် 25 ခုကို ပေးပို့ပြီး မော်တာကို လှည့်ပတ်စေပါတယ်၊ 0.02 စက္ကန့်ကြာတဲ့ 0V နားရပ်မှုနဲ့ အလှည့်အပြောင်းလုပ်ဆောင်ပါတယ်။ တစ်ခုချင်းစီ ပလပ်စ်က မော်တာကို တစ်ဝက်လှည့်စေပြီး၊ တစ်စက္ကန့်အတွင်း 2.5 လှည့် (150 RPM) ပြည့်စေပါတယ်။ ဒစ်ဂျစ်တယ်အချက်အလက်ကို အသုံးပြု၍ မော်တာကို တစ်စက္ကန့်လျှင် 2.5 လှည့်အထိ လှည့်ပတ်စေပါတယ်။
+
+```output
+25 pulses per second x 0.1 rotations per pulse = 2.5 rotations per second
+2.5 rotations per second x 60 seconds in a minute = 150rpm
+```
+
+> 🎓 PWM အချက်အလက်တစ်ခုမှာ အချိန်၏ တစ်ဝက်အထိ အပေါ်တွင်ရှိပြီး တစ်ဝက်အထိ အောက်တွင်ရှိနေတဲ့အခါကို [50% duty cycle](https://wikipedia.org/wiki/Duty_cycle) လို့ ခေါ်ပါတယ်။ Duty cycle တွေကို အပေါ်အခြေအနေတွင်ရှိနေတဲ့ အချိန်၏ ရာခိုင်နှုန်းအဖြစ် တိုင်းတာပါတယ်။
+
+
+
+မော်တာ၏ အရှိန်ကို ပလပ်စ်အရွယ်အစားကို ပြောင်းလဲခြင်းဖြင့် ပြောင်းလဲနိုင်ပါတယ်။ ဥပမာအားဖြင့်၊ အချိန်စက်ကန့်ကို 0.04 စက္ကန့်အတိုင်းထားပြီး ပလပ်စ်အချိန်ကို 0.01 စက္ကန့်အထိ လျှော့ချပြီး နားရပ်မှုကို 0.03 စက္ကန့်အထိ တိုးချဲ့နိုင်ပါတယ်။ တစ်စက္ကန့်လျှင် ပလပ်စ်အရေအတွက် 25 ခုတူတူရှိနေသော်လည်း၊ တစ်ခုချင်းစီ ပလပ်စ်အချိန်မှာ တစ်ဝက်သာရှိပါတယ်။ တစ်ဝက်အချိန်ပလပ်စ်က မော်တာကို တစ်ပုံနှစ်ပုံလှည့်စေပြီး၊ တစ်စက္ကန့်လျှင် 1.25 လှည့် (75 RPM) ပြည့်စေပါတယ်။ ဒစ်ဂျစ်တယ်အချက်အလက်၏ ပလပ်စ်အချိန်ကို ပြောင်းလဲခြင်းဖြင့် အနာလော့မော်တာ၏ အရှိန်ကို တစ်ဝက်အထိ လျှော့ချနိုင်ပါတယ်။
+
+```output
+25 pulses per second x 0.05 rotations per pulse = 1.25 rotations per second
+1.25 rotations per second x 60 seconds in a minute = 75rpm
+```
+
+✅ မော်တာလှည့်ပတ်မှုကို အချိုင့်အချောင့်မရှိအောင် ထိန်းချုပ်ဖို့ သင်ဘယ်လိုလုပ်မလဲ? အထူးသဖြင့် အရှိန်နည်းတဲ့အချိန်မှာ။ အချိန်ကြာတဲ့ ပလပ်စ်နဲ့ နားရပ်မှုကြီးတွေကို သုံးမလား၊ ဒါမှမဟုတ် အတိုအထွာရှိတဲ့ ပလပ်စ်နဲ့ နားရပ်မှုတိုတိုတွေကို သုံးမလား?
+
+> 💁 အချို့သော အာရုံခံကိရိယာများလည်း PWM ကို အသုံးပြု၍ အနာလော့အချက်အလက်များကို ဒစ်ဂျစ်တယ်အချက်အလက်များသို့ ပြောင်းလဲပါတယ်။
+
+> 🎓 ပလပ်စ်-ဝစ်ဒ် မော်ဂျူလေးရှင်းအကြောင်းကို [Wikipedia ပေါ်ရှိ PWM စာမျက်နှာ](https://wikipedia.org/wiki/Pulse-width_modulation) တွင် ပိုမိုဖတ်ရှုနိုင်ပါတယ်။
+
+### ဒစ်ဂျစ်တယ်အက်တူအိတ်တာများ
+
+ဒစ်ဂျစ်တယ်အက်တူအိတ်တာများသည် ဒစ်ဂျစ်တယ်အာရုံခံကိရိယာများလိုပဲ၊ အမြင့်ဗို့အား (high) သို့မဟုတ် အနိမ့်ဗို့အား (low) နှစ်ခုအခြေအနေရှိပြီး၊ DAC ပါဝင်လျှင် ဒစ်ဂျစ်တယ်အချက်အလက်ကို အနာလော့အချက်အလက်သို့ ပြောင်းလဲနိုင်ပါတယ်။
+
+ရိုးရှင်းသော ဒစ်ဂျစ်တယ်အက်တူအိတ်တာတစ်ခုမှာ LED ဖြစ်ပါတယ်။ ကိရိယာတစ်ခုက 1 ဒစ်ဂျစ်တယ်အချက်အလက်ကို ပေးပို့သောအခါ၊ အမြင့်ဗို့အားကို ပေးပို့ပြီး LED ကို တောက်ပစေပါတယ်။ 0 ဒစ်ဂျစ်တယ်အချက်အလက်ကို ပေးပို့သောအခါ၊ ဗို့အားကို 0V သို့ လျှော့ချပြီး LED ကို ပိတ်လိုက်ပါတယ်။
+
+
+
+✅ သင်ထင်ရသလို ရိုးရှင်းတဲ့ 2-အခြေအနေအက်တူအိတ်တာတွေ ဘာတွေရှိနိုင်မလဲ? ဥပမာတစ်ခုက ဆလိုင်းနိုက်ဖြစ်ပြီး၊ ဒါဟာ လျှပ်စစ်သံလိုက်တစ်ခုဖြစ်ပြီး တံခါးခေါက်ကို ရွှေ့ခြင်း/ပိတ်ခြင်းလုပ်ဆောင်နိုင်ပါတယ်။
+
+ပိုမိုတိုးတက်သော ဒစ်ဂျစ်တယ်အက်တူအိတ်တာများ၊ ဥပမာအားဖြင့် မျက်နှာပြင်များသည် ဒစ်ဂျစ်တယ်ဒေတာကို သတ်မှတ်ပုံစံများဖြင့် ပေးပို့ရန် လိုအပ်ပါတယ်။ အများအားဖြင့်၊ အချက်အလက်မှန်ကို ပေးပို့ရန် လွယ်ကူစေသော စာကြည့်တိုက်များနှင့်အတူ လာတတ်ပါတယ်။
+
+---
+
+## 🚀 စိန်ခေါ်မှု
+
+နောက်ဆုံးသော သင်ခန်းစာနှစ်ခုတွင် စိန်ခေါ်မှုမှာ သင့်အိမ်၊ ကျောင်း သို့မဟုတ် အလုပ်နေရာတွင် ရှိသော IoT ကိရိယာများကို အများဆုံး စာရင်းပြုစုပြီး၊ ၎င်းတို့သည် microcontrollers သို့မဟုတ် single-board computers ပေါ်တွင် တည်ဆောက်ထားခြင်းဖြစ်ကြောင်း သတ်မှတ်ရန်ဖြစ်သည်။
+
+သင်စာရင်းပြုစုထားသည့် ကိရိယာတစ်ခုစီအတွက်၊ ၎င်းတို့သည် ဘယ်အာရုံခံကိရိယာများနှင့် အက်တူအိတ်တာများနှင့် ချိတ်ဆက်ထားသလဲ? ၎င်းတို့နှင့် ချိတ်ဆက်ထားသော အာရုံခံကိရိယာနှင့် အက်တူအိတ်တာတစ်ခုစီ၏ ရည်ရွယ်ချက်ကဘာလဲ?
+
+## သင်ခန်းစာပြီးနောက် စမ်းမေးခွန်း
+
+[သင်ခန်းစာပြီးနောက် စမ်းမေးခွန်း](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/6)
+
+## ပြန်လည်ဆန်းစစ်ခြင်းနှင့် ကိုယ်တိုင်လေ့လာမှု
+
+* [ThingLearn](http://thinglearn.jenlooper.com/curriculum/) တွင် လျှပ်စစ်နှင့် စက်ဝိုင်းများအကြောင်း ဖတ်ရှုပါ။
+* [Seeed Studios Temperature Sensors guide](https://www.seeedstudio.com/blog/2019/10/14/temperature-sensors-for-arduino-projects/) တွင် အပူချိန်အာရုံခံကိရိယာအမျိုးအစားများအကြောင်း ဖတ်ရှုပါ။
+* [Wikipedia LED page](https://wikipedia.org/wiki/Light-emitting_diode) တွင် LED များအကြောင်း ဖတ်ရှုပါ။
+
+## အိမ်စာ
+
+[အာရုံခံကိရိယာများနှင့် အက်တူအိတ်တာများကို သုတေသနပြုပါ](assignment.md)
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားယူမှားမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/3-sensors-and-actuators/assignment.md b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/assignment.md
new file mode 100644
index 00000000..c6dd5932
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/assignment.md
@@ -0,0 +1,31 @@
+
+# အာရုံခံကိရိယာများနှင့် လှုပ်ရှားမှုကိရိယာများကို သုတေသနလုပ်ခြင်း
+
+## လမ်းညွှန်ချက်များ
+
+ဒီသင်ခန်းစာမှာ အာရုံခံကိရိယာများနှင့် လှုပ်ရှားမှုကိရိယာများကို လေ့လာခဲ့ပါတယ်။ IoT ဖွံ့ဖြိုးရေးကိရိယာတွေနဲ့ အသုံးပြုနိုင်တဲ့ အာရုံခံကိရိယာတစ်ခုနဲ့ လှုပ်ရှားမှုကိရိယာတစ်ခုကို သုတေသနလုပ်ပြီး ဖော်ပြပါ:
+
+* အာရုံခံကိရိယာ/လှုပ်ရှားမှုကိရိယာက ဘာလုပ်ပေးနိုင်သလဲ
+* အတွင်းမှာ အသုံးပြုထားတဲ့ အီလက်ထရွန်းနစ်/ဟာ့ဒ်ဝဲ
+* Analog ဖြစ်သလား Digital ဖြစ်သလား
+* အာရုံခံ/တိုင်းတာမှုအတွက် အတိုင်းအတာများနှင့် အကွာအဝေး
+
+## အဆင့်သတ်မှတ်ချက်
+
+| အဆင့်သတ်မှတ်ချက် | ထူးချွန်သော | လုံလောက်သော | တိုးတက်မှုလိုအပ်သော |
+| ------------------ | ------------ | ------------ | -------------------- |
+| အာရုံခံကိရိယာကို ဖော်ပြခြင်း | အထက်ဖော်ပြထားတဲ့ ၄ ခုလုံးကို အသေးစိတ်ဖော်ပြထားသည်။ | အထက်ဖော်ပြထားတဲ့ ၂-၃ ခုကိုသာ ဖော်ပြနိုင်ခဲ့သည်။ | အထက်ဖော်ပြထားတဲ့ ၁ ခုကိုသာ ဖော်ပြနိုင်ခဲ့သည်။ |
+| လှုပ်ရှားမှုကိရိယာကို ဖော်ပြခြင်း | အထက်ဖော်ပြထားတဲ့ ၄ ခုလုံးကို အသေးစိတ်ဖော်ပြထားသည်။ | အထက်ဖော်ပြထားတဲ့ ၂-၃ ခုကိုသာ ဖော်ပြနိုင်ခဲ့သည်။ | အထက်ဖော်ပြထားတဲ့ ၁ ခုကိုသာ ဖော်ပြနိုင်ခဲ့သည်။ |
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားယူမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md
new file mode 100644
index 00000000..e00db21e
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/pi-actuator.md
@@ -0,0 +1,130 @@
+
+# Raspberry Pi ဖြင့် ညဉ့်မီးတစ်ခု တည်ဆောက်ခြင်း
+
+ဒီသင်ခန်းစာအပိုင်းမှာ Raspberry Pi တွင် LED တစ်ခု ထည့်သွင်းပြီး ညဉ့်မီးတစ်ခု ဖန်တီးပါမည်။
+
+## ဟာ့ဒ်ဝဲ
+
+အခု ညဉ့်မီးအတွက် actuator တစ်ခုလိုအပ်ပါသည်။
+
+ဒီ actuator က **LED** ဖြစ်ပြီး [အလင်းထုတ်ပေးသော ဒိုင်အိုဒ်](https://wikipedia.org/wiki/Light-emitting_diode) တစ်ခုဖြစ်သည်။ LED သည် လက်ရှိအားဖြင့် အလင်းထုတ်ပေးသော ဒစ်ဂျစ်တယ် actuator ဖြစ်ပြီး ၂ မျိုးအခြေအနေရှိသည်။ အလင်းဖွင့်ခြင်းနှင့် အလင်းပိတ်ခြင်း။ 1 ကို ပေးပို့ပါက LED ဖွင့်မည်၊ 0 ကို ပေးပို့ပါက LED ပိတ်မည်။ LED သည် Grove actuator အပြင်ပစ္စည်းဖြစ်ပြီး Raspberry Pi တွင်ရှိသော Grove Base hat တွင် ချိတ်ဆက်ရန်လိုအပ်သည်။
+
+ညဉ့်မီး၏ logic ကို pseudo-code အနေနှင့် ရေးထားသည်မှာ -
+
+```output
+Check the light level.
+If the light is less than 300
+ Turn the LED on
+Otherwise
+ Turn the LED off
+```
+
+### LED ကို ချိတ်ဆက်ပါ
+
+Grove LED သည် module အနေနှင့် ရရှိနိုင်ပြီး အရောင်ရွေးချယ်နိုင်သော LEDs ပါဝင်သည်။
+
+#### အလုပ် - LED ကို ချိတ်ဆက်ပါ
+
+LED ကို ချိတ်ဆက်ပါ။
+
+
+
+1. သင်နှစ်သက်သော LED ကို ရွေးချယ်ပြီး LED module တွင်ရှိသော အပေါက် ၂ ခုထဲသို့ ချိတ်ဆက်ပါ။
+
+ LEDs သည် အလင်းထုတ်ပေးသော ဒိုင်အိုဒ်များဖြစ်ပြီး ဒိုင်အိုဒ်များသည် လက်ရှိကို တစ်ဖက်သို့သာ သယ်ဆောင်နိုင်သော အီလက်ထရောနစ်ပစ္စည်းများဖြစ်သည်။ ဒါကြောင့် LED ကို မှန်ကန်သောဘက်မှ ချိတ်ဆက်ရန်လိုအပ်သည်၊ မဟုတ်ပါက အလုပ်မလုပ်နိုင်ပါ။
+
+ LED ၏ ခြေတစ်ခုသည် positive pin ဖြစ်ပြီး၊ တစ်ခြေသည် negative pin ဖြစ်သည်။ LED သည် အပြည့်အဝ မပတ်လည်ဘဲ ဘက်တစ်ဖက်မှာ အနည်းငယ်ပြားနေသည်။ အနည်းငယ်ပြားနေသောဘက်သည် negative pin ဖြစ်သည်။ LED ကို module တွင် ချိတ်ဆက်သောအခါ၊ rounded ဘက်ရှိ pin ကို module ၏ အပြင်ဘက်တွင် **+** အမှတ်အသားရှိသော socket တွင် ချိတ်ဆက်ပြီး၊ ပြားနေသောဘက်ကို module ၏ အလယ်ဘက်တွင်ရှိသော socket တွင် ချိတ်ဆက်ပါ။
+
+1. LED module တွင် brightness ကို ထိန်းချုပ်နိုင်သော spin button တစ်ခုရှိသည်။ စတင်ရန်အတွက် anti-clockwise အပြင်ဘက်သို့ အပြည့်အဝလှည့်ပြီး brightness ကို အမြင့်ဆုံးထားပါ။ ဤအလုပ်ကို လက်ဖက်ရိုက်ခေါင်းသုံးပြီး ပြုလုပ်ပါ။
+
+1. Grove cable ၏ တစ်ဖက်အဆုံးကို LED module တွင်ရှိသော socket ထဲသို့ ထည့်ပါ။ ၎င်းသည် တစ်ဖက်ဘက်မှသာ ထည့်နိုင်ပါမည်။
+
+1. Raspberry Pi ကို power ပိတ်ထားပြီး Grove cable ၏ တစ်ဖက်အဆုံးကို Pi တွင်ရှိသော Grove Base hat ၏ **D5** အမှတ်အသားရှိ digital socket တွင် ချိတ်ဆက်ပါ။ ဤ socket သည် GPIO pins အနီးတွင်ရှိသော sockets အတန်း၏ ဘယ်ဘက်မှ ဒုတိယ socket ဖြစ်သည်။
+
+
+
+## ညဉ့်မီးကို အစီအစဉ်ရေးပါ
+
+အခု Grove light sensor နှင့် Grove LED ကို အသုံးပြု၍ ညဉ့်မီးကို အစီအစဉ်ရေးနိုင်ပါပြီ။
+
+### အလုပ် - ညဉ့်မီးကို အစီအစဉ်ရေးပါ
+
+ညဉ့်မီးကို အစီအစဉ်ရေးပါ။
+
+1. Pi ကို power ဖွင့်ပြီး boot ဖြစ်ရန် စောင့်ပါ။
+
+1. VS Code တွင် သင်၏ project ကို ဖွင့်ပါ။ ၎င်းသည် Pi တွင် တိုက်ရိုက် run ဖြစ်နေခြင်းဖြစ်စေ၊ Remote SSH extension ကို အသုံးပြု၍ ချိတ်ဆက်ထားခြင်းဖြစ်စေ။
+
+1. `app.py` ဖိုင်တွင် လိုအပ်သော library ကို import ပြုလုပ်ရန် အောက်ပါ code ကို ထည့်ပါ။ ၎င်းကို အခြား `import` လိုင်းများ၏ အောက်တွင် ထည့်သွင်းပါ။
+
+ ```python
+ from grove.grove_led import GroveLed
+ ```
+
+ `from grove.grove_led import GroveLed` statement သည် Grove Python libraries မှ `GroveLed` ကို import ပြုလုပ်သည်။ ဤ library တွင် Grove LED နှင့် ဆက်သွယ်ရန် code ပါဝင်သည်။
+
+1. `light_sensor` အတည်ပြုချက်၏ အောက်တွင် LED ကို စီမံခန့်ခွဲသော class ၏ instance တစ်ခု ဖန်တီးရန် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```python
+ led = GroveLed(5)
+ ```
+
+ `led = GroveLed(5)` လိုင်းသည် **D5** pin တွင် ချိတ်ဆက်ထားသော GroveLed class ၏ instance တစ်ခုကို ဖန်တီးသည်။ ဤ pin သည် LED ချိတ်ဆက်ထားသော digital Grove pin ဖြစ်သည်။
+
+ > 💁 socket တစ်ခုစီတွင် unique pin နံပါတ်များရှိသည်။ Pins 0, 2, 4, နှင့် 6 သည် analog pins ဖြစ်ပြီး၊ pins 5, 16, 18, 22, 24, နှင့် 26 သည် digital pins ဖြစ်သည်။
+
+1. `while` loop အတွင်း၊ `time.sleep` မတိုင်မီ အလင်းအဆင့်များကို စစ်ဆေးပြီး LED ကို ဖွင့်/ပိတ်ရန် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```python
+ if light < 300:
+ led.on()
+ else:
+ led.off()
+ ```
+
+ ဤ code သည် `light` အတန်ဖိုးကို စစ်ဆေးသည်။ ၎င်းသည် 300 ထက် နည်းပါက GroveLed class ၏ `on` method ကို ခေါ်ပြီး LED ကို ဖွင့်ရန် digital value 1 ကို ပေးပို့သည်။ အလင်းအတန်ဖိုးသည် 300 သို့မဟုတ် 300 ထက် များပါက `off` method ကို ခေါ်ပြီး LED ကို ပိတ်ရန် digital value 0 ကို ပေးပို့သည်။
+
+ > 💁 ဤ code ကို `print('Light level:', light)` လိုင်းနှင့် တန်းတူအဆင့်ထားပြီး while loop အတွင်းတွင် ရှိရန်လိုအပ်သည်။
+
+ > 💁 actuator များသို့ digital value ပေးပို့သောအခါ၊ 0 value သည် 0V ဖြစ်ပြီး၊ 1 value သည် device ၏ အမြင့်ဆုံး voltage ဖြစ်သည်။ Raspberry Pi နှင့် Grove sensors/actuators တွင် 1 voltage သည် 3.3V ဖြစ်သည်။
+
+1. VS Code Terminal မှ Python app ကို run ပြုလုပ်ရန် အောက်ပါ command ကို run ပြုလုပ်ပါ။
+
+ ```sh
+ python3 app.py
+ ```
+
+ အလင်းအတန်ဖိုးများကို console တွင် output ပြုလုပ်မည်။
+
+ ```output
+ pi@raspberrypi:~/nightlight $ python3 app.py
+ Light level: 634
+ Light level: 634
+ Light level: 634
+ Light level: 230
+ Light level: 104
+ Light level: 290
+ ```
+
+1. အလင်း sensor ကို ဖုံးထားပြီး ဖုံးမထားပါ။ အလင်းအတန်ဖိုးသည် 300 သို့မဟုတ် 300 ထက် နည်းပါက LED သည် ဖွင့်မည်၊ အလင်းအတန်ဖိုးသည် 300 ထက် များပါက LED သည် ပိတ်မည်။
+
+ > 💁 LED မဖွင့်ပါက၊ ၎င်းကို မှန်ကန်သောဘက်မှ ချိတ်ဆက်ထားကြောင်း၊ spin button ကို အပြည့်အဝဖွင့်ထားကြောင်း စစ်ဆေးပါ။
+
+
+
+> 💁 ဤ code ကို [code-actuator/pi](../../../../../1-getting-started/lessons/3-sensors-and-actuators/code-actuator/pi) folder တွင် ရှာနိုင်ပါသည်။
+
+😀 သင်၏ ညဉ့်မီးအစီအစဉ် အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားယူမှားမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md
new file mode 100644
index 00000000..b9995b27
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/pi-sensor.md
@@ -0,0 +1,110 @@
+
+# Raspberry Pi - ညအလင်းပွိုင့်တည်ဆောက်ခြင်း
+
+ဒီသင်ခန်းစာအပိုင်းမှာ Raspberry Pi ကို အလင်းခံစားကိရိယာတစ်ခု ထည့်သွင်းမှာဖြစ်ပါတယ်။
+
+## ဟာ့ဒ်ဝဲ
+
+ဒီသင်ခန်းစာအတွက် အသုံးပြုမယ့် sensor က **အလင်းခံစားကိရိယာ** ဖြစ်ပြီး [photodiode](https://wikipedia.org/wiki/Photodiode) ကို အသုံးပြုကာ အလင်းကို လျှပ်စစ်သို့ ပြောင်းလဲပေးပါတယ်။ ဒါဟာ analog sensor ဖြစ်ပြီး အလင်းပမာဏကို 0 မှ 1,000 အတွင်း integer value အနေနဲ့ ပေးပို့ပါတယ်။ ဒီ value က [lux](https://wikipedia.org/wiki/Lux) စတဲ့ စံချိန်စနစ်တစ်ခုနဲ့ မဆက်စပ်ပါဘူး။
+
+အလင်း sensor က Grove sensor ဖြစ်ပြီး Raspberry Pi ရဲ့ Grove Base hat နဲ့ ချိတ်ဆက်ဖို့ လိုအပ်ပါတယ်။
+
+### အလင်း sensor ကို ချိတ်ဆက်ပါ
+
+အလင်းအဆင့်ကို သိရှိဖို့ အသုံးပြုမယ့် Grove အလင်း sensor ကို Raspberry Pi နဲ့ ချိတ်ဆက်ဖို့ လိုအပ်ပါတယ်။
+
+#### လုပ်ငန်း - အလင်း sensor ကို ချိတ်ဆက်ပါ
+
+အလင်း sensor ကို ချိတ်ဆက်ပါ။
+
+
+
+1. Grove cable ရဲ့ တစ်ဖက်အဆုံးကို အလင်း sensor module ရဲ့ socket ထဲသို့ ထည့်ပါ။ ဒီ cable က တစ်ဖက်ဘက်သာ အဆင်ပြေစွာ ထည့်နိုင်ပါမယ်။
+
+1. Raspberry Pi ကို power ပိတ်ထားပြီး Grove cable ရဲ့ တစ်ဖက်အဆုံးကို Grove Base hat ရဲ့ analog socket **A0** မှာ ချိတ်ဆက်ပါ။ ဒီ socket က GPIO pins အနီးမှာရှိတဲ့ socket row ရဲ့ ညာဘက် ဒုတိယ socket ဖြစ်ပါတယ်။
+
+
+
+## အလင်း sensor ကို အစီအစဉ်ရေးဆွဲပါ
+
+အခုတော့ Grove အလင်း sensor ကို အသုံးပြုပြီး programming လုပ်နိုင်ပါပြီ။
+
+### လုပ်ငန်း - အလင်း sensor ကို အစီအစဉ်ရေးဆွဲပါ
+
+ဒီ device ကို programming လုပ်ပါ။
+
+1. Pi ကို power on လုပ်ပြီး boot ဖြစ်အောင် စောင့်ပါ။
+
+1. VS Code မှာ nightlight project ကို ဖွင့်ပါ။ ဒီ project ကို အရင်အပိုင်းမှာ ဖန်တီးထားပြီး Pi မှာ တိုက်ရိုက် run လုပ်တာဖြစ်စေ၊ Remote SSH extension ကို အသုံးပြုပြီး ချိတ်ဆက်ထားတာဖြစ်စေ။
+
+1. `app.py` ဖိုင်ကို ဖွင့်ပြီး အဲ့ဒီမှာရှိတဲ့ code အားလုံးကို ဖျက်ပါ။
+
+1. `app.py` ဖိုင်ထဲမှာ အောက်ပါ code ကို ထည့်ပါ။ ဒီ code က လိုအပ်တဲ့ libraries တွေကို import လုပ်ပေးပါတယ်။
+
+ ```python
+ import time
+ from grove.grove_light_sensor_v1_2 import GroveLightSensor
+ ```
+
+ `import time` statement က `time` module ကို import လုပ်ပြီး ဒီ module ကို အခု assignment ရဲ့ နောက်ပိုင်းမှာ အသုံးပြုပါမယ်။
+
+ `from grove.grove_light_sensor_v1_2 import GroveLightSensor` statement က Grove Python libraries ထဲက `GroveLightSensor` ကို import လုပ်ပါတယ်။ ဒီ library မှာ Grove အလင်း sensor နဲ့ ဆက်သွယ်ဖို့ code တွေ ပါဝင်ပြီး Pi setup လုပ်စဉ်မှာ global installation လုပ်ထားပါတယ်။
+
+1. အပေါ်က code အပြီးမှာ အလင်း sensor ကို စီမံခန့်ခွဲမယ့် class ရဲ့ instance တစ်ခုကို ဖန်တီးဖို့ အောက်ပါ code ကို ထည့်ပါ။
+
+ ```python
+ light_sensor = GroveLightSensor(0)
+ ```
+
+ `light_sensor = GroveLightSensor(0)` line က GroveLightSensor class ရဲ့ instance တစ်ခုကို ဖန်တီးပြီး **A0** pin (အလင်း sensor ချိတ်ဆက်ထားတဲ့ analog Grove pin) ကို ချိတ်ဆက်ပါတယ်။
+
+1. အပေါ်က code အပြီးမှာ အဆုံးမရှိတဲ့ loop တစ်ခုကို ထည့်ပါ။ ဒီ loop က အလင်း sensor value ကို poll လုပ်ပြီး console မှာ print လုပ်ပေးပါမယ်။
+
+ ```python
+ while True:
+ light = light_sensor.light
+ print('Light level:', light)
+ ```
+
+ ဒီ code က GroveLightSensor class ရဲ့ `light` property ကို အသုံးပြုပြီး 0-1,023 scale အတွင်းရှိ လက်ရှိအလင်းအဆင့်ကို ဖတ်ပါတယ်။ ဒီ property က pin မှာရှိတဲ့ analog value ကို ဖတ်ပါတယ်။ ဒီ value ကို console မှာ print လုပ်ပေးပါမယ်။
+
+1. Loop ရဲ့ အဆုံးမှာ တစ်စက္ကန့်အနည်းငယ် sleep လုပ်ပါ။ အလင်းအဆင့်ကို အမြဲတမ်းစစ်ဆေးဖို့ မလိုအပ်ပါဘူး။ Sleep လုပ်ခြင်းက device ရဲ့ power consumption ကို လျှော့ချပေးပါတယ်။
+
+ ```python
+ time.sleep(1)
+ ```
+
+1. VS Code Terminal မှာ အောက်ပါ command ကို run လုပ်ပြီး Python app ကို run လုပ်ပါ။
+
+ ```sh
+ python3 app.py
+ ```
+
+ အလင်း value တွေကို console မှာ output လုပ်ပါမယ်။ အလင်း sensor ကို ဖုံးထားပြီး ပြန်ဖွင့်ပါ၊ value တွေက ပြောင်းလဲပါမယ်။
+
+ ```output
+ pi@raspberrypi:~/nightlight $ python3 app.py
+ Light level: 634
+ Light level: 634
+ Light level: 634
+ Light level: 230
+ Light level: 104
+ Light level: 290
+ ```
+
+> 💁 ဒီ code ကို [code-sensor/pi](../../../../../1-getting-started/lessons/3-sensors-and-actuators/code-sensor/pi) folder မှာ ရှာနိုင်ပါတယ်။
+
+😀 သင့် nightlight program မှာ sensor တစ်ခု ထည့်သွင်းတာ အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေပါသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် ရှုလို့ရပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md
new file mode 100644
index 00000000..e7f7c689
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-actuator.md
@@ -0,0 +1,124 @@
+
+# ညအလင်းမီးတိုင် - အိမ်တွင်း IoT စက်ကိရိယာ
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင်၏ အိမ်တွင်း IoT စက်ကိရိယာတွင် LED တစ်ခုထည့်ပြီး ညအလင်းမီးတိုင်တစ်ခုဖန်တီးပါမည်။
+
+## အိမ်တွင်း စက်ကိရိယာ
+
+ညအလင်းမီးတိုင်အတွက် CounterFit app မှာ actuator တစ်ခုလိုအပ်ပါသည်။
+
+ဒီ actuator က **LED** ဖြစ်ပါတယ်။ အကောင်အထည်ရှိ IoT စက်ကိရိယာမှာ [အလင်းထုတ်ပေးသော diode](https://wikipedia.org/wiki/Light-emitting_diode) တစ်ခုဖြစ်ပြီး လျှပ်စီးစီးဆင်းလာတဲ့အခါ အလင်းထုတ်ပေးပါသည်။ ဒါက digital actuator ဖြစ်ပြီး ၂ မျိုးအခြေအနေရှိပါတယ် - ဖွင့်ထားခြင်းနှင့် ပိတ်ထားခြင်း။ 1 ကိုပို့လိုက်ရင် LED ဖွင့်မည်၊ 0 ကိုပို့လိုက်ရင် LED ပိတ်မည်။
+
+ညအလင်းမီးတိုင် logic ကို pseudo-code အနေနဲ့ရေးထားတာက:
+
+```output
+Check the light level.
+If the light is less than 300
+ Turn the LED on
+Otherwise
+ Turn the LED off
+```
+
+### CounterFit မှာ actuator ထည့်သွင်းပါ
+
+Virtual LED ကိုအသုံးပြုရန် CounterFit app မှာ ထည့်သွင်းဖို့လိုအပ်ပါတယ်။
+
+#### အလုပ် - CounterFit မှာ actuator ထည့်သွင်းပါ
+
+CounterFit app မှာ LED ကိုထည့်သွင်းပါ။
+
+1. အရင်အပိုင်းမှာလုပ်ခဲ့တဲ့အတိုင်း CounterFit web app ကို run လုပ်ထားပါ။ မလုပ်ထားရင် start လုပ်ပြီး light sensor ကိုပြန်ထည့်ပါ။
+
+1. LED တစ်ခုဖန်တီးပါ:
+
+ 1. *Actuator* pane ရဲ့ *Create actuator* box မှာ *Actuator type* box ကို drop down လုပ်ပြီး *LED* ကိုရွေးပါ။
+
+ 1. *Pin* ကို *5* အဖြစ်သတ်မှတ်ပါ။
+
+ 1. **Add** button ကိုရွေးပြီး Pin 5 မှာ LED ကိုဖန်တီးပါ။
+
+ 
+
+ LED ကိုဖန်တီးပြီး actuators list မှာပေါ်လာပါမည်။
+
+ 
+
+ LED ဖန်တီးပြီးရင် *Color* picker ကိုအသုံးပြုပြီး အရောင်ပြောင်းနိုင်ပါတယ်။ **Set** button ကိုရွေးပြီး အရောင်ပြောင်းပါ။
+
+### ညအလင်းမီးတိုင်ကို programming လုပ်ပါ
+
+အခု CounterFit light sensor နဲ့ LED ကိုအသုံးပြုပြီး ညအလင်းမီးတိုင်ကို programming လုပ်နိုင်ပါပြီ။
+
+#### အလုပ် - ညအလင်းမီးတိုင်ကို programming လုပ်ပါ
+
+ညအလင်းမီးတိုင်ကို programming လုပ်ပါ။
+
+1. အရင်အပိုင်းမှာဖန်တီးထားတဲ့ nightlight project ကို VS Code မှာဖွင့်ပါ။ terminal ကို kill လုပ်ပြီး virtual environment ကိုအသုံးပြုဖို့ ပြန်ဖန်တီးပါ။
+
+1. `app.py` ဖိုင်ကိုဖွင့်ပါ။
+
+1. `app.py` ဖိုင်ရဲ့ အပေါ်ပိုင်းမှာလိုအပ်တဲ့ library ကို import လုပ်ဖို့ အောက်ပါ code ကိုထည့်ပါ။
+
+ ```python
+ from counterfit_shims_grove.grove_led import GroveLed
+ ```
+
+ `from counterfit_shims_grove.grove_led import GroveLed` ဆိုတဲ့ statement က CounterFit Grove shim Python libraries မှ `GroveLed` ကို import လုပ်ပါတယ်။ ဒီ library မှာ CounterFit app မှာဖန်တီးထားတဲ့ LED နဲ့အလုပ်လုပ်ဖို့ code ပါဝင်ပါတယ်။
+
+1. `light_sensor` declaration အောက်မှာ LED ကိုစီမံခန့်ခွဲတဲ့ class ရဲ့ instance တစ်ခုဖန်တီးဖို့ အောက်ပါ code ကိုထည့်ပါ:
+
+ ```python
+ led = GroveLed(5)
+ ```
+
+ `led = GroveLed(5)` ဆိုတဲ့ line က **5** pin နဲ့ချိတ်ဆက်ထားတဲ့ `GroveLed` class ရဲ့ instance တစ်ခုကိုဖန်တီးပါတယ်။
+
+1. `while` loop ရဲ့အတွင်းမှာ light level ကိုစစ်ဆေးပြီး LED ကိုဖွင့်/ပိတ်ဖို့ အောက်ပါ code ကိုထည့်ပါ:
+
+ ```python
+ if light < 300:
+ led.on()
+ else:
+ led.off()
+ ```
+
+ ဒီ code က `light` value ကိုစစ်ဆေးပါတယ်။ 300 ထက်နည်းရင် `GroveLed` class ရဲ့ `on` method ကိုခေါ်ပြီး LED ကိုဖွင့်ပါမည်။ 300 ထက်ကြီးရင် `off` method ကိုခေါ်ပြီး LED ကိုပိတ်ပါမည်။
+
+ > 💁 ဒီ code ကို `print('Light level:', light)` line ရဲ့ level နဲ့တူအောင် indent လုပ်ပါ၊ `while` loop အတွင်းမှာရှိဖို့လိုအပ်ပါတယ်။
+
+1. VS Code Terminal မှာ အောက်ပါ command ကို run လုပ်ပြီး Python app ကို run လုပ်ပါ:
+
+ ```sh
+ python3 app.py
+ ```
+
+ Light values ကို console မှာ output လုပ်ပါမည်။
+
+ ```output
+ (.venv) ➜ GroveTest python3 app.py
+ Light level: 143
+ Light level: 244
+ Light level: 246
+ Light level: 253
+ ```
+
+1. *Value* သို့မဟုတ် *Random* settings ကိုပြောင်းပြီး light level ကို 300 ထက်အောက်/အပေါ် ပြောင်းပါ။ LED က ဖွင့်/ပိတ်ပါမည်။
+
+
+
+> 💁 ဒီ code ကို [code-actuator/virtual-device](../../../../../1-getting-started/lessons/3-sensors-and-actuators/code-actuator/virtual-device) folder မှာတွေ့နိုင်ပါတယ်။
+
+😀 သင်၏ ညအလင်းမီးတိုင် program အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**ဝက်ဘ်ဆိုက်မှတ်ချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးစားနေပါသော်လည်း၊ အလိုအလျောက်ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို ကျေးဇူးပြု၍ သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတည်သောရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ အတည်ပြုထားသော ဘာသာပြန်မှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုမှားများ သို့မဟုတ် အဓိပ္ပာယ်မှားများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md
new file mode 100644
index 00000000..fc07d7bd
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md
@@ -0,0 +1,124 @@
+
+# ညအလင်းပွိုင့် - အိမ်စီး IoT ဟာ့ဒ်ဝဲ
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင့်ရဲ့ အိမ်စီး IoT စက်ပစ္စည်းမှာ အလင်းခံစနစ်တစ်ခု ထည့်သွင်းပါမည်။
+
+## အိမ်စီး ဟာ့ဒ်ဝဲ
+
+ညအလင်းပွိုင့်အတွက် CounterFit app မှာ sensor တစ်ခုလိုအပ်ပါတယ်။
+
+ဒီ sensor က **အလင်းခံစနစ်** ဖြစ်ပါတယ်။ အလင်းခံစနစ်ဟာ [photodiode](https://wikipedia.org/wiki/Photodiode) တစ်ခုဖြစ်ပြီး အလင်းကို လျှပ်စစ်သို့ ပြောင်းလဲပေးနိုင်ပါတယ်။ အလင်းခံစနစ်တွေဟာ analog sensor ဖြစ်ပြီး အလင်းပမာဏကို အနည်းအများအတိုင်း အနိမ့်ဆုံးအဆင့်အထိ integer value အနေနဲ့ ပေးပို့ပါတယ်။ ဒါဟာ [lux](https://wikipedia.org/wiki/Lux) စတဲ့ စံချိန်စနစ်နဲ့ မဆက်စပ်ပါ။
+
+### CounterFit မှာ sensor တွေ ထည့်သွင်းပါ
+
+အိမ်စီး အလင်းခံစနစ်ကို အသုံးပြုဖို့ CounterFit app မှာ ထည့်သွင်းဖို့လိုအပ်ပါတယ်။
+
+#### လုပ်ငန်း - CounterFit မှာ sensor တွေ ထည့်သွင်းပါ
+
+CounterFit app မှာ အလင်းခံစနစ်ကို ထည့်သွင်းပါ။
+
+1. အရင်အပိုင်းမှာ အသုံးပြုခဲ့တဲ့ CounterFit web app ကို run လုပ်ထားပါ။ မ run လုပ်ထားရင် ပြန်စတင်ပါ။
+
+1. အလင်းခံစနစ်တစ်ခု ဖန်တီးပါ:
+
+ 1. *Sensors* panel ရဲ့ *Create sensor* box မှာ *Sensor type* box ကို drop down လုပ်ပြီး *Light* ကို ရွေးပါ။
+
+ 1. *Units* ကို *NoUnits* အတိုင်းထားပါ။
+
+ 1. *Pin* ကို *0* အတိုင်းထားပါ။
+
+ 1. **Add** button ကို ရွေးပြီး Pin 0 မှာ အလင်း sensor ကို ဖန်တီးပါ။
+
+ 
+
+ အလင်း sensor ကို ဖန်တီးပြီး sensor list မှာ ပေါ်လာပါမည်။
+
+ 
+
+## အလင်း sensor ကို programming လုပ်ပါ
+
+အခုတော့ စက်ပစ္စည်းကို CounterFit app ရဲ့ အလင်း sensor ကို အသုံးပြုဖို့ programming လုပ်နိုင်ပါပြီ။
+
+### လုပ်ငန်း - အလင်း sensor ကို programming လုပ်ပါ
+
+စက်ပစ္စည်းကို programming လုပ်ပါ။
+
+1. အရင်အပိုင်းမှာ ဖန်တီးထားတဲ့ VS Code ရဲ့ nightlight project ကို ဖွင့်ပါ။ virtual environment ကို အသုံးပြုဖို့ terminal ကို kill လုပ်ပြီး ပြန်ဖန်တီးပါ။
+
+1. `app.py` ဖိုင်ကို ဖွင့်ပါ။
+
+1. `app.py` ဖိုင်ရဲ့ အပေါ်ပိုင်းမှာ `import` statement တွေ နေရာမှာ အောက်ပါ code ကို ထည့်ပါ:
+
+ ```python
+ import time
+ from counterfit_shims_grove.grove_light_sensor_v1_2 import GroveLightSensor
+ ```
+
+ `import time` statement က Python ရဲ့ `time` module ကို import လုပ်ပြီး ဒီသင်ခန်းစာရဲ့ နောက်ပိုင်းမှာ အသုံးပြုပါမည်။
+
+ `from counterfit_shims_grove.grove_light_sensor_v1_2 import GroveLightSensor` statement က CounterFit Grove shim Python libraries မှ `GroveLightSensor` ကို import လုပ်ပါမည်။ ဒီ library မှာ CounterFit app မှာ ဖန်တီးထားတဲ့ အလင်း sensor နဲ့ ဆက်သွယ်ဖို့ code ပါဝင်ပါတယ်။
+
+1. ဖိုင်ရဲ့ အောက်ပိုင်းမှာ အလင်း sensor ကို စီမံခန့်ခွဲဖို့ class instance တွေ ဖန်တီးရန် အောက်ပါ code ကို ထည့်ပါ:
+
+ ```python
+ light_sensor = GroveLightSensor(0)
+ ```
+
+ `light_sensor = GroveLightSensor(0)` line က **0** pin နဲ့ ဆက်သွယ်ထားတဲ့ `GroveLightSensor` class ရဲ့ instance ကို ဖန်တီးပါမည်။
+
+1. အပေါ်က code အပြီးမှာ အလင်း sensor ရဲ့ value ကို poll လုပ်ပြီး console မှာ print လုပ်ဖို့ infinite loop ကို ထည့်ပါ:
+
+ ```python
+ while True:
+ light = light_sensor.light
+ print('Light level:', light)
+ ```
+
+ ဒီ code က `GroveLightSensor` class ရဲ့ `light` property ကို အသုံးပြုပြီး အလင်းအဆင့်ကို ဖတ်ပါမည်။ ဒီ property က pin မှ analog value ကို ဖတ်ပြီး console မှာ print လုပ်ပါမည်။
+
+1. `while` loop ရဲ့ အဆုံးမှာ တစ်စက္ကန့်အနည်းငယ် sleep လုပ်ပါ။ အလင်းအဆင့်ကို အမြဲမကြည့်ဖို့ sleep လုပ်ခြင်းက စက်ပစ္စည်းရဲ့ power consumption ကို လျှော့ချနိုင်ပါတယ်။
+
+ ```python
+ time.sleep(1)
+ ```
+
+1. VS Code Terminal မှာ အောက်ပါ command ကို run လုပ်ပြီး Python app ကို run လုပ်ပါ:
+
+ ```sh
+ python3 app.py
+ ```
+
+ အလင်း value တွေ console မှာ output ဖြစ်လာပါမည်။ အစမှာ value က 0 ဖြစ်ပါမည်။
+
+1. CounterFit app မှာ sensor ရဲ့ value ကို ပြောင်းလဲပါ။ sensor ဖတ်တဲ့ value ကို အောက်ပါနည်းနှစ်မျိုးနဲ့ ပြောင်းလဲနိုင်ပါတယ်:
+
+ * *Value* box မှာ နံပါတ်တစ်ခု ထည့်ပြီး **Set** button ကို ရွေးပါ။ သင်ထည့်တဲ့ နံပါတ်က sensor က ပြန်ပေးတဲ့ value ဖြစ်ပါမည်။
+
+ * *Random* checkbox ကို ရွေးပြီး *Min* နဲ့ *Max* value တွေ ထည့်ပါ။ **Set** button ကို ရွေးပါ။ sensor ဖတ်တဲ့ value တစ်ခုစီဟာ *Min* နဲ့ *Max* အကြားမှာ random နံပါတ်ဖြစ်ပါမည်။
+
+ သင်ပြောင်းလဲတဲ့ value တွေ console မှာ output ဖြစ်လာပါမည်။ *Value* နဲ့ *Random* settings ကို ပြောင်းပြီး value ကို ပြောင်းလဲပါ။
+
+ ```output
+ (.venv) ➜ GroveTest python3 app.py
+ Light level: 143
+ Light level: 244
+ Light level: 246
+ Light level: 253
+ ```
+
+> 💁 ဒီ code ကို [code-sensor/virtual-device](../../../../../1-getting-started/lessons/3-sensors-and-actuators/code-sensor/virtual-device) folder မှာ ရှာနိုင်ပါတယ်။
+
+😀 သင့်ရဲ့ ညအလင်းပွိုင့် program အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md
new file mode 100644
index 00000000..943ddf5a
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-actuator.md
@@ -0,0 +1,124 @@
+
+# ညဉ့်မီးအိပ်မီး - Wio Terminal
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင့်ရဲ့ Wio Terminal မှာ LED တစ်ခုထည့်ပြီး ညဉ့်မီးအိပ်မီးတစ်ခုဖန်တီးပါမယ်။
+
+## ဟာ့ဒ်ဝဲ
+
+အခုတော့ ညဉ့်မီးအိပ်မီးအတွက် actuator တစ်ခုလိုအပ်ပါတယ်။
+
+actuator က **LED** ဖြစ်ပြီး၊ [အလင်းထုတ်ပေးသော ဒိုင်အိုဒ်](https://wikipedia.org/wiki/Light-emitting_diode) တစ်ခုဖြစ်ပါတယ်။ လျှပ်စီးစီးဆင်းလာတဲ့အခါ အလင်းထွက်ပေါ်စေပါတယ်။ ဒါကတော့ on နဲ့ off ဆိုတဲ့ ၂ ခုသော အခြေအနေရှိတဲ့ digital actuator တစ်ခုဖြစ်ပါတယ်။ 1 တန်ဖိုးပေးလိုက်ရင် LED ကိုဖွင့်ပြီး၊ 0 တန်ဖိုးပေးလိုက်ရင် LED ကိုပိတ်ပါတယ်။ ဒါကတော့ Wio Terminal နဲ့ ချိတ်ဆက်ရမယ့် အပြင်ပ Grove actuator တစ်ခုဖြစ်ပါတယ်။
+
+ညဉ့်မီးအိပ်မီးရဲ့ pseudo-code logic ကတော့ -
+
+```output
+Check the light level.
+If the light is less than 300
+ Turn the LED on
+Otherwise
+ Turn the LED off
+```
+
+### LED ကိုချိတ်ဆက်ပါ
+
+Grove LED က module အနေနဲ့ ရရှိပြီး၊ အရောင်ရွေးချယ်နိုင်တဲ့ LEDs တွေပါပါတယ်။
+
+#### လုပ်ငန်းစဉ် - LED ကိုချိတ်ဆက်ပါ
+
+LED ကိုချိတ်ဆက်ပါ။
+
+
+
+1. သင်နှစ်သက်ရာ LED ကိုရွေးပြီး၊ LED module ရဲ့ အပေါက် ၂ ခုထဲကို ခြေထောက်တွေထည့်ပါ။
+
+ LEDs တွေက အလင်းထုတ်ပေးတဲ့ ဒိုင်အိုဒ်တွေဖြစ်ပြီး၊ ဒိုင်အိုဒ်တွေက လျှပ်စီးကို တစ်ဖက်ဘက်သာ သယ်ဆောင်နိုင်ပါတယ်။ ဒါကြောင့် LED ကို မှန်ကန်တဲ့ဘက်မှာသာ ချိတ်ဆက်ရမယ်၊ မဟုတ်ရင် အလုပ်မလုပ်ပါဘူး။
+
+ LED ရဲ့ ခြေထောက်တစ်ဖက်က positive pin ဖြစ်ပြီး၊ တစ်ဖက်က negative pin ဖြစ်ပါတယ်။ LED က အပြည့်စုံမဟုတ်ဘဲ၊ တစ်ဖက်မှာ အနည်းငယ်ပြားပါတယ်။ အနည်းငယ်ပြားတဲ့ဘက်က negative pin ဖြစ်ပါတယ်။ LED ကို module နဲ့ချိတ်ဆက်တဲ့အခါ၊ ပြားတဲ့ဘက်က module ရဲ့ အလယ်ဘက်နားမှာရှိတဲ့ socket နဲ့ချိတ်ဆက်ပြီး၊ rounded ဘက်က module ရဲ့ အပြင်ဘက်မှာရှိတဲ့ **+** ဆိုတဲ့ socket နဲ့ချိတ်ဆက်ထားရမယ်။
+
+1. LED module မှာ brightness ကိုထိန်းချုပ်နိုင်တဲ့ spin button တစ်ခုရှိပါတယ်။ စတင်ရာမှာတော့ brightness ကို အပြည့်အဝတိုးထားဖို့၊ သေးငယ်တဲ့ Phillips head screwdriver နဲ့ anti-clockwise လှည့်ပြီး အဆုံးထိလှည့်ပါ။
+
+1. Grove cable ရဲ့ တစ်ဖက်ကို LED module ရဲ့ socket ထဲထည့်ပါ။ ဒါဟာ တစ်ဖက်ဘက်သာ ထည့်နိုင်ပါတယ်။
+
+1. Wio Terminal ကို သင့်ကွန်ပျူတာ သို့မဟုတ် အခြား power supply နဲ့ မချိတ်ဆက်ထားတဲ့အခြေအနေမှာ၊ Grove cable ရဲ့ တစ်ဖက်ကို Wio Terminal ရဲ့ ညာဘက် Grove socket (screen ကိုကြည့်တဲ့အခါ) ထဲထည့်ပါ။ ဒါဟာ power button ကနေ အဝေးဆုံးရှိတဲ့ socket ဖြစ်ပါတယ်။
+
+ > 💁 ညာဘက် Grove socket ကို analog သို့မဟုတ် digital sensors နဲ့ actuators တွေအတွက် အသုံးပြုနိုင်ပါတယ်။ ဘယ်ဘက် socket ကတော့ I2C နဲ့ digital sensors နဲ့ actuators တွေအတွက်သာ ဖြစ်ပါတယ်။
+
+
+
+## ညဉ့်မီးအိပ်မီးကို အစီအစဉ်ရေးပါ
+
+အခုတော့ built-in light sensor နဲ့ Grove LED ကို အသုံးပြုပြီး ညဉ့်မီးအိပ်မီးကို အစီအစဉ်ရေးနိုင်ပါပြီ။
+
+### လုပ်ငန်းစဉ် - ညဉ့်မီးအိပ်မီးကို အစီအစဉ်ရေးပါ
+
+ညဉ့်မီးအိပ်မီးကို အစီအစဉ်ရေးပါ။
+
+1. VS Code မှာ သင်ဒီအလုပ်မှာ အစပိုင်းမှာ ဖန်တီးထားတဲ့ nightlight project ကို ဖွင့်ပါ။
+
+1. `setup` function ရဲ့ အောက်ဆုံးမှာ အောက်ပါလိုင်းကို ထည့်ပါ -
+
+ ```cpp
+ pinMode(D0, OUTPUT);
+ ```
+
+ ဒီလိုင်းက Grove port မှတစ်ဆင့် LED နဲ့ ဆက်သွယ်ဖို့ အသုံးပြုမယ့် pin ကို configure လုပ်ပေးပါတယ်။
+
+ `D0` pin က ညာဘက် Grove socket အတွက် digital pin ဖြစ်ပါတယ်။ ဒီ pin ကို `OUTPUT` အဖြစ် သတ်မှတ်ထားပြီး၊ ဒါက actuator နဲ့ ချိတ်ဆက်ပြီး pin ကို data ရေးသားဖို့ အတွက် ဖြစ်ပါတယ်။
+
+1. loop function ထဲမှာ `delay` မတိုင်ခင် အောက်ပါ code ကို ထည့်ပါ -
+
+ ```cpp
+ if (light < 300)
+ {
+ digitalWrite(D0, HIGH);
+ }
+ else
+ {
+ digitalWrite(D0, LOW);
+ }
+ ```
+
+ ဒီ code က `light` တန်ဖိုးကို စစ်ဆေးပါတယ်။ 300 ထက်နည်းရင် `D0` digital pin ကို `HIGH` တန်ဖိုးပေးပါတယ်။ ဒီ `HIGH` က 1 တန်ဖိုးဖြစ်ပြီး LED ကိုဖွင့်ပါတယ်။ အလင်းတန်ဖိုးက 300 သို့မဟုတ် 300 ထက်ကြီးရင် `LOW` တန်ဖိုး 0 ကို pin ကိုပေးပြီး LED ကိုပိတ်ပါတယ်။
+
+ > 💁 actuator တွေကို digital တန်ဖိုးပေးတဲ့အခါ၊ LOW တန်ဖိုးက 0v ဖြစ်ပြီး၊ HIGH တန်ဖိုးက device အတွက် အများဆုံး voltage ဖြစ်ပါတယ်။ Wio Terminal အတွက် HIGH voltage က 3.3V ဖြစ်ပါတယ်။
+
+1. Wio Terminal ကို သင့်ကွန်ပျူတာနဲ့ ပြန်ချိတ်ဆက်ပြီး၊ အရင်လိုပဲ code အသစ်ကို upload လုပ်ပါ။
+
+1. Serial Monitor ကို ချိတ်ဆက်ပါ။ အလင်းတန်ဖိုးတွေကို terminal မှာ output လုပ်ပါမယ်။
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem101 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Light value: 4
+ Light value: 5
+ Light value: 4
+ Light value: 158
+ Light value: 343
+ Light value: 348
+ Light value: 344
+ ```
+
+1. light sensor ကို ဖုံးပြီး၊ ပြန်ဖွင့်ကြည့်ပါ။ အလင်းတန်ဖိုး 300 သို့မဟုတ် 300 ထက်နည်းရင် LED က ဖွင့်မယ်၊ အလင်းတန်ဖိုး 300 ထက်ကြီးရင် LED က ပိတ်မယ်ဆိုတာ သတိထားကြည့်ပါ။
+
+
+
+> 💁 ဒီ code ကို [code-actuator/wio-terminal](../../../../../1-getting-started/lessons/3-sensors-and-actuators/code-actuator/wio-terminal) folder မှာ ရှာနိုင်ပါတယ်။
+
+😀 သင့်ရဲ့ ညဉ့်မီးအိပ်မီးအစီအစဉ်အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md
new file mode 100644
index 00000000..426c2e57
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/3-sensors-and-actuators/wio-terminal-sensor.md
@@ -0,0 +1,87 @@
+
+# Wio Terminal - အာရုံခံကိရိယာ ထည့်သွင်းခြင်း
+
+ဒီသင်ခန်းစာအပိုင်းမှာ Wio Terminal ရဲ့ အလင်းအာရုံခံကိရိယာကို အသုံးပြုသွားမှာ ဖြစ်ပါတယ်။
+
+## ဟာ့ဒ်ဝဲ
+
+ဒီသင်ခန်းစာအတွက် အသုံးပြုမည့် အာရုံခံကိရိယာက **အလင်းအာရုံခံကိရိယာ** ဖြစ်ပြီး၊ [photodiode](https://wikipedia.org/wiki/Photodiode) ကို အသုံးပြုကာ အလင်းကို လျှပ်စစ်သို့ ပြောင်းလဲပေးပါတယ်။ ဒီကိရိယာက analog အာရုံခံကိရိယာဖြစ်ပြီး၊ 0 မှ 1,023 အတွင်းရှိ ကိန်းတန်ဖိုးတစ်ခုကို ပေးပို့ကာ အလင်းရဲ့ အချိုးချင်းပမာဏကို ဖော်ပြပေးပါတယ်။ ဒါဟာ [lux](https://wikipedia.org/wiki/Lux) လိုသော တိုင်းတာမှုယူနစ်တစ်ခုနဲ့ မဆက်စပ်ပါဘူး။
+
+အလင်းအာရုံခံကိရိယာကို Wio Terminal ထဲမှာ တပ်ဆင်ထားပြီး၊ အနောက်ဘက်ရှိ ပလပ်စတစ်ပြတင်းပေါက်မှ မြင်နိုင်ပါတယ်။
+
+
+
+## အလင်းအာရုံခံကိရိယာကို ပရိုဂရမ်ရေးခြင်း
+
+ဒီစက်ကို အလင်းအာရုံခံကိရိယာကို အသုံးပြုနိုင်ရန် ပရိုဂရမ်ရေးနိုင်ပါပြီ။
+
+### လုပ်ငန်းစဉ်
+
+စက်ကို ပရိုဂရမ်ရေးပါ။
+
+1. ယခင်အပိုင်းမှာ ဖန်တီးထားသော nightlight project ကို VS Code မှာ ဖွင့်ပါ။
+
+1. `setup` function ရဲ့ အောက်ဆုံးမှာ အောက်ပါလိုင်းကို ထည့်ပါ။
+
+ ```cpp
+ pinMode(WIO_LIGHT, INPUT);
+ ```
+
+ ဒီလိုင်းက အာရုံခံကိရိယာ hardware နဲ့ ဆက်သွယ်ရန် အသုံးပြုမည့် pin များကို ပြင်ဆင်ပေးပါတယ်။
+
+ `WIO_LIGHT` pin က on-board အလင်းအာရုံခံကိရိယာနဲ့ ဆက်စပ်ထားသော GPIO pin နံပါတ်ဖြစ်ပါတယ်။ ဒီ pin ကို `INPUT` အဖြစ် သတ်မှတ်ထားပြီး၊ အာရုံခံကိရိယာမှ ဒေတာကို ဖတ်ယူရန် အသုံးပြုပါမည်။
+
+1. `loop` function ရဲ့ အကြောင်းအရာအားလုံးကို ဖျက်ပါ။
+
+1. အောက်ပါကုဒ်ကို ယခုအလွတ်ဖြစ်နေသော `loop` function ထဲ ထည့်ပါ။
+
+ ```cpp
+ int light = analogRead(WIO_LIGHT);
+ Serial.print("Light value: ");
+ Serial.println(light);
+ ```
+
+ ဒီကုဒ်က `WIO_LIGHT` pin မှ analog တန်ဖိုးတစ်ခုကို ဖတ်ယူပါမည်။ ဒီတန်ဖိုးက on-board အလင်းအာရုံခံကိရိယာမှ 0-1,023 အတွင်းရှိ တန်ဖိုးတစ်ခုကို ဖော်ပြပါမည်။ ဒီတန်ဖိုးကို Serial Monitor မှာ ဖတ်ရှုနိုင်ရန် serial port သို့ ပေးပို့ပါမည်။ `Serial.print` က နောက်ဆုံးမှာ အတန်းသစ်မထည့်ပေးပါဘူး၊ ဒါကြောင့် တိုင်းတန်းတစ်ခုစီမှာ `Light value:` နဲ့ အလင်းတန်ဖိုးကို ဖော်ပြပါမည်။
+
+1. `loop` function ရဲ့ အဆုံးမှာ တစ်စက္ကန့် (1,000ms) အနည်းငယ် နားစေပါ။ အလင်းအဆင့်များကို အဆက်မပြတ် စစ်ဆေးရန် မလိုအပ်ပါဘူး။ နားစေခြင်းက စက်ရဲ့ လျှပ်စစ်စွမ်းအင် သုံးစွဲမှုကို လျှော့ချပေးပါမည်။
+
+ ```cpp
+ delay(1000);
+ ```
+
+1. Wio Terminal ကို သင့်ကွန်ပျူတာနှင့် ပြန်လည်ချိတ်ဆက်ပြီး၊ ယခင်ကဲ့သို့ ကုဒ်အသစ်ကို upload လုပ်ပါ။
+
+1. Serial Monitor ကို ချိတ်ဆက်ပါ။ အလင်းတန်ဖိုးများကို terminal မှာ output အဖြစ် မြင်ရပါမည်။ Wio Terminal ရဲ့ အနောက်ဘက်ရှိ အလင်းအာရုံခံကိရိယာကို ဖုံးထားခြင်းနှင့် ဖွင့်ထားခြင်းအားဖြင့် တန်ဖိုးများ ပြောင်းလဲမှုကို ကြည့်ရှုနိုင်ပါမည်။
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem101 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Light value: 4
+ Light value: 5
+ Light value: 4
+ Light value: 158
+ Light value: 343
+ Light value: 348
+ Light value: 344
+ ```
+
+> 💁 ဒီကုဒ်ကို [code-sensor/wio-terminal](../../../../../1-getting-started/lessons/3-sensors-and-actuators/code-sensor/wio-terminal) folder မှာ ရှာနိုင်ပါတယ်။
+
+😀 သင့် nightlight ပရိုဂရမ်မှာ အာရုံခံကိရိယာ ထည့်သွင်းခြင်း အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/4-connect-internet/README.md b/translations/my/1-getting-started/lessons/4-connect-internet/README.md
new file mode 100644
index 00000000..16485cf5
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/4-connect-internet/README.md
@@ -0,0 +1,448 @@
+
+# သင့်စက်ကိုအင်တာနက်နှင့်ချိတ်ဆက်ပါ
+
+
+
+> Sketchnote ကို [Nitya Narasimhan](https://github.com/nitya) မှရေးသားထားသည်။ ပုံကိုနှိပ်ပြီး ပိုမိုကြီးမားသောဗားရှင်းကိုကြည့်ပါ။
+
+ဒီသင်ခန်းစာကို [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) မှ [Hello IoT series](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) ၏အပိုင်းတစ်ခုအဖြစ်သင်ကြားခဲ့သည်။ သင်ခန်းစာကို ၂ မိနစ်စာဗီဒီယိုနှင့် ၁ နာရီစာအခန်းအချိန်အဖြစ် သင်ခန်းစာ၏အပိုင်းများကိုပိုမိုနက်နက်ရှိုင်းရှိုင်းလေ့လာပြီးမေးခွန်းများကိုဖြေဆိုရန်အတွက်သင်ကြားခဲ့သည်။
+
+[](https://youtu.be/O4dd172mZhs)
+
+[](https://youtu.be/j-cVCzRDE2Q)
+
+> 🎥 အထက်ပါပုံများကိုနှိပ်ပြီးဗီဒီယိုများကိုကြည့်ပါ
+
+## သင်ခန်းစာမတိုင်မီမေးခွန်း
+
+[သင်ခန်းစာမတိုင်မီမေးခွန်း](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/7)
+
+## အကျဉ်းချုပ်
+
+IoT (အရာဝတ္ထုအင်တာနက်) တွင် **I** သည် **Internet** ကိုဆိုလိုသည် - စက်များနှင့်ချိတ်ဆက်မှုများကိုအင်တာနက်ကနေထောက်ပံ့ပေးပြီး IoT စက်များ၏အင်္ဂါရပ်များကိုဖန်တီးပေးသည်။ ဥပမာအားဖြင့် စက်တွင်ချိတ်ဆက်ထားသော sensor များမှတိုင်းတာမှုများကိုစုဆောင်းခြင်း၊ actuator များကိုထိန်းချုပ်ရန် message များပို့ခြင်းစသည်တို့ဖြစ်သည်။ IoT စက်များသည် 通常တစ်ခုတည်းသော cloud IoT service နှင့်ချိတ်ဆက်ပြီး standard communication protocol ကိုအသုံးပြုသည်။ အဆိုပါ service သည် AI service များမှစ၍ သင့်ဒေတာအပေါ် smart ဆုံးဖြတ်ချက်များကိုလုပ်ဆောင်ရန်၊ control သို့မဟုတ် reporting အတွက် web app များအထိ IoT application ၏အခြားအစိတ်အပိုင်းများနှင့်ချိတ်ဆက်ထားသည်။
+
+> 🎓 Sensor များမှစုဆောင်းပြီး cloud သို့ပို့သောဒေတာကို telemetry ဟုခေါ်သည်။
+
+IoT စက်များသည် cloud မှ message များကိုလက်ခံနိုင်သည်။ message များတွင် command များပါဝင်တတ်သည် - အတွင်းပိုင်းတွင် (ဥပမာ firmware ကိုပြန်လည်စတင်ခြင်း သို့မဟုတ် update လုပ်ခြင်း) သို့မဟုတ် actuator ကိုအသုံးပြုခြင်း (ဥပမာ မီးလင်းခြင်း) တစ်ခုခုလုပ်ဆောင်ရန်အညွှန်းများဖြစ်သည်။
+
+ဒီသင်ခန်းစာတွင် IoT စက်များသည် cloud နှင့်ချိတ်ဆက်ရန်အသုံးပြုနိုင်သော communication protocol များနှင့် ပို့ပေးနိုင်သည့် ဒေတာအမျိုးအစားများကိုမိတ်ဆက်ပေးမည်ဖြစ်သည်။ သင်သည် LED control logic ကို 'server' code သို့ပြောင်းပြီး locally တွင် run လုပ်ခြင်းဖြင့် Internet control ကိုသင့် nightlight တွင်ထည့်သွင်းနိုင်မည်ဖြစ်သည်။
+
+ဒီသင်ခန်းစာတွင် ကျွန်ုပ်တို့ဖော်ပြမည့်အကြောင်းအရာများမှာ -
+
+* [Communication protocols](../../../../../1-getting-started/lessons/4-connect-internet)
+* [Message Queueing Telemetry Transport (MQTT)](../../../../../1-getting-started/lessons/4-connect-internet)
+* [Telemetry](../../../../../1-getting-started/lessons/4-connect-internet)
+* [Commands](../../../../../1-getting-started/lessons/4-connect-internet)
+
+## Communication protocols
+
+IoT စက်များသည်အင်တာနက်နှင့်ဆက်သွယ်ရန်အသုံးပြုသော communication protocol များစွာရှိသည်။ အများဆုံးအသုံးပြုသော protocol များသည် publish/subscribe messaging ကို broker တစ်ခုခုမှတစ်ဆင့်အခြေခံထားသည်။ IoT စက်များသည် broker နှင့်ချိတ်ဆက်ပြီး telemetry ကို publish လုပ်ပြီး command များကို subscribe လုပ်သည်။ cloud service များသည် broker နှင့်ချိတ်ဆက်ပြီး telemetry message များအားလုံးကို subscribe လုပ်ပြီး command များကိုတစ်ခုတည်းသောစက်များ သို့မဟုတ် စက်အုပ်စုများသို့ publish လုပ်သည်။
+
+
+
+MQTT သည် IoT စက်များအတွက်အများဆုံးအသုံးပြုသော communication protocol ဖြစ်ပြီး ဒီသင်ခန်းစာတွင်ဖော်ပြထားသည်။ အခြား protocol များတွင် AMQP နှင့် HTTP/HTTPS ပါဝင်သည်။
+
+## Message Queueing Telemetry Transport (MQTT)
+
+[MQTT](http://mqtt.org) သည် စက်များအကြား message များပို့ရန်အလွန်ပေါ့ပါးသော open standard messaging protocol ဖြစ်သည်။ ၎င်းကို ၁၉၉၉ ခုနှစ်တွင် ရေနံပိုက်လိုင်းများကိုစောင့်ကြည့်ရန်ဒီဇိုင်းထုတ်ခဲ့ပြီး ၁၅ နှစ်အကြာ IBM မှ open standard အဖြစ်ထုတ်ပြန်ခဲ့သည်။
+
+MQTT တွင် broker တစ်ခုနှင့် client များစွာရှိသည်။ Client များအားလုံးသည် broker နှင့်ချိတ်ဆက်ပြီး broker သည် message များကိုသက်ဆိုင်ရာ client များသို့ပို့သည်။ Message များကို named topics အသုံးပြု၍ route လုပ်သည်၊ တစ်ခုတည်းသော client သို့တိုက်ရိုက်ပို့ခြင်းမဟုတ်ပါ။ Client တစ်ခုသည် topic တစ်ခုသို့ publish လုပ်နိုင်ပြီး အဆိုပါ topic ကို subscribe လုပ်ထားသော client များအားလုံးသည် message ကိုလက်ခံရရှိမည်ဖြစ်သည်။
+
+
+
+✅ သုတေသနလုပ်ပါ။ IoT စက်များများစွာရှိပါက သင့် MQTT broker သည် message များအားလုံးကို handle လုပ်နိုင်ရန်ဘယ်လိုလုပ်ဆောင်နိုင်မည်လဲ?
+
+### သင့် IoT စက်ကို MQTT နှင့်ချိတ်ဆက်ပါ
+
+Internet control ကိုသင့် nightlight တွင်ထည့်သွင်းရန်ပထမအဆင့်မှာ MQTT broker နှင့်ချိတ်ဆက်ခြင်းဖြစ်သည်။
+
+#### Task
+
+သင့်စက်ကို MQTT broker နှင့်ချိတ်ဆက်ပါ။
+
+ဒီသင်ခန်းစာ၏ဒီအပိုင်းတွင် သင့် IoT nightlight ကိုအင်တာနက်နှင့်ချိတ်ဆက်ပြီး remote control လုပ်နိုင်ရန်လုပ်ဆောင်မည်။ ဒီသင်ခန်းစာ၏နောက်ပိုင်းတွင် သင့် IoT စက်သည် light level ကို public MQTT broker သို့ telemetry message တစ်ခုအဖြစ်ပို့ပြီး သင်ရေးမည့် server code မှ message ကိုလက်ခံမည်။ အဆိုပါ code သည် light level ကိုစစ်ဆေးပြီး LED ကိုဖွင့်ရန် သို့မဟုတ်ပိတ်ရန် command message တစ်ခုကိုစက်သို့ပြန်ပို့မည်။
+
+ဒီလို setup တစ်ခု၏အမှန်တကယ်အသုံးပြုမှုကတော့ stadium ကဲ့သို့မီးများစွာရှိသောနေရာတွင် မီးများကိုဖွင့်ရန်ဆုံးဖြတ်မီ light sensor များစွာမှဒေတာကိုစုဆောင်းရန်ဖြစ်နိုင်သည်။ Sensor တစ်ခုသာတိမ်တိုက် သို့မဟုတ်ငှက်များကြောင့်အလင်းမရရှိခဲ့သော်လည်း အခြား sensor များကလုံလောက်သောအလင်းကို detect လုပ်နိုင်ပါက မီးများကိုဖွင့်ခြင်းကိုတားဆီးနိုင်သည်။
+
+✅ Sensor များစွာမှဒေတာကိုစစ်ဆေးပြီး command များပို့ရန်လိုအပ်သောအခြေအနေများဘာတွေလဲ?
+
+ဒီ assignment ၏အပိုင်းတစ်ခုအဖြစ် MQTT broker တစ်ခုကို setup လုပ်ရန်အခက်အခဲများကိုမဖြစ်စေဘဲ သင်သည် [Eclipse Mosquitto](https://www.mosquitto.org) ကို run လုပ်ထားသော public test server ကိုအသုံးပြုနိုင်သည်။ ဒီ test broker သည် [test.mosquitto.org](https://test.mosquitto.org) တွင် public အဖြစ်ရရှိနိုင်ပြီး account setup လုပ်ရန်မလိုအပ်ပါ၊ MQTT client များနှင့် server များကိုစမ်းသပ်ရန်အတွက်အလွန်ကောင်းမွန်သော tool ဖြစ်သည်။
+
+> 💁 ဒီ test broker သည် public ဖြစ်ပြီး secure မဟုတ်ပါ။ သင် publish လုပ်သောအရာကိုမည်သူမဆိုနားထောင်နိုင်သောကြောင့် private data များနှင့်အသုံးမပြုသင့်ပါ။
+
+
+
+သင့်စက်ကို MQTT broker နှင့်ချိတ်ဆက်ရန်အောက်ပါအဆင့်ကိုလိုက်နာပါ -
+
+* [Arduino - Wio Terminal](wio-terminal-mqtt.md)
+* [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-mqtt.md)
+
+### MQTT ကိုနက်နက်ရှိုင်းရှိုင်းလေ့လာပါ
+
+Topic များတွင် hierarchy ရှိနိုင်ပြီး client များသည် wildcard များကိုအသုံးပြု၍ hierarchy ၏အဆင့်များကို subscribe လုပ်နိုင်သည်။ ဥပမာအားဖြင့် temperature telemetry message များကို `/telemetry/temperature` topic သို့ပို့ပြီး humidity message များကို `/telemetry/humidity` topic သို့ပို့နိုင်သည်၊ ထို့နောက် cloud app တွင် `/telemetry/*` topic ကို subscribe လုပ်ပြီး temperature နှင့် humidity telemetry message များနှစ်ခုလုံးကိုလက်ခံနိုင်သည်။
+
+Message များကို quality of service (QoS) ဖြင့်ပို့နိုင်ပြီး message ရရှိရန်အာမခံချက်ကိုသတ်မှတ်သည်။
+
+* အများဆုံးတစ်ကြိမ် - message ကိုတစ်ကြိမ်သာပို့ပြီး client နှင့် broker သည် delivery ကိုအတည်ပြုရန်အပိုဆောင်ရွက်မှုများမလုပ်ပါ (fire and forget)။
+* အနည်းဆုံးတစ်ကြိမ် - sender မှ acknowledgement ရရှိသည်အထိ message ကိုကြိမ်များစွာပြန်လည်ကြိုးစားပို့သည် (acknowledged delivery)။
+* တိကျစွာတစ်ကြိမ် - sender နှင့် receiver သည် message တစ်ခုသာရရှိရန်အာမခံရန် two-level handshake ကိုလုပ်ဆောင်သည် (assured delivery)။
+
+✅ Assured delivery message ကို fire and forget message အစားအသုံးပြုရန်လိုအပ်သောအခြေအနေများဘာတွေလဲ?
+
+MQTT တွင် Message Queueing ဟုအမည်ပေးထားသော်လည်း အမှန်တကယ် message queue မထောက်ပံ့ပါ။ Client တစ်ခု disconnect ဖြစ်ပြီး reconnect ဖြစ်ပါက disconnect ဖြစ်စဉ်တွင်ပို့ထားသော message များကိုလက်ခံမည်မဟုတ်ပါ၊ QoS process ကိုအသုံးပြု၍ process လုပ်ရန် client သည် message များကိုစတင်ထားသောအခြေအနေများမှလွဲ၍သာလျှင် message များကိုလက်ခံနိုင်သည်။ Message များတွင် retained flag ကို set လုပ်နိုင်သည်။ Flag ကို set လုပ်ထားပါက MQTT broker သည် topic တစ်ခုတွင် flag ဖြင့်ပို့ထားသောနောက်ဆုံး message ကိုသိမ်းဆည်းထားပြီး topic ကိုနောက်ပိုင်း subscribe လုပ်သော client များအားလုံးသို့ပို့မည်။ ဒီနည်းဖြင့် client များသည်နောက်ဆုံး message ကိုအမြဲရရှိမည်။
+
+MQTT သည် message များအကြားကြာချိန်များကြီးမားသောအခါ connection သက်တမ်းရှိမရှိစစ်ဆေးရန် keep alive function ကိုထောက်ပံ့သည်။
+
+> 🦟 [Eclipse Foundation မှ Mosquitto](https://mosquitto.org) သည် MQTT ကိုစမ်းသပ်ရန်သင့်ကိုယ်တိုင် run လုပ်နိုင်သော free MQTT broker တစ်ခုနှင့် သင့် code ကိုစမ်းသပ်ရန်အသုံးပြုနိုင်သော public MQTT broker တစ်ခုကို [test.mosquitto.org](https://test.mosquitto.org) တွင် host လုပ်ထားသည်။
+
+MQTT connection များသည် public နှင့် open ဖြစ်နိုင်သည်၊ သို့မဟုတ် username နှင့် password သို့မဟုတ် certificates ကိုအသုံးပြု၍ encrypted နှင့် secured ဖြစ်နိုင်သည်။
+
+> 💁 MQTT သည် HTTP နှင့်တူသော underlying network protocol ဖြစ်သော TCP/IP ကိုအသုံးပြု၍ဆက်သွယ်သည်၊ သို့သော် port ကွဲပြားသည်။ MQTT ကို websockets ဖြင့်အသုံးပြု၍ browser တွင် run လုပ်နေသော web app များနှင့်ဆက်သွယ်နိုင်သည်၊ သို့မဟုတ် firewall သို့မဟုတ်အခြား networking rule များက standard MQTT connection များကို block လုပ်သောအခြေအနေများတွင်အသုံးပြုနိုင်သည်။
+
+## Telemetry
+
+Telemetry ဆိုသောစကားလုံးသည် "ဝေးကွာသောနေရာတွင်တိုင်းတာခြင်း" ဟုဆိုလိုသောဂရိအမြစ်များမှဆင်းသက်လာသည်။ Telemetry သည် sensor များမှဒေတာကိုစုဆောင်းပြီး cloud သို့ပို့ခြင်းဖြစ်သည်။
+
+> 💁 Telemetry device များ၏အစောဆုံးတစ်ခုကို ၁၈၇၄ ခုနှစ်တွင် ပြင်သစ်တွင်တီထွင်ခဲ့ပြီး Mont Blanc မှ Paris သို့ real-time ရာသီဥတုနှင့်နှင်းအနက်ကိုပို့ခဲ့သည်။ ၎င်းသည် wireless technologies မရရှိနိုင်သည့်အချိန်တွင် physical wires ကိုအသုံးပြုခဲ့သည်။
+
+Lesson 1 မှ smart thermostat ၏ဥပမာကိုပြန်လည်ကြည့်ပါ။
+
+
+
+Thermostat တွင် temperature sensor များရှိပြီး telemetry ကိုစုဆောင်းသည်။ ၎င်းတွင် built-in temperature sensor တစ်ခုရှိနိုင်ပြီး wireless protocol တစ်ခုဖြစ်သော [Bluetooth Low Energy](https://wikipedia.org/wiki/Bluetooth_Low_Energy) (BLE) ကိုအသုံးပြု၍ external temperature sensor များစွာနှင့်ချိတ်ဆက်နိုင်သည်။
+
+၎င်းသည်ပို့ပေးနိုင်သော telemetry data ၏ဥပမာမှာ -
+
+| Name | Value | Description |
+| ---- | ----- | ----------- |
+| `thermostat_temperature` | 18°C | Thermostat ၏ built-in temperature sensor မှတိုင်းတာထားသောအပူချိန် |
+| `livingroom_temperature` | 19°C | Remote temperature sensor တစ်ခုမှတိုင်းတာထားသောအပူချိန်၊ အခန်းကိုသတ်မှတ်ရန် `livingroom` ဟုအမည်ပေးထားသည် |
+| `bedroom_temperature` | 21°C | Remote temperature sensor တစ်ခုမှတိုင်းတာထားသောအပူချိန်၊ အခန်းကိုသတ်မှတ်ရန် `bedroom` ဟုအမည်ပေးထားသည် |
+
+Cloud service သည်ဤ telemetry data ကိုအသုံးပြု၍ heating ကိုထိန်းချုပ်ရန်ပို့ရန် command များအပေါ်ဆုံးဖြတ်ချက်များကိုလုပ်ဆောင်နိုင်သည်။
+
+### သင့် IoT စက်မှ telemetry ပို့ပါ
+
+Internet control ကိုသင့် nightlight တွင်ထည့်သွင်းရန်နောက်ထပ်အဆင့်မှာ telemetry topic တွင် MQTT broker သို့ light level telemetry ကိုပို့ခြင်းဖြစ်သည်။
+
+#### Task - သင့် IoT စက်မှ telemetry ပို့ပါ
+
+Light level telemetry ကို MQTT broker သို့ပို့ပါ။
+
+ဒေတာကို JSON အဖြစ် encode လုပ်ပြီးပို့သည် - JavaScript Object Notation ၏အတိုကောက်ဖြစ်ပြီး key/value pair များကိုအသုံးပြု၍ text အဖြစ်ဒေတာကို encode လုပ်ရန် standard ဖြစ်သည်။
+
+✅ JSON ကိုမကြုံဖူးပါက [JSON.org documentation](https://www.json.org/) တွင်ပိုမိုလေ့လာနိုင်သည်။
+
+သင့်စက်မှ MQTT broker သို့ telemetry ပို့ရန်အောက်ပါအဆင့်ကိုလိုက်နာပါ -
+
+* [Arduino - Wio Terminal](wio-terminal-telemetry.md)
+* [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-
+💁 သင့်အကြိုက်ဆုံး Python IDE သို့မဟုတ် editor ကို သုံးနိုင်ပါတယ်၊ သို့သော် ဒီသင်ခန်းစာတွေမှာ VS Code ကို အခြေခံပြီး လမ်းညွှန်ချက်တွေ ပေးမှာ ဖြစ်ပါတယ်။
+1. VS Code Pylance extension ကို install လုပ်ပါ။ ဒါဟာ Python programming language ကို support ပေးတဲ့ VS Code အတွက် extension တစ်ခုဖြစ်ပါတယ်။ ဒီ extension ကို VS Code မှာ install လုပ်နည်းအတွက် [Pylance extension documentation](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-python.vscode-pylance) ကိုကြည့်ပါ။
+
+#### Python virtual environment ကို configure လုပ်ပါ
+
+Python ရဲ့ အားသာချက်တစ်ခုက [pip packages](https://pypi.org) တွေကို install လုပ်နိုင်ခြင်းဖြစ်ပါတယ်။ Pip packages တွေက အခြားသူများရေးသားပြီး အင်တာနက်ပေါ်မှာ publish လုပ်ထားတဲ့ code packages တွေဖြစ်ပါတယ်။ Command တစ်ခုနဲ့ pip package ကို computer မှာ install လုပ်ပြီး code မှာအသုံးပြုနိုင်ပါတယ်။ MQTT ကိုအသုံးပြုဖို့ pip package တစ်ခုကို install လုပ်မှာဖြစ်ပါတယ်။
+
+ပုံမှန်အားဖြင့် package တစ်ခုကို install လုပ်တဲ့အခါမှာ computer တစ်ခုလုံးမှာအသုံးပြုနိုင်ပါတယ်။ ဒါက version conflicts ဖြစ်စေတတ်ပါတယ်။ ဥပမာ application တစ်ခုက package version တစ်ခုကိုလိုအပ်ပြီး အခြား application အတွက် version အသစ်ကို install လုပ်တဲ့အခါမှာ error ဖြစ်နိုင်ပါတယ်။ ဒီပြဿနာကိုရှောင်ရှားဖို့ [Python virtual environment](https://docs.python.org/3/library/venv.html) ကိုအသုံးပြုနိုင်ပါတယ်။ Virtual environment က Python ရဲ့ copy တစ်ခုကို folder တစ်ခုထဲမှာထားပြီး pip packages တွေကို folder ထဲမှာပဲ install လုပ်ပါတယ်။
+
+##### Task - Python virtual environment ကို configure လုပ်ပါ
+
+Python virtual environment ကို configure လုပ်ပြီး MQTT pip packages တွေကို install လုပ်ပါ။
+
+1. Terminal သို့မဟုတ် command line မှာ အောက်ပါ command ကို run လုပ်ပြီး directory အသစ်တစ်ခုကိုဖန်တီးပြီး navigate လုပ်ပါ:
+
+ ```sh
+ mkdir nightlight-server
+ cd nightlight-server
+ ```
+
+1. `.venv` folder ထဲမှာ virtual environment တစ်ခုကိုဖန်တီးဖို့ အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ python3 -m venv .venv
+ ```
+
+ > 💁 Python 2 ကို install လုပ်ထားပြီး Python 3 ကိုလည်း install လုပ်ထားတဲ့အခါမှာ `python3` ကို explicitly call လုပ်ဖို့လိုအပ်ပါတယ်။ Python 2 install လုပ်ထားရင် `python` ကို call လုပ်တဲ့အခါ Python 2 ကိုအသုံးပြုနိုင်ပါတယ်။
+
+1. Virtual environment ကို activate လုပ်ပါ:
+
+ * Windows မှာ:
+ * Command Prompt သို့မဟုတ် Windows Terminal မှာ Command Prompt ကိုအသုံးပြုနေပါက အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```cmd
+ .venv\Scripts\activate.bat
+ ```
+
+ * PowerShell ကိုအသုံးပြုနေပါက အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```powershell
+ .\.venv\Scripts\Activate.ps1
+ ```
+
+ * macOS သို့မဟုတ် Linux မှာ အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```cmd
+ source ./.venv/bin/activate
+ ```
+
+ > 💁 ဒီ commands တွေကို virtual environment ကိုဖန်တီးတဲ့နေရာမှာပဲ run လုပ်ပါ။ `.venv` folder ထဲကို navigate လုပ်ဖို့မလိုအပ်ပါဘူး။ Activate command နဲ့ package install လုပ်တဲ့ commands တွေကို virtual environment ဖန်တီးတဲ့ folder မှာပဲ run လုပ်ပါ။
+
+1. Virtual environment ကို activate လုပ်ပြီးရင် default `python` command က virtual environment ဖန်တီးတဲ့ Python version ကို run လုပ်ပါမယ်။ Version ကိုစစ်ဖို့ အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ python --version
+ ```
+
+ Output က အောက်ပါအတိုင်းဖြစ်နိုင်ပါတယ်:
+
+ ```output
+ (.venv) ➜ nightlight-server python --version
+ Python 3.9.1
+ ```
+
+ > 💁 Python version က မတူနိုင်ပါတယ်။ Version 3.6 သို့မဟုတ်အထက်ရှိရင် အဆင်ပြေပါတယ်။ မရှိရင် folder ကို delete လုပ်ပြီး Python ရဲ့ version အသစ်ကို install လုပ်ပါ။
+
+1. [Paho-MQTT](https://pypi.org/project/paho-mqtt/) ဆိုတဲ့ popular MQTT library ကို install လုပ်ဖို့ အောက်ပါ commands ကို run လုပ်ပါ:
+
+ ```sh
+ pip install paho-mqtt
+ ```
+
+ Pip package က virtual environment ထဲမှာပဲ install လုပ်မှာဖြစ်ပြီး အပြင်မှာအသုံးပြုလို့မရပါဘူး။
+
+#### Server code ကိုရေးပါ
+
+Python language ကိုအသုံးပြုပြီး server code ကိုရေးပါ။
+
+##### Task - Server code ကိုရေးပါ
+
+Server code ကိုရေးပါ။
+
+1. Virtual environment ထဲမှာ terminal သို့မဟုတ် command line မှာ အောက်ပါ command ကို run လုပ်ပြီး `app.py` ဆိုတဲ့ Python file ကိုဖန်တီးပါ:
+
+ * Windows မှာ run လုပ်ပါ:
+
+ ```cmd
+ type nul > app.py
+ ```
+
+ * macOS သို့မဟုတ် Linux မှာ run လုပ်ပါ:
+
+ ```cmd
+ touch app.py
+ ```
+
+1. Current folder ကို VS Code မှာ open လုပ်ပါ:
+
+ ```sh
+ code .
+ ```
+
+1. VS Code launch လုပ်တဲ့အခါ Python virtual environment ကို activate လုပ်ပါမယ်။ Status bar ရဲ့အောက်ခြေမှာပြပါမယ်:
+
+ 
+
+1. VS Code Terminal က already running ဖြစ်နေတဲ့အခါ virtual environment activate မဖြစ်နိုင်ပါဘူး။ Terminal ကို **Kill the active terminal instance** button ကိုအသုံးပြုပြီးပိတ်ပါ:
+
+ 
+
+1. VS Code Terminal အသစ်ကို *Terminal -> New Terminal* ကိုရွေးချယ်ပါ သို့မဟုတ် `` CTRL+` `` ကိုနှိပ်ပါ။ Terminal အသစ်က virtual environment ကို load လုပ်ပါမယ်။ Prompt မှာ virtual environment (`.venv`) ရဲ့နာမည်ကိုလည်းပြပါမယ်:
+
+ ```output
+ ➜ nightlight-server source .venv/bin/activate
+ (.venv) ➜ nightlight
+ ```
+
+1. VS Code explorer မှ `app.py` file ကို open လုပ်ပြီး အောက်ပါ code ကိုထည့်ပါ:
+
+ ```python
+ import json
+ import time
+
+ import paho.mqtt.client as mqtt
+
+ id = ''
+
+ client_telemetry_topic = id + '/telemetry'
+ client_name = id + 'nightlight_server'
+
+ mqtt_client = mqtt.Client(client_name)
+ mqtt_client.connect('test.mosquitto.org')
+
+ mqtt_client.loop_start()
+
+ def handle_telemetry(client, userdata, message):
+ payload = json.loads(message.payload.decode())
+ print("Message received:", payload)
+
+ mqtt_client.subscribe(client_telemetry_topic)
+ mqtt_client.on_message = handle_telemetry
+
+ while True:
+ time.sleep(2)
+ ```
+
+ Line 6 မှာ `` ကို device code ဖန်တီးတဲ့အခါအသုံးပြုတဲ့ unique ID နဲ့အစားထိုးပါ။
+
+ ⚠️ ဒီ ID ဟာ device မှာအသုံးပြုတဲ့ ID နဲ့တူရမယ်။ မတူရင် server code က subscription သို့မဟုတ် publish လုပ်တဲ့ topic မှာမရောက်ပါဘူး။
+
+ ဒီ code က unique name ရဲ့ MQTT client ကိုဖန်တီးပြီး *test.mosquitto.org* broker ကို connect လုပ်ပါတယ်။ Background thread မှာ messages တွေကို listen လုပ်တဲ့ processing loop ကိုစတင်ပါတယ်။
+
+ Client က telemetry topic မှာ messages တွေကို subscribe လုပ်ပြီး message ရောက်တဲ့အခါမှာ function တစ်ခုကို call လုပ်ပါတယ်။ Telemetry message ရောက်တဲ့အခါ `handle_telemetry` function ကို call လုပ်ပြီး console မှာ message ကို print လုပ်ပါတယ်။
+
+ နောက်ဆုံးမှာ infinite loop တစ်ခုက application ကို run လုပ်နေစေပါတယ်။ MQTT client က background thread မှာ messages တွေကို listen လုပ်နေပြီး main application run လုပ်နေသ zolang as application run လုပ်နေပါတယ်။
+
+1. VS Code terminal မှာ Python app ကို run လုပ်ဖို့ အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ python app.py
+ ```
+
+ App က IoT device မှ messages တွေကို listen လုပ်ပါမယ်။
+
+1. Device ကို run လုပ်ပြီး telemetry messages တွေကိုပို့ပါ။ Physical device သို့မဟုတ် virtual device ရဲ့ light levels ကို adjust လုပ်ပါ။ Messages တွေကို terminal မှာ print လုပ်ပါမယ်:
+
+ ```output
+ (.venv) ➜ nightlight-server python app.py
+ Message received: {'light': 0}
+ Message received: {'light': 400}
+ ```
+
+ Nightlight virtual environment ထဲမှာရှိတဲ့ app.py file ကို run လုပ်ထားရမယ်။ Nightlight-server virtual environment ထဲမှာရှိတဲ့ app.py file က messages တွေကို receive လုပ်နိုင်ဖို့အတွက်ပါ။
+
+> 💁 ဒီ code ကို [code-server/server](../../../../../1-getting-started/lessons/4-connect-internet/code-server/server) folder မှာတွေ့နိုင်ပါတယ်။
+
+### Telemetry ကိုဘယ်နှစ်ကြိမ်ပို့သင့်လဲ?
+
+Telemetry ကိုဘယ်နှစ်ကြိမ် measure လုပ်ပြီး data ကိုပို့သင့်လဲဆိုတာအရေးကြီးပါတယ်။ အဖြေက - အခြေအနေအပေါ်မူတည်ပါတယ်။ Measurement frequency ပိုများရင် data changes ကိုပိုမြန်မြန်တုံ့ပြန်နိုင်ပေမယ့် power, bandwidth, data volume, cloud resources စတာတွေကိုပိုအသုံးပြုရပါတယ်။ Measurement frequency ကို balance လုပ်ဖို့လိုပါတယ်။
+
+Thermostat အတွက်တော့ အချိန်အနည်းငယ်တစ်ကြိမ် measure လုပ်တာလုံလောက်ပါတယ်။ Temperature မကြာခဏမပြောင်းလဲလို့ပါ။ တစ်နေ့တစ်ကြိမ်ပဲ measure လုပ်ရင်တော့ နေ့ဘက်မှာ temperature ပြောင်းလဲမှုကိုမသိနိုင်ပါဘူး။ တစ်စက္ကန့်တစ်ကြိမ် measure လုပ်ရင်တော့ data duplication များပြီး bandwidth နဲ့ power ကိုအလွန်အကျွံအသုံးပြုနိုင်ပါတယ်။
+
+Factory machinery monitoring အတွက်တော့ တစ်စက္ကန့်မှာအကြိမ်များများ measure လုပ်ဖို့လိုအပ်နိုင်ပါတယ်။ Machinery fail ဖြစ်ရင် အလွန်ကြီးမားတဲ့ဆိုးကျိုးတွေဖြစ်နိုင်လို့ bandwidth ကိုအလွန်အကျွံအသုံးပြုရင်တောင် measurement accuracy ကိုအရေးထားရပါတယ်။
+
+> 💁 ဒီအခြေအနေမှာ edge device ကိုအသုံးပြုပြီး telemetry ကို process လုပ်ဖို့စဉ်းစားနိုင်ပါတယ်။
+
+### Connectivity ပျောက်ဆုံးမှု
+
+Internet connection မရရှိတဲ့အခါ IoT device က data ကိုပျောက်ဆုံးသွားသင့်လား၊ connectivity ပြန်ရရှိတဲ့အခါထိ data ကိုသိမ်းထားသင့်လားဆိုတာအရေးကြီးပါတယ်။
+
+Thermostat အတွက်တော့ data ကိုပျောက်ဆုံးသွားနိုင်ပါတယ်။ အခု temperature measurement ကသာအရေးကြီးပါတယ်။
+
+Machinery monitoring အတွက်တော့ data ကိုသိမ်းထားသင့်ပါတယ်။ Trend analysis သို့မဟုတ် anomaly detection အတွက် data အားလုံးကိုလိုအပ်နိုင်ပါတယ်။
+
+IoT device designers တွေက Internet outage ဖြစ်တဲ့အခါ device ကိုအသုံးပြုနိုင်ဖို့စဉ်းစားသင့်ပါတယ်။ Smart thermostat က cloud service မရရှိတဲ့အခါမှာတောင် heating control ကိုအနည်းငယ်လုပ်နိုင်ဖို့လိုပါတယ်။
+
+[](https://twitter.com/internetofshit/status/1315736960082808832)
+
+MQTT က loss of connectivity ကို handle လုပ်ဖို့ device နဲ့ server code က message delivery ကို ensure လုပ်ဖို့လိုပါတယ်။ Reply topic မှာ reply messages တွေကိုပို့ဖို့လိုအပ်ပါတယ်။ Message မရောက်ရင် queue ထဲမှာထားပြီးနောက်ပိုင်း replay လုပ်နိုင်ဖို့လိုပါတယ်။
+
+## Commands
+
+Commands ဆိုတာ cloud က device ကိုပို့တဲ့ message တွေဖြစ်ပြီး device ကိုတစ်ခုခုလုပ်ဖို့အမိန့်ပေးပါတယ်။ အများအားဖြင့် actuator ကို output ပေးဖို့အမိန့်ပေးတာဖြစ်ပါတယ်။ Device ကို reboot လုပ်ဖို့ သို့မဟုတ် telemetry data ပိုပေးဖို့အမိန့်ပေးနိုင်ပါတယ်။
+
+
+
+Thermostat က cloud service ကနေ heating ကိုဖွင့်ဖို့ command ကိုရရှိနိုင်ပါတယ်။ Sensor data အပေါ်မူတည်ပြီး cloud service က heating ကိုဖွင့်ဖို့ဆုံးဖြတ်နိုင်ပါတယ်။
+
+### MQTT broker ကို command ပို့ပါ
+
+Internet controlled nightlight အတွက် server code က IoT device ကို light control လုပ်ဖို့ command ပို့ပါမယ်။
+
+1. Server code ကို VS Code မှာ open လုပ်ပါ
+
+1. `client_telemetry_topic` ကို define လုပ်တဲ့နေရာမှာ အောက်ပါ line ကိုထည့်ပါ:
+
+ ```python
+ server_command_topic = id + '/commands'
+ ```
+
+1. `handle_telemetry` function ရဲ့အဆုံးမှာ အောက်ပါ code ကိုထည့်ပါ:
+
+ ```python
+ command = { 'led_on' : payload['light'] < 300 }
+ print("Sending message:", command)
+
+ client.publish(server_command_topic, json.dumps(command))
+ ```
+
+ ဒီ code က command topic ကို JSON message ပို့ပါတယ်။ Light level 300 ထက်နည်းရင် `led_on` ကို true ပို့ပြီး LED ကိုဖွင့်ဖို့အမိန့်ပေးပါတယ်။
+
+1. Code ကိုအရင်လို run လုပ်ပါ
+
+1. Physical device သို့မဟုတ် virtual device ရဲ့ light levels ကို adjust လုပ်ပါ။ Messages တွေကို terminal မှာ print လုပ်ပြီး commands တွေကိုပို့ပါမယ်:
+
+ ```output
+ (.venv) ➜ nightlight-server python app.py
+ Message received: {'light': 0}
+ Sending message: {'led_on': True}
+ Message received: {'light': 400}
+ Sending message: {'led_on': False}
+ ```
+
+> 💁 Telemetry နဲ့ commands ကို single topic တစ်ခုစီမှာပို့ပါတယ်။ Devices များစွာရဲ့ telemetry messages တွေကို single telemetry topic မှာပေါင်းစည်းပြီး commands messages တွေကို single commands topic မှာပေါင်းစည်းပါတယ်။ Specific device ကို command ပို့ဖို့ unique device id နဲ့ topics များစွာကိုအသုံးပြုနိုင်ပါတယ်။
+
+> 💁 ဒီ code ကို [code-commands/server](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/server) folder မှာတွေ့နိုင်ပါတယ်။
+
+### IoT device မှာ commands ကို handle လုပ်ပါ
+
+Server ကနေ commands ပို့ပြီးရင် IoT device မှာ code ထည့်ပြီး LED ကို control လုပ်ပါ။
+
+MQTT broker မှာ commands ကို listen လုပ်ဖို့အောက်ပါ steps တွေကိုလိုက်နာပါ:
+
+* [Arduino - Wio Terminal](wio-terminal-commands.md)
+* [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-commands.md)
+
+Code ကိုရေးပြီး run လုပ်ပြီးရင် light levels ကိုပြောင်းလဲပါ။ Server နဲ့ device ရဲ့ output ကိုကြည့်ပြီး LED ရဲ့ပြောင်းလဲမှုကိုကြည့်ပါ။
+
+### Connectivity ပျောက်ဆုံးမှု
+
+Cloud service က offline ဖြစ်နေတဲ့ IoT device ကို command ပို့ဖို့လိုအပ်တဲ့အခါမှာဘာလုပ်သင့်လဲ? အဖြေက - အခြေအနေအပေါ်မူတည်ပါတယ်။
+
+Command အသစ်က command အဟောင်းကို override လုပ်နိုင်ရင် command အဟောင်းကိုပျောက်ဆုံးသွားနိုင်ပါတယ်။ Cloud service က heating ကိုဖွင့်ဖို့ command ပို့ပြီးနောက် heating ကိုပိတ်ဖို့ command ပို့ရင် heating ကိုဖွင့်ဖို့ command ကိုပျောက်ဆုံးသွားနိုင်ပါတယ်။
+
+Commands တွေကို sequence အတိုင်း process လုပ်ဖို့လိုအပ်ရင် connectivity ပြန်ရရှိတဲ့အခါမှာ sequence အတိုင်းပို့ဖို့လိုပါတယ်။
+
+✅ Device သို့မဟုတ် server code က MQTT မှာ commands တွေကို sequence အတိုင်းပို့ပြီး handle လုပ်ဖို့ဘယ်လို ensure လုပ်နိုင်မလဲ?
+
+---
+
+## 🚀 Challenge
+
+နောက်ဆုံးသုံးခုသော lessons တွေမှာ သင့်အိမ်၊ ကျောင်း သို့မဟုတ်အလုပ်နေရာမှာရှိတဲ့ IoT devices တွေကို list လုပ်ပြီး microcontrollers သို့မဟုတ် single-board computers အပေါ်မူတည်ပြီး sensor နဲ့ actuator တွေကိုအသုံးပြုနည်းကိုစဉ်းစားပါ။
+ဒီစက်ပစ္စည်းတွေကို သုံးပြီး သူတို့ပို့နေတဲ့ သတင်းစကားတွေ၊ သို့မဟုတ် လက်ခံနေတဲ့ သတင်းစကားတွေကို စဉ်းစားကြည့်ပါ။ သူတို့က ဘယ်လို telemetry ပို့နေမလဲ။ သူတို့ ဘယ်လို သတင်းစကားတွေ သို့မဟုတ် အမိန့်တွေ လက်ခံနိုင်မလဲ။ သူတို့ လုံခြုံတယ်လို့ သင်ထင်ပါသလား။
+
+## မျှဝေပြီးနောက် စစ်ဆေးမေးခွန်း
+
+[မျှဝေပြီးနောက် စစ်ဆေးမေးခွန်း](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/8)
+
+## ပြန်လည်သုံးသပ်ခြင်းနှင့် ကိုယ်တိုင်လေ့လာခြင်း
+
+[MQTT Wikipedia စာမျက်နှာ](https://wikipedia.org/wiki/MQTT) တွင် MQTT အကြောင်း ပိုမိုဖတ်ရှုပါ။
+
+[Mosquitto](https://www.mosquitto.org) ကို သုံးပြီး MQTT broker ကို ကိုယ်တိုင် စမ်းသပ်လုပ်ဆောင်ကြည့်ပါ၊ ထို့နောက် သင့် IoT စက်ပစ္စည်းနှင့် server code မှာ ချိတ်ဆက်ကြည့်ပါ။
+
+> 💁 အကြံပြုချက် - Mosquitto က ပုံမှန်အားဖြင့် anonymous connections (username နဲ့ password မလိုဘဲ ချိတ်ဆက်ခြင်း) မခွင့်ပြုဘူး၊ နောက်ထပ် Mosquitto ရှိတဲ့ ကွန်ပျူတာအပြင်ဘက်ကနေ ချိတ်ဆက်တာလည်း မခွင့်ပြုဘူး။
+> ဒီအရာကို [`mosquitto.conf` config file](https://www.mosquitto.org/man/mosquitto-conf-5.html) နဲ့ အောက်ပါအတိုင်း ပြင်ဆင်နိုင်ပါတယ်။
+>
+> ```sh
+> listener 1883 0.0.0.0
+> allow_anonymous true
+> ```
+
+## လုပ်ငန်းတာဝန်
+
+[MQTT ကို အခြားဆက်သွယ်ရေး ပရိုတိုကောများနှင့် နှိုင်းယှဉ်ပါ](assignment.md)
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှု ဝန်ဆောင်မှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/4-connect-internet/assignment.md b/translations/my/1-getting-started/lessons/4-connect-internet/assignment.md
new file mode 100644
index 00000000..fbbdf14b
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/4-connect-internet/assignment.md
@@ -0,0 +1,28 @@
+
+# MQTT နှင့် အခြားဆက်သွယ်ရေး Protocol များနှိုင်းယှဉ်ခြင်း
+
+## လမ်းညွှန်ချက်များ
+
+ဒီသင်ခန်းစာမှာ MQTT ကို ဆက်သွယ်ရေး Protocol အနေနဲ့ လေ့လာခဲ့ပါတယ်။ အခြား Protocol တွေမှာ AMQP နဲ့ HTTP/HTTPS ပါဝင်ပါတယ်။
+
+ဒီ Protocol နှစ်ခုကို သုတေသနလုပ်ပြီး MQTT နဲ့ နှိုင်းယှဉ်ပါ။ လျှပ်စစ်စွမ်းအင်အသုံးပြုမှု၊ လုံခြုံရေး၊ နောက်ဆုံးဆက်သွယ်မှုပြတ်တောက်သွားရင် မက်ဆေ့ချ်တွေကို ထိန်းသိမ်းထားနိုင်မှုတို့ကို စဉ်းစားပါ။
+
+## အဆင့်သတ်မှတ်ချက်
+
+| အချက်အလက် | ထူးချွန် | လုံလောက် | တိုးတက်မှုလိုအပ် |
+| -------- | --------- | -------- | ----------------- |
+| AMQP ကို MQTT နဲ့ နှိုင်းယှဉ်ခြင်း | AMQP ကို MQTT နဲ့ နှိုင်းယှဉ်နိုင်ပြီး လျှပ်စစ်စွမ်းအင်၊ လုံခြုံရေး၊ နောက်ဆုံးဆက်သွယ်မှုပြတ်တောက်သွားရင် မက်ဆေ့ချ်တွေကို ထိန်းသိမ်းထားနိုင်မှုတို့ကို အကျယ်ဖော်ပြနိုင်သည်။ | AMQP ကို MQTT နဲ့ တစ်စိတ်တစ်ပိုင်း နှိုင်းယှဉ်နိုင်ပြီး လျှပ်စစ်စွမ်းအင်၊ လုံခြုံရေး၊ နောက်ဆုံးဆက်သွယ်မှုပြတ်တောက်သွားရင် မက်ဆေ့ချ်တွေထဲက နှစ်ခုကို ဖော်ပြနိုင်သည်။ | AMQP ကို MQTT နဲ့ တစ်စိတ်တစ်ပိုင်း နှိုင်းယှဉ်နိုင်ပြီး လျှပ်စစ်စွမ်းအင်၊ လုံခြုံရေး၊ နောက်ဆုံးဆက်သွယ်မှုပြတ်တောက်သွားရင် မက်ဆေ့ချ်တွေထဲက တစ်ခုကို ဖော်ပြနိုင်သည်။ |
+| HTTP/HTTPS ကို MQTT နဲ့ နှိုင်းယှဉ်ခြင်း | HTTP/HTTPS ကို MQTT နဲ့ နှိုင်းယှဉ်နိုင်ပြီး လျှပ်စစ်စွမ်းအင်၊ လုံခြုံရေး၊ နောက်ဆုံးဆက်သွယ်မှုပြတ်တောက်သွားရင် မက်ဆေ့ချ်တွေကို ထိန်းသိမ်းထားနိုင်မှုတို့ကို အကျယ်ဖော်ပြနိုင်သည်။ | HTTP/HTTPS ကို MQTT နဲ့ တစ်စိတ်တစ်ပိုင်း နှိုင်းယှဉ်နိုင်ပြီး လျှပ်စစ်စွမ်းအင်၊ လုံခြုံရေး၊ နောက်ဆုံးဆက်သွယ်မှုပြတ်တောက်သွားရင် မက်ဆေ့ချ်တွေထဲက နှစ်ခုကို ဖော်ပြနိုင်သည်။ | HTTP/HTTPS ကို MQTT နဲ့ တစ်စိတ်တစ်ပိုင်း နှိုင်းယှဉ်နိုင်ပြီး လျှပ်စစ်စွမ်းအင်၊ လုံခြုံရေး၊ နောက်ဆုံးဆက်သွယ်မှုပြတ်တောက်သွားရင် မက်ဆေ့ချ်တွေထဲက တစ်ခုကို ဖော်ပြနိုင်သည်။ |
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေပါသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် ရှုလို့ရပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှု ဝန်ဆောင်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွဲအချော်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md b/translations/my/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md
new file mode 100644
index 00000000..cef3158e
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/4-connect-internet/single-board-computer-commands.md
@@ -0,0 +1,67 @@
+
+# အင်တာနက်မှ သင့်ညဉ့်မီးကို ထိန်းချုပ်ပါ - အတု IoT ဟာ့ဒ်ဝဲနှင့် Raspberry Pi
+
+ဒီသင်ခန်းစာပိုင်းမှာ သင်သည် MQTT broker မှ သင့် Raspberry Pi သို့မဟုတ် အတု IoT စက်ပစ္စည်းသို့ ပေးပို့သော အမိန့်များကို စာရင်းသွင်းပါမည်။
+
+## အမိန့်များကို စာရင်းသွင်းပါ
+
+နောက်တစ်ဆင့်မှာ MQTT broker မှ ပေးပို့သော အမိန့်များကို စာရင်းသွင်းပြီး အဲဒီအမိန့်များကို တုံ့ပြန်ပါမည်။
+
+### တာဝန်
+
+အမိန့်များကို စာရင်းသွင်းပါ။
+
+1. VS Code တွင် nightlight project ကို ဖွင့်ပါ။
+
+1. သင်အတု IoT စက်ပစ္စည်းကို အသုံးပြုနေပါက terminal သည် virtual environment ကို run လုပ်နေကြောင်း သေချာစေပါ။ သင် Raspberry Pi ကို အသုံးပြုနေပါက virtual environment ကို အသုံးမပြုရပါ။
+
+1. `client_telemetry_topic` ကို သတ်မှတ်ထားသော နောက်တွင် အောက်ပါကုဒ်ကို ထည့်ပါ-
+
+ ```python
+ server_command_topic = id + '/commands'
+ ```
+
+ `server_command_topic` သည် စက်ပစ္စည်းသည် LED အမိန့်များကို လက်ခံရန် စာရင်းသွင်းမည့် MQTT topic ဖြစ်သည်။
+
+1. `mqtt_client.loop_start()` လိုင်း၏ အပေါ်တွင်၊ main loop မစတင်မီ အောက်ပါကုဒ်ကို ထည့်ပါ-
+
+ ```python
+ def handle_command(client, userdata, message):
+ payload = json.loads(message.payload.decode())
+ print("Message received:", payload)
+
+ if payload['led_on']:
+ led.on()
+ else:
+ led.off()
+
+ mqtt_client.subscribe(server_command_topic)
+ mqtt_client.on_message = handle_command
+ ```
+
+ ဒီကုဒ်သည် `handle_command` ဟုခေါ်သော function တစ်ခုကို သတ်မှတ်ပြီး၊ JSON စာရွက်စာတမ်းအဖြစ် message ကို ဖတ်ပြီး `led_on` property ၏ တန်ဖိုးကို ရှာဖွေပါသည်။ အကယ်၍ `True` သတ်မှတ်ထားပါက LED ကို ဖွင့်မည်ဖြစ်ပြီး၊ မဟုတ်ပါက LED ကို ပိတ်မည်ဖြစ်သည်။
+
+ MQTT client သည် server မှ message ပေးပို့မည့် topic ကို စာရင်းသွင်းပြီး၊ message လက်ခံသောအခါ `handle_command` function ကို ခေါ်ရန် သတ်မှတ်ထားသည်။
+
+ > 💁 `on_message` handler သည် စာရင်းသွင်းထားသော topic အားလုံးအတွက် ခေါ်ခံရသည်။ နောက်ပိုင်းတွင် သင်သည် topics များစွာကို နားထောင်ရန် ကုဒ်ရေးပါက၊ message object မှ message ပေးပို့ထားသော topic ကို ရယူနိုင်သည်။
+
+1. ယခင်အလုပ်အပိုင်းမှ ကုဒ်ကို run လုပ်သည့် နည်းလမ်းအတိုင်း ကုဒ်ကို run လုပ်ပါ။ သင်အတု IoT စက်ပစ္စည်းကို အသုံးပြုနေပါက CounterFit app သည် run လုပ်နေပြီး၊ light sensor နှင့် LED ကို မှန်ကန်သော pin များတွင် ဖန်တီးထားကြောင်း သေချာစေပါ။
+
+1. သင့်ရဲ့ ရုပ်ပိုင်းဆိုင်ရာ သို့မဟုတ် အတုစက်ပစ္စည်းမှ သိရှိသော အလင်းအဆင့်များကို ချိန်ညှိပါ။ လက်ခံနေသော message များနှင့် ပေးပို့နေသော အမိန့်များကို terminal တွင် ရေးသားထားမည်ဖြစ်သည်။ အလင်းအဆင့်ပေါ်မူတည်၍ LED ကိုလည်း ဖွင့်/ပိတ် လုပ်မည်ဖြစ်သည်။
+
+> 💁 ဒီကုဒ်ကို [code-commands/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/virtual-device) folder သို့မဟုတ် [code-commands/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/pi) folder တွင် ရှာဖွေနိုင်ပါသည်။
+
+😀 သင်၏စက်ပစ္စည်းကို MQTT broker မှ အမိန့်များကို တုံ့ပြန်စေရန် အောင်မြင်စွာ ကုဒ်ရေးပြီးဖြစ်ပါသည်။
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md b/translations/my/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md
new file mode 100644
index 00000000..e535789a
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md
@@ -0,0 +1,93 @@
+
+# အင်တာနက်မှ သင့်ညဉ့်မီးအိမ်ကို ထိန်းချုပ်ပါ - အိမ်စီး IoT ဟာ့ဒ်ဝဲနှင့် Raspberry Pi
+
+IoT စက်ပစ္စည်းကို *test.mosquitto.org* နှင့် MQTT ကို အသုံးပြု၍ အလင်းအာရုံခံကိရိယာ၏ ဖတ်ရှုမှုများကို telemetry အချက်အလက်များအဖြစ် ပို့ပေးရန်နှင့် LED ကို ထိန်းချုပ်ရန် အမိန့်များကို လက်ခံရန်အတွက် ကုဒ်ရေးရန် လိုအပ်ပါသည်။
+
+ဒီသင်ခန်းစာ၏ အပိုင်းတွင် သင့် Raspberry Pi သို့မဟုတ် အိမ်စီး IoT စက်ပစ္စည်းကို MQTT broker နှင့် ချိတ်ဆက်ပါမည်။
+
+## MQTT client package ကို ထည့်သွင်းပါ
+
+MQTT broker နှင့် ဆက်သွယ်ရန် MQTT library pip package ကို သင့် Pi သို့မဟုတ် အိမ်စီးပတ်ဝန်းကျင်တွင် (virtual environment) ထည့်သွင်းရန် လိုအပ်ပါသည်။
+
+### လုပ်ဆောင်ရန်
+
+pip package ကို ထည့်သွင်းပါ
+
+1. VS Code တွင် nightlight project ကို ဖွင့်ပါ။
+
+1. အိမ်စီး IoT စက်ပစ္စည်းကို အသုံးပြုနေပါက terminal သည် အိမ်စီးပတ်ဝန်းကျင်ကို run လုပ်နေကြောင်း သေချာပါ။ Raspberry Pi ကို အသုံးပြုနေပါက အိမ်စီးပတ်ဝန်းကျင်ကို အသုံးမပြုပါ။
+
+1. MQTT pip package ကို ထည့်သွင်းရန် အောက်ပါ command ကို run လုပ်ပါ-
+
+ ```sh
+ pip3 install paho-mqtt
+ ```
+
+## စက်ပစ္စည်းကို ကုဒ်ရေးပါ
+
+စက်ပစ္စည်းကို ကုဒ်ရေးရန် အဆင်သင့်ဖြစ်ပါပြီ။
+
+### လုပ်ဆောင်ရန်
+
+စက်ပစ္စည်းကုဒ်ကို ရေးပါ။
+
+1. `app.py` ဖိုင်၏ အပေါ်ပိုင်းတွင် အောက်ပါ import ကို ထည့်ပါ-
+
+ ```python
+ import paho.mqtt.client as mqtt
+ ```
+
+ `paho.mqtt.client` library သည် သင့် app ကို MQTT ဖြင့် ဆက်သွယ်နိုင်စေပါသည်။
+
+1. အလင်းအာရုံခံကိရိယာနှင့် LED ကို သတ်မှတ်ထားသော ကုဒ်များ၏ အောက်တွင် အောက်ပါကုဒ်ကို ထည့်ပါ-
+
+ ```python
+ id = ''
+
+ client_name = id + 'nightlight_client'
+ ```
+
+ `` ကို ဒီစက်ပစ္စည်း client ၏ အမည်အဖြစ် အသုံးပြုမည့် ထူးခြားသော ID ဖြင့် အစားထိုးပါ။ ထို့အပြင် ဒီစက်ပစ္စည်းက ပို့ပေးသောနှင့် subscribe လုပ်သော topics များအတွက်လည်း အသုံးပြုမည်ဖြစ်သည်။ *test.mosquitto.org* broker သည် public ဖြစ်ပြီး ဒီအလုပ်ကို လေ့လာနေသော ကျောင်းသားများအပါအဝင် လူများစွာ အသုံးပြုနေပါသည်။ ထူးခြားသော MQTT client အမည်နှင့် topic အမည်များရှိခြင်းသည် သင့်ကုဒ်သည် အခြားသူများ၏ကုဒ်နှင့် မတူညီစေရန် အရေးကြီးပါသည်။ ဒီ ID ကို သင်ဒီအလုပ်၏ နောက်ပိုင်းတွင် server code ကို ဖန်တီးသောအခါလည်း လိုအပ်ပါမည်။
+
+ > 💁 [GUIDGen](https://www.guidgen.com) ကဲ့သို့သော website ကို အသုံးပြု၍ ထူးခြားသော ID ကို ဖန်တီးနိုင်ပါသည်။
+
+ `client_name` သည် broker တွင် ဒီ MQTT client အတွက် ထူးခြားသောအမည်ဖြစ်သည်။
+
+1. MQTT client object ကို ဖန်တီးပြီး MQTT broker နှင့် ချိတ်ဆက်ရန် အောက်ပါကုဒ်ကို ဒီကုဒ်အသစ်၏ အောက်တွင် ထည့်ပါ-
+
+ ```python
+ mqtt_client = mqtt.Client(client_name)
+ mqtt_client.connect('test.mosquitto.org')
+
+ mqtt_client.loop_start()
+
+ print("MQTT connected!")
+ ```
+
+ ဒီကုဒ်သည် client object ကို ဖန်တီးပြီး public MQTT broker နှင့် ချိတ်ဆက်ကာ subscribed topics များတွင် messages များကို နားထောင်နေသော background thread တွင် processing loop ကို စတင်ပါသည်။
+
+1. အလုပ်၏ ယခင်အပိုင်းမှ ကုဒ်ကို run လုပ်သည့် နည်းလမ်းတူ run လုပ်ပါ။ အိမ်စီး IoT စက်ပစ္စည်းကို အသုံးပြုနေပါက CounterFit app ကို run လုပ်ထားပြီး အလင်းအာရုံခံကိရိယာနှင့် LED ကို မှန်ကန်သော pins တွင် ဖန်တီးထားကြောင်း သေချာပါ။
+
+ ```output
+ (.venv) ➜ nightlight python app.py
+ MQTT connected!
+ Light level: 0
+ Light level: 0
+ ```
+
+> 💁 ဒီကုဒ်ကို [code-mqtt/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-mqtt/virtual-device) folder သို့မဟုတ် [code-mqtt/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-mqtt/pi) folder တွင် ရှာနိုင်ပါသည်။
+
+😀 သင်၏စက်ပစ္စည်းကို MQTT broker နှင့် အောင်မြင်စွာ ချိတ်ဆက်ပြီးပါပြီ။
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွဲအချော်များ သို့မဟုတ် အနားယူမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md b/translations/my/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md
new file mode 100644
index 00000000..6885c703
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md
@@ -0,0 +1,74 @@
+
+# အင်တာနက်မှတစ်ဆင့် သင့်ညဉ့်မီးကို ထိန်းချုပ်ပါ - အတု IoT ဟာ့ဒ်ဝဲနှင့် Raspberry Pi
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင့် Raspberry Pi သို့မဟုတ် အတု IoT စက်ကိရိယာမှ မီးအလင်းအဆင့်များကို MQTT broker သို့ ပို့ပေးမည့် telemetry ကို ပေးပို့ပါမည်။
+
+## Telemetry ကို ပို့ပေးပါ
+
+နောက်တစ်ဆင့်မှာ telemetry ပါဝင်တဲ့ JSON စာရွက်စာတမ်းကို ဖန်တီးပြီး MQTT broker သို့ ပို့ပေးရမည်ဖြစ်သည်။
+
+### လုပ်ငန်း
+
+Telemetry ကို MQTT broker သို့ ပို့ပေးပါ။
+
+1. VS Code မှာ nightlight project ကို ဖွင့်ပါ။
+
+1. အတု IoT စက်ကိရိယာကို အသုံးပြုနေပါက terminal ကို virtual environment မှာ လည်ပတ်နေကြောင်း သေချာစေပါ။ Raspberry Pi ကို အသုံးပြုနေပါက virtual environment ကို အသုံးမပြုရပါ။
+
+1. `app.py` ဖိုင်၏ အပေါ်ဆုံးတွင် အောက်ပါ import ကို ထည့်ပါ။
+
+ ```python
+ import json
+ ```
+
+ `json` library ကို telemetry ကို JSON စာရွက်စာတမ်းအဖြစ် encode လုပ်ရန် အသုံးပြုသည်။
+
+1. `client_name` ကြေညာချက်အောက်တွင် အောက်ပါကို ထည့်ပါ။
+
+ ```python
+ client_telemetry_topic = id + '/telemetry'
+ ```
+
+ `client_telemetry_topic` သည် စက်ကိရိယာမှ မီးအလင်းအဆင့်များကို ပို့ပေးမည့် MQTT topic ဖြစ်သည်။
+
+1. ဖိုင်၏ အဆုံးတွင်ရှိသော `while True:` loop ၏ အကြောင်းအရာကို အောက်ပါအတိုင်း ပြောင်းလဲပါ။
+
+ ```python
+ while True:
+ light = light_sensor.light
+ telemetry = json.dumps({'light' : light})
+
+ print("Sending telemetry ", telemetry)
+
+ mqtt_client.publish(client_telemetry_topic, telemetry)
+
+ time.sleep(5)
+ ```
+
+ ဒီကုဒ်သည် မီးအလင်းအဆင့်ကို JSON စာရွက်စာတမ်းအဖြစ် ထုပ်ပိုးပြီး MQTT broker သို့ ပို့ပေးသည်။ ထို့နောက် မက်ဆေ့ပို့ပေးမှုအကြိမ်ရေကို လျှော့ချရန် အနည်းငယ်ရပ်နားသည်။
+
+1. ယခင်အလုပ်မှာ ကုဒ်ကို လည်ပတ်ခဲ့သည့် နည်းလမ်းအတိုင်း ကုဒ်ကို လည်ပတ်ပါ။ အတု IoT စက်ကိရိယာကို အသုံးပြုနေပါက CounterFit app ကို လည်ပတ်နေကြောင်း၊ မီးအလင်းအာရုံခံကိရိယာနှင့် LED ကို မှန်ကန်သော pin များတွင် ဖန်တီးထားကြောင်း သေချာစေပါ။
+
+ ```output
+ (.venv) ➜ nightlight python app.py
+ MQTT connected!
+ Sending telemetry {"light": 0}
+ Sending telemetry {"light": 0}
+ ```
+
+> 💁 ဒီကုဒ်ကို [code-telemetry/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-telemetry/virtual-device) folder သို့မဟုတ် [code-telemetry/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-telemetry/pi) folder တွင် ရှာတွေ့နိုင်ပါသည်။
+
+😀 သင့်စက်ကိရိယာမှ telemetry ကို အောင်မြင်စွာ ပို့ပေးနိုင်ပါပြီ။
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားယူမှားမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md b/translations/my/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md
new file mode 100644
index 00000000..027bdcc1
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md
@@ -0,0 +1,93 @@
+
+# အင်တာနက်မှ သင့်ညဉ့်မီးအိမ်ကို ထိန်းချုပ်ပါ - Wio Terminal
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင်သည် MQTT broker မှ ပေးပို့သော အမိန့်များကို သင့် Wio Terminal မှ စာရင်းသွင်းပါမည်။
+
+## အမိန့်များကို စာရင်းသွင်းပါ
+
+နောက်တစ်ဆင့်မှာ MQTT broker မှ ပေးပို့သော အမိန့်များကို စာရင်းသွင်းပြီး အမိန့်များကို တုံ့ပြန်ပါမည်။
+
+### လုပ်ဆောင်ရန်
+
+အမိန့်များကို စာရင်းသွင်းပါ။
+
+1. VS Code မှာ nightlight project ကို ဖွင့်ပါ။
+
+1. `config.h` ဖိုင်၏ အောက်ဆုံးတွင် အမိန့်များအတွက် topic name ကို သတ်မှတ်ရန် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ const string SERVER_COMMAND_TOPIC = ID + "/commands";
+ ```
+
+ `SERVER_COMMAND_TOPIC` သည် LED အမိန့်များကို လက်ခံရန် စာရင်းသွင်းမည့် topic ဖြစ်သည်။
+
+1. MQTT client ကို ပြန်လည်ချိတ်ဆက်သောအခါ အမိန့် topic ကို စာရင်းသွင်းရန် `reconnectMQTTClient` function ၏ အဆုံးတွင် အောက်ပါလိုင်းကို ထည့်ပါ။
+
+ ```cpp
+ client.subscribe(SERVER_COMMAND_TOPIC.c_str());
+ ```
+
+1. `reconnectMQTTClient` function အောက်တွင် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ void clientCallback(char *topic, uint8_t *payload, unsigned int length)
+ {
+ char buff[length + 1];
+ for (int i = 0; i < length; i++)
+ {
+ buff[i] = (char)payload[i];
+ }
+ buff[length] = '\0';
+
+ Serial.print("Message received:");
+ Serial.println(buff);
+
+ DynamicJsonDocument doc(1024);
+ deserializeJson(doc, buff);
+ JsonObject obj = doc.as();
+
+ bool led_on = obj["led_on"];
+
+ if (led_on)
+ digitalWrite(D0, HIGH);
+ else
+ digitalWrite(D0, LOW);
+ }
+ ```
+
+ ဒီ function သည် MQTT client မှ server မှ message လက်ခံသောအခါ ခေါ်သည့် callback ဖြစ်ပါသည်။
+
+ Message ကို unsigned 8-bit integer array အဖြစ် လက်ခံရရှိပြီး၊ text အဖြစ် ဆက်လက်အသုံးပြုရန် character array အဖြစ် ပြောင်းလဲရန် လိုအပ်ပါသည်။
+
+ Message တွင် JSON document ပါဝင်ပြီး၊ ArduinoJson library ကို အသုံးပြု၍ decode လုပ်ပါသည်။ JSON document ၏ `led_on` property ကို ဖတ်ပြီး၊ အတန်းတန်ဖိုးပေါ်မူတည်၍ LED ကို ဖွင့်ခြင်း သို့မဟုတ် ပိတ်ခြင်းကို ဆောင်ရွက်ပါသည်။
+
+1. `createMQTTClient` function တွင် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ client.setCallback(clientCallback);
+ ```
+
+ ဒီ code သည် MQTT broker မှ message လက်ခံသောအခါ ခေါ်သည့် callback အဖြစ် `clientCallback` ကို သတ်မှတ်ပါသည်။
+
+ > 💁 `clientCallback` handler သည် စာရင်းသွင်းထားသော topic အားလုံးအတွက် ခေါ်ပါသည်။ နောက်ပိုင်းတွင် မတူညီသော topic များကို နားထောင်ရန် code ရေးသားပါက callback function သို့ ပေးပို့သော `topic` parameter မှ message ပေးပို့ထားသော topic ကို ရယူနိုင်ပါသည်။
+
+1. Code ကို သင့် Wio Terminal သို့ upload လုပ်ပြီး Serial Monitor ကို အသုံးပြု၍ MQTT broker သို့ ပေးပို့သော အလင်းအဆင့်များကို ကြည့်ပါ။
+
+1. သင့်ရုပ်ပိုင်းဆိုင်ရာ device သို့မဟုတ် အိမ်မက် device မှ အလင်းအဆင့်များကို ချိန်ညှိပါ။ Terminal တွင် message လက်ခံခြင်းနှင့် အမိန့်ပေးပို့ခြင်းကို တွေ့ရပါမည်။ အလင်းအဆင့်ပေါ်မူတည်၍ LED ကို ဖွင့်ခြင်းနှင့် ပိတ်ခြင်းကိုလည်း တွေ့ရပါမည်။
+
+> 💁 ဒီ code ကို [code-commands/wio-terminal](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/wio-terminal) folder တွင် ရှာဖွေနိုင်ပါသည်။
+
+😀 သင်သည် MQTT broker မှ အမိန့်များကို တုံ့ပြန်ရန် သင့် device ကို အောင်မြင်စွာ code ရေးသားပြီးဖြစ်ပါသည်။
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေပါသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md b/translations/my/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md
new file mode 100644
index 00000000..5bcaf1bb
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md
@@ -0,0 +1,247 @@
+
+# အင်တာနက်မှ သင့်ညဉ့်မီးအိမ်ကို ထိန်းချုပ်ပါ - Wio Terminal
+
+IoT စက်ပစ္စည်းကို *test.mosquitto.org* နှင့် MQTT ကို အသုံးပြု၍ ဆက်သွယ်ရန် ကုဒ်ရေးရန် လိုအပ်ပါသည်။ မီးအိမ်အလင်းအာရုံခံကိရိယာမှ Telemetry တန်ဖိုးများ ပေးပို့ရန်နှင့် LED ကို ထိန်းချုပ်ရန် အမိန့်များ လက်ခံရန် လိုအပ်ပါသည်။
+
+ဒီသင်ခန်းစာအပိုင်းတွင် သင့် Wio Terminal ကို MQTT broker နှင့် ချိတ်ဆက်ပါမည်။
+
+## WiFi နှင့် MQTT Arduino Libraries ကို ထည့်သွင်းပါ
+
+MQTT broker နှင့် ဆက်သွယ်ရန် Wio Terminal ရှိ WiFi chip ကို အသုံးပြုရန် Arduino libraries အချို့ကို ထည့်သွင်းရန် လိုအပ်ပါသည်။ Arduino စက်ပစ္စည်းများအတွက် ဖွံ့ဖြိုးရေးလုပ်စဉ်တွင် အခမဲ့သုံးနိုင်သော ကုဒ်များပါဝင်သည့် libraries များစွာကို အသုံးပြုနိုင်ပါသည်။ Seeed သည် Wio Terminal အတွက် WiFi ဖြင့် ဆက်သွယ်နိုင်ရန် libraries များကို ထုတ်ဝေထားပါသည်။ MQTT broker များနှင့် ဆက်သွယ်ရန် အခြားဖွံ့ဖြိုးရေးသူများက ထုတ်ဝေထားသော libraries များကိုလည်း သင့်စက်ပစ္စည်းနှင့် အသုံးပြုမည်ဖြစ်သည်။
+
+ဒီ libraries များကို PlatformIO ထဲသို့ အလိုအလျောက် တင်သွင်းပြီး သင့်စက်ပစ္စည်းအတွက် compile လုပ်နိုင်ပါသည်။ ဒီလိုနည်းဖြင့် Arduino libraries များသည် Arduino framework ကို ပံ့ပိုးသည့် စက်ပစ္စည်းများအားလုံးတွင် အလုပ်လုပ်နိုင်ပါသည်။ သို့သော် library တစ်ခုချင်းစီအတွက် လိုအပ်သော hardware ရှိရမည်ဖြစ်သည်။ Seeed WiFi libraries ကဲ့သို့သော libraries အချို့သည် သတ်မှတ်ထားသော hardware များအတွက်သာ ဖြစ်သည်။
+
+Libraries များကို စနစ်တကျ ထည့်သွင်းပြီး compile လုပ်နိုင်သလို သီးခြားပရောဂျက်အတွင်းတွင်သာ ထည့်သွင်းနိုင်ပါသည်။ ဒီအလုပ်အတွက် libraries များကို ပရောဂျက်အတွင်း ထည့်သွင်းပါမည်။
+
+✅ Library များကို စီမံခန့်ခွဲနည်းနှင့် ထည့်သွင်းနည်းများကို [PlatformIO library documentation](https://docs.platformio.org/en/latest/librarymanager/index.html) တွင် ပိုမိုလေ့လာနိုင်ပါသည်။
+
+### လုပ်ငန်း - WiFi နှင့် MQTT Arduino libraries ကို ထည့်သွင်းပါ
+
+Arduino libraries များကို ထည့်သွင်းပါ။
+
+1. VS Code တွင် nightlight ပရောဂျက်ကို ဖွင့်ပါ။
+
+1. `platformio.ini` ဖိုင်၏ အဆုံးတွင် အောက်ပါအတိုင်း ထည့်သွင်းပါ။
+
+ ```ini
+ lib_deps =
+ seeed-studio/Seeed Arduino rpcWiFi @ 1.0.5
+ seeed-studio/Seeed Arduino FS @ 2.1.1
+ seeed-studio/Seeed Arduino SFUD @ 2.0.2
+ seeed-studio/Seeed Arduino rpcUnified @ 2.1.3
+ seeed-studio/Seeed_Arduino_mbedtls @ 3.0.1
+ ```
+
+ ဒီကနေ Seeed WiFi libraries များကို တင်သွင်းပါသည်။ `@ ` သည် library ၏ သတ်မှတ်ထားသော ဗားရှင်းနံပါတ်ကို ဆိုလိုသည်။
+
+ > 💁 `@ ` ကို ဖယ်ရှားပြီး library များ၏ နောက်ဆုံးဗားရှင်းကို အမြဲအသုံးပြုနိုင်သော်လည်း နောက်ဆုံးဗားရှင်းများသည် အောက်ပါကုဒ်နှင့် အလုပ်လုပ်မည်ဆိုသော အာမခံချက်မရှိပါ။ ဒီကုဒ်ကို library ၏ ဤဗားရှင်းနှင့် စမ်းသပ်ပြီးဖြစ်သည်။
+
+ Library များကို ထည့်သွင်းရန် လိုအပ်သည့် အရာအားလုံးသည် ဤအပိုင်းဖြစ်သည်။ PlatformIO သည် ပရောဂျက်ကို build လုပ်သည့်အခါ library များ၏ source code ကို ဒေါင်းလုပ်ဆွဲပြီး သင့်ပရောဂျက်အတွင်း compile လုပ်ပါမည်။
+
+1. `lib_deps` တွင် အောက်ပါအတိုင်း ထည့်သွင်းပါ။
+
+ ```ini
+ knolleary/PubSubClient @ 2.8
+ ```
+
+ ဒီကနေ [PubSubClient](https://github.com/knolleary/pubsubclient) ကို တင်သွင်းပါသည်။ ၎င်းသည် Arduino MQTT client တစ်ခုဖြစ်သည်။
+
+## WiFi နှင့် ချိတ်ဆက်ပါ
+
+ယခု Wio Terminal ကို WiFi နှင့် ချိတ်ဆက်နိုင်ပါပြီ။
+
+### လုပ်ငန်း - WiFi နှင့် ချိတ်ဆက်ပါ
+
+Wio Terminal ကို WiFi နှင့် ချိတ်ဆက်ပါ။
+
+1. `src` ဖိုလ်ဒါအတွင်း `config.h` ဟုခေါ်သော ဖိုင်အသစ်တစ်ခု ဖန်တီးပါ။ ၎င်းကို `src` ဖိုလ်ဒါကို ရွေးချယ်ခြင်းဖြင့် သို့မဟုတ် `main.cpp` ဖိုင်အတွင်းမှ **New file** ခလုတ်ကို ရွေးချယ်ခြင်းဖြင့် ပြုလုပ်နိုင်ပါသည်။
+
+ 
+
+1. WiFi အချက်အလက်များအတွက် constants များကို သတ်မှတ်ရန် အောက်ပါကုဒ်ကို ထည့်သွင်းပါ။
+
+ ```cpp
+ #pragma once
+
+ #include
+
+ using namespace std;
+
+ // WiFi credentials
+ const char *SSID = "";
+ const char *PASSWORD = "";
+ ```
+
+ `` ကို သင့် WiFi ၏ SSID ဖြင့် အစားထိုးပါ။ `` ကို သင့် WiFi စကားဝှက်ဖြင့် အစားထိုးပါ။
+
+1. `main.cpp` ဖိုင်ကို ဖွင့်ပါ။
+
+1. ဖိုင်၏ အပေါ်ဆုံးတွင် အောက်ပါ `#include` directives များကို ထည့်သွင်းပါ။
+
+ ```cpp
+ #include
+ #include
+ #include
+
+ #include "config.h"
+ ```
+
+ ဒီ header ဖိုင်များသည် ယခင်ထည့်သွင်းထားသော libraries များမှ ကုဒ်များကို PlatformIO သို့ ဆွဲယူရန် လိုအပ်ပါသည်။
+
+1. `setup` function အထက်တွင် အောက်ပါကုဒ်ကို ထည့်သွင်းပါ။
+
+ ```cpp
+ void connectWiFi()
+ {
+ while (WiFi.status() != WL_CONNECTED)
+ {
+ Serial.println("Connecting to WiFi..");
+ WiFi.begin(SSID, PASSWORD);
+ delay(500);
+ }
+
+ Serial.println("Connected!");
+ }
+ ```
+
+ ဒီကုဒ်သည် စက်ပစ္စည်းသည် WiFi နှင့် မချိတ်ဆက်မီ loop လုပ်ပြီး SSID နှင့် စကားဝှက်ကို အသုံးပြု၍ ချိတ်ဆက်ရန် ကြိုးစားပါသည်။
+
+1. `setup` function ၏ အောက်ဆုံးတွင် pins များကို configure ပြီးနောက် ဤ function ကို ခေါ်ပါ။
+
+ ```cpp
+ connectWiFi();
+ ```
+
+1. WiFi ချိတ်ဆက်မှု အလုပ်လုပ်မှုကို စစ်ဆေးရန် ကုဒ်ကို သင့်စက်ပစ္စည်းသို့ upload လုပ်ပါ။ Serial monitor တွင် အောက်ပါအတိုင်း မြင်ရမည်ဖြစ်သည်။
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1101 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Connecting to WiFi..
+ Connected!
+ ```
+
+## MQTT နှင့် ချိတ်ဆက်ပါ
+
+Wio Terminal သည် WiFi နှင့် ချိတ်ဆက်ပြီးနောက် MQTT broker နှင့် ချိတ်ဆက်နိုင်ပါသည်။
+
+### လုပ်ငန်း - MQTT နှင့် ချိတ်ဆက်ပါ
+
+MQTT broker နှင့် ချိတ်ဆက်ပါ။
+
+1. MQTT broker ၏ ချိတ်ဆက်မှုအသေးစိတ်ကို သတ်မှတ်ရန် `config.h` ဖိုင်၏ အဆုံးတွင် အောက်ပါကုဒ်ကို ထည့်သွင်းပါ။
+
+ ```cpp
+ // MQTT settings
+ const string ID = "";
+
+ const string BROKER = "test.mosquitto.org";
+ const string CLIENT_NAME = ID + "nightlight_client";
+ ```
+
+ `` ကို သင့်စက်ပစ္စည်း client ၏ အထူး ID ဖြင့် အစားထိုးပါ။
+
+ > 💁 [GUIDGen](https://www.guidgen.com) ကဲ့သို့သော ဝဘ်ဆိုဒ်ကို အသုံးပြု၍ အထူး ID တစ်ခုကို ဖန်တီးနိုင်ပါသည်။
+
+ `BROKER` သည် MQTT broker ၏ URL ဖြစ်သည်။
+
+ `CLIENT_NAME` သည် broker ပေါ်တွင် MQTT client ၏ အထူးအမည်ဖြစ်သည်။
+
+1. `main.cpp` ဖိုင်ကို ဖွင့်ပြီး `connectWiFi` function ၏ အောက်တွင် အောက်ပါကုဒ်ကို ထည့်သွင်းပါ။
+
+ ```cpp
+ WiFiClient wioClient;
+ PubSubClient client(wioClient);
+ ```
+
+ ဒီကုဒ်သည် Wio Terminal WiFi libraries ကို အသုံးပြု၍ WiFi client တစ်ခု ဖန်တီးပြီး MQTT client တစ်ခု ဖန်တီးပါသည်။
+
+1. အထက်ပါကုဒ်အောက်တွင် အောက်ပါကုဒ်ကို ထည့်သွင်းပါ။
+
+ ```cpp
+ void reconnectMQTTClient()
+ {
+ while (!client.connected())
+ {
+ Serial.print("Attempting MQTT connection...");
+
+ if (client.connect(CLIENT_NAME.c_str()))
+ {
+ Serial.println("connected");
+ }
+ else
+ {
+ Serial.print("Retying in 5 seconds - failed, rc=");
+ Serial.println(client.state());
+
+ delay(5000);
+ }
+ }
+ }
+ ```
+
+ ဒီ function သည် MQTT broker နှင့် ချိတ်ဆက်မှုကို စစ်ဆေးပြီး ချိတ်ဆက်မရပါက ပြန်လည်ချိတ်ဆက်ရန် ကြိုးစားပါသည်။
+
+1. `reconnectMQTTClient` function ၏ အောက်တွင် အောက်ပါကုဒ်ကို ထည့်သွင်းပါ။
+
+ ```cpp
+ void createMQTTClient()
+ {
+ client.setServer(BROKER.c_str(), 1883);
+ reconnectMQTTClient();
+ }
+ ```
+
+ ဒီကုဒ်သည် MQTT broker ကို client အတွက် သတ်မှတ်ပြီး message လက်ခံသည့် callback ကို သတ်မှတ်ပါသည်။
+
+1. WiFi ချိတ်ဆက်ပြီးနောက် `setup` function အတွင်း `createMQTTClient` function ကို ခေါ်ပါ။
+
+1. `loop` function အား အောက်ပါအတိုင်း အစားထိုးပါ။
+
+ ```cpp
+ void loop()
+ {
+ reconnectMQTTClient();
+ client.loop();
+
+ delay(2000);
+ }
+ ```
+
+ ဒီကုဒ်သည် MQTT broker နှင့် ချိတ်ဆက်မှုကို စစ်ဆေးပြီး လိုအပ်ပါက ပြန်လည်ချိတ်ဆက်ပါသည်။
+
+1. ကုဒ်ကို Wio Terminal သို့ upload လုပ်ပြီး Serial Monitor ကို အသုံးပြု၍ WiFi နှင့် MQTT ချိတ်ဆက်မှုကို ကြည့်ရှုပါ။
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ source /Users/jimbennett/GitHub/IoT-For-Beginners/1-getting-started/lessons/4-connect-internet/code-mqtt/wio-terminal/nightlight/.venv/bin/activate
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Connecting to WiFi..
+ Connected!
+ Attempting MQTT connection...connected
+ ```
+
+> 💁 ဒီကုဒ်ကို [code-mqtt/wio-terminal](../../../../../1-getting-started/lessons/4-connect-internet/code-mqtt/wio-terminal) ဖိုလ်ဒါတွင် ရှာနိုင်ပါသည်။
+
+😀 သင့်စက်ပစ္စည်းကို MQTT broker နှင့် အောင်မြင်စွာ ချိတ်ဆက်ပြီးပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md b/translations/my/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md
new file mode 100644
index 00000000..1bdc48e6
--- /dev/null
+++ b/translations/my/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md
@@ -0,0 +1,93 @@
+
+# အင်တာနက်မှ သင့်ညဉ့်မီးကို ထိန်းချုပ်ပါ - Wio Terminal
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင့် Wio Terminal မှ အလင်းအဆင့်များနှင့် telemetry ကို MQTT broker သို့ ပို့မည်ဖြစ်သည်။
+
+## JSON Arduino libraries ကို ထည့်သွင်းပါ
+
+MQTT မှတဆင့် မက်ဆေ့ချ်များကို ပို့ရန် နည်းလမ်းများထဲမှာ JSON ကို အသုံးပြုခြင်းသည် လူကြိုက်များသော နည်းလမ်းတစ်ခုဖြစ်သည်။ JSON ကို ဖတ်ခြင်းနှင့် ရေးခြင်းကို ပိုမိုလွယ်ကူစေသော Arduino library တစ်ခုလည်း ရှိသည်။
+
+### အလုပ်ပေးချက်
+
+Arduino JSON library ကို ထည့်သွင်းပါ။
+
+1. VS Code မှာ nightlight project ကို ဖွင့်ပါ။
+
+1. `platformio.ini` ဖိုင်ရဲ့ `lib_deps` စာရင်းမှာ အောက်ပါလိုင်းကို ထည့်ပါ။
+
+ ```ini
+ bblanchon/ArduinoJson @ 6.17.3
+ ```
+
+ ဒါက [ArduinoJson](https://arduinojson.org) ကို ထည့်သွင်းပေးပြီး Arduino JSON library တစ်ခုဖြစ်သည်။
+
+## Telemetry ကို ပို့ပါ
+
+နောက်တစ်ဆင့်မှာ JSON document တစ်ခုကို telemetry ဖြင့် ဖန်တီးပြီး MQTT broker သို့ ပို့ရမည်ဖြစ်သည်။
+
+### အလုပ်ပေးချက် - telemetry ကို ပို့ပါ
+
+Telemetry ကို MQTT broker သို့ ပို့ပါ။
+
+1. MQTT broker အတွက် telemetry topic name ကို သတ်မှတ်ရန် `config.h` ဖိုင်ရဲ့ အောက်ဆုံးမှာ အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
+ ```
+
+ `CLIENT_TELEMETRY_TOPIC` သည် အလင်းအဆင့်များကို ပို့မည့် topic ဖြစ်သည်။
+
+1. `main.cpp` ဖိုင်ကို ဖွင့်ပါ။
+
+1. ဖိုင်ရဲ့ အပေါ်ဆုံးမှာ အောက်ပါ `#include` directive ကို ထည့်ပါ။
+
+ ```cpp
+ #include
+ ```
+
+1. `loop` function ရဲ့ `delay` မတိုင်မီ အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ int light = analogRead(WIO_LIGHT);
+
+ DynamicJsonDocument doc(1024);
+ doc["light"] = light;
+
+ string telemetry;
+ serializeJson(doc, telemetry);
+
+ Serial.print("Sending telemetry ");
+ Serial.println(telemetry.c_str());
+
+ client.publish(CLIENT_TELEMETRY_TOPIC.c_str(), telemetry.c_str());
+ ```
+
+ ဒီ code က အလင်းအဆင့်ကို ဖတ်ပြီး ArduinoJson ကို အသုံးပြု၍ JSON document တစ်ခုကို ဖန်တီးသည်။ ထို့နောက် string အဖြစ် serialize လုပ်ပြီး telemetry MQTT topic မှတဆင့် MQTT client က publish လုပ်သည်။
+
+1. Code ကို သင့် Wio Terminal သို့ upload လုပ်ပြီး Serial Monitor ကို အသုံးပြု၍ အလင်းအဆင့်များကို MQTT broker သို့ ပို့နေသည်ကို ကြည့်ပါ။
+
+ ```output
+ Connecting to WiFi..
+ Connected!
+ Attempting MQTT connection...connected
+ Sending telemetry {"light":652}
+ Sending telemetry {"light":612}
+ Sending telemetry {"light":583}
+ ```
+
+> 💁 ဒီ code ကို [code-telemetry/wio-terminal](../../../../../1-getting-started/lessons/4-connect-internet/code-telemetry/wio-terminal) folder မှာ ရှာနိုင်ပါတယ်။
+
+😀 သင့် device မှ telemetry ကို အောင်မြင်စွာ ပို့ပြီးပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားယူမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/README.md b/translations/my/2-farm/README.md
new file mode 100644
index 00000000..038af8d0
--- /dev/null
+++ b/translations/my/2-farm/README.md
@@ -0,0 +1,34 @@
+
+# IoT ဖြင့် စိုက်ပျိုးရေး
+
+လူဦးရေ တိုးပွားလာသည့်အချိန်တွင် စိုက်ပျိုးရေးအပေါ် လိုအပ်ချက်လည်း တိုးလာပါသည်။ ရရှိနိုင်သော မြေကွက်ပမာဏမှာ မပြောင်းလဲပေမယ့် ရာသီဥတုကတော့ ပြောင်းလဲနေပါသည် - စိုက်ပျိုးရေးလုပ်ငန်းရှင်များအတွက် အထူးသဖြင့် [လက်လှမ်းမီ စိုက်ပျိုးရေး](https://wikipedia.org/wiki/Subsistence_agriculture) ကို အားထားနေသော လူ ၂ ဘီလီယံကျော်အတွက် ပိုမိုစိန်ခေါ်မှုများ ဖြစ်ပေါ်စေပါသည်။ IoT သည် စိုက်ပျိုးရေးလုပ်ငန်းရှင်များအား ဘာကို စိုက်ရမည်၊ ဘယ်အချိန်မှာ ရိတ်သိမ်းရမည်ဆိုသည်ကို ပိုမိုထိရောက်စွာ ဆုံးဖြတ်နိုင်စေပြီး၊ ထွက်ကုန်များတိုးတက်စေခြင်း၊ လုပ်အားခလျော့ချစေခြင်းနှင့် ပိုးမွှားများကို စောင့်ကြည့်ပြီး ကိုင်တွယ်နိုင်စေခြင်းတို့ကို ကူညီပေးနိုင်ပါသည်။
+
+ဒီသင်ခန်းစာ ၆ ခုအတွင်းမှာ သင်သည် အင်တာနက်အရာများ (IoT) ကို စိုက်ပျိုးရေးကို တိုးတက်စေခြင်းနှင့် အလိုအလျောက်လုပ်ဆောင်စေခြင်းအတွက် မည်သို့ အသုံးချရမည်ကို သင်ယူနိုင်ပါမည်။
+
+> 💁 ဒီသင်ခန်းစာများတွင် Cloud ရင်းမြစ်များကို အသုံးပြုမည်ဖြစ်သည်။ ဒီပရောဂျက်အတွင်းရှိ သင်ခန်းစာအားလုံးကို မပြီးမြောက်နိုင်ပါက [သင့်ပရောဂျက်ကို ရှင်းလင်းပါ](../clean-up.md)။
+
+## ခေါင်းစဉ်များ
+
+1. [အပင်ကြီးထွားမှုကို IoT ဖြင့် ခန့်မှန်းခြင်း](lessons/1-predict-plant-growth/README.md)
+1. [မြေဆီလွှာစိုထိုင်းဆကို စောင့်ကြည့်ခြင်း](lessons/2-detect-soil-moisture/README.md)
+1. [အလိုအလျောက် အပင်ရေဖြည့်စနစ်](lessons/3-automated-plant-watering/README.md)
+1. [သင့်အပင်ကို Cloud သို့ ပြောင်းရွှေ့ခြင်း](lessons/4-migrate-your-plant-to-the-cloud/README.md)
+1. [သင့်အပလီကေးရှင်း လိုဂစ်ကို Cloud သို့ ပြောင်းရွှေ့ခြင်း](lessons/5-migrate-application-to-the-cloud/README.md)
+1. [သင့်အပင်ကို လုံခြုံစွာ ထိန်းသိမ်းခြင်း](lessons/6-keep-your-plant-secure/README.md)
+
+## အားကျေးဇူးတင်စကား
+
+ဒီသင်ခန်းစာအားလုံးကို [Jim Bennett](https://GitHub.com/JimBobBennett) မှ ♥️ ဖြင့် ရေးသားထားပါသည်။
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှု ဝန်ဆောင်မှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွန်များ သို့မဟုတ် အနားယူမှုမှားများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/1-predict-plant-growth/README.md b/translations/my/2-farm/lessons/1-predict-plant-growth/README.md
new file mode 100644
index 00000000..1a45daf7
--- /dev/null
+++ b/translations/my/2-farm/lessons/1-predict-plant-growth/README.md
@@ -0,0 +1,121 @@
+
+## အပင်များ၏ အဆင့်တိုးတက်မှုကို IoT ဖြင့် ခန့်မှန်းခြေ
+
+
+
+> [Nitya Narasimhan](https://github.com/nitya) မှ ရေးအမှတ်။ ပုံကို နှိပ်၍ ပိုမိုကြီးမားသော ဗားရှင်းကို ကြည့်ပါ။
+
+## သင်ခန်းစာမတိုင်မီ မေးခွန်းများ
+
+[သင်ခန်းစာမတိုင်မီ မေးခွန်းများ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/9)
+
+## အကျဉ်းချုပ်
+
+အပင်များသည် ကြီးထွားရန် ရေ၊ ကာဗွန်ဒိုင်အောက်ဆိုဒ်၊ အာဟာရ၊ အလင်းနှင့် အပူလိုအပ်သည်။ ဒီသင်ခန်းစာမှာ သင်သည် လေထုအပူချိန်ကို တိုင်းတာခြင်းအားဖြင့် အပင်များ၏ ကြီးထွားမှုနှင့် အရင့်အရွယ်နှုန်းကို တွက်ချက်နိုင်ရန် လေ့လာပါမည်။
+
+ဒီသင်ခန်းစာမှာ ကျွန်ုပ်တို့ ဖော်ပြမည့်အကြောင်းအရာများမှာ-
+
+* [ဒစ်ဂျစ်တယ် စိုက်ပျိုးရေး](../../../../../2-farm/lessons/1-predict-plant-growth)
+* [စိုက်ပျိုးရေးလုပ်ရာတွင် အပူချိန်က အရေးကြီးသည့်အကြောင်း](../../../../../2-farm/lessons/1-predict-plant-growth)
+* [ပတ်ဝန်းကျင်အပူချိန် တိုင်းတာခြင်း](../../../../../2-farm/lessons/1-predict-plant-growth)
+* [ကြီးထွားမှု ဒီဂရီရက်များ (GDD)](../../../../../2-farm/lessons/1-predict-plant-growth)
+* [အပူချိန်အာရုံခံကိရိယာဒေတာကို အသုံးပြု၍ GDD တွက်ချက်ခြင်း](../../../../../2-farm/lessons/1-predict-plant-growth)
+
+## ဒစ်ဂျစ်တယ် စိုက်ပျိုးရေး
+
+ဒစ်ဂျစ်တယ် စိုက်ပျိုးရေးသည် စိုက်ပျိုးရေးလုပ်ငန်းကို ပြောင်းလဲစေပြီး စိုက်ပျိုးရေးဆိုင်ရာ ဒေတာများကို စုဆောင်း၊ သိမ်းဆည်း၊ နှင့် ချက်ချင်းခွဲခြမ်းစိတ်ဖြာနိုင်စေသော ကိရိယာများကို အသုံးပြုသည်။ ယခုအချိန်တွင် World Economic Forum မှ 'Fourth Industrial Revolution' ဟု ဖော်ပြထားသည့် ကာလတွင် ရှိနေပြီး ဒစ်ဂျစ်တယ် စိုက်ပျိုးရေး၏ တိုးတက်မှုကို 'Fourth Agricultural Revolution' သို့မဟုတ် 'Agriculture 4.0' ဟု ခေါ်ဆိုထားသည်။
+
+> 🎓 ဒစ်ဂျစ်တယ် စိုက်ပျိုးရေးဆိုသည်မှာ 'စိုက်ပျိုးရေးတန်ဖိုးဆင့်ကမ်း' အားလုံးကိုလည်း အပါအဝင်ဖြစ်သည်။ ၎င်းသည် လယ်ယာမှ စားပွဲထိ ခရီးလမ်းတစ်ခုလုံးကို အပါအဝင်ဖြစ်ပြီး စားသောက်ကုန်များကို သယ်ဆောင်ခြင်းနှင့် အဆင့်ဆင့်လုပ်ငန်းများတွင် အရည်အသွေးကို စောင့်ကြည့်ခြင်း၊ ဂိုဒေါင်နှင့် e-commerce စနစ်များ၊ လယ်ယာစက်များငှားရမ်းခြင်း app များကိုပါ အပါအဝင်ဖြစ်သည်။
+
+ဒီအပြောင်းအလဲများသည် လယ်သမားများကို ထွက်ရှိမှုများတိုးတက်စေပြီး အပင်ပိုးသတ်ဆေးနှင့် ရေကို ပိုမိုထိရောက်စွာ အသုံးပြုနိုင်စေသည်။ များသောအားဖြင့် ချမ်းသာသောနိုင်ငံများတွင် အသုံးပြုနေသော်လည်း အာရုံခံကိရိယာများနှင့် အခြားကိရိယာများသည် slowly စျေးနှုန်းကျလာပြီး ဖွံ့ဖြိုးဆဲနိုင်ငံများတွင် ပိုမိုရရှိနိုင်စေသည်။
+
+ဒစ်ဂျစ်တယ် စိုက်ပျိုးရေးမှ ဖော်ဆောင်နိုင်သော နည်းလမ်းများမှာ-
+
+* အပူချိန်တိုင်းတာခြင်း - အပူချိန်ကို တိုင်းတာခြင်းအားဖြင့် လယ်သမားများသည် အပင်ကြီးထွားမှုနှင့် အရင့်အရွယ်ကို ခန့်မှန်းနိုင်သည်။
+* ရေချိုင့်ခြင်းကို အလိုအလျောက်လုပ်ဆောင်ခြင်း - မြေညီအာရုံခံကိရိယာများကို အသုံးပြု၍ မြေညီရေချိုင့်မှုကို တိုင်းတာပြီး မြေညီရေခြောက်သွေ့နေသောအခါ ရေချိုင့်စနစ်များကို ဖွင့်ခြင်း။ အချိန်ဇယားအရ ရေချိုင့်ခြင်းသည် ရေမလုံလောက်မှု သို့မဟုတ် ရေများလွန်ကဲမှုကို ဖြစ်စေနိုင်သည်။ မြေညီရေလိုအပ်သောအခါသာ ရေချိုင့်ခြင်းအားဖြင့် လယ်သမားများသည် ရေအသုံးပြုမှုကို အကောင်းဆုံးလုပ်ဆောင်နိုင်သည်။
+* ပိုးမွှားထိန်းချုပ်ခြင်း - လယ်သမားများသည် အလိုအလျောက်စက်ရုပ်များ သို့မဟုတ် ဒရုန်းများတွင် ကင်မရာများကို အသုံးပြု၍ ပိုးမွှားများကို စစ်ဆေးပြီး ပိုးသတ်ဆေးကို လိုအပ်သောနေရာတွင်သာ အသုံးပြုနိုင်သည်။ ၎င်းသည် ပိုးသတ်ဆေးအသုံးပြုမှုကို လျှော့ချပြီး ဒေသခံရေထွက်ပေါက်များသို့ ပိုးသတ်ဆေးရေစီးဆင်းမှုကို လျှော့ချနိုင်သည်။
+
+✅ သုတေသနလုပ်ပါ။ စိုက်ပျိုးရေးထွက်ရှိမှုများကို တိုးတက်စေရန် အသုံးပြုသော အခြားနည်းလမ်းများကို ရှာဖွေပါ။
+
+> 🎓 'Precision Agriculture' ဆိုသော စကားလုံးသည် လယ်ယာတစ်ခုစီ သို့မဟုတ် လယ်ယာတစ်ခု၏ အပိုင်းများအပေါ်တွင် စောင့်ကြည့်ခြင်း၊ တိုင်းတာခြင်းနှင့် တုံ့ပြန်ခြင်းကို ဖော်ပြသည်။ ၎င်းတွင် ရေ၊ အာဟာရနှင့် ပိုးမွှားအဆင့်များကို တိုင်းတာပြီး တိကျစွာ တုံ့ပြန်ခြင်း၊ ဥပမာအားဖြင့် လယ်ယာ၏ အပိုင်းငယ်တစ်ခုကိုသာ ရေချိုင့်ခြင်းတို့ ပါဝင်သည်။
+
+## စိုက်ပျိုးရေးလုပ်ရာတွင် အပူချိန်က အရေးကြီးသည့်အကြောင်း
+
+အပင်များကို လေ့လာသည့်အခါ ကျောင်းသားများသည် ရေ၊ အလင်း၊ ကာဗွန်ဒိုင်အောက်ဆိုဒ် (CO
+ဒီကုဒ်က CSV ဖိုင်ကိုဖွင့်ပြီးနောက်ဆုံးတွင် row အသစ်တစ်ခုကို ထည့်သွင်းပေးပါမည်။ အဆိုပါ row တွင် လူသိများသောပုံစံဖြင့် ဖော်ပြထားသော လက်ရှိရက်စွဲနှင့် အချိန်၊ ထို့နောက် IoT device မှ ရရှိသော အပူချိန် ပါဝင်ပါမည်။ ဒေတာကို [ISO 8601 ပုံစံ](https://wikipedia.org/wiki/ISO_8601) ဖြင့် timezone ပါပြီး microseconds မပါဘဲ သိမ်းဆည်းထားပါသည်။
+
+1. ယခုကုဒ်ကို ယခင်ကလိုပဲ run လုပ်ပါ၊ သေချာစွာ IoT device သည် ဒေတာပေးပို့နေသည်ဟု စစ်ဆေးပါ။ `temperature.csv` ဟုခေါ်သော CSV ဖိုင်တစ်ခုကို အတူတူသော folder တွင် ဖန်တီးပါမည်။ ၎င်းကိုကြည့်ပါက ရက်စွဲ/အချိန်များနှင့် အပူချိန်တိုင်းတာမှုများကို တွေ့ရမည်ဖြစ်သည်-
+
+ ```output
+ date,temperature
+ 2021-04-19T17:21:36-07:00,25
+ 2021-04-19T17:31:36-07:00,24
+ 2021-04-19T17:41:36-07:00,25
+ ```
+
+1. ဒေတာကို စုဆောင်းရန်အတွက် အချိန်အနည်းငယ်အထိ ကုဒ်ကို run လုပ်ပါ။ အကောင်းဆုံးအားဖြင့် တစ်နေ့လုံး run လုပ်ပြီး GDD တွက်ချက်ရန် လုံလောက်သော ဒေတာကို စုဆောင်းပါ။
+
+
+> 💁 Virtual IoT Device ကို အသုံးပြုနေပါက၊ random checkbox ကို ရွေးချယ်ပြီး အပူချိန်တန်ဖိုးတစ်ခုကို ပြန်ပေးစဉ် အမြဲတူညီသော အပူချိန်မရရှိစေရန် range တစ်ခုကို သတ်မှတ်ပါ။
+ 
+
+ > 💁 တစ်နေ့လုံး run လုပ်လိုပါက၊ သင့် server code ရှိသော ကွန်ပျူတာသည် အိပ်မသွားစေရန် သို့မဟုတ် power settings ကို ပြောင်းလဲခြင်းဖြင့် သို့မဟုတ် [ဒီ keep system active Python script](https://github.com/jaqsparow/keep-system-active) ကဲ့သို့သော script တစ်ခုကို အသုံးပြုခြင်းဖြင့် စီမံပါ။
+
+> 💁 ဒီကုဒ်ကို [code-server/temperature-sensor-server](../../../../../2-farm/lessons/1-predict-plant-growth/code-server/temperature-sensor-server) folder တွင် ရှာနိုင်ပါသည်။
+
+### Task - သိမ်းဆည်းထားသော ဒေတာကို အသုံးပြု၍ GDD တွက်ချက်ပါ
+
+Server သည် အပူချိန်ဒေတာကို စုဆောင်းပြီးပါက၊ အပင်အတွက် GDD ကို တွက်ချက်နိုင်ပါသည်။
+
+လက်ဖြင့်လုပ်ဆောင်ရန်အဆင့်များမှာ-
+
+1. အပင်အတွက် base temperature ကို ရှာပါ။ ဥပမာ- စတော်ဘယ်ရီများအတွက် base temperature သည် 10°C ဖြစ်သည်။
+
+1. `temperature.csv` မှ တစ်နေ့တာအတွက် အပူချိန်အမြင့်ဆုံးနှင့် အနိမ့်ဆုံးကို ရှာပါ။
+
+1. ယခင်ကပေးထားသော GDD တွက်ချက်မှုကို အသုံးပြု၍ GDD ကို တွက်ချက်ပါ။
+
+ဥပမာအားဖြင့် တစ်နေ့တာအတွက် အပူချိန်အမြင့်ဆုံးသည် 25°C ဖြစ်ပြီး အနိမ့်ဆုံးသည် 12°C ဖြစ်ပါက-
+
+
+
+* 25 + 12 = 37
+* 37 / 2 = 18.5
+* 18.5 - 10 = 8.5
+
+ထို့ကြောင့် စတော်ဘယ်ရီများသည် **8.5** GDD ရရှိထားပါသည်။ စတော်ဘယ်ရီများသည် သီးပွင့်ရန် 250 GDD လိုအပ်သောကြောင့် အချိန်အနည်းငယ်လိုအပ်သေးပါသည်။
+
+---
+
+## 🚀 စိန်ခေါ်မှု
+
+အပင်များသည် ကြီးထွားရန် အပူချိန်သာမက အခြားအရာများလည်း လိုအပ်ပါသည်။
+
+ဒီအရာများအတွက်၊ ၎င်းတို့ကို တိုင်းတာနိုင်သော sensor များ ရှိမရှိ ရှာဖွေပါ။ အဆင့်များကို ထိန်းချုပ်ရန် actuator များ ရှိပါသလား။ အပင်ကြီးထွားမှုကို အကောင်းဆုံးဖြစ်စေရန် IoT device တစ်ခု သို့မဟုတ် အများအပြားကို ဘယ်လိုပေါင်းစပ်မည်နည်း။
+
+## Post-lecture quiz
+
+[Post-lecture quiz](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/10)
+
+## ပြန်လည်သုံးသပ်ခြင်းနှင့် ကိုယ်တိုင်လေ့လာခြင်း
+
+* [Digital Agriculture Wikipedia page](https://wikipedia.org/wiki/Digital_agriculture) တွင် digital agriculture အကြောင်းကို ပိုမိုဖတ်ရှုပါ။ [Precision Agriculture Wikipedia page](https://wikipedia.org/wiki/Precision_agriculture) တွင် precision agriculture အကြောင်းကိုလည်း ဖတ်ရှုပါ။
+* GDD တွက်ချက်မှုအပြည့်အစုံသည် ဤနေရာတွင်ပေးထားသော ရိုးရှင်းသောနည်းလမ်းထက် ပိုမိုရှုပ်ထွေးပါသည်။ [Growing Degree Day Wikipedia page](https://wikipedia.org/wiki/Growing_degree-day) တွင် ရှုပ်ထွေးသော ဆင်ခြေဖုံးနှင့် baseline အောက်ရှိ အပူချိန်များကို ကိုင်တွယ်နည်းအကြောင်း ပိုမိုဖတ်ရှုပါ။
+* အနာဂတ်တွင် စားနပ်ရိက္ခာများ မလုံလောက်နိုင်ပါက ယနေ့ကဲ့သို့သော စိုက်ပျိုးနည်းများကို ဆက်လက်အသုံးပြုနေပါက ဖြစ်နိုင်ပါသည်။ [Hi-Tech Farms of Future video on YouTube](https://www.youtube.com/watch?v=KIEOuKD9KX8) တွင် အဆင့်မြင့်စိုက်ပျိုးနည်းများအကြောင်း ပိုမိုလေ့လာပါ။
+
+## လုပ်ငန်း
+
+[Jupyter Notebook အသုံးပြု၍ GDD ဒေတာကို ရှုထောင့်ဖော်ပြပါ](assignment.md)
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွဲအချော်များ သို့မဟုတ် အနားယူမှားမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/1-predict-plant-growth/assignment.md b/translations/my/2-farm/lessons/1-predict-plant-growth/assignment.md
new file mode 100644
index 00000000..635708b3
--- /dev/null
+++ b/translations/my/2-farm/lessons/1-predict-plant-growth/assignment.md
@@ -0,0 +1,57 @@
+
+# Jupyter Notebook အသုံးပြု၍ GDD ဒေတာကို မြင်သာအောင် ပြသခြင်း
+
+## လမ်းညွှန်ချက်များ
+
+ဒီသင်ခန်းစာမှာ သင် IoT ဆင်ဆာကို အသုံးပြုပြီး GDD ဒေတာကို စုဆောင်းခဲ့ပါသည်။ ကောင်းမွန်သော GDD ဒေတာရရှိရန်၊ များစွာသောရက်များအတွက် ဒေတာကို စုဆောင်းရန် လိုအပ်ပါသည်။ အပူချိန်ဒေတာကို မြင်သာအောင် ပြသရန်နှင့် GDD ကိုတွက်ချက်ရန် [Jupyter Notebooks](https://jupyter.org) ကဲ့သို့သော ကိရိယာများကို အသုံးပြုနိုင်ပါသည်။
+
+အရင်ဆုံး အချိန်အနည်းငယ်အတွင်း ဒေတာကို စုဆောင်းပါ။ သင့် IoT စက်ပစ္စည်း လည်ပတ်နေစဉ်အတွင်း သင့် server code ကို အချိန်မရွေး လည်ပတ်နေစေရန် သင့် power management ဆက်တင်များကို ပြင်ဆင်ရန် သို့မဟုတ် [ဒီ keep system active Python script](https://github.com/jaqsparow/keep-system-active) ကဲ့သို့သော အရာတစ်ခုခုကို အသုံးပြုပါ။
+
+အပူချိန်ဒေတာရရှိပြီးပါက၊ ဒီ repo ထဲမှာရှိတဲ့ Jupyter Notebook ကို အသုံးပြု၍ ဒေတာကို မြင်သာအောင် ပြသပြီး GDD ကိုတွက်ချက်နိုင်ပါသည်။ Jupyter notebooks တွင် *cells* ဟုခေါ်သော block များတွင် code နှင့် လမ်းညွှန်ချက်များကို ရောစပ်ထားသည်။ မကြာခဏ Python ကို အသုံးပြုသော code ဖြစ်သည်။ သင်သည် လမ်းညွှန်ချက်များကို ဖတ်ပြီး၊ code block တစ်ခုချင်းစီကို အဆင့်လိုက် လည်ပတ်နိုင်ပါသည်။ သင်သည် code ကို ပြင်ဆင်နိုင်ပါသည်။ ဥပမာအားဖြင့် ဒီ notebook တွင် သင့်အပင်အတွက် GDD ကိုတွက်ချက်ရန် အသုံးပြုမည့် အခြေခံအပူချိန်ကို ပြင်ဆင်နိုင်ပါသည်။
+
+1. `gdd-calculation` ဟုခေါ်သော ဖိုလ်ဒါတစ်ခု ဖန်တီးပါ။
+
+1. [gdd.ipynb](./code-notebook/gdd.ipynb) ဖိုင်ကို ဒေါင်းလုပ်ဆွဲပြီး `gdd-calculation` ဖိုလ်ဒါထဲသို့ ကူးထည့်ပါ။
+
+1. MQTT server မှ ဖန်တီးထားသော `temperature.csv` ဖိုင်ကို ကူးထည့်ပါ။
+
+1. `gdd-calculation` ဖိုလ်ဒါတွင် Python virtual environment အသစ်တစ်ခု ဖန်တီးပါ။
+
+1. Jupyter notebooks အတွက် pip packages အချို့နှင့် ဒေတာကို စီမံရန်နှင့် ပုံဖော်ရန် လိုအပ်သော libraries များကို ထည့်သွင်းပါ-
+
+ ```sh
+ pip install --upgrade pip
+ pip install pandas
+ pip install matplotlib
+ pip install jupyter
+ ```
+
+1. Jupyter တွင် notebook ကို လည်ပတ်ပါ-
+
+ ```sh
+ jupyter notebook gdd.ipynb
+ ```
+
+ Jupyter သည် စတင်လည်ပတ်ပြီး notebook ကို သင့် browser တွင် ဖွင့်ပါမည်။ notebook ထဲရှိ လမ်းညွှန်ချက်များကို လိုက်နာပြီး တိုင်းတာထားသော အပူချိန်များကို မြင်သာအောင် ပြသပြီး၊ growing degree days ကိုတွက်ချက်ပါ။
+
+ 
+
+## အကဲဖြတ်စံနှုန်း
+
+| စံနှုန်း | ထူးချွန်မှု | လုံလောက်မှု | တိုးတက်မှုလိုအပ်မှု |
+| -------- | --------- | -------- | ----------------- |
+| ဒေတာစုဆောင်းမှု | အနည်းဆုံး ၂ ရက်စာ ဒေတာကို ပြည့်စုံစွာ စုဆောင်းနိုင်ခြင်း | အနည်းဆုံး ၁ ရက်စာ ဒေတာကို ပြည့်စုံစွာ စုဆောင်းနိုင်ခြင်း | ဒေတာအနည်းငယ်ကိုသာ စုဆောင်းနိုင်ခြင်း |
+| GDD တွက်ချက်မှု | notebook ကို အောင်မြင်စွာ လည်ပတ်ပြီး GDD ကို တွက်ချက်နိုင်ခြင်း | notebook ကို အောင်မြင်စွာ လည်ပတ်နိုင်ခြင်း | notebook ကို လည်ပတ်နိုင်ခြင်း မရှိခြင်း |
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/1-predict-plant-growth/code-notebook/gdd.ipynb b/translations/my/2-farm/lessons/1-predict-plant-growth/code-notebook/gdd.ipynb
new file mode 100644
index 00000000..510ec011
--- /dev/null
+++ b/translations/my/2-farm/lessons/1-predict-plant-growth/code-notebook/gdd.ipynb
@@ -0,0 +1,165 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# အပူချိန်တိုးတက်မှုရက်များ\n",
+ "\n",
+ "ဒီ notebook က CSV ဖိုင်ထဲမှာ သိမ်းဆည်းထားတဲ့ အပူချိန်ဒေတာကို load လုပ်ပြီး အနက်နက်ဆန်းစစ်ပါတယ်။ ဒေတာကို graph ပုံစံနဲ့ ပြသပြီး၊ တစ်ရက်စီအတွက် အပူချိန်အမြင့်ဆုံးနဲ့ အနိမ့်ဆုံးတန်ဖိုးကို ပြသပေးပြီး GDD ကိုတွက်ချက်ပေးပါတယ်။\n",
+ "\n",
+ "ဒီ notebook ကို အသုံးပြုရန် -\n",
+ "\n",
+ "* `temperature.csv` ဖိုင်ကို ဒီ notebook ရှိ folder ထဲကို ကူးထည့်ပါ\n",
+ "* အပေါ်မှာရှိတဲ့ **▶︎ Run** ခလုတ်ကို အသုံးပြုပြီး cell အားလုံးကို run လုပ်ပါ။ ဒီဟာက ရွေးထားတဲ့ cell ကို run လုပ်ပြီးနောက်တစ်ခုဆီကို ရွှေ့သွားပါမယ်။\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "အောက်ပါဆဲလ်တွင် `base_temperature` ကို အပင်၏ အခြေခံအပူချိန်သို့ သတ်မှတ်ပါ။\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "base_temperature = 10"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "CSV ဖိုင်ကို pandas ကို အသုံးပြု၍ အခုတင်သွင်းရန် လိုအပ်ပါသည်\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "# Read the temperature CSV file\n",
+ "df = pd.read_csv('temperature.csv')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "plt.figure(figsize=(20, 10))\n",
+ "plt.plot(df['date'], df['temperature'])\n",
+ "plt.xticks(rotation='vertical');"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "ဒေတာကိုဖတ်ပြီးသွားလျှင် `date` ကော်လံအလိုက်အုပ်စုဖွဲ့နိုင်ပြီး၊ တစ်ရက်စီအတွက်အနိမ့်ဆုံးနှင့်အမြင့်ဆုံးအပူချိန်များကိုထုတ်ယူနိုင်သည်။\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Convert datetimes to pure dates so we can group by the date\n",
+ "df['date'] = pd.to_datetime(df['date']).dt.date\n",
+ "\n",
+ "# Group the data by date so it can be analyzed by date\n",
+ "data_by_date = df.groupby('date')\n",
+ "\n",
+ "# Get the minimum and maximum temperatures for each date\n",
+ "min_by_date = data_by_date.min()\n",
+ "max_by_date = data_by_date.max()\n",
+ "\n",
+ "# Join the min and max temperatures into one dataframe and flatten it\n",
+ "min_max_by_date = min_by_date.join(max_by_date, on='date', lsuffix='_min', rsuffix='_max')\n",
+ "min_max_by_date = min_max_by_date.reset_index()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def calculate_gdd(row):\n",
+ " return ((row['temperature_max'] + row['temperature_min']) / 2) - base_temperature\n",
+ "\n",
+ "# Calculate the GDD for each row\n",
+ "min_max_by_date['gdd'] = min_max_by_date.apply (lambda row: calculate_gdd(row), axis=1)\n",
+ "\n",
+ "# Print the results\n",
+ "print(min_max_by_date[['date', 'gdd']].to_string(index=False))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n---\n\n**ဝက်ဘ်ဆိုက်မှတ်ချက်**: \nဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးစားနေပါသော်လည်း၊ အလိုအလျောက်ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်သည်ကို ကျေးဇူးပြု၍ သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတည်သောရင်းမြစ်အဖြစ် သတ်မှတ်ပါ။ အရေးကြီးသော အချက်အလက်များအတွက် လူကောင်းမွန်သော ပရော်ဖက်ရှင်နယ်ဘာသာပြန်ဝန်ဆောင်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုမှားများ သို့မဟုတ် အဓိပ္ပါယ်မှားများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.9.1"
+ },
+ "metadata": {
+ "interpreter": {
+ "hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49"
+ }
+ },
+ "coopTranslator": {
+ "original_hash": "8fcf954f6042f0bf3601a2c836a09574",
+ "translation_date": "2025-08-28T18:18:43+00:00",
+ "source_file": "2-farm/lessons/1-predict-plant-growth/code-notebook/gdd.ipynb",
+ "language_code": "my"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/1-predict-plant-growth/pi-temp.md b/translations/my/2-farm/lessons/1-predict-plant-growth/pi-temp.md
new file mode 100644
index 00000000..df95816e
--- /dev/null
+++ b/translations/my/2-farm/lessons/1-predict-plant-growth/pi-temp.md
@@ -0,0 +1,125 @@
+
+# အပူချိန်တိုင်းတာခြင်း - Raspberry Pi
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင့်ရဲ့ Raspberry Pi ကို အပူချိန်အာရုံခံကိရိယာတစ်ခု ထည့်သွင်းပေးပါမည်။
+
+## ဟာ့ဒ်ဝဲ
+
+သင်အသုံးပြုမည့်အာရုံခံကိရိယာမှာ [DHT11 အပူချိန်နှင့် စိုထိုင်းဆ](https://www.seeedstudio.com/Grove-Temperature-Humidity-Sensor-DHT11.html) အာရုံခံကိရိယာဖြစ်ပြီး၊ အာရုံခံကိရိယာ ၂ ခုကို တစ်ခုတည်းအထုပ်အတွင်းတွဲဖက်ထားသည်။ ဒါဟာ အလွန်လူကြိုက်များပြီး၊ အပူချိန်၊ စိုထိုင်းဆနှင့် တစ်ခါတစ်ရံ လေထုဖိအားကို တွဲဖက်ထားသော ကုန်သွယ်စျေးကွက်တွင်ရရှိနိုင်သော အာရုံခံကိရိယာများစွာရှိသည်။ အပူချိန်အာရုံခံကိရိယာအစိတ်အပိုင်းမှာ အပူချိန်မြင့်တက်လာသည်နှင့်အမျှ အားပြင်းအားနည်းသွားသော thermistor ဖြစ်သော negative temperature coefficient (NTC) thermistor ဖြစ်သည်။
+
+ဒါဟာ ဒစ်ဂျစ်တယ်အာရုံခံကိရိယာဖြစ်ပြီး၊ အပူချိန်နှင့် စိုထိုင်းဆဒေတာကို microcontroller က ဖတ်နိုင်သော ဒစ်ဂျစ်တယ် signal ဖန်တီးရန် onboard ADC ပါရှိသည်။
+
+### အပူချိန်အာရုံခံကိရိယာကို ချိတ်ဆက်ပါ
+
+Grove အပူချိန်အာရုံခံကိရိယာကို Raspberry Pi နှင့် ချိတ်ဆက်နိုင်သည်။
+
+#### လုပ်ဆောင်ရန်
+
+အပူချိန်အာရုံခံကိရိယာကို ချိတ်ဆက်ပါ
+
+
+
+1. Grove cable တစ်ဖက်ကို စိုထိုင်းဆနှင့် အပူချိန်အာရုံခံကိရိယာ၏ socket တွင် ထည့်ပါ။ ၎င်းသည် တစ်ဖက်ဘက်သာ ထည့်နိုင်ပါသည်။
+
+1. Raspberry Pi ကို ပိတ်ထားပြီး၊ Grove cable ၏ တစ်ဖက်ကို Pi တွင် တပ်ထားသော Grove Base hat ၏ **D5** ဟု အမှတ်အသားပြထားသော digital socket တွင် ချိတ်ဆက်ပါ။ ဒီ socket သည် GPIO pin အနီးရှိ socket အတန်းတွင် ဘယ်ဘက်မှ ဒုတိယဖြစ်သည်။
+
+
+
+## အပူချိန်အာရုံခံကိရိယာကို အစီအစဉ်ရေးဆွဲပါ
+
+အခုအခါမှာ အပူချိန်အာရုံခံကိရိယာကို အသုံးပြုရန် အစီအစဉ်ရေးဆွဲနိုင်ပါပြီ။
+
+### လုပ်ဆောင်ရန်
+
+ကိရိယာကို အစီအစဉ်ရေးဆွဲပါ။
+
+1. Pi ကို ဖွင့်ပြီး boot ဖြစ်ရန် စောင့်ပါ
+
+1. VS Code ကို Pi တွင် တိုက်ရိုက်ဖွင့်ပါ၊ သို့မဟုတ် Remote SSH extension ကို အသုံးပြု၍ ချိတ်ဆက်ပါ။
+
+ > ⚠️ [သင်ခန်းစာ ၁ တွင် VS Code ကို စတင်အသုံးပြုရန် လမ်းညွှန်ချက်များကို လိုအပ်ပါက ပြန်လည်ကြည့်ရှုနိုင်သည်](../../../1-getting-started/lessons/1-introduction-to-iot/pi.md)။
+
+1. Terminal မှာ `pi` အသုံးပြုသူ၏ home directory တွင် `temperature-sensor` ဟုခေါ်သော folder အသစ်တစ်ခု ဖန်တီးပါ။ ဒီ folder တွင် `app.py` ဟုခေါ်သော ဖိုင်တစ်ခု ဖန်တီးပါ:
+
+ ```sh
+ mkdir temperature-sensor
+ cd temperature-sensor
+ touch app.py
+ ```
+
+1. ဒီ folder ကို VS Code တွင် ဖွင့်ပါ
+
+1. အပူချိန်နှင့် စိုထိုင်းဆအာရုံခံကိရိယာကို အသုံးပြုရန်၊ ထပ်မံ Pip package တစ်ခုကို install လုပ်ရန်လိုအပ်သည်။ VS Code တွင် Terminal မှာ အောက်ပါ command ကို အသုံးပြု၍ Pi တွင် Pip package ကို install လုပ်ပါ:
+
+ ```sh
+ pip3 install seeed-python-dht
+ ```
+
+1. `app.py` ဖိုင်တွင် လိုအပ်သော library များကို import လုပ်ရန် အောက်ပါ code ကို ထည့်ပါ:
+
+ ```python
+ import time
+ from seeed_dht import DHT
+ ```
+
+ `from seeed_dht import DHT` ဟုရေးထားသော statement သည် `seeed_dht` module မှ Grove အပူချိန်အာရုံခံကိရိယာနှင့် ဆက်သွယ်ရန် `DHT` sensor class ကို import လုပ်သည်။
+
+1. အပူချိန်အာရုံခံကိရိယာကို စီမံခန့်ခွဲသော class ၏ instance တစ်ခု ဖန်တီးရန် အပေါ်ရှိ code အပြီးတွင် အောက်ပါ code ကို ထည့်ပါ:
+
+ ```python
+ sensor = DHT("11", 5)
+ ```
+
+ ဒီဟာသည် **D**igital **H**umidity နှင့် **T**emperature sensor ကို စီမံခန့်ခွဲသော `DHT` class ၏ instance ကို ဖော်ပြသည်။ ပထမ parameter သည် အသုံးပြုနေသော sensor သည် *DHT11* sensor ဖြစ်ကြောင်းကို code ကို ပြောပြသည် - သင်အသုံးပြုနေသော library သည် ဒီ sensor ၏ အခြား variant များကိုလည်း ပံ့ပိုးသည်။ ဒုတိယ parameter သည် sensor သည် Grove base hat ၏ digital port `D5` တွင် ချိတ်ဆက်ထားသည်ဟု code ကို ပြောပြသည်။
+
+ > ✅ သတိပြုပါ၊ socket အားလုံးတွင် ထူးခြားသော pin နံပါတ်များရှိသည်။ Pin 0, 2, 4, နှင့် 6 သည် analog pin များဖြစ်ပြီး၊ pin 5, 16, 18, 22, 24, နှင့် 26 သည် digital pin များဖြစ်သည်။
+
+1. အပေါ်ရှိ code အပြီးတွင် အပူချိန် sensor တန်ဖိုးကို poll လုပ်ပြီး console တွင် print လုပ်ရန် အဆုံးမရှိသော loop တစ်ခု ထည့်ပါ:
+
+ ```python
+ while True:
+ _, temp = sensor.read()
+ print(f'Temperature {temp}°C')
+ ```
+
+ `sensor.read()` ကို ခေါ်ဆိုခြင်းသည် စိုထိုင်းဆနှင့် အပူချိန်၏ tuple ကို ပြန်လည်ပေးသည်။ သင့်အတွက် အပူချိန်တန်ဖိုးသာ လိုအပ်သောကြောင့် စိုထိုင်းဆကို မသုံးပါ။ အပူချိန်တန်ဖိုးကို console တွင် print လုပ်သည်။
+
+1. loop ၏ အဆုံးတွင် ၁၀ စက္ကန့်အနည်းငယ် sleep ထည့်ပါ၊ အပူချိန်အဆင့်များကို အဆက်မပြတ်စစ်ဆေးရန် မလိုအပ်ပါ။ sleep လုပ်ခြင်းသည် ကိရိယာ၏ လျှပ်စစ်စွမ်းအင်သုံးစွဲမှုကို လျှော့ချပေးသည်။
+
+ ```python
+ time.sleep(10)
+ ```
+
+1. VS Code Terminal မှာ အောက်ပါ command ကို အသုံးပြု၍ သင့် Python app ကို run လုပ်ပါ:
+
+ ```sh
+ python3 app.py
+ ```
+
+ သင် console တွင် အပူချိန်တန်ဖိုးများကို output ဖြစ်နေသည်ကို တွေ့ရပါမည်။ sensor ကို ပူစေရန် သင့်လက်မကို sensor ပေါ်တွင် ဖိထားခြင်း၊ သို့မဟုတ် fan အသုံးပြုခြင်းကဲ့သို့သော အရာများကို အသုံးပြု၍ တန်ဖိုးများပြောင်းလဲမှုကို ကြည့်ပါ:
+
+ ```output
+ pi@raspberrypi:~/temperature-sensor $ python3 app.py
+ Temperature 26°C
+ Temperature 26°C
+ Temperature 28°C
+ Temperature 30°C
+ Temperature 32°C
+ ```
+
+> 💁 ဒီ code ကို [code-temperature/pi](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/pi) folder တွင် ရှာဖွေနိုင်ပါသည်။
+
+😀 သင့်ရဲ့ အပူချိန် sensor အစီအစဉ်အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md b/translations/my/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md
new file mode 100644
index 00000000..bfe66233
--- /dev/null
+++ b/translations/my/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md
@@ -0,0 +1,71 @@
+
+# အပူချိန်ကို ထုတ်ဝေခြင်း - Virtual IoT Hardware နှင့် Raspberry Pi
+
+ဒီသင်ခန်းစာရဲ့ အပိုင်းမှာတော့ Raspberry Pi သို့မဟုတ် Virtual IoT Device က ရှာဖွေတွေ့ရှိထားတဲ့ အပူချိန်တန်ဖိုးတွေကို MQTT ကနေ ထုတ်ဝေပြီးနောက်ပိုင်း GDD တွက်ချက်ဖို့ အသုံးပြုနိုင်အောင် ပြုလုပ်ပါမယ်။
+
+## အပူချိန်ကို ထုတ်ဝေပါ
+
+အပူချိန်ကို ဖတ်ပြီးတာနဲ့ MQTT ကနေ 'server' code တစ်ခုဆီကို ထုတ်ဝေနိုင်ပါတယ်။ ဒီ code က အပူချိန်တန်ဖိုးတွေကို ဖတ်ပြီး GDD တွက်ချက်ဖို့ အသင့်ထားပေးပါမယ်။
+
+### တာဝန် - အပူချိန်ကို ထုတ်ဝေပါ
+
+အပူချိန်ဒေတာကို ထုတ်ဝေဖို့အတွက် device ကို အစီအစဉ်ရေးပါ။
+
+1. `temperature-sensor` app project ကို ဖွင့်ထားမဟုတ်ရင် ဖွင့်ပါ။
+
+1. Lesson 4 မှာ လုပ်ခဲ့တဲ့အတိုင်း MQTT ကို ချိတ်ဆက်ပြီး telemetry ပို့ဖို့ လုပ်ဆောင်ပါ။ ဒီအတွက် public Mosquitto broker ကို အသုံးပြုပါမယ်။
+
+ ဒီအဆင့်တွေကို လိုက်နာပါ-
+
+ - MQTT pip package ကို ထည့်ပါ။
+ - MQTT broker ကို ချိတ်ဆက်ဖို့ code ထည့်ပါ။
+ - Telemetry ကို ထုတ်ဝေဖို့ code ထည့်ပါ။
+
+ > ⚠️ [MQTT ချိတ်ဆက်ရန် လမ်းညွှန်ချက်များ](../../../1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md) နှင့် [telemetry ပို့ရန် လမ်းညွှန်ချက်များ](../../../1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md) ကို လိုအပ်ပါက Lesson 4 မှာ ပြန်ကြည့်ပါ။
+
+1. `client_name` က ဒီ project ရဲ့ နာမည်ကို ပြသနိုင်အောင် သေချာစေပါ-
+
+ ```python
+ client_name = id + 'temperature_sensor_client'
+ ```
+
+1. Telemetry အတွက်တော့ light value ပို့မယ့်အစား DHT sensor က ဖတ်ထားတဲ့ အပူချိန်တန်ဖိုးကို JSON document ရဲ့ `temperature` ဆိုတဲ့ property အနေနဲ့ ပို့ပါ-
+
+ ```python
+ _, temp = sensor.read()
+ telemetry = json.dumps({'temperature' : temp})
+ ```
+
+1. အပူချိန်တန်ဖိုးကို မကြာခဏ ဖတ်စရာမလိုပါဘူး - အချိန်အတိုအတွင်းမှာ များစွာပြောင်းလဲမှာ မဟုတ်လို့ `time.sleep` ကို ၁၀ မိနစ်အထိ သတ်မှတ်ပါ-
+
+ ```cpp
+ time.sleep(10 * 60);
+ ```
+
+ > 💁 `sleep` function က အချိန်ကို စက္ကန့်အနေနဲ့ ယူပါတယ်။ အလွယ်တကူ ဖတ်နိုင်အောင် ၁ မိနစ်မှာ ၆၀ စက္ကန့်ဆိုတာကို အသုံးပြုပြီး ၁၀ x (၁ မိနစ်မှာ ၆၀ စက္ကန့်) ဆိုတဲ့ တွက်ချက်မှုရလဒ်ကို ပေးထားပါတယ်။
+
+1. အစီအစဉ်ကို အရင်အပိုင်းမှာ လုပ်ခဲ့သလိုပဲ run လိုက်ပါ။ Virtual IoT device ကို အသုံးပြုနေတယ်ဆိုရင် CounterFit app ကို run ထားပြီး humidity နဲ့ temperature sensors ကို မှန်ကန်တဲ့ pins တွေမှာ ဖန်တီးထားတာ သေချာပါစေ။
+
+ ```output
+ pi@raspberrypi:~/temperature-sensor $ python3 app.py
+ MQTT connected!
+ Sending telemetry {"temperature": 25}
+ Sending telemetry {"temperature": 25}
+ ```
+
+> 💁 ဒီ code ကို [code-publish-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/virtual-device) folder သို့မဟုတ် [code-publish-temperature/pi](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/pi) folder မှာ ရှာနိုင်ပါတယ်။
+
+😀 သင့် device ကနေ telemetry အနေနဲ့ အပူချိန်ကို အောင်မြင်စွာ ထုတ်ဝေပြီးပါပြီ။
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားယူမှားမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md b/translations/my/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md
new file mode 100644
index 00000000..e929f8f8
--- /dev/null
+++ b/translations/my/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md
@@ -0,0 +1,154 @@
+
+# အပူချိန်တိုင်းတာခြင်း - အတု IoT ဟာ့ဒ်ဝဲ
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင့်ရဲ့အတု IoT စက်ပစ္စည်းမှာ အပူချိန်အာရုံခံကိရိယာတစ်ခု ထည့်သွင်းပါမည်။
+
+## အတု ဟာ့ဒ်ဝဲ
+
+အတု IoT စက်ပစ္စည်းသည် Grove Digital Humidity နှင့် Temperature အာရုံခံကိရိယာကို အတုအဖြစ်အသုံးပြုပါမည်။ ဒါက Raspberry Pi နှင့် Grove DHT11 အာရုံခံကိရိယာကို သုံးသလိုပဲ ဖြစ်စေပါသည်။
+
+ဒီအာရုံခံကိရိယာသည် **အပူချိန်အာရုံခံကိရိယာ** နှင့် **စိုထိုင်းဆအာရုံခံကိရိယာ** ကိုပေါင်းစပ်ထားပြီး၊ ဒီသင်ခန်းစာမှာတော့ အပူချိန်အာရုံခံကိရိယာကိုသာ အဓိကထားပါမည်။ ရုပ်ပိုင်းဆိုင်ရာ IoT စက်ပစ္စည်းတွင် အပူချိန်အာရုံခံကိရိယာသည် [thermistor](https://wikipedia.org/wiki/Thermistor) တစ်ခုဖြစ်ပြီး၊ အပူချိန်ပြောင်းလဲမှုကြောင့် တိုက်ရိုက်ခံစားရသော အားပြောင်းလဲမှုကိုတိုင်းတာသည်။ အပူချိန်အာရုံခံကိရိယာများသည် များသောအားဖြင့် ဒစ်ဂျစ်တယ်အာရုံခံကိရိယာများဖြစ်ပြီး၊ အတွင်းပိုင်းတွင် တိုင်းတာထားသော အားကို အပူချိန် (Celsius, Kelvin, Fahrenheit) အဖြစ် ပြောင်းလဲပေးပါသည်။
+
+### CounterFit တွင် အာရုံခံကိရိယာများ ထည့်သွင်းခြင်း
+
+စိုထိုင်းဆနှင့် အပူချိန်အာရုံခံကိရိယာများကို အသုံးပြုရန်အတွက်၊ CounterFit အက်ပ်တွင် အာရုံခံကိရိယာနှစ်ခုကို ထည့်သွင်းရမည်ဖြစ်သည်။
+
+#### လုပ်ငန်းစဉ် - CounterFit တွင် အာရုံခံကိရိယာများ ထည့်သွင်းခြင်း
+
+CounterFit အက်ပ်တွင် စိုထိုင်းဆနှင့် အပူချိန်အာရုံခံကိရိယာများကို ထည့်သွင်းပါ။
+
+1. သင့်ကွန်ပျူတာတွင် `temperature-sensor` ဟုခေါ်သော ဖိုလ်ဒါတစ်ခုတွင် `app.py` ဟုခေါ်သော ဖိုင်တစ်ခုနှင့် Python အမှန်တကယ်ပတ်ဝန်းကျင် (virtual environment) တစ်ခုဖြင့် Python အက်ပ်အသစ်တစ်ခု ဖန်တီးပါ။ ထို့နောက် CounterFit pip packages များကို ထည့်သွင်းပါ။
+
+ > ⚠️ [သင့်အားလိုအပ်ပါက Lesson 1 တွင် CounterFit Python ပရောဂျက် ဖန်တီးခြင်းနှင့် ပြင်ဆင်ခြင်းဆိုင်ရာ လမ်းညွှန်ချက်များကို ပြန်လည်ကြည့်ပါ](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md)။
+
+1. DHT11 အာရုံခံကိရိယာအတွက် CounterFit shim တစ်ခု ထည့်သွင်းရန် အပို Pip package တစ်ခု ထည့်သွင်းပါ။ သင့် virtual environment ကို အက်တိတ်ထားသော terminal မှ ထည့်သွင်းရမည်ဖြစ်သည်။
+
+ ```sh
+ pip install counterfit-shims-seeed-python-dht
+ ```
+
+1. CounterFit web app ကို အလုပ်လုပ်နေကြောင်း သေချာပါစေ။
+
+1. စိုထိုင်းဆအာရုံခံကိရိယာတစ်ခု ဖန်တီးပါ:
+
+ 1. *Sensors* ပန်းကန်ရှိ *Create sensor* ပုံးတွင် *Sensor type* ကို *Humidity* အဖြစ်ရွေးချယ်ပါ။
+
+ 1. *Units* ကို *Percentage* အဖြစ်ထားပါ။
+
+ 1. *Pin* ကို *5* အဖြစ်ထားပါ။
+
+ 1. **Add** ခလုတ်ကိုနှိပ်ပြီး Pin 5 တွင် စိုထိုင်းဆအာရုံခံကိရိယာကို ဖန်တီးပါ။
+
+ 
+
+ စိုထိုင်းဆအာရုံခံကိရိယာကို ဖန်တီးပြီး အာရုံခံကိရိယာများစာရင်းတွင် ပေါ်လာမည်။
+
+ 
+
+1. အပူချိန်အာရုံခံကိရိယာတစ်ခု ဖန်တီးပါ:
+
+ 1. *Sensors* ပန်းကန်ရှိ *Create sensor* ပုံးတွင် *Sensor type* ကို *Temperature* အဖြစ်ရွေးချယ်ပါ။
+
+ 1. *Units* ကို *Celsius* အဖြစ်ထားပါ။
+
+ 1. *Pin* ကို *6* အဖြစ်ထားပါ။
+
+ 1. **Add** ခလုတ်ကိုနှိပ်ပြီး Pin 6 တွင် အပူချိန်အာရုံခံကိရိယာကို ဖန်တီးပါ။
+
+ 
+
+ အပူချိန်အာရုံခံကိရိယာကို ဖန်တီးပြီး အာရုံခံကိရိယာများစာရင်းတွင် ပေါ်လာမည်။
+
+ 
+
+## အပူချိန်အာရုံခံကိရိယာ အက်ပ်ကို ပရိုဂရမ်ရေးခြင်း
+
+အပူချိန်အာရုံခံကိရိယာ အက်ပ်ကို ယခု CounterFit အာရုံခံကိရိယာများကို အသုံးပြု၍ ပရိုဂရမ်ရေးနိုင်ပါပြီ။
+
+### လုပ်ငန်းစဉ် - အပူချိန်အာရုံခံကိရိယာ အက်ပ်ကို ပရိုဂရမ်ရေးခြင်း
+
+အပူချိန်အာရုံခံကိရိယာ အက်ပ်ကို ပရိုဂရမ်ရေးပါ။
+
+1. `temperature-sensor` အက်ပ်ကို VS Code တွင် ဖွင့်ထားကြောင်း သေချာပါစေ။
+
+1. `app.py` ဖိုင်ကို ဖွင့်ပါ။
+
+1. CounterFit နှင့် အက်ပ်ကို ချိတ်ဆက်ရန် `app.py` ရဲ့ အပေါ်ဆုံးတွင် အောက်ပါကုဒ်ကို ထည့်ပါ:
+
+ ```python
+ from counterfit_connection import CounterFitConnection
+ CounterFitConnection.init('127.0.0.1', 5000)
+ ```
+
+1. လိုအပ်သော လိုက်ဘရရီများကို သွင်းယူရန် အောက်ပါကုဒ်ကို `app.py` ဖိုင်တွင် ထည့်ပါ:
+
+ ```python
+ import time
+ from counterfit_shims_seeed_python_dht import DHT
+ ```
+
+ `from seeed_dht import DHT` ဟူသော ကြေညာချက်သည် `counterfit_shims_seeed_python_dht` မော်ဂျူးမှ `DHT` အာရုံခံကလပ်ကို သွင်းယူပြီး၊ အတု Grove အပူချိန်အာရုံခံကိရိယာနှင့် အပြန်အလှန်ဆက်သွယ်ရန် အသုံးပြုသည်။
+
+1. အောက်ပါကုဒ်ကို အထက်ပါကုဒ်အောက်တွင် ထည့်ပါ၊ ဒါက အတု စိုထိုင်းဆနှင့် အပူချိန်အာရုံခံကိရိယာကို စီမံခန့်ခွဲသော ကလပ်၏ အတန်းတစ်ခုကို ဖန်တီးသည်:
+
+ ```python
+ sensor = DHT("11", 5)
+ ```
+
+ ဒီကုဒ်က **D**igital **H**umidity နှင့် **T**emperature အာရုံခံကိရိယာကို စီမံခန့်ခွဲသော `DHT` ကလပ်၏ အတန်းတစ်ခုကို ကြေညာသည်။ ပထမအချက်က သုံးနေသော အာရုံခံကိရိယာသည် အတု *DHT11* အာရုံခံကိရိယာဖြစ်ကြောင်း ပြောသည်။ ဒုတိယအချက်က အာရုံခံကိရိယာသည် port `5` တွင် ချိတ်ဆက်ထားကြောင်း ပြောသည်။
+
+ > 💁 CounterFit သည် စိုထိုင်းဆနှင့် အပူချိန်အာရုံခံကိရိယာကို 2 ခု ချိတ်ဆက်ခြင်းဖြင့် အတုအဖြစ် ပြုလုပ်သည်။ စိုထိုင်းဆအာရုံခံကိရိယာသည် `DHT` ကလပ် ဖန်တီးစဉ် ပေးထားသော pin တွင် ချိတ်ဆက်ပြီး၊ အပူချိန်အာရုံခံကိရိယာသည် နောက်တစ်ခု pin တွင် အလုပ်လုပ်သည်။ စိုထိုင်းဆအာရုံခံကိရိယာသည် pin 5 တွင်ရှိပါက၊ shim သည် အပူချိန်အာရုံခံကိရိယာကို pin 6 တွင် ရှိသည်ဟု ခန့်မှန်းသည်။
+
+1. အောက်ပါကုဒ်ကို ထည့်ပြီး၊ အပူချိန်အာရုံခံကိရိယာ၏ တန်ဖိုးကို စစ်ဆေးပြီး console တွင် ပုံနှိပ်ရန် အဆုံးမဲ့ loop တစ်ခု ဖန်တီးပါ:
+
+ ```python
+ while True:
+ _, temp = sensor.read()
+ print(f'Temperature {temp}°C')
+ ```
+
+ `sensor.read()` ကို ခေါ်ဆိုခြင်းဖြင့် စိုထိုင်းဆနှင့် အပူချိန် တန်ဖိုးများပါဝင်သော tuple တစ်ခုကို ပြန်ပေးသည်။ သင့်အား အပူချိန်တန်ဖိုးသာ လိုအပ်သောကြောင့် စိုထိုင်းဆကို မသုံးပါ။ အပူချိန်တန်ဖိုးကို console တွင် ပုံနှိပ်ပါမည်။
+
+1. loop အဆုံးတွင် တစ်ဆယ်စက္ကန့်အနည်းငယ် sleep ထည့်ပါ၊ အပူချိန်အဆင့်များကို အဆက်မပြတ် စစ်ဆေးရန် မလိုအပ်ပါ။ sleep သည် စက်ပစ္စည်း၏ လျှပ်စစ်စွမ်းအင်သုံးစွဲမှုကို လျှော့ချပေးသည်။
+
+ ```python
+ time.sleep(10)
+ ```
+
+1. VS Code Terminal မှ virtual environment ကို အက်တိတ်ထားပြီး အောက်ပါအတိုင်း Python အက်ပ်ကို အလုပ်လုပ်ရန် run ပါ:
+
+ ```sh
+ python app.py
+ ```
+
+1. CounterFit အက်ပ်မှ အက်ပ်က ဖတ်မည့် အပူချိန်အာရုံခံတန်ဖိုးကို ပြောင်းလဲပါ။ ဒါကို အောက်ပါနည်းလမ်းနှစ်ခုထဲမှ တစ်ခုဖြင့် ပြုလုပ်နိုင်သည်:
+
+ * အပူချိန်အာရုံခံကိရိယာ၏ *Value* ပုံးတွင် နံပါတ်တစ်ခု ထည့်ပြီး **Set** ခလုတ်ကိုနှိပ်ပါ။ သင်ထည့်သွင်းသော နံပါတ်သည် အာရုံခံကိရိယာမှ ပြန်ပေးမည့် တန်ဖိုးဖြစ်သည်။
+
+ * *Random* checkbox ကို စစ်ဆေးပြီး၊ *Min* နှင့် *Max* တန်ဖိုးများ ထည့်သွင်းပါ၊ ထို့နောက် **Set** ခလုတ်ကိုနှိပ်ပါ။ အာရုံခံကိရိယာသည် တန်ဖိုးတစ်ခု ဖတ်စဉ်တိုင်း *Min* နှင့် *Max* တန်ဖိုးအတွင်းရှိ အမှတ်တစ်ခုကို ဖတ်မည်ဖြစ်သည်။
+
+ သင်ထည့်သွင်းထားသော တန်ဖိုးများကို console တွင် မြင်ရမည်။ *Value* သို့မဟုတ် *Random* ဆက်တင်များကို ပြောင်းလဲပြီး တန်ဖိုးပြောင်းလဲမှုကို ကြည့်ပါ။
+
+ ```output
+ (.venv) ➜ temperature-sensor python app.py
+ Temperature 28.25°C
+ Temperature 30.71°C
+ Temperature 25.17°C
+ ```
+
+> 💁 ဒီကုဒ်ကို [code-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/virtual-device) ဖိုလ်ဒါတွင် ရှာနိုင်ပါသည်။
+
+😀 သင့်ရဲ့ အပူချိန်အာရုံခံကိရိယာ အက်ပ်အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md b/translations/my/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md
new file mode 100644
index 00000000..905b8a8f
--- /dev/null
+++ b/translations/my/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md
@@ -0,0 +1,82 @@
+
+# အပူချိန်ကို ထုတ်ပြန်ပါ - Wio Terminal
+
+ဒီသင်ခန်းစာအပိုင်းမှာ Wio Terminal က တွေ့ရှိထားတဲ့ အပူချိန်တန်ဖိုးတွေကို MQTT မှတစ်ဆင့် ထုတ်ပြန်မှာဖြစ်ပြီး၊ နောက်ပိုင်းမှာ GDD တွက်ချက်ဖို့ အသုံးပြုနိုင်အောင် ပြင်ဆင်မှာဖြစ်ပါတယ်။
+
+## အပူချိန်ကို ထုတ်ပြန်ပါ
+
+အပူချိန်ကို ဖတ်ပြီးတာနဲ့ MQTT မှတစ်ဆင့် 'server' ကုဒ်တစ်ခုဆီကို ထုတ်ပြန်နိုင်ပါတယ်၊ အဲဒီကုဒ်က အပူချိန်တန်ဖိုးတွေကို ဖတ်ပြီး သိမ်းဆည်းထားပြီး GDD တွက်ချက်ဖို့ အသုံးပြုနိုင်ပါတယ်။ Microcontroller တွေက အင်တာနက်ကနေ အချိန်ကို မဖတ်နိုင်သလို၊ အချိန်ကို အလိုအလျောက် စောင့်ကြည့်ဖို့ real-time clock မပါရှိပါဘူး၊ ဒါကြောင့် ဒီအရာတွေကို လိုအပ်တဲ့ hardware ရှိမရှိပေါ်မူတည်ပြီး device ကို အထူးစီမံရေးသားရပါမယ်။
+
+ဒီသင်ခန်းစာအတွက် အဆင်ပြေစေဖို့ အချိန်ကို sensor data နဲ့အတူ မပို့ပါဘူး၊ အစား server ကုဒ်က message ရရှိတဲ့အချိန်မှာ အချိန်ကို ထည့်ပေးနိုင်ပါတယ်။
+
+### လုပ်ဆောင်ရန်
+
+Device ကို အပူချိန် data ကို ထုတ်ပြန်ဖို့ စီမံရေးသားပါ။
+
+1. `temperature-sensor` Wio Terminal project ကို ဖွင့်ပါ။
+
+1. Lesson 4 မှာ လုပ်ခဲ့သလို MQTT နဲ့ ချိတ်ဆက်ပြီး telemetry ပို့ဖို့ လုပ်ဆောင်ပါ။ အများပြည်သူအသုံးပြုနိုင်တဲ့ Mosquitto broker ကို ပြန်လည်အသုံးပြုမှာဖြစ်ပါတယ်။
+
+ ဒီအဆင့်တွေမှာ ပါဝင်တာက:
+
+ - `.ini` ဖိုင်မှာ Seeed WiFi နဲ့ MQTT library တွေ ထည့်ပါ။
+ - WiFi နဲ့ ချိတ်ဆက်ဖို့ config ဖိုင်နဲ့ ကုဒ်ထည့်ပါ။
+ - MQTT broker နဲ့ ချိတ်ဆက်ဖို့ ကုဒ်ထည့်ပါ။
+ - Telemetry ပို့ဖို့ ကုဒ်ထည့်ပါ။
+
+ > ⚠️ [MQTT နဲ့ ချိတ်ဆက်ရန် လမ်းညွှန်ချက်များ](../../../1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md) နဲ့ [telemetry ပို့ရန် လမ်းညွှန်ချက်များ](../../../1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md) ကို လိုအပ်ပါက ပြန်လည်ကြည့်ပါ။
+
+1. `config.h` header ဖိုင်ထဲမှာ `CLIENT_NAME` က ဒီ project ကို ကိုယ်စားပြုနေမှန်း သေချာစေပါ။
+
+ ```cpp
+ const string CLIENT_NAME = ID + "temperature_sensor_client";
+ ```
+
+1. Telemetry အတွက် အလင်းတန်ဖိုး ပို့မယ့်အစား DHT sensor က ဖတ်ထားတဲ့ အပူချိန်တန်ဖိုးကို JSON document ထဲမှာ `temperature` ဆိုတဲ့ property အနေနဲ့ ပို့ပါ။ ဒီအတွက် `main.cpp` ထဲက `loop` function ကို ပြောင်းလဲရေးသားပါ။
+
+ ```cpp
+ float temp_hum_val[2] = {0};
+ dht.readTempAndHumidity(temp_hum_val);
+
+ DynamicJsonDocument doc(1024);
+ doc["temperature"] = temp_hum_val[1];
+ ```
+
+1. အပူချိန်တန်ဖိုးကို မကြာခဏ ဖတ်စရာ မလိုပါဘူး - အချိန်အတိုအတွင်းမှာ မပြောင်းလဲလွန်းပါဘူး၊ ဒါကြောင့် `loop` function ထဲမှာ `delay` ကို ၁၀ မိနစ်အထိ သတ်မှတ်ပါ။
+
+ ```cpp
+ delay(10 * 60 * 1000);
+ ```
+
+ > 💁 `delay` function က အချိန်ကို milliseconds နဲ့ယူပါတယ်၊ ဒါကြောင့် calculation ရလဒ်အနေနဲ့ ပေးထားတာကို အသုံးပြုရတာ ပိုမိုလွယ်ကူစေပါတယ်။ ၁,၀၀၀ms = ၁ စက္ကန့်၊ ၆၀ စက္ကန့် = ၁ မိနစ်၊ ဒါကြောင့် ၁၀ x (၆၀ စက္ကန့်) x (၁,၀၀၀ms) က ၁၀ မိနစ် delay ဖြစ်ပါတယ်။
+
+1. ဒီကုဒ်ကို Wio Terminal ထဲကို upload လုပ်ပြီး serial monitor ကို အသုံးပြုကာ MQTT broker ဆီကို အပူချိန် ပို့နေမှုကို ကြည့်ပါ။
+
+ ```output
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Connecting to WiFi..
+ Connected!
+ Attempting MQTT connection...connected
+ Sending telemetry {"temperature":25}
+ Sending telemetry {"temperature":25}
+ ```
+
+> 💁 ဒီကုဒ်ကို [code-publish-temperature/wio-terminal](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/wio-terminal) folder ထဲမှာ ရှာနိုင်ပါတယ်။
+
+😀 သင့် device မှာ အပူချိန်ကို telemetry အနေနဲ့ အောင်မြင်စွာ ထုတ်ပြန်ပြီးပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md b/translations/my/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md
new file mode 100644
index 00000000..ed3808be
--- /dev/null
+++ b/translations/my/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md
@@ -0,0 +1,143 @@
+
+# အပူချိန်တိုင်းတာခြင်း - Wio Terminal
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင့် Wio Terminal ကို အပူချိန်အာရုံခံကိရိယာတစ်ခု ထည့်သွင်းပြီး၊ အပူချိန်တန်ဖိုးများကို ဖတ်ရှုမည်ဖြစ်သည်။
+
+## ဟာ့ဒ်ဝဲ
+
+Wio Terminal အတွက် အပူချိန်အာရုံခံကိရိယာလိုအပ်သည်။
+
+သင်အသုံးပြုမည့်အာရုံခံကိရိယာမှာ [DHT11 အပူချိန်နှင့် စိုထိုင်းဆ](https://www.seeedstudio.com/Grove-Temperature-Humidity-Sensor-DHT11.html) အာရုံခံကိရိယာဖြစ်ပြီး၊ အာရုံခံကိရိယာ ၂ ခုကို တစ်ခုတည်းအထုပ်ထဲတွင် ပေါင်းစပ်ထားသည်။ ၎င်းသည် အလွန်လူကြိုက်များပြီး၊ အပူချိန်၊ စိုထိုင်းဆနှင့် တစ်ခါတစ်ရံ လေထုဖိအားကို ပေါင်းစပ်ထားသော ကိရိယာများကို ကုန်သွယ်စျေးကွက်တွင် ရရှိနိုင်သည်။ အပူချိန်အာရုံခံကိရိယာအစိတ်အပိုင်းမှာ အပူချိန်တက်လာသည်နှင့်အမျှ အားပြတ်မှုလျော့ကျသည့် NTC (Negative Temperature Coefficient) thermistor ဖြစ်သည်။
+
+ဤသည်မှာ ဒစ်ဂျစ်တယ်အာရုံခံကိရိယာဖြစ်ပြီး၊ အပူချိန်နှင့် စိုထိုင်းဆဒေတာပါဝင်သော ဒစ်ဂျစ်တယ် signal ကို microcontroller ဖတ်ရှုနိုင်ရန် onboard ADC ပါရှိသည်။
+
+### အပူချိန်အာရုံခံကိရိယာကို ချိတ်ဆက်ပါ
+
+Grove အပူချိန်အာရုံခံကိရိယာကို Wio Terminal ၏ ဒစ်ဂျစ်တယ်ပေါက်တွင် ချိတ်ဆက်နိုင်သည်။
+
+#### လုပ်ငန်း - အပူချိန်အာရုံခံကိရိယာကို ချိတ်ဆက်ပါ
+
+အပူချိန်အာရုံခံကိရိယာကို ချိတ်ဆက်ပါ။
+
+
+
+1. Grove cable ၏ တစ်ဖက်အဆုံးကို စိုထိုင်းဆနှင့် အပူချိန်အာရုံခံကိရိယာ၏ socket တွင် ထည့်ပါ။ ၎င်းသည် တစ်ဖက်ဘက်သာ ထည့်နိုင်ပါမည်။
+
+1. Wio Terminal ကို သင့်ကွန်ပျူတာ သို့မဟုတ် အခြား power supply မှ ချိတ်ဆက်ထားခြင်းမရှိဘဲ၊ Grove cable ၏ အခြားဖက်အဆုံးကို Wio Terminal ၏ screen ကိုကြည့်နေသောအခါ ညာဘက် Grove socket တွင် ချိတ်ဆက်ပါ။ ၎င်းသည် power button မှ အဝေးဆုံးရှိ socket ဖြစ်သည်။
+
+
+
+## အပူချိန်အာရုံခံကိရိယာကို အစီအစဉ်ရေးဆွဲပါ
+
+Wio Terminal ကို ယခုချိတ်ဆက်ထားသော အပူချိန်အာရုံခံကိရိယာကို အသုံးပြုရန် အစီအစဉ်ရေးဆွဲနိုင်ပါပြီ။
+
+### လုပ်ငန်း - အပူချိန်အာရုံခံကိရိယာကို အစီအစဉ်ရေးဆွဲပါ
+
+Device ကို အစီအစဉ်ရေးဆွဲပါ။
+
+1. PlatformIO ကို အသုံးပြု၍ Wio Terminal project အသစ်တစ်ခု ဖန်တီးပါ။ ဤ project ကို `temperature-sensor` ဟု အမည်ပေးပါ။ `setup` function တွင် serial port ကို configure လုပ်ရန် code ထည့်ပါ။
+
+ > ⚠️ [Project 1, Lesson 1 တွင် PlatformIO project ဖန်တီးရန် လမ်းညွှန်ချက်များကို လိုအပ်ပါက ပြန်လည်ကြည့်ရှုနိုင်သည်](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#create-a-platformio-project)။
+
+1. Project ၏ `platformio.ini` ဖိုင်တွင် Seeed Grove Humidity and Temperature sensor library အတွက် library dependency ကို ထည့်ပါ။
+
+ ```ini
+ lib_deps =
+ seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1
+ ```
+
+ > ⚠️ [Project 1, Lesson 4 တွင် PlatformIO project တွင် libraries ထည့်ရန် လမ်းညွှန်ချက်များကို လိုအပ်ပါက ပြန်လည်ကြည့်ရှုနိုင်သည်](../../../1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md#install-the-wifi-and-mqtt-arduino-libraries)။
+
+1. ရှိပြီးသား `#include ` အောက်တွင် အောက်ပါ `#include` directives များကို ထည့်ပါ။
+
+ ```cpp
+ #include
+ #include
+ ```
+
+ ဤသည်မှာ sensor နှင့် ဆက်သွယ်ရန် လိုအပ်သော ဖိုင်များကို import လုပ်သည်။ `DHT.h` header file တွင် sensor ကို အသုံးပြုရန် code ပါရှိပြီး၊ `SPI.h` header ကို ထည့်သွင်းခြင်းဖြင့် app ကို compile လုပ်သောအခါ sensor နှင့် ဆက်သွယ်ရန် လိုအပ်သော code ကို link လုပ်ပေးသည်။
+
+1. `setup` function မတိုင်မီ DHT sensor ကို ကြေညာပါ။
+
+ ```cpp
+ DHT dht(D0, DHT11);
+ ```
+
+ ဤသည်မှာ **D**igital **H**umidity နှင့် **T**emperature sensor ကို စီမံခန့်ခွဲရန် `DHT` class ၏ instance တစ်ခုကို ကြေညာသည်။ ၎င်းသည် Wio Terminal ၏ ညာဘက် Grove socket ဖြစ်သော port `D0` တွင် ချိတ်ဆက်ထားသည်။ ဒုတိယ parameter သည် အသုံးပြုနေသော sensor သည် *DHT11* sensor ဖြစ်ကြောင်း code ကို ပြောပြသည် - သင်အသုံးပြုနေသော library သည် sensor ၏ အခြား variant များကိုလည်း ပံ့ပိုးသည်။
+
+1. `setup` function တွင် serial connection ကို set up လုပ်ရန် code ထည့်ပါ။
+
+ ```cpp
+ void setup()
+ {
+ Serial.begin(9600);
+
+ while (!Serial)
+ ; // Wait for Serial to be ready
+
+ delay(1000);
+ }
+ ```
+
+1. `setup` function ၏ နောက်ဆုံး `delay` အပြီးတွင် DHT sensor ကို စတင်ရန် call ထည့်ပါ။
+
+ ```cpp
+ dht.begin();
+ ```
+
+1. `loop` function တွင် sensor ကို call လုပ်ပြီး serial port တွင် အပူချိန်ကို print လုပ်ရန် code ထည့်ပါ။
+
+ ```cpp
+ void loop()
+ {
+ float temp_hum_val[2] = {0};
+ dht.readTempAndHumidity(temp_hum_val);
+ Serial.print("Temperature: ");
+ Serial.print(temp_hum_val[1]);
+ Serial.println ("°C");
+
+ delay(10000);
+ }
+ ```
+
+ ဤ code သည် float 2 ခုပါဝင်သော အလွတ် array တစ်ခုကို ကြေညာပြီး၊ ၎င်းကို `DHT` instance တွင် `readTempAndHumidity` ကို call လုပ်သောအခါ pass လုပ်သည်။ ဤ call သည် array ကို 2 values ဖြင့် populate လုပ်သည် - humidity သည် array ၏ 0th item (C++ arrays သည် 0-based ဖြစ်သောကြောင့် 0th item သည် array ၏ 'ပထမ' item ဖြစ်သည်) တွင်သွားပြီး၊ အပူချိန်သည် 1st item တွင်သွားသည်။
+
+ အပူချိန်ကို array ၏ 1st item မှ ဖတ်ပြီး၊ serial port တွင် print လုပ်သည်။
+
+ > 🇺🇸 အပူချိန်ကို Celsius ဖြင့် ဖတ်သည်။ အမေရိကန်များအတွက်၊ ဤ Celsius တန်ဖိုးကို Fahrenheit သို့ ပြောင်းရန် Celsius တန်ဖိုးကို 5 ဖြင့်စားပြီး၊ 9 ဖြင့်မြှောက်ပြီး၊ 32 ကိုထည့်ပါ။ ဥပမာအားဖြင့် 20°C အပူချိန်ဖတ်ရှုမှုသည် ((20/5)*9) + 32 = 68°F ဖြစ်သည်။
+
+1. Code ကို build လုပ်ပြီး Wio Terminal သို့ upload လုပ်ပါ။
+
+ > ⚠️ [Project 1, Lesson 1 တွင် PlatformIO project ဖန်တီးရန် လမ်းညွှန်ချက်များကို လိုအပ်ပါက ပြန်လည်ကြည့်ရှုနိုင်သည်](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#write-the-hello-world-app)။
+
+1. Upload လုပ်ပြီးပါက serial monitor ကို အသုံးပြု၍ အပူချိန်ကို ကြည့်ရှုနိုင်သည်။
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Temperature: 25.00°C
+ Temperature: 25.00°C
+ Temperature: 25.00°C
+ Temperature: 24.00°C
+ ```
+
+> 💁 ဤ code ကို [code-temperature/wio-terminal](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/wio-terminal) folder တွင် ရှာနိုင်သည်။
+
+😀 သင့်အပူချိန်အာရုံခံကိရိယာအစီအစဉ်အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှု ဝန်ဆောင်မှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/2-detect-soil-moisture/README.md b/translations/my/2-farm/lessons/2-detect-soil-moisture/README.md
new file mode 100644
index 00000000..bb68cc1f
--- /dev/null
+++ b/translations/my/2-farm/lessons/2-detect-soil-moisture/README.md
@@ -0,0 +1,139 @@
+
+C ကို *I-squared-C* ဟုဖတ်ပြီး၊ multi-controller, multi-peripheral protocol တစ်ခုဖြစ်သည်။ ချိတ်ဆက်ထားသော device မည်သည့်ဟာမဆို controller သို့မဟုတ် peripheral အဖြစ်လုပ်ဆောင်နိုင်ပြီး၊ I²C bus (data ပေးပို့မှုအတွက် communication system) မှတစ်ဆင့် ဆက်သွယ်နိုင်သည်။ Data ကို addressed packets အဖြစ်ပေးပို့ပြီး၊ packet တစ်ခုစီတွင် ပေးပို့လိုသည့် connected device ၏ address ပါဝင်သည်။
+
+> 💁 ယခင်က ဒီမော်ဒယ်ကို master/slave ဟုခေါ်ဆိုခဲ့ပြီး၊ သို့သော် slavery နှင့်ဆက်နွယ်မှုကြောင့် ယခုအခါမှာ terminology ကိုလွှဲပြောင်းနေပါသည်။ [Open Source Hardware Association သည် controller/peripheral ဟုသတ်မှတ်ထား](https://www.oshwa.org/a-resolution-to-redefine-spi-signal-names/) သော်လည်း၊ အဟောင်း terminology ကိုတွေ့နိုင်သေးသည်။
+
+Devices တွင် I²C bus နှင့်ချိတ်ဆက်သည့်အခါ အသုံးပြုမည့် address ရှိပြီး၊ address သည် device တွင် hard coded ဖြစ်သည်။ ဥပမာအားဖြင့် Seeed မှ Grove sensor တစ်ခုစီတွင် တူညီသော address ရှိသည်။ light sensors အားလုံးတွင် တူညီသော address ရှိပြီး၊ buttons အားလုံးတွင် light sensor address နှင့်မတူသော address ရှိသည်။ အချို့သော devices တွင် jumper settings ပြောင်းခြင်း သို့မဟုတ် pins soldering ပြုလုပ်ခြင်းဖြင့် address ကိုပြောင်းနိုင်သည်။
+
+I²C တွင် 2 ခုသော main wires နှင့် 2 ခုသော power wires ပါဝင်သည်:
+
+| Wire | Name | Description |
+| ---- | --------- | ----------- |
+| SDA | Serial Data | ဒီ wire သည် devices များအကြား data ပေးပို့ရန်အသုံးပြုသည်။ |
+| SCL | Serial Clock | ဒီ wire သည် controller သတ်မှတ်ထားသော rate ဖြင့် clock signal ပေးပို့သည်။ |
+| VCC | Voltage common collector | Devices များအတွက် power supply ဖြစ်သည်။ ဒါသည် SDA နှင့် SCL wires များကို pull-up resistor ဖြင့် power ပေးသည်။ controller မရှိသောအခါ signal ကို off ပြုလုပ်သည်။ |
+| GND | Ground | Electrical circuit အတွက် common ground ဖြစ်သည်။ |
+
+
+
+Data ပေးပို့ရန်အတွက်၊ device တစ်ခုသည် start condition ကို issue ပြုလုပ်ပြီး၊ data ပေးပို့ရန်အဆင်သင့်ဖြစ်ကြောင်းပြသသည်။ ထိုအခါ၌ controller အဖြစ်လုပ်ဆောင်မည်။ controller သည် ဆက်သွယ်လိုသည့် device ၏ address နှင့် data ကို read သို့မဟုတ် write ပြုလုပ်လိုကြောင်းပေးပို့မည်။ Data ပေးပို့ပြီးပါက၊ controller သည် stop condition ကိုပေးပို့ပြီး၊ data ပေးပို့မှုပြီးဆုံးကြောင်းပြသသည်။ ထို့နောက်၊ အခြား device တစ်ခုသည် controller အဖြစ်လုပ်ဆောင်ပြီး data ပေးပို့ သို့မဟုတ် လက်ခံနိုင်သည်။
+
+2C တွင် အမြန်နှုန်းကန့်သတ်ချက်များရှိပြီး၊ အမြန်နှုန်းသတ်မှတ်ထားသော အခြေအနေ 3 မျိုးရှိသည်။ အမြန်ဆုံးအခြေအနေမှာ High Speed mode ဖြစ်ပြီး အမြန်နှုန်း 3.4Mbps (megabits per second) အထိရောက်နိုင်သည်။ သို့သော် အဲဒီအမြန်နှုန်းကို ထောက်ပံ့နိုင်သော စက်များမှာ အနည်းငယ်သာရှိသည်။ ဥပမာ Raspberry Pi သည် fast mode တွင် 400Kbps (kilobits per second) အမြန်နှုန်းဖြင့် ကန့်သတ်ထားသည်။ Standard mode သည် 100Kbps အမြန်နှုန်းဖြင့် လည်ပတ်သည်။
+
+> 💁 သင်၏ IoT hardware အဖြစ် Raspberry Pi နှင့် Grove Base hat ကို အသုံးပြုပါက၊ သင်သည် I2C sensors နှင့် ဆက်သွယ်ရန် အသုံးပြုနိုင်သော I2C sockets များကို board ပေါ်တွင် တွေ့နိုင်ပါမည်။ Analog Grove sensors များသည် ADC ကို အသုံးပြု၍ analog values များကို digital data အဖြစ်ပို့ပေးသောကြောင့်၊ သင်အသုံးပြုခဲ့သော light sensor သည် analog pin ကို simulation လုပ်ပြီး၊ Raspberry Pi သည် digital pins ကိုသာ ထောက်ပံ့နိုင်သောကြောင့် value ကို I2C မှတဆင့် ပို့ပေးခဲ့သည်။
+
+### Universal asynchronous receiver-transmitter (UART)
+
+UART သည် စက် 2 စက်အကြား ဆက်သွယ်မှုကို ခွင့်ပြုသော physical circuitry ဖြစ်သည်။ စက်တစ်ခုစီတွင် ဆက်သွယ်မှု pins 2 ခုရှိပြီး - transmit (Tx) နှင့် receive (Rx) ဖြစ်သည်။ ပထမစက်၏ Tx pin ကို ဒုတိယစက်၏ Rx pin နှင့် ချိတ်ဆက်ပြီး၊ ဒုတိယစက်၏ Tx pin ကို ပထမစက်၏ Rx pin နှင့် ချိတ်ဆက်ထားသည်။ ဤအခြေအနေသည် ဒေတာကို နှစ်ဖက် Direction မှ ပို့ပေးနိုင်စေသည်။
+
+* စက် 1 သည် ၎င်း၏ Tx pin မှ ဒေတာကို ပို့ပြီး၊ ဒုတိယစက်၏ Rx pin မှ လက်ခံသည်။
+* စက် 1 သည် ၎င်း၏ Rx pin မှ ဒုတိယစက်၏ Tx pin မှ ပို့သော ဒေတာကို လက်ခံသည်။
+
+
+
+> 🎓 ဒေတာကို တစ်ဘစ်စီ ပို့ပေးပြီး၊ ၎င်းကို *serial* communication ဟုခေါ်သည်။ အများစုသော operating systems နှင့် microcontrollers တွင် *serial ports* ရှိပြီး၊ ၎င်းသည် serial data ကို ပို့ပေးနိုင်သော connection များကို သင်၏ code မှ အသုံးပြုနိုင်သည်။
+
+UART devices တွင် [baud rate](https://wikipedia.org/wiki/Symbol_rate) (Symbol rate ဟုလည်းခေါ်သည်) ရှိပြီး၊ ဒေတာကို တစ်စက္ကန့်လျှင် ဘစ်များဖြင့် ပို့ပေးရန်နှင့် လက်ခံရန် အမြန်နှုန်းကို သတ်မှတ်သည်။ အများဆုံး baud rate သည် 9,600 ဖြစ်ပြီး၊ ဒါဟာ တစ်စက္ကန့်လျှင် 9,600 ဘစ် (0s နှင့် 1s) ကို ပို့ပေးသည်။
+
+UART သည် start နှင့် stop bits ကို အသုံးပြုသည် - ၎င်းသည် byte (8 bits) ဒေတာကို ပို့ရန်မပြုမီ start bit ကို ပို့ပြီး၊ 8 bits ပို့ပြီးလျှင် stop bit ကို ပို့သည်။
+
+UART အမြန်နှုန်းသည် hardware ပေါ်မူတည်ပြီး၊ အမြန်ဆုံး implementation များသည် 6.5 Mbps (megabits per second, သို့မဟုတ် တစ်စက္ကန့်လျှင် ဘစ်များ သန်းချီပို့ပေးနိုင်သည်) ကို မကျော်လွန်ပါ။
+
+သင်သည် UART ကို GPIO pins မှတဆင့် အသုံးပြုနိုင်သည် - pin တစ်ခုကို Tx အဖြစ် သတ်မှတ်ပြီး၊ pin တစ်ခုကို Rx အဖြစ် သတ်မှတ်ကာ၊ ၎င်းတို့ကို အခြားစက်နှင့် ချိတ်ဆက်နိုင်သည်။
+
+> 💁 သင်၏ IoT hardware အဖြစ် Raspberry Pi နှင့် Grove Base hat ကို အသုံးပြုပါက၊ သင်သည် UART protocol ကို အသုံးပြုသော sensors များနှင့် ဆက်သွယ်ရန် UART socket ကို board ပေါ်တွင် တွေ့နိုင်ပါမည်။
+
+### Serial Peripheral Interface (SPI)
+
+SPI သည် microcontroller တစ်ခုမှ storage device (ဥပမာ flash memory) တို့နှင့် ဆက်သွယ်ရန် အနီးကပ်အကွာအဝေးအတွင်း ဆက်သွယ်ရန်အတွက် ဒီဇိုင်းထုတ်ထားသည်။ ၎င်းသည် controller/peripheral model အပေါ် အခြေခံထားပြီး၊ controller တစ်ခု (အများအားဖြင့် IoT device ၏ processor) သည် peripherals များစွာနှင့် ဆက်သွယ်သည်။ controller သည် peripheral တစ်ခုကို ရွေးချယ်ပြီး၊ ဒေတာကို ပို့ပေးခြင်း သို့မဟုတ် တောင်းဆိုခြင်းဖြင့် အားလုံးကို ထိန်းချုပ်သည်။
+
+> 💁 I2C နှင့် တူသည့် controller နှင့် peripheral ဆိုသည့် term များသည် မကြာသေးမီက ပြောင်းလဲထားသောကြောင့်၊ အဟောင်း term များကို သင်တွေ့နိုင်ပါသည်။
+
+SPI controllers တွင် 3 wires ရှိပြီး၊ peripheral တစ်ခုစီအတွက် 1 extra wire ရှိသည်။ Peripherals တွင် wires 4 ခုရှိသည်။ ဤ wires များမှာ -
+
+| Wire | Name | Description |
+| ---- | --------- | ----------- |
+| COPI | Controller Output, Peripheral Input | controller မှ peripheral သို့ ဒေတာပို့ရန် wire |
+| CIPO | Controller Input, peripheral Output | peripheral မှ controller သို့ ဒေတာပို့ရန် wire |
+| SCLK | Serial Clock | controller မှ clock signal ပို့ရန် wire |
+| CS | Chip Select | controller တွင် peripherals တစ်ခုစီအတွက် wire များရှိပြီး၊ wire တစ်ခုစီသည် သက်ဆိုင် peripheral ၏ CS wire နှင့် ချိတ်ဆက်ထားသည်။ |
+
+
+
+CS wire သည် peripheral တစ်ခုစီကို တစ်ချိန်တည်းတွင် active ဖြစ်စေပြီး၊ COPI နှင့် CIPO wires မှတဆင့် ဆက်သွယ်သည်။ controller သည် peripheral ကို ပြောင်းလဲရန်လိုအပ်သောအခါ၊ လက်ရှိ active ဖြစ်နေသော peripheral ၏ CS wire ကို deactivate လုပ်ပြီး၊ နောက်တစ်ခုဆက်သွယ်လိုသော peripheral ၏ wire ကို activate လုပ်သည်။
+
+SPI သည် *full-duplex* ဖြစ်ပြီး၊ controller သည် COPI နှင့် CIPO wires ကို အသုံးပြု၍ တစ်ချိန်တည်းတွင် တစ်ခုတည်းသော peripheral မှ ဒေတာကို ပို့ပေးနိုင်သည်နှင့် လက်ခံနိုင်သည်။ SPI သည် SCLK wire ပေါ်ရှိ clock signal ကို အသုံးပြု၍ devices များကို sync လုပ်ထားသောကြောင့်၊ UART မှတဆင့် တိုက်ရိုက်ပို့ခြင်းလိုအပ်သည့် start နှင့် stop bits မလိုအပ်ပါ။
+
+SPI သည် အမြန်နှုန်းကန့်သတ်ချက်များမရှိဘဲ၊ implementation များသည် တစ်စက္ကန့်လျှင် megabytes များစွာကို ပို့ပေးနိုင်သည်။
+
+IoT developer kits များသည် SPI ကို GPIO pins အချို့မှတဆင့် ထောက်ပံ့သည်။ ဥပမာ Raspberry Pi တွင် GPIO pins 19, 21, 23, 24 နှင့် 26 ကို SPI အတွက် အသုံးပြုနိုင်သည်။
+
+### Wireless
+
+အချို့သော sensors များသည် Bluetooth (အဓိကအားဖြင့် Bluetooth Low Energy, BLE), LoRaWAN (**Lo**ng **Ra**nge low power networking protocol), သို့မဟုတ် WiFi ကဲ့သို့သော wireless protocols များကို အသုံးပြု၍ ဆက်သွယ်နိုင်သည်။ ၎င်းတို့သည် IoT device နှင့် physical connection မရှိသော remote sensors များအတွက် ခွင့်ပြုသည်။
+
+ဥပမာတစ်ခုမှာ စိုထိုင်းဆ sensors များဖြစ်သည်။ ၎င်းတို့သည် field အတွင်းရှိ စိုထိုင်းဆကို တိုင်းတာပြီး၊ LoRaWAN မှတဆင့် hub device သို့ ဒေတာကို ပို့ပေးသည်။ hub device သည် ဒေတာကို process လုပ်ခြင်း သို့မဟုတ် အင်တာနက်မှတဆင့် ပို့ပေးသည်။ ၎င်းသည် sensor ကို IoT device မှဝေးကွာစေပြီး၊ power consumption ကို လျှော့ချရန်နှင့် WiFi networks များ သို့မဟုတ် cables ရှည်များမလိုအပ်စေရန် အထောက်အကူပြုသည်။
+
+BLE သည် fitness trackers ကဲ့သို့သော advanced sensors များအတွက် လူကြိုက်များသည်။ ၎င်းတို့သည် sensors များစွာကို ပေါင်းစပ်ပြီး၊ sensor data ကို BLE မှတဆင့် သင်၏ဖုန်းကဲ့သို့သော IoT device သို့ ပို့ပေးသည်။
+
+✅ သင်၏ကိုယ်ပေါ်တွင်၊ အိမ်တွင် သို့မဟုတ် ကျောင်းတွင် bluetooth sensors များရှိပါသလား။ ၎င်းတို့တွင် အပူချိန် sensors, လူရှိမှု sensors, device trackers နှင့် fitness devices များ ပါဝင်နိုင်သည်။
+
+စီးပွားရေးစက်များအတွက် ချိတ်ဆက်ရန် လူကြိုက်များသောနည်းလမ်းတစ်ခုမှာ Zigbee ဖြစ်သည်။ Zigbee သည် WiFi ကို အသုံးပြု၍ devices များအကြား mesh networks ဖွဲ့စည်းသည်။ device တစ်ခုစီသည် အနီးအနားရှိ devices များစွာနှင့် ချိတ်ဆက်ပြီး၊ ပိုမိုချိတ်ဆက်မှုများကို ဖွဲ့စည်းသည်။ device တစ်ခုသည် အင်တာနက်သို့ message ပို့လိုသောအခါ၊ အနီးဆုံး devices များသို့ ပို့ပြီး၊ ၎င်းတို့သည် အနီးအနားရှိ devices များသို့ ဆက်လက်ပို့ပေးသည်။ အဲဒီလို ဆက်လက်ပို့ပေးပြီး coordinator သို့ရောက်လျှင် အင်တာနက်သို့ ပို့နိုင်သည်။
+
+> 🐝 Zigbee ဟုခေါ်သောအမည်သည် ပျားပျားများ၏ beehive သို့ပြန်လာပြီး waggle dance လုပ်သောအမည်မှ ဆင်းသက်လာသည်။
+
+## မြေစိုထိုင်းဆအဆင့်များကို တိုင်းတာပါ
+
+သင်သည် မြေစိုထိုင်းဆ sensor, IoT device, နှင့် အိမ်အပင် သို့မဟုတ် အနီးအနားရှိ မြေပြင်တစ်စက်ကို အသုံးပြု၍ မြေစိုထိုင်းဆအဆင့်ကို တိုင်းတာနိုင်သည်။
+
+### Task - မြေစိုထိုင်းဆကို တိုင်းတာပါ
+
+သင်၏ IoT device ကို အသုံးပြု၍ မြေစိုထိုင်းဆကို တိုင်းတာရန် သက်ဆိုင်သော လမ်းညွှန်ကို လိုက်နာပါ -
+
+* [Arduino - Wio Terminal](wio-terminal-soil-moisture.md)
+* [Single-board computer - Raspberry Pi](pi-soil-moisture.md)
+* [Single-board computer - Virtual device](virtual-device-soil-moisture.md)
+
+## Sensor calibration
+
+Sensors များသည် resistance သို့မဟုတ် capacitance ကဲ့သို့သော electrical properties များကို တိုင်းတာခြင်းအပေါ် မူတည်သည်။
+
+> 🎓 Resistance သည် ohms (Ω) ဖြင့် တိုင်းတာပြီး၊ လျှပ်စီးအားတစ်ခုသည် တစ်ခုခုမှ ဖြတ်သန်းသည့်အခါ၊ ၎င်းကို ဆန့်ကျင်မှုဘယ်လောက်ရှိသည်ကို ဖော်ပြသည်။ voltage ကို material တစ်ခုတွင် အသုံးပြုသောအခါ၊ current အရေအတွက်သည် material ၏ resistance အပေါ် မူတည်သည်။ [electrical resistance page on Wikipedia](https://wikipedia.org/wiki/Electrical_resistance_and_conductance) တွင် ပိုမိုဖတ်ရှုနိုင်သည်။
+
+> 🎓 Capacitance သည် farads (F) ဖြင့် တိုင်းတာပြီး၊ component သို့မဟုတ် circuit တစ်ခုသည် လျှပ်စွမ်းအားကို စုဆောင်းထားနိုင်စွမ်းကို ဖော်ပြသည်။ [capacitance page on Wikipedia](https://wikipedia.org/wiki/Capacitance) တွင် capacitance အကြောင်း ပိုမိုဖတ်ရှုနိုင်သည်။
+
+ဤတိုင်းတာမှုများသည် အမြဲတမ်း အသုံးဝင်မည်မဟုတ်ပါ - ဥပမာ temperature sensor တစ်ခုသည် 22.5KΩ အတိုင်းတာမှုကို ပေးခဲ့သည်ဟု စဉ်းစားပါ။ အဲဒီအတိုင်းတာမှုကို အသုံးဝင်သော unit သို့ ပြောင်းလဲရန် calibration လုပ်ရန်လိုအပ်သည် - ၎င်းသည် တိုင်းတာမှုများကို quantity တိုင်းတာမှုနှင့် ကိုက်ညီစေရန် ပြောင်းလဲခြင်းဖြစ်သည်။
+
+အချို့သော sensors များသည် pre-calibrated ဖြစ်ပြီး၊ ဥပမာ သင်ပြီးခဲ့သော သင်ခန်းစာတွင် အသုံးပြုခဲ့သော temperature sensor သည် °C အတိုင်းတာ unit ဖြင့် temperature measurement ကို ပြန်ပေးနိုင်ရန် အဆင်သင့်ဖြစ်နေသည်။ စက်ရုံတွင် sensor ပထမဆုံးတစ်ခုကို ထုတ်လုပ်သောအခါ၊ အတိအကျ temperature များကို exposure လုပ်ပြီး၊ resistance ကို တိုင်းတာသည်။ ၎င်းကို resistance (Ω) unit မှ °C unit သို့ ပြောင်းလဲနိုင်သော calculation တစ်ခုကို ဖန်တီးရန် အသုံးပြုသည်။
+
+> 💁 Resistance ကို temperature မှတွက်ရန် formula ကို [Steinhart–Hart equation](https://wikipedia.org/wiki/Steinhart–Hart_equation) ဟုခေါ်သည်။
+
+### မြေစိုထိုင်းဆ sensor calibration
+
+မြေစိုထိုင်းဆကို gravimetric သို့မဟုတ် volumetric water content ဖြင့် တိုင်းတာသည်။
+
+* Gravimetric သည် မြေ၏ dry weight တစ် unit အတွင်းရှိ ရေ၏ weight ကို တိုင်းတာသည်။ ၎င်းကို dry soil တစ်ကီလိုဂရမ်လျှင် ရေတစ်ကီလိုဂရမ်အဖြစ် တိုင်းတာသည်။
+* Volumetric သည် မြေ၏ dry volume တစ် unit အတွင်းရှိ ရေ၏ volume ကို တိုင်းတာသည်။ ၎င်းကို dry soil တစ် cubic metre လျှင် ရေတစ် cubic metre အဖြစ် တိုင်းတာသည်။
+
+> 🇺🇸 အမေရိကန်များအတွက်၊ unit များ၏ consistency ကြောင့်၊ ၎င်းတို့ကို ကီလိုဂရမ်များအစား ပေါင်များဖြင့် သို့မဟုတ် cubic metres အစား cubic feet ဖြင့် တိုင်းတာနိုင်သည်။
+
+မြေစိုထိုင်းဆ sensors များသည် electrical resistance သို့မဟုတ် capacitance ကို တိုင်းတာသည် - ၎င်းသည် မြေစိုထိုင်းဆအပေါ်သာမက မြေ၏အမျိုးအစားအပေါ်လည်း မူတည်သည်။ မြေတွင်ပါဝင်သော components များသည် electrical characteristics ကို ပြောင်းလဲနိုင်သည်။ ideal အနေဖြင့် sensors များကို calibration လုပ်သင့်သည် - ၎င်းသည် sensor မှ readings များကို သိပ္ပံနည်းကျနည်းလမ်းများဖြင့် ရရှိသော တိုင်းတာမှုများနှင့် နှိုင်းယှဉ်ခြင်းဖြစ်သည်။ ဥပမာ lab တစ်ခုသည် field တစ်ခု၏ gravimetric မြေစိုထိုင်းဆကို တစ်နှစ်လျှင် အချိန်အနည်းငယ်တွင် တိုင်းတာပြီး၊ ၎င်းတို့ကို sensor calibration အတွက် အသုံးပြုနိုင်သည်။
+
+
+
+အထက်ပါ graph သည် sensor ကို calibration လုပ်ရန် ပြသထားသည်။ voltage ကို capture လုပ်ပြီး၊ lab မှတဆင့် moist weight နှင့် dry weight ကို နှိုင်းယှဉ်ခြင်းဖြင့် တိုင်းတာသည် (wet weight ကို တိုင်းတာပြီး၊ အိုးဗန်တွင်ခြောက်သွေ့ပြီး dry weight ကို တိုင်းတာသည်။) အချို့သော readings များကို capture လုပ်ပြီး၊ graph ပေါ်တွင် plot လုပ်ကာ၊ points များကို line တစ်ခုဖြင့် fit လုပ်သည်။ ဤ line ကို IoT device မှ sensor readings များကို အမှန်တကယ် မြေစိုထိုင်းဆ measurement သို့ ပြောင်းလဲရန် အသုံးပြုနိုင်သည်။
+
+💁 Resistive မြေစိုထိုင်းဆ sensors များအတွက်၊ voltage သည် မြေစိုထိုင်းဆများလာသည်နှင့်အမျှ မြင့်တက်သည်။ Capacitive မြေစိုထိုင်းဆ sensors များအတွက်၊ voltage သည် မြေစိုထိုင်းဆများလာသည်နှင့်အမျှ ကျဆင်းသည်။ ထို့ကြောင့် graphs
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/2-detect-soil-moisture/assignment.md b/translations/my/2-farm/lessons/2-detect-soil-moisture/assignment.md
new file mode 100644
index 00000000..1375607b
--- /dev/null
+++ b/translations/my/2-farm/lessons/2-detect-soil-moisture/assignment.md
@@ -0,0 +1,61 @@
+
+# သင့်အာရုံခံကိရိယာကို ချိန်ညှိပါ
+
+## လမ်းညွှန်ချက်များ
+
+ဒီသင်ခန်းစာမှာ သင်သည် မြေစိုထိုင်းဆဆိုင်ရာ အာရုံခံကိရိယာမှ 0-1023 အကြားတန်ဖိုးများကို စုဆောင်းခဲ့ပါသည်။ ဒီတန်ဖိုးများကို အမှန်တကယ် မြေစိုထိုင်းဆအဖြစ် ပြောင်းလဲဖို့အတွက် သင့်အာရုံခံကိရိယာကို ချိန်ညှိရပါမည်။ ဒါကို မြေစမ်းသပ်မှုများမှ အချက်အလက်များကို ယူပြီး၊ ထိုစမ်းသပ်မှုများမှ Gravimetric မြေစိုထိုင်းဆအကြောင်းအရာကို တွက်ချက်ခြင်းဖြင့် ပြုလုပ်နိုင်ပါသည်။
+
+ဒီအဆင့်များကို လိုအပ်သောအချက်အလက်များရရှိရန် အကြိမ်ကြိမ် ထပ်မံလုပ်ဆောင်ရမည်ဖြစ်ပြီး၊ တစ်ခါတစ်လေမှာ မြေစိုထိုင်းဆအခြေအနေကွဲပြားမှုများဖြင့် ပြုလုပ်ရပါမည်။
+
+1. မြေစိုထိုင်းဆအာရုံခံကိရိယာကို အသုံးပြု၍ မြေစိုထိုင်းဆတန်ဖိုးကို တိုင်းတာပါ။ ဒီတန်ဖိုးကို မှတ်သားထားပါ။
+
+1. မြေစမ်းသပ်မှုကို ယူပြီး၊ အလေးချိန်ကို တိုင်းတာပါ။ ဒီအလေးချိန်ကို မှတ်သားထားပါ။
+
+1. မြေကို ခြောက်သွေ့အောင်လုပ်ပါ - 110°C (230°F) အပူချိန်ရှိသော အပူဖိုတွင် အချိန်အနည်းငယ်ထားခြင်းသည် အကောင်းဆုံးဖြစ်သည်၊ သို့မဟုတ် နေရောင်အောက်တွင်ထားခြင်း၊ သို့မဟုတ် အပူနွေးပြီးခြောက်သွေ့သောနေရာတွင် မြေကို အပြည့်အဝခြောက်သွေ့သည်အထိထားပါ။ မြေသည် အမှုန့်ပုံစံဖြစ်ပြီး လွတ်လပ်နေသင့်သည်။
+
+ > 💁 အတိအကျဆုံးရလဒ်များရရှိရန် ဓာတ်ခွဲခန်းတွင် အပူဖိုတွင် 48-72 နာရီခြောက်သွေ့အောင်ထားရမည်။ သင့်ကျောင်းတွင် အပူခြောက်စက်များရှိပါက၊ ပိုမိုကြာရှည်ခြောက်သွေ့အောင် ထားနိုင်မလား စဉ်းစားကြည့်ပါ။ ကြာရှည်ခြောက်သွေ့လေ၊ စမ်းသပ်မှုပိုမိုခြောက်သွေ့ပြီး ရလဒ်ပိုမိုတိကျလိမ့်မည်။
+
+1. မြေကို ထပ်မံအလေးချိန်တိုင်းတာပါ။
+
+ > 🔥 အပူဖိုတွင် ခြောက်သွေ့အောင်ထားခဲ့ပါက အေးချိပြီးမှ အလေးချိန်တိုင်းတာပါ!
+
+Gravimetric မြေစိုထိုင်းဆကို အောက်ပါအတိုင်း တွက်ချက်ပါ။
+
+
+
+* W - စိုသောမြေ၏အလေးချိန်
+* W - ခြောက်သောမြေ၏အလေးချိန်
+
+ဥပမာအားဖြင့်၊ သင်တွင် စိုသောမြေစမ်းသပ်မှုတစ်ခုရှိပြီး 212g ဖြစ်ကာ၊ ခြောက်သောအလေးချိန်မှာ 197g ဖြစ်သည်ဟုဆိုပါစို့။
+
+
+
+* W = 212g
+* W = 197g
+* 212 - 197 = 15
+* 15 / 197 = 0.076
+* 0.076 * 100 = 7.6%
+
+ဒီဥပမာတွင်၊ မြေသည် Gravimetric မြေစိုထိုင်းဆ 7.6% ရှိသည်။
+
+အနည်းဆုံး စမ်းသပ်မှု 3 ခုအတွက် အချက်အလက်များရရှိပြီးနောက်၊ မြေစိုထိုင်းဆ % နှင့် မြေစိုထိုင်းဆအာရုံခံကိရိယာမှ တိုင်းတာမှုများကို အချိုးကျဇယားပေါ်တွင် ရေးဆွဲပြီး၊ အချက်အလက်များကို အကောင်းဆုံးကိုယ်စားပြုလိုက်နာမှုလိုင်းတစ်ခုထည့်ပါ။ ထို့နောက် သင့်အာရုံခံကိရိယာမှ တိုင်းတာမှုတစ်ခုအတွက် Gravimetric မြေစိုထိုင်းဆအကြောင်းအရာကို အဆိုပါလိုင်းမှတစ်ဆင့် ဖတ်ရှု၍ တွက်ချက်နိုင်ပါသည်။
+
+## အကဲဖြတ်စံနှုန်း
+
+| စံနှုန်း | ထူးချွန် | လုံလောက် | တိုးတက်မှုလိုအပ် |
+| -------- | --------- | -------- | ----------------- |
+| ချိန်ညှိအချက်အလက်စုဆောင်းမှု | ချိန်ညှိစမ်းသပ်မှု 3 ခုအနည်းဆုံး စုဆောင်းနိုင်သည် | ချိန်ညှိစမ်းသပ်မှု 2 ခုအနည်းဆုံး စုဆောင်းနိုင်သည် | ချိန်ညှိစမ်းသပ်မှု 1 ခုအနည်းဆုံး စုဆောင်းနိုင်သည် |
+| ချိန်ညှိထားသော တိုင်းတာမှုပြုလုပ်မှု | ချိန်ညှိဇယားကို အောင်မြင်စွာရေးဆွဲပြီး အာရုံခံကိရိယာမှ တိုင်းတာမှုကို Gravimetric မြေစိုထိုင်းဆအကြောင်းအရာအဖြစ် ပြောင်းလဲနိုင်သည် | ချိန်ညှိဇယားကို အောင်မြင်စွာရေးဆွဲနိုင်သည် | ဇယားရေးဆွဲ၍ မရနိုင်ပါ |
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် ရှုယူသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md b/translations/my/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md
new file mode 100644
index 00000000..118ee673
--- /dev/null
+++ b/translations/my/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md
@@ -0,0 +1,25 @@
+
+# မြေညှင်းစိုထိုင်းဆ - Raspberry Pi
+
+ဒီသင်ခန်းစာအပိုင်းမှာ၊ သင်သည် capacitive မြေညှင်းစိုထိုင်းဆကို Raspberry Pi တွင် ထည့်သွင်းပြီး၊ ထိုမှတဆင့် အချက်အလက်များကို ဖတ်ရှုမည်ဖြစ်သည်။
+
+## ဟာ့ဒ်ဝဲ
+
+Raspberry Pi သည် capacitive မြေညှင်းစိုထိုင်းဆတစ်ခုလိုအပ်သည်။
+
+သင်အသုံးပြုမည့် ဆင်ဆာမှာ [Capacitive Soil Moisture Sensor](https://www.seeedstudio.com/Grove-Capacitive-Moisture-Sensor-Corrosion-Resistant.html) ဖြစ်ပြီး၊ မြေညှင်းစိုထိုင်းဆကို မြေညှင်း၏ capacitance ကို တိုင်းတာခြင်းဖြင့် တိုင်းတာသည်။ မြေညှင်းစိုထိုင်းဆသည် မြင့်မားလာသည့်အခါ၊ ဗို့အားသည် လျော့နည်းလာသည်။
+
+ဤသည်မှာ analog ဆင်ဆာဖြစ်ပြီး၊ analog pin ကို အသုံးပြုကာ၊ Pi တွင်ရှိသော Grove Base Hat ၏ 10-bit ADC ကို အသုံးပြု၍ ဗို့အားကို 1-1,023 အတွင်းရှိ ဒစ်ဂျစ်တယ်အချက်အလက်အဖြစ် ပြောင်းလဲသည်။ ထို့နောက် ဤအချက်အလက်ကို Pi ၏ GPIO pin များမှတဆင့် I
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md b/translations/my/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md
new file mode 100644
index 00000000..9f656789
--- /dev/null
+++ b/translations/my/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md
@@ -0,0 +1,123 @@
+
+# မြေစိုထိုင်းဆ - အွန်လိုင်း IoT ပစ္စည်း
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင့်ရဲ့ အွန်လိုင်း IoT ပစ္စည်းမှာ မြေစိုထိုင်းဆ အာရုံခံကိရိယာတစ်ခု ထည့်သွင်းပြီး၊ အာရုံခံကိရိယာမှ တန်ဖိုးများကို ဖတ်ရှုမည်ဖြစ်သည်။
+
+## အွန်လိုင်းပစ္စည်း
+
+အွန်လိုင်း IoT ပစ္စည်းသည် Grove capacitive မြေစိုထိုင်းဆ အာရုံခံကိရိယာကို အတုဆန့်ကျင်မှုဖြင့် အသုံးပြုမည်ဖြစ်သည်။ ဒါက Raspberry Pi နှင့် Grove capacitive မြေစိုထိုင်းဆ အာရုံခံကိရိယာကို အသုံးပြုခြင်းနှင့် တူညီသော လက်တွေ့စမ်းသပ်မှုကို ထိန်းသိမ်းပေးသည်။
+
+လက်တွေ့ IoT ပစ္စည်းတွင် မြေစိုထိုင်းဆ အာရုံခံကိရိယာသည် မြေစိုထိုင်းဆကို တိုင်းတာရန် မြေ၏ capacitance ကို သိရှိသော capacitive အာရုံခံကိရိယာဖြစ်သည်။ မြေစိုထိုင်းဆ ပမာဏများလာသည်နှင့်အမျှ voltage က ကျဆင်းသွားသည်။
+
+ဒီကိရိယာသည် analog sensor ဖြစ်ပြီး၊ 10-bit ADC ကို အတုဆန့်ကျင်မှုဖြင့် အသုံးပြုကာ 1-1,023 အတွင်းရှိ တန်ဖိုးကို ဖော်ပြသည်။
+
+### CounterFit တွင် မြေစိုထိုင်းဆ အာရုံခံကိရိယာ ထည့်သွင်းပါ
+
+အွန်လိုင်း မြေစိုထိုင်းဆ အာရုံခံကိရိယာကို အသုံးပြုရန် CounterFit app တွင် ထည့်သွင်းရန် လိုအပ်သည်။
+
+#### အလုပ် - CounterFit တွင် မြေစိုထိုင်းဆ အာရုံခံကိရိယာ ထည့်သွင်းပါ
+
+CounterFit app တွင် မြေစိုထိုင်းဆ အာရုံခံကိရိယာ ထည့်သွင်းပါ။
+
+1. သင့်ကွန်ပျူတာတွင် `soil-moisture-sensor` ဟုခေါ်သော folder တစ်ခုတွင် Python app အသစ်တစ်ခု ဖန်တီးပါ။ `app.py` ဟုခေါ်သော ဖိုင်တစ်ခုနှင့် Python virtual environment တစ်ခုပါရှိပြီး၊ CounterFit pip packages ကို ထည့်သွင်းပါ။
+
+ > ⚠️ [သင်ခန်းစာ 1 တွင် CounterFit Python project ဖန်တီးခြင်းနှင့် စတင်ခြင်းဆိုင်ရာ လမ်းညွှန်ချက်များကို လိုအပ်ပါက ပြန်လည်ကြည့်ရှုနိုင်သည်](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md)။
+
+1. CounterFit web app ကို run လုပ်ထားပါ။
+
+1. မြေစိုထိုင်းဆ အာရုံခံကိရိယာကို ဖန်တီးပါ:
+
+ 1. *Sensors* pane တွင် *Create sensor* box တွင် *Sensor type* box ကို drop down လုပ်ပြီး *Soil Moisture* ကို ရွေးပါ။
+
+ 1. *Units* ကို *NoUnits* အတိုင်းထားပါ။
+
+ 1. *Pin* ကို *0* အတိုင်းထားပါ။
+
+ 1. **Add** ခလုတ်ကို ရွေးပြီး *Soil Moisture* sensor ကို Pin 0 တွင် ဖန်တီးပါ။
+
+ 
+
+ မြေစိုထိုင်းဆ အာရုံခံကိရိယာကို ဖန်တီးပြီး sensor list တွင် ပေါ်လာမည်။
+
+ 
+
+## မြေစိုထိုင်းဆ အာရုံခံ app ကို အစီအစဉ်ရေးဆွဲပါ
+
+အခု မြေစိုထိုင်းဆ အာရုံခံ app ကို CounterFit sensors အသုံးပြုကာ အစီအစဉ်ရေးဆွဲနိုင်ပါပြီ။
+
+### အလုပ် - မြေစိုထိုင်းဆ အာရုံခံ app ကို အစီအစဉ်ရေးဆွဲပါ
+
+မြေစိုထိုင်းဆ အာရုံခံ app ကို အစီအစဉ်ရေးဆွဲပါ။
+
+1. `soil-moisture-sensor` app ကို VS Code တွင် ဖွင့်ထားပါ။
+
+1. `app.py` ဖိုင်ကို ဖွင့်ပါ။
+
+1. CounterFit နှင့် app ကို ချိတ်ဆက်ရန် `app.py` ဖိုင်၏ အပေါ်ပိုင်းတွင် အောက်ပါ code ကို ထည့်ပါ:
+
+ ```python
+ from counterfit_connection import CounterFitConnection
+ CounterFitConnection.init('127.0.0.1', 5000)
+ ```
+
+1. လိုအပ်သော libraries များကို import လုပ်ရန် အောက်ပါ code ကို `app.py` ဖိုင်တွင် ထည့်ပါ:
+
+ ```python
+ import time
+ from counterfit_shims_grove.adc import ADC
+ ```
+
+ `import time` statement သည် `time` module ကို import လုပ်ပြီး၊ ဒီ assignment တွင် နောက်ပိုင်းတွင် အသုံးပြုမည်ဖြစ်သည်။
+
+ `from counterfit_shims_grove.adc import ADC` statement သည် CounterFit sensor နှင့် ချိတ်ဆက်နိုင်သော virtual analog to digital converter ကို အသုံးပြုရန် `ADC` class ကို import လုပ်သည်။
+
+1. `ADC` class ၏ instance တစ်ခု ဖန်တီးရန် အောက်ပါ code ကို ထည့်ပါ:
+
+ ```python
+ adc = ADC()
+ ```
+
+1. Pin 0 တွင် ADC မှ ဖတ်ရှုပြီး၊ console တွင် ရလဒ်ကို ရေးသားမည့် infinite loop တစ်ခု ထည့်ပါ။ ဒီ loop သည် ဖတ်ရှုမှုများအကြား 10 စက္ကန့်အနားယူနိုင်သည်။
+
+ ```python
+ while True:
+ soil_moisture = adc.read(0)
+ print("Soil moisture:", soil_moisture)
+
+ time.sleep(10)
+ ```
+
+1. CounterFit app မှ မြေစိုထိုင်းဆ sensor ၏ တန်ဖိုးကို app မှ ဖတ်ရှုမည့်အခါ ပြောင်းလဲနိုင်သည်။ ဒါကို အောက်ပါနည်းလမ်းနှစ်ခုဖြင့် ပြုလုပ်နိုင်သည်:
+
+ * မြေစိုထိုင်းဆ sensor ၏ *Value* box တွင် နံပါတ်တစ်ခု ထည့်ပြီး **Set** ခလုတ်ကို ရွေးပါ။ သင်ထည့်သော နံပါတ်သည် sensor မှ ပြန်လည်ပေးသော တန်ဖိုးဖြစ်မည်။
+
+ * *Random* checkbox ကို အမှန်ခြစ်ပြီး၊ *Min* နှင့် *Max* တန်ဖိုးများ ထည့်ပါ၊ ထို့နောက် **Set** ခလုတ်ကို ရွေးပါ။ sensor မှ တန်ဖိုးကို ဖတ်ရှုသောအခါ *Min* နှင့် *Max* အကြားရှိ အလွတ်နံပါတ်တစ်ခုကို ဖတ်မည်။
+
+1. Python app ကို run လုပ်ပါ။ မြေစိုထိုင်းဆ တိုင်းတာမှုများကို console တွင် တွေ့မြင်ရမည်။ *Value* သို့မဟုတ် *Random* settings ကို ပြောင်းလဲပြီး တန်ဖိုးပြောင်းလဲမှုကို ကြည့်ပါ။
+
+ ```output
+ (.venv) ➜ soil-moisture-sensor $ python app.py
+ Soil moisture: 615
+ Soil moisture: 612
+ Soil moisture: 498
+ Soil moisture: 493
+ Soil moisture: 490
+ Soil Moisture: 388
+ ```
+
+> 💁 ဒီ code ကို [code/virtual-device](../../../../../2-farm/lessons/2-detect-soil-moisture/code/virtual-device) folder တွင် ရှာဖွေနိုင်သည်။
+
+😀 သင့်ရဲ့ မြေစိုထိုင်းဆ အာရုံခံ app အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွဲအချော်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md b/translations/my/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md
new file mode 100644
index 00000000..af827e4f
--- /dev/null
+++ b/translations/my/2-farm/lessons/2-detect-soil-moisture/wio-terminal-soil-moisture.md
@@ -0,0 +1,117 @@
+
+# မြေစိုထိုင်းဆ - Wio Terminal
+
+ဒီသင်ခန်းစာအပိုင်းမှာ Wio Terminal ကို capacitive မြေစိုထိုင်းဆာန့်ဆာတစ်ခု ထည့်သွင်းပြီး၊ အဲဒီဆာန့်ဆာမှ တန်ဖိုးများကို ဖတ်ယူပါမည်။
+
+## ဟာ့ဒ်ဝဲ
+
+Wio Terminal အတွက် capacitive မြေစိုထိုင်းဆာန့်ဆာတစ်ခု လိုအပ်ပါသည်။
+
+သင်အသုံးပြုမည့်ဆာန့်ဆာမှာ [Capacitive Soil Moisture Sensor](https://www.seeedstudio.com/Grove-Capacitive-Moisture-Sensor-Corrosion-Resistant.html) ဖြစ်ပြီး၊ မြေစိုထိုင်းဆကို မြေ၏ capacitance ကို တိုင်းတာခြင်းဖြင့် တိုင်းတာပါသည်။ မြေစိုထိုင်းဆ တိုးလာသည့်အခါ voltage က လျော့ကျသွားပါသည်။
+
+ဒီဆာန့်ဆာက analog ဆာန့်ဆာဖြစ်ပြီး၊ Wio Terminal ရဲ့ analog pin တွေကို ချိတ်ဆက်ကာ onboard ADC ကို အသုံးပြု၍ 0-1,023 အတွင်း တန်ဖိုးတစ်ခု ဖန်တီးပါသည်။
+
+### မြေစိုထိုင်းဆာန့်ဆာကို ချိတ်ဆက်ပါ
+
+Grove မြေစိုထိုင်းဆာန့်ဆာကို Wio Terminal ရဲ့ analog/digital port တွေထဲမှာ ချိတ်ဆက်နိုင်ပါသည်။
+
+#### လုပ်ငန်းစဉ် - မြေစိုထိုင်းဆာန့်ဆာကို ချိတ်ဆက်ပါ
+
+မြေစိုထိုင်းဆာန့်ဆာကို ချိတ်ဆက်ပါ။
+
+
+
+1. Grove ကေဘယ်တစ်ခုကို မြေစိုထိုင်းဆာန့်ဆာရဲ့ socket ထဲထည့်ပါ။ ဒါဟာ တစ်ဖက်ဘက်သာ ထည့်နိုင်ပါသည်။
+
+1. Wio Terminal ကို သင့်ကွန်ပျူတာ သို့မဟုတ် အခြားပါဝါထောက်ပံ့မှုမှ ချိတ်ဆက်ထားခြင်းမရှိဘဲ၊ Grove ကေဘယ်ရဲ့ အခြားဖက်ကို Wio Terminal ရဲ့ ညာဘက် Grove socket (power button မှ အဝေးဆုံး) ထဲထည့်ပါ။
+
+
+
+1. မြေစိုထိုင်းဆာန့်ဆာကို မြေထဲထည့်ပါ။ အမြင့်ဆုံးအနေအထားလိုင်း (sensor ပေါ်ရှိ အဖြူရောင်လိုင်း) ရှိပြီး၊ အဲဒီလိုင်းအထိသာ ထည့်ပါ၊ အဲဒီလိုင်းကို ကျော်မထည့်ပါနှင့်။
+
+
+
+1. ယခု Wio Terminal ကို သင့်ကွန်ပျူတာနှင့် ချိတ်ဆက်နိုင်ပါပြီ။
+
+## မြေစိုထိုင်းဆာန့်ဆာကို အစီအစဉ်ရေးပါ
+
+Wio Terminal ကို ယခုချိတ်ဆက်ထားသော မြေစိုထိုင်းဆာန့်ဆာကို အသုံးပြုရန် အစီအစဉ်ရေးနိုင်ပါပြီ။
+
+### လုပ်ငန်းစဉ် - မြေစိုထိုင်းဆာန့်ဆာကို အစီအစဉ်ရေးပါ
+
+စက်ကို အစီအစဉ်ရေးပါ။
+
+1. PlatformIO ကို အသုံးပြု၍ Wio Terminal project အသစ်တစ်ခု ဖန်တီးပါ။ ဒီ project ကို `soil-moisture-sensor` ဟု အမည်ပေးပါ။ `setup` function ထဲတွင် serial port ကို configure လုပ်ရန် code ထည့်ပါ။
+
+ > ⚠️ [Project 1, Lesson 1 မှ PlatformIO project ဖန်တီးနည်းအညွှန်းကို လိုအပ်ပါက ကြည့်ရှုနိုင်ပါသည်](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#create-a-platformio-project)။
+
+1. ဒီဆာန့်ဆာအတွက် library မရှိသည့်အတွက်၊ Arduino ရဲ့ [`analogRead`](https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/) function ကို အသုံးပြု၍ analog pin မှ ဖတ်ယူနိုင်ပါသည်။ analog pin ကို input အဖြစ် configure လုပ်ရန် `setup` function ထဲတွင် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ pinMode(A0, INPUT);
+ ```
+
+ ဒီ code က `A0` pin ကို input pin အဖြစ် သတ်မှတ်ပြီး၊ voltage ကို ဖတ်ယူနိုင်စေပါသည်။
+
+1. `loop` function ထဲတွင် အောက်ပါ code ကို ထည့်၍ pin မှ voltage ကို ဖတ်ပါ။
+
+ ```cpp
+ int soil_moisture = analogRead(A0);
+ ```
+
+1. အထက်ပါ code အောက်တွင် serial port သို့ တန်ဖိုးကို print လုပ်ရန် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ Serial.print("Soil Moisture: ");
+ Serial.println(soil_moisture);
+ ```
+
+1. နောက်ဆုံးတွင် 10 စက္ကန့်အနားယူရန် delay ထည့်ပါ။
+
+ ```cpp
+ delay(10000);
+ ```
+
+1. Code ကို build လုပ်ပြီး Wio Terminal သို့ upload လုပ်ပါ။
+
+ > ⚠️ [Project 1, Lesson 1 မှ PlatformIO project ဖန်တီးနည်းအညွှန်းကို လိုအပ်ပါက ကြည့်ရှုနိုင်ပါသည်](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#write-the-hello-world-app)။
+
+1. Upload ပြီးလျှင် serial monitor ကို အသုံးပြု၍ မြေစိုထိုင်းဆကို စောင့်ကြည့်နိုင်ပါသည်။ မြေထဲတွင် ရေထည့်ပါ၊ သို့မဟုတ် sensor ကို မြေထဲမှ ထုတ်ပါ၊ တန်ဖိုးပြောင်းလဲမှုကို ကြည့်ပါ။
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ Soil Moisture: 526
+ Soil Moisture: 529
+ Soil Moisture: 521
+ Soil Moisture: 494
+ Soil Moisture: 454
+ Soil Moisture: 456
+ Soil Moisture: 395
+ Soil Moisture: 388
+ Soil Moisture: 394
+ Soil Moisture: 391
+ ```
+
+ အထက်ပါ output ဥပမာတွင် ရေထည့်သည့်အခါ voltage လျော့ကျမှုကို တွေ့နိုင်ပါသည်။
+
+> 💁 ဒီ code ကို [code/wio-terminal](../../../../../2-farm/lessons/2-detect-soil-moisture/code/wio-terminal) folder တွင် ရှာနိုင်ပါသည်။
+
+😀 သင့်မြေစိုထိုင်းဆာန့်ဆာအစီအစဉ် အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**ဝက်ဘ်ဆိုက်မှတ်ချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးစားနေပါသော်လည်း၊ အလိုအလျောက်ဘာသာပြန်ဆိုမှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို ကျေးဇူးပြု၍ သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတည်သောရင်းမြစ်အဖြစ် သတ်မှတ်ရန် လိုအပ်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ အတည်ပြုထားသော ဘာသာပြန်ဆိုမှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်ဆိုမှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုမှားများ သို့မဟုတ် အဓိပ္ပာယ်မှားများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/3-automated-plant-watering/README.md b/translations/my/2-farm/lessons/3-automated-plant-watering/README.md
new file mode 100644
index 00000000..817d9bbf
--- /dev/null
+++ b/translations/my/2-farm/lessons/3-automated-plant-watering/README.md
@@ -0,0 +1,298 @@
+
+# အလိုအလျောက် အပင်ရေဖြည့်စနစ်
+
+
+
+> Sketchnote by [Nitya Narasimhan](https://github.com/nitya)။ ပုံကိုနှိပ်ပြီး အကြီးစားဗားရှင်းကိုကြည့်ပါ။
+
+ဒီသင်ခန်းစာကို [IoT for Beginners Project 2 - Digital Agriculture series](https://youtube.com/playlist?list=PLmsFUfdnGr3yCutmcVg6eAUEfsGiFXgcx) မှာ [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) ကနေ သင်ကြားခဲ့တာဖြစ်ပါတယ်။
+
+[](https://youtu.be/g9FfZwv9R58)
+
+## သင်ခန်းစာမတိုင်မီ စမ်းမေးခွန်း
+
+[သင်ခန်းစာမတိုင်မီ စမ်းမေးခွန်း](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/13)
+
+## နိဒါန်း
+
+ပြီးခဲ့သင်ခန်းစာမှာ မြေစိုထိုင်းဆကို မည်သို့စောင့်ကြည့်ရမည်ဆိုတာကို သင်လေ့လာခဲ့ပါသည်။ ဒီသင်ခန်းစာမှာတော့ မြေစိုထိုင်းဆကို အလိုအလျောက်တုံ့ပြန်နိုင်တဲ့ ရေဖြည့်စနစ်ရဲ့ အဓိကအစိတ်အပိုင်းတွေကို တည်ဆောက်နည်းကို သင်လေ့လာရမည်ဖြစ်ပြီး၊ အချိန်သတ်မှတ်မှုအကြောင်းလည်း လေ့လာရမည်ဖြစ်သည်။ အချိန်သတ်မှတ်မှုဆိုတာ ဆင်ဆာတွေက အပြောင်းအလဲကို တုံ့ပြန်ဖို့ အချိန်ယူရတာ၊ actuator တွေကလည်း ဆင်ဆာတွေက တိုင်းတာနေတဲ့ ပစ္စည်းရဲ့ အခြေအနေကို ပြောင်းလဲဖို့ အချိန်ယူရတာကို ဆိုလိုသည်။
+
+ဒီသင်ခန်းစာမှာ အောက်ပါအကြောင်းအရာများကို လေ့လာပါမည်-
+
+* [အနိမ့်ပါဝါ IoT စက်ကိရိယာမှ အမြင့်ပါဝါ စက်ကိရိယာများကို ထိန်းချုပ်ခြင်း](../../../../../2-farm/lessons/3-automated-plant-watering)
+* [Relay ကို ထိန်းချုပ်ခြင်း](../../../../../2-farm/lessons/3-automated-plant-watering)
+* [MQTT မှတစ်ဆင့် အပင်ကို ထိန်းချုပ်ခြင်း](../../../../../2-farm/lessons/3-automated-plant-watering)
+* [Sensor နှင့် actuator အချိန်သတ်မှတ်မှု](../../../../../2-farm/lessons/3-automated-plant-watering)
+* [အချိန်သတ်မှတ်မှုကို အပင်ထိန်းချုပ် server တွင် ထည့်သွင်းခြင်း](../../../../../2-farm/lessons/3-automated-plant-watering)
+
+## အနိမ့်ပါဝါ IoT စက်ကိရိယာမှ အမြင့်ပါဝါ စက်ကိရိယာများကို ထိန်းချုပ်ခြင်း
+
+IoT စက်ကိရိယာများသည် အနိမ့်ဗို့အားကို အသုံးပြုသည်။ ဒါဟာ sensor တွေ၊ LED တို့လို အနိမ့်ပါဝါ actuator တွေအတွက် လုံလောက်ပေမယ့် ရေစုပ်စက်လို အမြင့်ပါဝါ hardware တွေကို ထိန်းချုပ်ဖို့တော့ မလုံလောက်ပါဘူး။ အိမ်တွင်းအပင်များအတွက် အသုံးပြုနိုင်တဲ့ သေးငယ်တဲ့ စုပ်စက်တစ်ခုတောင် IoT dev kit အတွက် လုံလောက်တဲ့ လျှပ်စစ်စီးကြောင်းကို လိုအပ်ပြီး၊ board ကို ပျက်စီးစေနိုင်ပါသည်။
+
+> 🎓 လျှပ်စစ်စီးကြောင်း (Current) ကို Amp (A) ဖြင့် တိုင်းတာပြီး၊ လျှပ်စစ်စက်ဝိုင်းတစ်ခုအတွင်း လျှပ်စစ်စီးဆင်းမှု၏ ပမာဏကို ဆိုလိုသည်။ Voltage သည် အားပေးမှုဖြစ်ပြီး၊ Current သည် အားပေးမှုအတိုင်း စီးဆင်းမှု၏ ပမာဏဖြစ်သည်။ [Wikipedia ရဲ့ လျှပ်စစ်စီးကြောင်း စာမျက်နှာ](https://wikipedia.org/wiki/Electric_current) တွင် ပိုမိုဖတ်ရှုနိုင်ပါသည်။
+
+ဒီပြဿနာကို ဖြေရှင်းရန်အတွက် ရေစုပ်စက်ကို အပြင်ပေါ်ပါဝါထောက်ပံ့မှုနှင့် ချိတ်ဆက်ပြီး actuator တစ်ခုကို အသုံးပြုကာ စုပ်စက်ကို ဖွင့်/ပိတ်လုပ်ဆောင်ရမည်ဖြစ်သည်။ ဥပမာအားဖြင့် မီးဖွင့် switch ကို ဖိဖို့ လိုအပ်တဲ့ အနည်းငယ်သော ပါဝါ (သင့်ခန္ဓာကိုယ်မှ စွမ်းအင်) ကို အသုံးပြုကာ မီးကို 110v/240v မိန်းလျှပ်စစ်ဓာတ်အားနှင့် ချိတ်ဆက်သလိုပင် ဖြစ်သည်။
+
+
+
+> 🎓 [မိန်းလျှပ်စစ်ဓာတ်အား](https://wikipedia.org/wiki/Mains_electricity) သည် ကမ္ဘာ့အချို့ဒေသများတွင် အိမ်နှင့် စီးပွားရေးလုပ်ငန်းများသို့ အမျိုးသားအဆင့်အခြေခံအဆောက်အအုံမှတစ်ဆင့် ပေးပို့သော လျှပ်စစ်ဓာတ်အားကို ဆိုလိုသည်။
+
+✅ IoT စက်ကိရိယာများသည် 3.3V သို့မဟုတ် 5V ကို ပေးနိုင်ပြီး၊ လျှပ်စစ်စီးကြောင်း 1 amp (1A) ထက်နည်းသည်။ ဒါကို မိန်းလျှပ်စစ်ဓာတ်အားနှင့် နှိုင်းယှဉ်ပါက 230V (မြောက်အမေရိကတွင် 120V၊ ဂျပန်တွင် 100V) ဖြစ်ပြီး၊ 30A အထိ စက်ကိရိယာများကို ပါဝါပေးနိုင်သည်။
+
+ဒီလိုလုပ်ဆောင်နိုင်တဲ့ actuator အမျိုးအစားများစွာရှိပြီး၊ ရှိပြီးသား switch များကို လက်ချောင်းဖြင့် ဖိသလိုလုပ်ဆောင်နိုင်သော စက်ပိုင်းဆိုင်ရာပစ္စည်းများလည်း ပါဝင်သည်။ အများဆုံးအသုံးပြုသော actuator သည် relay ဖြစ်သည်။
+
+### Relay များ
+
+Relay သည် လျှပ်စစ် signal ကို စက်ပိုင်းဆိုင်ရာ လှုပ်ရှားမှုအဖြစ် ပြောင်းလဲကာ switch ကို ဖွင့်/ပိတ်လုပ်ဆောင်သော electromechanical switch တစ်ခုဖြစ်သည်။ Relay ၏ အဓိကအစိတ်အပိုင်းမှာ electromagnet ဖြစ်သည်။
+
+> 🎓 [Electromagnet](https://wikipedia.org/wiki/Electromagnet) သည် ဝါယာကြိုးတစ်ချောင်းကို လျှပ်စစ်ဓာတ်အားဖြင့် စီးဆင်းစေခြင်းဖြင့် ဖန်တီးသော သံလိုက်ဖြစ်သည်။ လျှပ်စစ်ဓာတ်အားကို ဖွင့်လိုက်သောအခါ၊ ဝါယာကြိုးသည် သံလိုက်ဖြစ်လာသည်။ လျှပ်စစ်ဓာတ်အားကို ပိတ်လိုက်သောအခါ၊ သံလိုက်ဓာတ်အားကို ဆုံးရှုံးသွားသည်။
+
+
+
+Relay တစ်ခုတွင် control circuit သည် electromagnet ကို ပါဝါပေးသည်။ Electromagnet ဖွင့်ထားသောအခါ၊ လှံတံတစ်ခုကို ဆွဲဆောင်ကာ switch ကို ရွှေ့ပြီး output circuit ကို ပြည့်စုံစေသည်။
+
+
+
+Control circuit ပိတ်ထားသောအခါ၊ electromagnet သည် ပိတ်ထားပြီး၊ လှံတံကို လွှတ်လိုက်ကာ contact များကို ဖွင့်ပြီး output circuit ကို ပိတ်ထားသည်။ Relay များသည် digital actuator များဖြစ်ပြီး၊ relay ကို ဖွင့်ရန် high signal တစ်ခုလိုအပ်ပြီး၊ ပိတ်ရန် low signal တစ်ခုလိုအပ်သည်။
+
+Output circuit ကို အပင်ရေဖြည့်စနစ်လို ထပ်မံသော hardware များကို ပါဝါပေးရန် အသုံးပြုနိုင်သည်။ IoT စက်ကိရိယာသည် relay ကို ဖွင့်ကာ output circuit ကို ပြည့်စုံစေပြီး အပင်များကို ရေဖြည့်ပေးနိုင်သည်။ ထို့နောက် IoT စက်ကိရိယာသည် relay ကို ပိတ်ကာ ရေဖြည့်စနစ်ကို ပိတ်နိုင်သည်။
+
+
+
+အထက်ပါဗီဒီယိုတွင် relay တစ်ခုကို ဖွင့်ထားသည်။ Relay board တစ်ခုတွင် relay ဖွင့်/ပိတ်ထားမှုကို ပြသရန် LED များပါဝင်နိုင်ပြီး၊ relay ဖွင့်ထားသောအခါ LED သည် လင်းနေသည်။ Power သည် စုပ်စက်သို့ ပေးပို့ပြီး၊ စုပ်စက်သည် ရေကို အပင်သို့ စုပ်ပေးသည်။
+
+> 💁 Relay များကို output circuit နှစ်ခုအကြား ပြောင်းရွှေ့ရန်လည်း အသုံးပြုနိုင်သည်။ လှံတံရွှေ့သောအခါ၊ output circuit တစ်ခုမှ အခြား output circuit သို့ ပြောင်းရွှေ့ပြီး၊ ပုံမှန်အားဖြင့် common power connection သို့မဟုတ် common ground connection ကို မျှဝေထားသည်။
+
+✅ သုတေသနလုပ်ပါ- Relay မျိုးစုံရှိပြီး၊ control circuit သည် power ပေးသောအခါ relay ကို ဖွင့်/ပိတ်လုပ်ဆောင်မှု၊ output circuit များအရ သာမန် relay များနှင့် ကွဲပြားမှုများရှိသည်။ Relay မျိုးစုံအကြောင်းကို ရှာဖွေပါ။
+
+လှံတံရွှေ့သောအခါ၊ electromagnet နှင့် ဆက်သွယ်မှုကို သေချာသော click အသံဖြင့် ကြားနိုင်သည်။
+
+> 💁 Relay ကို wiring ပြုလုပ်ရာတွင်၊ connection ပြုလုပ်မှုသည် relay ကို ပိတ်စေပြီး၊ relay ပိတ်သောအခါ ပြန်ဖွင့်စေသည့်ပုံစံဖြင့် wiring ပြုလုပ်နိုင်သည်။ ဒီလိုဖြစ်သောအခါ relay သည် အလွန်မြန်စွာ click အသံထွက်ပြီး buzzing အသံဖြစ်စေသည်။ ဤနည်းလမ်းသည် ပထမဆုံးသော လျှပ်စစ်တံခါးခေါင်းစက်များတွင် အသုံးပြုခဲ့သည်။
+
+### Relay ပါဝါ
+
+Electromagnet သည် လှံတံကို ဆွဲဆောင်ရန် အနည်းငယ်သော ပါဝါသာ လိုအပ်ပြီး၊ IoT dev kit ၏ 3.3V သို့မဟုတ် 5V output ဖြင့် ထိန်းချုပ်နိုင်သည်။ Output circuit သည် relay အမျိုးအစားပေါ်မူတည်ပြီး၊ မိန်းလျှပ်စစ်ဓာတ်အား သို့မဟုတ် စက်မှုလုပ်ငန်းအတွက် အမြင့်ပါဝါအဆင့်များကိုပါ ထိန်းချုပ်နိုင်သည်။ IoT dev kit သည် သေးငယ်သော အပင်တစ်ပင်အတွက် ရေဖြည့်စနစ်မှ စီးပွားရေးလုပ်ငန်းတစ်ခုလုံးအတွက် စက်မှုလုပ်ငန်းစနစ်အထိ ထိန်းချုပ်နိုင်သည်။
+
+
+
+အထက်ပါပုံတွင် Grove relay ကို ဖော်ပြထားသည်။ Control circuit သည် IoT စက်ကိရိယာနှင့် ချိတ်ဆက်ပြီး 3.3V သို့မဟုတ် 5V ဖြင့် relay ကို ဖွင့်/ပိတ်လုပ်ဆောင်သည်။ Output circuit တွင် terminal နှစ်ခုပါဝင်ပြီး၊ တစ်ခုမှာ power သို့မဟုတ် ground ဖြစ်နိုင်သည်။ Output circuit သည် 250V တွင် 10A အထိ ထိန်းချုပ်နိုင်ပြီး၊ မိန်း-powered စက်ကိရိယာများအတွက် လုံလောက်သည်။ အမြင့်ပါဝါအဆင့်များကို ထိန်းချုပ်နိုင်သော relay များလည်း ရနိုင်သည်။
+
+
+
+အထက်ပါပုံတွင်၊ relay မှတစ်ဆင့် စုပ်စက်ကို power ပေးထားသည်။ USB power supply ၏ +5V terminal မှ output circuit ၏ terminal တစ်ခုသို့ ချိတ်ဆက်ထားသော အနီရောင်ဝါယာကြိုးတစ်ချောင်းနှင့်၊ output circuit ၏ အခြား terminal မှ စုပ်စက်သို့ ချိတ်ဆက်ထားသော အနီရောင်ဝါယာကြိုးတစ်ချောင်းပါဝင်သည်။ အနက်ရောင်ဝါယာကြိုးတစ်ချောင်းသည် စုပ်စက်ကို USB power supply ၏ ground နှင့် ချိတ်ဆက်ထားသည်။ Relay ဖွင့်သောအခါ၊ circuit ကို ပြည့်စုံစေပြီး၊ 5V ကို စုပ်စက်သို့ ပေးပို့ကာ စုပ်စက်ကို ဖွင့်သည်။
+
+## Relay ကို ထိန်းချုပ်ခြင်း
+
+သင့် IoT dev kit မှ relay ကို ထိန်းချုပ်နိုင်ပါသည်။
+
+### Task - relay ကို ထိန်းချုပ်ခြင်း
+
+သင့် IoT စက်ကိရိယာကို အသုံးပြုကာ relay ကို ထိန်းချုပ်ရန် လိုအပ်သော လမ်းညွှန်ကို လိုက်နာပါ-
+
+* [Arduino - Wio Terminal](wio-terminal-relay.md)
+* [Single-board computer - Raspberry Pi](pi-relay.md)
+* [Single-board computer - Virtual device](virtual-device-relay.md)
+
+## MQTT မှတစ်ဆင့် အပင်ကို ထိန်းချုပ်ခြင်း
+
+ယခင်အခန်းများတွင် relay ကို IoT စက်ကိရိယာမှ တိုက်ရိုက် ထိန်းချုပ်ခဲ့ပြီး၊ မြေစိုထိုင်းဆ တစ်ခုတည်းကို အခြေခံထားသည်။ စီးပွားရေးလုပ်ငန်းအတွက် ရေဖြည့်စနစ်တွင် ထိန်းချုပ်မှု logic ကို အလယ်တွင် စုစည်းထားပြီး၊ sensor များစွာမှ အချက်အလက်များကို အသုံးပြုကာ ရေဖြည့်ဆုံးဖြတ်ချက်များကို ချမှတ်နိုင်သည်။ ထို့အပြင်၊ configuration များကို တစ်နေရာတည်းတွင် ပြောင်းလဲနိုင်သည်။ ဒီလိုလုပ်ဆောင်မှုကို simulation ပြုလုပ်ရန် MQTT မှတစ်ဆင့် relay ကို ထိန်းချုပ်နိုင်ပါသည်။
+
+### Task - MQTT မှတစ်ဆင့် relay ကို ထိန်းချုပ်ခြင်း
+
+1. သင့် `soil-moisture-sensor` project တွင် MQTT ကို ချိတ်ဆက်ရန်လိုအပ်သော MQTT libraries/pip packages နှင့် code ကို ထည့်ပါ။ Client ID ကို `soilmoisturesensor_client` ဟု သင့် ID ဖြင့် prefix ထည့်ပါ။
+
+ > ⚠️ [Project 1, Lesson 4 တွင် MQTT ကို ချိတ်ဆက်နည်းအတွက် လမ်းညွှန်ချက်များ](../../../1-getting-started/lessons/4-connect-internet/README.md#connect-your-iot-device-to-mqtt) ကို လိုအပ်ပါက ပြန်လည်ကြည့်ပါ။
+
+1. မြေစိုထိုင်းဆ အချက်အလက်များနှင့်အတူ telemetry ပေးပို့ရန် လိုအပ်သော device code ကို ထည့်ပါ။ Telemetry message အတွက် property ကို `soil_moisture` ဟု အမည်ပေးပါ။
+
+ > ⚠️ [Project 1, Lesson 4 တွင် MQTT သို့ telemetry ပေးပို့နည်းအတွက် လမ်းညွှန်ချက်များ](../../../1-getting-started/lessons/4-connect-internet/README.md#send-telemetry-from-your-iot-device) ကို လိုအပ်ပါက ပြန်လည်ကြည့်ပါ။
+
+1. `soil-moisture-sensor-server` ဟု folder တစ်ခုဖန်တီးပြီး၊ telemetry ကို subscribe ပြုလုပ်ကာ relay ကို ထိန်းချုပ်ရန် command ပေးပို့ရန် local server code ကို ဖန်တီးပါ။ Command message ၏ property ကို `relay_on` ဟု အမည်ပေးပြီး၊ Client ID ကို `soilmoisturesensor_server` ဟု သင့် ID ဖြင့် prefix ထည့်ပါ။ Project 1, Lesson 4 တွင် ရေးသားခဲ့သော server code ၏ ဖွဲ့စည်းပုံကို ထပ်မံပြင်ဆင်ရန် ဒီ code ကို အသုံးပြုမည်ဖြစ်သည်။
+
+ > ⚠️
+💁 သင်အာရုံခံကိရိယာအနီးမှာရေသွန်းခဲ့ရင် အာရုံခံကိရိယာရဲ့ဖတ်ချက်မြန်မြန်ကျသွားပြီးနောက်ထပ်ပြန်တက်လာတာကိုတွေ့ရနိုင်ပါတယ် - ဒါဟာ အာရုံခံကိရိယာအနီးမှာရှိတဲ့ရေက မြေတွင်းတစ်လျှောက်ပျံ့နှံ့သွားပြီး အာရုံခံကိရိယာနားမှာရှိတဲ့မြေစိုထိုင်းဆကိုလျော့ကျစေတဲ့အကြောင်းကြောင့်ဖြစ်ပါတယ်။
+
+
+အထက်ပါပုံတွင် မြေစိုထိုင်းဆန့်မှုအဆင့် 658 ကိုဖော်ပြထားသည်။ အပင်ကိုရေသွင်းပြီးနောက် အဆင့်သည် ချက်ချင်းမပြောင်းလဲပါ၊ ရေသည် sensor သို့မရောက်သေးသောကြောင့်ဖြစ်သည်။ ရေသွင်းခြင်းသည် sensor သို့ရေမရောက်မီပြီးဆုံးနိုင်ပြီးမှသာ အဆင့်ကျဆင်းကာ မြေစိုထိုင်းဆန့်မှုအသစ်ကိုဖော်ပြနိုင်သည်။
+
+သင်သည် မြေစိုထိုင်းဆန့်မှုအဆင့်အပေါ်မူတည်၍ relay ဖြင့် irrigation system ကိုထိန်းချုပ်ရန် code ရေးသားလိုပါက အဆိုပါနှောင့်နှေးမှုကိုစဉ်းစားပြီး IoT device တွင် ပိုမိုထိရောက်သောအချိန်ကိုထည့်သွင်းရမည်ဖြစ်သည်။
+
+✅ အချိန်ယူပြီး သင်ဘယ်လိုလုပ်ဆောင်မလဲဆိုတာစဉ်းစားပါ။
+
+### Sensor နှင့် actuator အချိန်ကိုထိန်းချုပ်ခြင်း
+
+သင်သည် လယ်ယာအတွက် irrigation system တစ်ခုတည်ဆောက်ရန်တာဝန်ယူထားသည်ဟုစဉ်းစားပါ။ မြေစိုထိုင်းဆန့်မှုအဆင့်အတွက် အပင်များအတွက်အကောင်းဆုံးအဆင့်သည် analog voltage reading 400-450 နှင့်ကိုက်ညီသည်ဟုတွေ့ရှိထားသည်။
+
+သင်သည် device ကို nightlight အတိုင်းပုံစံတူပရိုဂရမ်ရေးနိုင်သည် - sensor သည် 450 အထက်ဖတ်ရှုနေသည့်အချိန်တွင် relay ကိုဖွင့်ကာ pump ကိုဖွင့်ရန်စနစ်ထားနိုင်သည်။ ပြဿနာမှာ ရေသည် pump မှ sensor သို့ရောက်ရန်အချိန်ယူရသည်။ sensor သည် 450 အဆင့်ကို detect လုပ်ပြီးရေကိုရပ်တန့်ပေမယ့် pump မှရေသည်မြေထဲသို့စိမ့်ဝင်နေသည့်အချိန်တွင် ရေစိုထိုင်းဆန့်မှုအဆင့်သည်ဆက်လက်ကျဆင်းနေမည်ဖြစ်သည်။ အဆုံးတွင် ရေကိုအလဟသဖြုန်းပြီး root ကိုထိခိုက်စေနိုင်သည်။
+
+✅ သတိပြုပါ - ရေများလွန်းခြင်းသည် ရေမလုံလောက်ခြင်းအတိုင်းပင် အပင်များအတွက်ဆိုးရွားနိုင်ပြီး ရေသည်တန်ဖိုးရှိသောအရင်းအမြစ်ဖြစ်သည်။
+
+ပိုမိုကောင်းမွန်သောဖြေရှင်းနည်းမှာ actuator ဖွင့်ခြင်းနှင့် sensor ဖတ်ရှုမှုအကြားနှောင့်နှေးမှုရှိသည်ကိုနားလည်ရန်ဖြစ်သည်။ sensor သည်တန်ဖိုးကိုပြန်ဖတ်ရှုမီအချိန်စောင့်ရသလို actuator သည် sensor measurement ပြန်လုပ်မီအချိန်အနည်းငယ်ပိတ်ထားရမည်ဖြစ်သည်။
+
+relay ကိုတစ်ကြိမ်ဖွင့်ထားသည့်အချိန်ကာလဘယ်လောက်ကြာရမလဲ? သတိထားပြီး relay ကိုအတိုချုပ်ဖွင့်ထားကာ ရေစိမ့်ဝင်ရန်စောင့်ပြီးမှ moisture level ကိုပြန်စစ်ပါ။ ရေကိုအမြဲတမ်းထပ်မံထည့်နိုင်သော်လည်း မြေထဲမှရေကိုပြန်ထုတ်မရနိုင်ပါ။
+
+> 💁 အချိန်ထိန်းချုပ်မှုအမျိုးအစားသည် သင်တည်ဆောက်နေသော IoT device, သင်တိုင်းတာနေသော property, သုံးနေသော sensor နှင့် actuator များအပေါ်မူတည်၍ အလွန်ထူးခြားသည်။
+
+
+
+ဥပမာအားဖြင့် ကျွန်ုပ်တွင် မြေစိုထိုင်းဆန့်မှု sensor နှင့် relay ဖြင့်ထိန်းချုပ်ထားသော pump ပါသော strawberry အပင်တစ်ပင်ရှိသည်။ ရေထည့်သောအခါ မြေစိုထိုင်းဆန့်မှု reading သည် 20 စက္ကန့်အကြာတွင်သာတည်ငြိမ်သည်ကိုတွေ့ရှိထားသည်။ ဒါကြောင့် relay ကိုပိတ်ပြီး 20 စက္ကန့်စောင့်ကာ moisture level ကိုစစ်ရမည်ဖြစ်သည်။ ရေမလုံလောက်ခြင်းထက် ရေများလွန်းခြင်းကိုရှောင်ရှားလိုပါသည် - pump ကိုထပ်ဖွင့်နိုင်သော်လည်း အပင်မှရေကိုပြန်ထုတ်မရနိုင်ပါ။
+
+
+
+ဒါကြောင့် အကောင်းဆုံးလုပ်ဆောင်မှုမှာ အောက်ပါအတိုင်းဖြစ်သည်-
+
+* Pump ကို 5 စက္ကန့်ဖွင့်ပါ
+* 20 စက္ကန့်စောင့်ပါ
+* မြေစိုထိုင်းဆန့်မှုကိုစစ်ပါ
+* အဆင့်သည်လိုအပ်သောအဆင့်အောက်တွင်ရှိနေသေးလျှင် အထက်ပါအဆင့်များကိုထပ်လုပ်ဆောင်ပါ
+
+Pump အတွက် 5 စက္ကန့်သည်အလွန်ကြာနိုင်သည်၊ အထူးသဖြင့် moisture level သည်လိုအပ်သောအဆင့်အနည်းငယ်သာကျော်လွန်နေပါက။ အချိန်ကိုဘယ်လိုသုံးရမလဲဆိုတာကို sensor data ရရှိပြီး feedback loop ဖြင့်အမြဲပြန်လည်ညှိနှိုင်းခြင်းဖြင့်သိနိုင်သည်။ ဥပမာအားဖြင့် 100 အထက်ရှိသော moisture level တစ်ခုစီအတွက် pump ကို 1 စက္ကန့်ဖွင့်ခြင်းကဲ့သို့ fixed timing အစား granular timing ကိုအသုံးပြုနိုင်သည်။
+
+✅ သုတေသနလုပ်ပါ - အချိန်နှင့်ပတ်သက်သောအခြားအချက်များရှိပါသလား? မြေစိုထိုင်းဆန့်မှုအနည်းငယ်လျော့နည်းနေသောအချိန်တိုင်းတွင်ရေသွင်းနိုင်ပါသလား၊ ဒါမှမဟုတ် အပင်များကိုရေသွင်းရန်ကောင်းသောအချိန်နှင့်မကောင်းသောအချိန်များရှိပါသလား?
+
+> 💁 ရာသီဥတုခန့်မှန်းချက်များကိုလည်း အပြင်လယ်ယာများအတွက် automated watering system ကိုထိန်းချုပ်ရာတွင်ထည့်သွင်းစဉ်းစားနိုင်သည်။ မိုးရွာမည်ဟုမျှော်လင့်ရပါက မိုးရွာပြီးမှသာရေသွင်းခြင်းကိုလုပ်ဆောင်နိုင်သည်။ အဆိုပါအချိန်တွင် မြေစိုထိုင်းဆန့်မှုသည်ရေသွင်းရန်မလိုအပ်လောက်အောင်စိုနေပြီးရေဖြုန်းမှုကိုလျော့နည်းစေသည်။
+
+## Plant control server တွင်အချိန်ထည့်သွင်းပါ
+
+Server code ကို watering cycle timing ကိုထည့်သွင်းရန်နှင့် မြေစိုထိုင်းဆန့်မှုအဆင့်ပြောင်းလဲရန်စောင့်ရန်အတွက်ပြင်ဆင်နိုင်သည်။ relay timing ကိုထိန်းချုပ်ရန် server logic သည်-
+
+1. Telemetry message ကိုလက်ခံပါ
+1. မြေစိုထိုင်းဆန့်မှုအဆင့်ကိုစစ်ပါ
+1. အဆင့်ကအဆင့်မကျော်လွန်ပါက ဘာမှမလုပ်ပါ။ အဆင့်ကအလွန်မြင့်နေပါက (မြေစိုထိုင်းဆန့်မှုအနည်းငယ်လျော့နည်းနေသည်)-
+ 1. Relay ကိုဖွင့်ရန် command ပို့ပါ
+ 1. 5 စက္ကန့်စောင့်ပါ
+ 1. Relay ကိုပိတ်ရန် command ပို့ပါ
+ 1. မြေစိုထိုင်းဆန့်မှုအဆင့်တည်ငြိမ်ရန် 20 စက္ကန့်စောင့်ပါ
+
+Watering cycle, telemetry message ကိုလက်ခံပြီး မြေစိုထိုင်းဆန့်မှုအဆင့်ကိုပြန်စစ်ရန်အဆင့်သို့ပြန်ရောက်ရန်လုပ်ဆောင်မှုသည် 25 စက္ကန့်ကြာသည်။ မြေစိုထိုင်းဆန့်မှုအဆင့်ကို 10 စက္ကန့်တိုင်းပို့နေသောကြောင့် server သည် မြေစိုထိုင်းဆန့်မှုအဆင့်တည်ငြိမ်ရန်စောင့်နေစဉ် message ကိုလက်ခံပြီး watering cycle တစ်ခုကိုပြန်စတင်နိုင်သည်။
+
+ဤပြဿနာကိုဖြေရှင်းရန်နှစ်ခုသောရွေးချယ်မှုရှိသည်-
+
+* IoT device code ကိုပြောင်းပြီး telemetry ကိုတစ်မိနစ်တိုင်းပို့ရန်လုပ်ဆောင်ပါ၊ ဤနည်းဖြင့် watering cycle ပြီးဆုံးပြီးမှ message ကိုပို့မည်ဖြစ်သည်
+* Watering cycle အတွင်း telemetry subscription ကိုပိတ်ထားပါ
+
+ပထမရွေးချယ်မှုသည် အကြီးစားလယ်ယာများအတွက်အမြဲကောင်းသောဖြေရှင်းနည်းမဟုတ်ပါ။ လယ်သမားသည် မြေစိုထိုင်းဆန့်မှုအဆင့်ကိုရေသွင်းနေစဉ်တွင်ဖမ်းယူကာ နောက်ပိုင်းတွင် analysis ပြုလုပ်ရန်လိုအပ်နိုင်သည်၊ ဥပမာအားဖြင့် လယ်ယာ၏အခြားနေရာများတွင်ရေစီးဆင်းမှုကိုသိရှိရန် targeted watering ကိုလမ်းညွှန်ရန်လိုအပ်နိုင်သည်။ ဒုတိယရွေးချယ်မှုသည်ပိုမိုကောင်းမွန်သည် - code သည် telemetry ကိုအသုံးမပြုနိုင်သောအချိန် ignore လုပ်နေသော်လည်း telemetry သည် broker မှ data ကို subscribe လုပ်သောအခြား service များအတွက်ရှိနေဆဲဖြစ်သည်။
+
+> 💁 IoT data သည် device တစ်ခုမှ service တစ်ခုသို့ပို့ခြင်းသာမဟုတ်၊ device များစွာမှ broker သို့ data ပို့ပြီး service များစွာမှ broker မှ data ကိုနားထောင်နိုင်သည်။ ဥပမာအားဖြင့် service တစ်ခုသည် မြေစိုထိုင်းဆန့်မှု data ကိုနားထောင်ပြီး database တွင်သိမ်းဆည်းကာ နောက်ပိုင်းတွင် analysis ပြုလုပ်နိုင်သည်။ အခြား service တစ်ခုသည် irrigation system ကိုထိန်းချုပ်ရန်အတွက် data ကိုနားထောင်နိုင်သည်။
+
+### Task - Plant control server တွင်အချိန်ထည့်သွင်းပါ
+
+Server code ကို relay ကို 5 စက္ကန့်ဖွင့်ပြီး 20 စက္ကန့်စောင့်ရန် update လုပ်ပါ။
+
+1. `soil-moisture-sensor-server` folder ကို VS Code တွင်ဖွင့်ပါ။ virtual environment ကို activate လုပ်ထားပါ။
+
+1. `app.py` ဖိုင်ကိုဖွင့်ပါ
+
+1. ရှိပြီးသား imports အောက်တွင် အောက်ပါ code ကိုထည့်ပါ-
+
+ ```python
+ import threading
+ ```
+
+ ဤ statement သည် Python libraries မှ `threading` ကို import လုပ်သည်။ threading သည် Python ကိုစောင့်နေစဉ်အခြား code ကို execute လုပ်ရန်ခွင့်ပြုသည်။
+
+1. Server code တွင် telemetry message ကို handle လုပ်သည့် `handle_telemetry` function မတိုင်မီ အောက်ပါ code ကိုထည့်ပါ-
+
+ ```python
+ water_time = 5
+ wait_time = 20
+ ```
+
+ ဤ code သည် relay ကို run လုပ်သည့်အချိန် (`water_time`) နှင့် မြေစိုထိုင်းဆန့်မှုကိုစစ်ရန်စောင့်ရမည့်အချိန် (`wait_time`) ကိုသတ်မှတ်သည်။
+
+1. ဤ code အောက်တွင် အောက်ပါ code ကိုထည့်ပါ-
+
+ ```python
+ def send_relay_command(client, state):
+ command = { 'relay_on' : state }
+ print("Sending message:", command)
+ client.publish(server_command_topic, json.dumps(command))
+ ```
+
+ ဤ code သည် relay ကို MQTT ဖြင့်ထိန်းချုပ်ရန် command ပို့သည့် `send_relay_command` ဟုခေါ်သော function ကိုသတ်မှတ်သည်။ telemetry ကို dictionary အဖြစ်ဖန်တီးကာ JSON string သို့ပြောင်းသည်။ `state` သို့ပေးပို့သော value သည် relay ကိုဖွင့်ရန်သို့မဟုတ်ပိတ်ရန်သတ်မှတ်သည်။
+
+1. `send_relay_code` function အောက်တွင် အောက်ပါ code ကိုထည့်ပါ-
+
+ ```python
+ def control_relay(client):
+ print("Unsubscribing from telemetry")
+ mqtt_client.unsubscribe(client_telemetry_topic)
+
+ send_relay_command(client, True)
+ time.sleep(water_time)
+ send_relay_command(client, False)
+
+ time.sleep(wait_time)
+
+ print("Subscribing to telemetry")
+ mqtt_client.subscribe(client_telemetry_topic)
+ ```
+
+ ဤ code သည် relay ကိုလိုအပ်သော timing အပေါ်မူတည်၍ control လုပ်သည့် function ကိုသတ်မှတ်သည်။ ပထမဦးဆုံး telemetry subscription ကို unsubscribe လုပ်ကာ watering ဖြစ်နေစဉ် မြေစိုထိုင်းဆန့်မှု message မကိုင်တွယ်ရန်လုပ်ဆောင်သည်။ ထို့နောက် relay ကိုဖွင့်ရန် command ပို့သည်။ `water_time` အတွက်စောင့်ပြီး relay ကိုပိတ်ရန် command ပို့သည်။ နောက်ဆုံးတွင် `wait_time` စက္ကန့်အတွက် မြေစိုထိုင်းဆန့်မှုအဆင့်တည်ငြိမ်ရန်စောင့်သည်။ ပြီးလျှင် telemetry ကိုပြန် subscribe လုပ်သည်။
+
+1. `handle_telemetry` function ကို အောက်ပါအတိုင်းပြောင်းပါ-
+
+ ```python
+ def handle_telemetry(client, userdata, message):
+ payload = json.loads(message.payload.decode())
+ print("Message received:", payload)
+
+ if payload['soil_moisture'] > 450:
+ threading.Thread(target=control_relay, args=(client,)).start()
+ ```
+
+ ဤ code သည် မြေစိုထိုင်းဆန့်မှုအဆင့်ကိုစစ်သည်။ 450 ထက်ကြီးလျှင် မြေစိုထိုင်းဆန့်မှုအနည်းငယ်လျော့နည်းနေသောကြောင့် `control_relay` function ကိုခေါ်သည်။ ဤ function သည် separate thread တွင် run လုပ်ကာ background တွင်လုပ်ဆောင်သည်။
+
+1. သင်၏ IoT device ကို run လုပ်ထားပါ၊ ထို့နောက်ဤ code ကို run လုပ်ပါ။ မြေစိုထိုင်းဆန့်မှုအဆင့်ကိုပြောင်းပြီး relay တွင်ဖြစ်ပျက်မှုကိုကြည့်ရှုပါ - relay သည် 5 စက္ကန့်ဖွင့်ပြီး 20 စက္ကန့်အနည်းဆုံးပိတ်ထားမည်ဖြစ်သည်၊ မြေစိုထိုင်းဆန့်မှုအဆင့်မလုံလောက်လျှင်သာ relay ကိုပြန်ဖွင့်မည်။
+
+ ```output
+ (.venv) ➜ soil-moisture-sensor-server ✗ python app.py
+ Message received: {'soil_moisture': 457}
+ Unsubscribing from telemetry
+ Sending message: {'relay_on': True}
+ Sending message: {'relay_on': False}
+ Subscribing to telemetry
+ Message received: {'soil_moisture': 302}
+ ```
+
+ Simulated irrigation system တွင်စမ်းသပ်ရန်ကောင်းသောနည်းလမ်းမှာ မြေခြောက်သောမြေကိုအသုံးပြုကာ relay ဖွင့်နေစဉ်တွင် manually ရေထည့်ပါ၊ relay ပိတ်သည့်အချိန်တွင်ရေထည့်ခြင်းကိုရပ်ပါ။
+
+> 💁 ဤ code ကို [code-timing](../../../../../2-farm/lessons/3-automated-plant-watering/code-timing) folder တွင်တွေ့နိုင်သည်။
+
+> 💁 အကယ်၍ သင် pump ကိုအသုံးပြုကာ အစစ်အမှန် irrigation system တည်ဆောက်လိုပါက [6V water pump](https://www.seeedstudio.com/6V-Mini-Water-Pump-p-1945.html) ကို [USB terminal power supply](https://www.adafruit.com/product/3628) ဖြင့်အသုံးပြုနိုင်သည်။ pump သို့မဟုတ် pump မှ power ကို relay ဖြင့်ချိတ်ဆက်ထားရန်သေချာပါ။
+
+---
+
+## 🚀 Challenge
+
+IoT device သို့မဟုတ် sensor နှင့် actuator အကြား property ပြောင်းလဲရန်အချိန်ယူရသောအခြား electrical device များကိုစဉ်းစားနိုင်ပါသလား။ သင်၏အိမ်သို့မဟုတ်ကျောင်းတွင် device များအနည်းငယ်ရှိနေပါသည်။
+
+* သူတို့သည် property များကိုတိုင်းတာသလဲ?
+* actuator ကိုအသုံးပြုပြီး property ပြောင်းလဲရန်ဘယ်လောက်ကြာသလဲ?
+* property သည်လိုအပ်သောအဆင့်ကိုကျော်လွန်ခြင်းကအဆင်ပြေပါသလား?
+* လိုအပ်ပါက property ကိုလိုအပ်သောအဆင့်သို့ပြန်လည်ရောက်အောင်ဘယ်လိုလုပ်နိုင်သလဲ?
+
+## Post-lecture quiz
+
+[Post-lecture quiz](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/14)
+
+## Review & Self Study
+
+* relay များနှင့်ပတ်သက်သောပိုမိုသိရှိရန်၊ telephone exchanges တွင် relay များ၏သမိုင်းဝင်အသုံးပြုမှုအပါအဝင် [relay Wikipedia page](https://wikipedia.org/wiki/Relay) ကိုဖတ်ပါ။
+
+## Assignment
+
+[Build a more efficient watering cycle](assignment.md)
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/3-automated-plant-watering/assignment.md b/translations/my/2-farm/lessons/3-automated-plant-watering/assignment.md
new file mode 100644
index 00000000..a8820a98
--- /dev/null
+++ b/translations/my/2-farm/lessons/3-automated-plant-watering/assignment.md
@@ -0,0 +1,54 @@
+
+# အပင်များကို ပိုမိုထိရောက်စွာ ရေဖြန်းပေးခြင်း
+
+## လမ်းညွှန်ချက်များ
+
+ဒီသင်ခန်းစာမှာ relay ကို sensor data အသုံးပြုပြီး ထိန်းချုပ်ပုံကို လေ့လာခဲ့ပြီး၊ relay ကတော့ ရေစုပ်စက်ကို ထိန်းချုပ်နိုင်ပါတယ်။ ရေစုပ်စက်က အပင်ရေဖြန်းစနစ်အတွက် အသုံးပြုနိုင်ပါတယ်။ သတ်မှတ်ထားတဲ့ မြေစိုထိုင်းဆကို ရေစုပ်စက်က တစ်ချိန်ကာလအတွင်း အမြဲတမ်းတူညီတဲ့ အကျိုးသက်ရောက်မှုရှိစေပါတယ်။ ဒါကြောင့် မြေစိုထိုင်းဆ reading တစ်ခုမှာ ရေဖြန်းချိန်(seconds) ဘယ်လောက်လိုအပ်မယ်ဆိုတာကို ခန့်မှန်းနိုင်ပါတယ်။ ဒီ data ကို အသုံးပြုပြီး ပိုမိုထိန်းချုပ်နိုင်တဲ့ ရေဖြန်းစနစ်တစ်ခုကို တည်ဆောက်နိုင်ပါတယ်။
+
+ဒီအလုပ်မှာ သင့်ရဲ့ ရေစုပ်စက်ကို မြေစိုထိုင်းဆတက်လာမှုတစ်ခုအတွက် ဘယ်လောက်ကြာမြင့်စွာ လည်ပတ်ရမယ်ဆိုတာကို တွက်ချက်ရပါမယ်။
+
+> ⚠️ သင့်မှာ virtual IoT hardware ကို အသုံးပြုနေပါက ဒီလုပ်ငန်းစဉ်ကို လုပ်ဆောင်နိုင်ပေမယ့် relay အလုပ်လုပ်နေတဲ့ တစ်စက္ကန့်စီအတွက် မြေစိုထိုင်းဆ reading ကို လက်ဖြင့်တိုးမြှင့်ခြင်းဖြင့် ရလဒ်ကို simulation လုပ်နိုင်ပါတယ်။
+
+1. မြေကိုခြောက်သွေ့အောင် စတင်ပါ။ မြေစိုထိုင်းဆကို တိုင်းတာပါ။
+
+1. ရေကို သတ်မှတ်ထားတဲ့ ပမာဏထည့်ပါ၊ ရေစုပ်စက်ကို တစ်စက္ကန့်အတွင်း လည်ပတ်စေခြင်းဖြစ်စေ၊ သို့မဟုတ် သတ်မှတ်ထားတဲ့ ပမာဏကို လက်ဖြင့်ထည့်ခြင်းဖြစ်စေ။
+
+ > ရေစုပ်စက်က အမြဲတမ်းတူညီတဲ့နှုန်းနဲ့ လည်ပတ်ရမယ်၊ ဒါကြောင့် ရေစုပ်စက် လည်ပတ်တဲ့ တစ်စက္ကန့်စီမှာ တူညီတဲ့ ရေပမာဏကို ပေးရမယ်။
+
+1. မြေစိုထိုင်းဆအဆင့်တည်ငြိမ်လာသည်အထိ စောင့်ပြီး reading ကိုယူပါ။
+
+1. ဒီလုပ်ငန်းစဉ်ကို မကြိမ်များစွာ ထပ်လုပ်ပြီး ရလဒ်များကို ဇယားတစ်ခုအဖြစ် ဖန်တီးပါ။ အောက်မှာ ဥပမာဇယားကို ဖော်ပြထားပါတယ်။
+
+ | ရေစုပ်စက် လည်ပတ်ချိန် | မြေစိုထိုင်းဆ | လျော့ကျမှု |
+ | --- | --: | -: |
+ | ခြောက် | 643 | 0 |
+ | 1s | 621 | 22 |
+ | 2s | 601 | 20 |
+ | 3s | 579 | 22 |
+ | 4s | 560 | 19 |
+ | 5s | 539 | 21 |
+ | 6s | 521 | 18 |
+
+1. ရေတစ်စက္ကန့်စီမှာ မြေစိုထိုင်းဆတိုးလာမှုကို ပျမ်းမျှတွက်ချက်ပါ။ အထက်ပါဥပမာမှာ တစ်စက္ကန့်စီမှာ reading 20.3 လျော့ကျပါတယ်။
+
+1. ဒီ data ကို အသုံးပြုပြီး သင့်ရဲ့ server code ကို ပိုမိုထိရောက်စွာ ပြုပြင်ပါ၊ ရေစုပ်စက်ကို လိုအပ်တဲ့ မြေစိုထိုင်းဆအဆင့်ရောက်ရန် လိုအပ်တဲ့အချိန်အတိုင်း လည်ပတ်စေပါ။
+
+## အဆင့်သတ်မှတ်ချက်
+
+| အချက်အလက် | ထူးချွန် | လုံလောက် | တိုးတက်မှုလိုအပ် |
+| -------- | --------- | -------- | ----------------- |
+| မြေစိုထိုင်းဆ data ကို ဖမ်းယူခြင်း | ရေကို သတ်မှတ်ထားတဲ့ ပမာဏများထည့်ပြီး အကြိမ်များစွာ reading ကို ဖမ်းယူနိုင်သည် | ရေကို သတ်မှတ်ထားတဲ့ ပမာဏများထည့်ပြီး reading အချို့ကို ဖမ်းယူနိုင်သည် | ရေကို သတ်မှတ်ထားတဲ့ ပမာဏများကို အသုံးမပြုဘဲ reading တစ်ခုနှစ်ခုသာ ဖမ်းယူနိုင်သည် |
+| server code ကို ချိန်ညှိခြင်း | မြေစိုထိုင်းဆ reading လျော့ကျမှုကို ပျမ်းမျှတွက်ချက်ပြီး server code ကို update လုပ်နိုင်သည် | ပျမ်းမျှလျော့ကျမှုကို တွက်ချက်နိုင်ပေမယ့် server code ကို update လုပ်နိုင်ခြင်းမရှိ၊ သို့မဟုတ် ပျမ်းမျှကို မှန်ကန်စွာ တွက်ချက်မရပေမယ့် server code ကို မှန်ကန်စွာ update လုပ်နိုင်သည် | ပျမ်းမျှကို တွက်ချက်နိုင်ခြင်းမရှိ၊ သို့မဟုတ် server code ကို update လုပ်နိုင်ခြင်းမရှိ |
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရားရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွဲအချော်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/3-automated-plant-watering/pi-relay.md b/translations/my/2-farm/lessons/3-automated-plant-watering/pi-relay.md
new file mode 100644
index 00000000..7d28ec7d
--- /dev/null
+++ b/translations/my/2-farm/lessons/3-automated-plant-watering/pi-relay.md
@@ -0,0 +1,123 @@
+
+# Relay ကိုထိန်းချုပ်ခြင်း - Raspberry Pi
+
+ဒီသင်ခန်းစာအပိုင်းမှာ၊ သင်သည် Raspberry Pi တွင် မြေစိုထိုင်းဆန့်ကျင်ကိရိယာအပြင် relay တစ်ခုထပ်ထည့်ပြီး မြေစိုထိုင်းဆန့်ကျင်အဆင့်အပေါ်မူတည်၍ ထိန်းချုပ်ပါမည်။
+
+## ဟာ့ဒ်ဝဲ
+
+Raspberry Pi သည် relay တစ်ခုလိုအပ်ပါသည်။
+
+သင်အသုံးပြုမည့် relay သည် [Grove relay](https://www.seeedstudio.com/Grove-Relay.html) ဖြစ်ပြီး၊ သာမန်အားဖြင့် ဖွင့်ထားသော relay (signal မပေးပို့သည့်အခါ output circuit သည် ဖွင့်ထားသည်) ဖြစ်ပြီး၊ အထိ 250V နှင့် 10A အထိ output circuit များကို ကိုင်တွယ်နိုင်သည်။
+
+ဤသည်မှာ digital actuator ဖြစ်သောကြောင့် Grove Base Hat တွင် digital pin တစ်ခုနှင့် ချိတ်ဆက်ပါမည်။
+
+### Relay ကိုချိတ်ဆက်ပါ
+
+Grove relay ကို Raspberry Pi နှင့် ချိတ်ဆက်နိုင်ပါသည်။
+
+#### လုပ်ငန်း
+
+Relay ကိုချိတ်ဆက်ပါ။
+
+
+
+1. Grove cable ၏ တစ်ဖက်အဆုံးကို relay ၏ socket တွင် ထည့်ပါ။ ၎င်းသည် တစ်ဖက်သာ ထည့်နိုင်ပါမည်။
+
+2. Raspberry Pi ကို ပိတ်ထားပြီး၊ Grove cable ၏ အခြားဖက်အဆုံးကို Pi တွင် တပ်ထားသော Grove Base Hat ၏ **D5** ဟု အမှတ်အသားပြထားသော digital socket တွင် ချိတ်ဆက်ပါ။ ဤ socket သည် GPIO pin များအနီးရှိ socket များ၏ ဘယ်ဘက်မှ ဒုတိယဖြစ်သည်။ မြေစိုထိုင်းဆန့်ကျင်ကိရိယာကို **A0** socket တွင် ချိတ်ဆက်ထားပါ။
+
+
+
+3. မြေစိုထိုင်းဆန့်ကျင်ကိရိယာကို မြေဆီလွှာထဲသို့ ထည့်ပါ၊ ယခင်သင်ခန်းစာမှ ထည့်ထားပြီးသားမဟုတ်လျှင်။
+
+## Relay ကို programming ပြုလုပ်ပါ
+
+ယခု Raspberry Pi ကို ချိတ်ဆက်ထားသော relay ကို အသုံးပြုရန် programming ပြုလုပ်နိုင်ပါသည်။
+
+### လုပ်ငန်း
+
+Device ကို programming ပြုလုပ်ပါ။
+
+1. Pi ကို ဖွင့်ပြီး boot ပြုလုပ်ရန် စောင့်ပါ။
+
+2. VS Code တွင် ယခင်သင်ခန်းစာမှ `soil-moisture-sensor` project ကို ဖွင့်ပါ၊ project ကို မဖွင့်ထားသေးလျှင် ဖွင့်ပါ။ သင်သည် ဤ project တွင် ထပ်ထည့်ရေးသားရမည်။
+
+3. ရှိပြီးသား imports အောက်တွင် `app.py` ဖိုင်တွင် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```python
+ from grove.grove_relay import GroveRelay
+ ```
+
+ ဤ statement သည် Grove Python libraries မှ `GroveRelay` ကို import ပြုလုပ်ပြီး Grove relay နှင့် အပြန်အလှန်ဆက်သွယ်ရန် အသုံးပြုသည်။
+
+4. `ADC` class ကို ကြေညာထားသောနေရာအောက်တွင် အောက်ပါ code ကို ထည့်ပါ၊ ၎င်းသည် `GroveRelay` instance တစ်ခုကို ဖန်တီးသည်။
+
+ ```python
+ relay = GroveRelay(5)
+ ```
+
+ ဤသည်သည် relay ကို **D5** pin (သင် relay ကို ချိတ်ဆက်ထားသော digital pin) အသုံးပြု၍ ဖန်တီးသည်။
+
+5. Relay သည် အလုပ်လုပ်နေကြောင်း စမ်းသပ်ရန်၊ `while True:` loop အတွင်း အောက်ပါ code ကို ထည့်ပါ။
+
+ ```python
+ relay.on()
+ time.sleep(.5)
+ relay.off()
+ ```
+
+ ဤ code သည် relay ကို ဖွင့်ပြီး 0.5 စက္ကန့် စောင့်ပြီး relay ကို ပြန်ပိတ်သည်။
+
+6. Python app ကို run ပြုလုပ်ပါ။ Relay သည် 10 စက္ကန့်တိုင်း ဖွင့်ပြီး ပိတ်မည်၊ ဖွင့်ခြင်းနှင့် ပိတ်ခြင်းအကြား 0.5 စက္ကန့်နားသည်။ Relay ဖွင့်သောအခါ click အသံကြားရပြီး ပိတ်သောအခါ click အသံပြန်ကြားရမည်။ Relay ဖွင့်နေစဉ် Grove board ပေါ်ရှိ LED မီးလင်းပြီး ပိတ်သောအခါ မီးငြိမ်းမည်။
+
+ 
+
+## မြေစိုထိုင်းဆန့်ကျင်မှ relay ကိုထိန်းချုပ်ပါ
+
+ယခု relay သည် အလုပ်လုပ်နေပြီး၊ relay ကို မြေစိုထိုင်းဆန့်ကျင် reading များအပေါ်မူတည်၍ ထိန်းချုပ်နိုင်ပါသည်။
+
+### လုပ်ငန်း
+
+Relay ကို ထိန်းချုပ်ပါ။
+
+1. Relay ကို စမ်းသပ်ရန် ထည့်ထားသော code 3 လိုင်းကို ဖျက်ပါ။ ၎င်းနေရာတွင် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```python
+ if soil_moisture > 450:
+ print("Soil Moisture is too low, turning relay on.")
+ relay.on()
+ else:
+ print("Soil Moisture is ok, turning relay off.")
+ relay.off()
+ ```
+
+ ဤ code သည် မြေစိုထိုင်းဆန့်ကျင်ကိရိယာမှ မြေစိုထိုင်းဆန့်ကျင်အဆင့်ကို စစ်ဆေးသည်။ ၎င်းသည် 450 အထက်ရှိပါက relay ကို ဖွင့်ပြီး၊ 450 အောက်ရှိပါက relay ကို ပိတ်သည်။
+
+ > 💁 Capacitive မြေစိုထိုင်းဆန့်ကျင်ကိရိယာသည် မြေစိုထိုင်းဆန့်ကျင်အဆင့်နိမ့်လျှင် မြေစိုထိုင်းမှုများပြီး၊ မြင့်လျှင် မြေစိုထိုင်းမှုနည်းသည်ကို မှတ်သားပါ။
+
+2. Python app ကို run ပြုလုပ်ပါ။ Relay သည် မြေစိုထိုင်းဆန့်ကျင်အဆင့်ပေါ်မူတည်၍ ဖွင့်ပိတ်လုပ်ဆောင်မည်။ ခြောက်သွေ့သောမြေဆီလွှာတွင် စမ်းသပ်ပြီး၊ ရေထည့်ပါ။
+
+ ```output
+ Soil Moisture: 638
+ Soil Moisture is too low, turning relay on.
+ Soil Moisture: 452
+ Soil Moisture is too low, turning relay on.
+ Soil Moisture: 347
+ Soil Moisture is ok, turning relay off.
+ ```
+
+> 💁 ဤ code ကို [code-relay/pi](../../../../../2-farm/lessons/3-automated-plant-watering/code-relay/pi) folder တွင် ရှာနိုင်ပါသည်။
+
+😀 သင်၏ မြေစိုထိုင်းဆန့်ကျင်ကိရိယာမှ relay ကို ထိန်းချုပ်သည့် program သည် အောင်မြင်ခဲ့ပါသည်!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားယူမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md b/translations/my/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md
new file mode 100644
index 00000000..efe34935
--- /dev/null
+++ b/translations/my/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md
@@ -0,0 +1,127 @@
+
+# Relay ကိုထိန်းချုပ်ခြင်း - အွန်လိုင်း IoT Hardware
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင့်ရဲ့ အွန်လိုင်း IoT စက်ပစ္စည်းမှာ မြေစိုထိုင်းဆဆင်ဆာအပြင် relay တစ်ခုကို ထည့်သွင်းပြီး မြေစိုထိုင်းဆအဆင့်အပေါ် မူတည်ပြီး ထိန်းချုပ်ပေးပါမည်။
+
+## အွန်လိုင်း Hardware
+
+အွန်လိုင်း IoT စက်ပစ္စည်းသည် Grove relay ကို အတုအယောင်အသုံးပြုပါမည်။ ဒါကြောင့် Raspberry Pi နှင့် Grove relay ကို သုံးသလိုပဲ ဒီလက်တွေ့လေ့ကျင့်ခန်းကို ဆက်လက်လုပ်ဆောင်နိုင်ပါသည်။
+
+လက်တွေ့ IoT စက်ပစ္စည်းတွင် relay သည် normally-open relay (signal မပေးရင် circuit ပိတ်မထားဘဲ ဖွင့်ထားသော relay) ဖြစ်ပါမည်။ relay အမျိုးအစားများသည် 250V နှင့် 10A အထိ output circuit များကို ထိန်းချုပ်နိုင်ပါသည်။
+
+### CounterFit တွင် relay ထည့်သွင်းခြင်း
+
+အွန်လိုင်း relay ကို အသုံးပြုရန် CounterFit app တွင် ထည့်သွင်းရပါမည်။
+
+#### လုပ်ဆောင်ရန်
+
+CounterFit app တွင် relay ထည့်သွင်းပါ။
+
+1. VS Code တွင် ယခင်သင်ခန်းစာမှ `soil-moisture-sensor` project ကို ဖွင့်ပါ။ (မဖွင့်ရသေးပါက ဖွင့်ပါ) သင်သည် ဒီ project ကို ဆက်လက်ပြင်ဆင်ပါမည်။
+
+1. CounterFit web app ကို run လုပ်ထားပါ။
+
+1. relay တစ်ခုကို ဖန်တီးပါ:
+
+ 1. *Actuators* panel တွင် *Create actuator* box ထဲမှ *Actuator type* ကို drop down လုပ်ပြီး *Relay* ကို ရွေးပါ။
+
+ 1. *Pin* ကို *5* သတ်မှတ်ပါ။
+
+ 1. **Add** ခလုတ်ကို နှိပ်ပြီး Pin 5 တွင် relay ကို ဖန်တီးပါ။
+
+ 
+
+ relay ကို ဖန်တီးပြီး actuators list တွင် ပြသပါမည်။
+
+ 
+
+## Relay ကို Programming လုပ်ခြင်း
+
+မြေစိုထိုင်းဆဆင်ဆာ app သည် relay ကို အသုံးပြုရန် programming လုပ်နိုင်ပါပြီ။
+
+### လုပ်ဆောင်ရန်
+
+အွန်လိုင်းစက်ပစ္စည်းကို programming လုပ်ပါ။
+
+1. VS Code တွင် ယခင်သင်ခန်းစာမှ `soil-moisture-sensor` project ကို ဖွင့်ပါ။ (မဖွင့်ရသေးပါက ဖွင့်ပါ) သင်သည် ဒီ project ကို ဆက်လက်ပြင်ဆင်ပါမည်။
+
+1. `app.py` ဖိုင်တွင် ရှိပြီးသား imports အောက်တွင် အောက်ပါ code ကို ထည့်ပါ:
+
+ ```python
+ from counterfit_shims_grove.grove_relay import GroveRelay
+ ```
+
+ ဒီ statement သည် Grove Python shim libraries မှ `GroveRelay` ကို import လုပ်ပြီး virtual Grove relay နှင့် အလုပ်လုပ်ရန် အသုံးပြုသည်။
+
+1. `ADC` class ကို ကြေညာထားသောနေရာအောက်တွင် အောက်ပါ code ကို ထည့်ပါ:
+
+ ```python
+ relay = GroveRelay(5)
+ ```
+
+ relay ကို Pin **5** တွင် ဖန်တီးသည်။ (သင် relay ကို ချိတ်ဆက်ထားသော pin)
+
+1. relay အလုပ်လုပ်မှုကို စမ်းသပ်ရန် `while True:` loop အတွင်း အောက်ပါ code ကို ထည့်ပါ:
+
+ ```python
+ relay.on()
+ time.sleep(.5)
+ relay.off()
+ ```
+
+ ဒီ code သည် relay ကို ဖွင့်ပြီး 0.5 စက္ကန့်စောင့်ပြီး relay ကို ပြန်ပိတ်သည်။
+
+1. Python app ကို run လုပ်ပါ။ relay သည် 10 စက္ကန့်တိုင်း ဖွင့်ပြီး ပိတ်ပါမည်။ relay ဖွင့်ပိတ်မှုကို CounterFit app တွင် မြင်ရပါမည်။
+
+ 
+
+## မြေစိုထိုင်းဆအပေါ်မူတည်၍ relay ကို ထိန်းချုပ်ခြင်း
+
+relay အလုပ်လုပ်နေပြီဆိုတော့ relay ကို မြေစိုထိုင်းဆအဆင့်အပေါ်မူတည်၍ ထိန်းချုပ်နိုင်ပါပြီ။
+
+### လုပ်ဆောင်ရန်
+
+relay ကို ထိန်းချုပ်ပါ။
+
+1. relay စမ်းသပ်ရန် ထည့်ထားသော code ၃ ကြောင်းကို ဖျက်ပါ။ အစား အောက်ပါ code ကို ထည့်ပါ:
+
+ ```python
+ if soil_moisture > 450:
+ print("Soil Moisture is too low, turning relay on.")
+ relay.on()
+ else:
+ print("Soil Moisture is ok, turning relay off.")
+ relay.off()
+ ```
+
+ ဒီ code သည် မြေစိုထိုင်းဆဆင်ဆာမှ မြေစိုထိုင်းဆအဆင့်ကို စစ်ဆေးသည်။ 450 ထက် မြင့်ပါက relay ကို ဖွင့်ပြီး 450 ထက် နိမ့်ပါက relay ကို ပိတ်သည်။
+
+ > 💁 Capacitive မြေစိုထိုင်းဆဆင်ဆာသည် မြေစိုထိုင်းဆအဆင့်နိမ့်လျှင် မြေစိုထိုင်းဆများပြီး မြင့်လျှင် မြေစိုထိုင်းဆနည်းသည်။
+
+1. Python app ကို run လုပ်ပါ။ relay သည် မြေစိုထိုင်းဆအဆင့်အပေါ်မူတည်၍ ဖွင့်ပိတ်လုပ်ဆောင်ပါမည်။ မြေစိုထိုင်းဆဆင်ဆာ၏ *Value* သို့မဟုတ် *Random* ကို ပြောင်းလဲပြီး အဆင့်ပြောင်းလဲမှုကို ကြည့်ပါ။
+
+ ```output
+ Soil Moisture: 638
+ Soil Moisture is too low, turning relay on.
+ Soil Moisture: 452
+ Soil Moisture is too low, turning relay on.
+ Soil Moisture: 347
+ Soil Moisture is ok, turning relay off.
+ ```
+
+> 💁 ဒီ code ကို [code-relay/virtual-device](../../../../../2-farm/lessons/3-automated-plant-watering/code-relay/virtual-device) folder တွင် ရှာနိုင်ပါသည်။
+
+😀 သင်၏ အွန်လိုင်းမြေစိုထိုင်းဆဆင်ဆာနှင့် relay ထိန်းချုပ်မှုအစီအစဉ်အောင်မြင်ပါပြီ!
+
+---
+
+**ဝက်ဘ်ဆိုက်မှတ်ချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးစားနေပါသော်လည်း၊ အလိုအလျောက်ဘာသာပြန်ဆိုမှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို ကျေးဇူးပြု၍ သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတည်သောရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပြန်ဆိုမှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုမှားများ သို့မဟုတ် အဓိပ္ပာယ်မှားများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md b/translations/my/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md
new file mode 100644
index 00000000..58228957
--- /dev/null
+++ b/translations/my/2-farm/lessons/3-automated-plant-watering/wio-terminal-relay.md
@@ -0,0 +1,115 @@
+
+# Relay ကိုထိန်းချုပ်ခြင်း - Wio Terminal
+
+ဒီသင်ခန်းပိုင်းမှာ သင့် Wio Terminal မှာ relay ကို soil moisture sensor နဲ့အတူထပ်ထည့်ပြီး၊ relay ကို soil moisture အဆင့်အတိုင်း ထိန်းချုပ်ပါမယ်။
+
+## Hardware
+
+Wio Terminal အတွက် relay တစ်ခုလိုအပ်ပါတယ်။
+
+သင်အသုံးပြုမယ့် relay က [Grove relay](https://www.seeedstudio.com/Grove-Relay.html) ဖြစ်ပြီး၊ relay ကို signal မပို့တဲ့အချိန် output circuit က disconnect ဖြစ်နေတဲ့ normally-open relay ဖြစ်ပါတယ်။ ဒီ relay က 250V နဲ့ 10A အထိ output circuit ကို handle လုပ်နိုင်ပါတယ်။
+
+ဒီဟာက digital actuator ဖြစ်တဲ့အတွက် Wio Terminal ရဲ့ digital pins တွေကို ချိတ်ဆက်ပါတယ်။ Analog/digital port ကို soil moisture sensor နဲ့အသုံးပြုပြီးသားဖြစ်တဲ့အတွက် relay ကို အခြား port (combined I²C/digital port) မှာ ချိတ်ဆက်ပါမယ်။
+
+### Relay ကိုချိတ်ဆက်ခြင်း
+
+Grove relay ကို Wio Terminal ရဲ့ digital port မှာ ချိတ်ဆက်နိုင်ပါတယ်။
+
+#### Task
+
+Relay ကိုချိတ်ဆက်ပါ။
+
+
+
+1. Grove cable ရဲ့ တစ်ဖက်အဆုံးကို relay ရဲ့ socket မှာ ထည့်ပါ။ ဒီ cable ကို တစ်ဖက်ဘက်သာ ထည့်နိုင်ပါတယ်။
+
+1. Wio Terminal ကို computer သို့မဟုတ် အခြား power supply မှာ ချိတ်ဆက်ထားမရှိတဲ့အချိန်မှာ Grove cable ရဲ့ အခြားဖက်အဆုံးကို Wio Terminal ရဲ့ screen ကိုကြည့်တဲ့အခါ ဘယ်ဘက် Grove socket မှာ ချိတ်ဆက်ပါ။ Soil moisture sensor ကိုညာဘက် socket မှာ ချိတ်ဆက်ထားပါ။
+
+
+
+1. Soil moisture sensor ကို မြေထဲမှာ ထည့်ပါ၊ အရင်သင်ခန်းမှာ ထည့်ထားပြီးသားမဟုတ်ရင်။
+
+## Relay ကို programming လုပ်ခြင်း
+
+Wio Terminal ကို relay ကိုအသုံးပြုဖို့ programming လုပ်နိုင်ပါပြီ။
+
+### Task
+
+Device ကို programming လုပ်ပါ။
+
+1. VS Code မှာ အရင်သင်ခန်းရဲ့ `soil-moisture-sensor` project ကို ဖွင့်ပါ၊ project ကို ဖွင့်ထားမရှိရင်။ ဒီ project ကို ဆက်လက်ပြင်ဆင်ပါမယ်။
+
+2. ဒီ actuator အတွက် library မရှိပါဘူး - relay က high signal သို့မဟုတ် low signal နဲ့ ထိန်းချုပ်နိုင်တဲ့ digital actuator ဖြစ်ပါတယ်။ Relay ကိုဖွင့်ဖို့ pin ကို high signal (3.3V) ပို့ရမယ်၊ ပိတ်ဖို့ low signal (0V) ပို့ရမယ်။ Arduino ရဲ့ [`digitalWrite`](https://www.arduino.cc/reference/en/language/functions/digital-io/digitalwrite/) function ကို အသုံးပြုနိုင်ပါတယ်။ `setup` function ရဲ့ အောက်ဆုံးမှာ ```cpp
+ pinMode(PIN_WIRE_SCL, OUTPUT);
+ ``` ကို ထည့်ပြီး combined I²C/digital port ကို output pin အဖြစ် setup လုပ်ပါ။
+
+ `PIN_WIRE_SCL` က combined I²C/digital port ရဲ့ port number ဖြစ်ပါတယ်။
+
+1. Relay က အလုပ်လုပ်နေမလား စမ်းဖို့ `loop` function ရဲ့ နောက်ဆုံး `delay` အောက်မှာ ```cpp
+ digitalWrite(PIN_WIRE_SCL, HIGH);
+ delay(500);
+ digitalWrite(PIN_WIRE_SCL, LOW);
+ ``` ကို ထည့်ပါ။
+
+ ဒီ code က relay ချိတ်ဆက်ထားတဲ့ pin ကို high signal ပို့ပြီး relay ကိုဖွင့်ပါတယ်၊ 500ms (တစ်ဝက်စက္ကန့်) စောင့်ပြီး relay ကိုပိတ်ဖို့ low signal ပို့ပါတယ်။
+
+1. Code ကို build လုပ်ပြီး Wio Terminal မှာ upload လုပ်ပါ။
+
+1. Upload လုပ်ပြီးရင် relay က 10 စက္ကန့်တိုင်း ဖွင့်ပြီး ပိတ်ပါမယ်၊ ဖွင့်ပြီး ပိတ်တဲ့အချိန်မှာ တစ်ဝက်စက္ကန့် delay ရှိပါမယ်။ Relay က click ဖွင့်ပြီး click ပိတ်သံကို ကြားရပါမယ်။ Relay ဖွင့်တဲ့အချိန် Grove board ရဲ့ LED ကလင်းပြီး ပိတ်တဲ့အချိန်မှာ LED ကပျောက်ပါမယ်။
+
+ 
+
+## Soil moisture sensor နဲ့ relay ကိုထိန်းချုပ်ခြင်း
+
+Relay က အလုပ်လုပ်နေပြီးသားဖြစ်တဲ့အတွက် relay ကို soil moisture readings အတိုင်း ထိန်းချုပ်နိုင်ပါပြီ။
+
+### Task
+
+Relay ကိုထိန်းချုပ်ပါ။
+
+1. Relay ကိုစမ်းဖို့ထည့်ထားတဲ့ code 3 လိုင်းကို ဖျက်ပါ။ အဲဒီနေရာမှာ ```cpp
+ if (soil_moisture > 450)
+ {
+ Serial.println("Soil Moisture is too low, turning relay on.");
+ digitalWrite(PIN_WIRE_SCL, HIGH);
+ }
+ else
+ {
+ Serial.println("Soil Moisture is ok, turning relay off.");
+ digitalWrite(PIN_WIRE_SCL, LOW);
+ }
+ ``` ကို ထည့်ပါ။
+
+ ဒီ code က soil moisture sensor ရဲ့ soil moisture level ကိုစစ်ပါတယ်။ 450 အထက်ရှိရင် relay ကိုဖွင့်ပြီး 450 အောက်ရှိရင် relay ကိုပိတ်ပါတယ်။
+
+ > 💁 Capacitive soil moisture sensor က မြေထဲမှာ ရေများလျှင် soil moisture level က နည်းပြီး၊ ရေနည်းလျှင် level ကများတယ်ဆိုတာကို သတိထားပါ။
+
+1. Code ကို build လုပ်ပြီး Wio Terminal မှာ upload လုပ်ပါ။
+
+1. Serial monitor မှာ device ကိုကြည့်ပါ။ Relay က soil moisture level အတိုင်း ဖွင့်သို့မဟုတ် ပိတ်ပါမယ်။ မြေခြောက်တဲ့နေရာမှာစမ်းပြီး ရေထည့်ပါ။
+
+ ```output
+ Soil Moisture: 638
+ Soil Moisture is too low, turning relay on.
+ Soil Moisture: 452
+ Soil Moisture is too low, turning relay on.
+ Soil Moisture: 347
+ Soil Moisture is ok, turning relay off.
+ ```
+
+> 💁 ဒီ code ကို [code-relay/wio-terminal](../../../../../2-farm/lessons/3-automated-plant-watering/code-relay/wio-terminal) folder မှာ ရှာနိုင်ပါတယ်။
+
+😀 သင့်ရဲ့ soil moisture sensor နဲ့ relay ကိုထိန်းချုပ်တဲ့ program အောင်မြင်ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွဲအချော်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md b/translations/my/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md
new file mode 100644
index 00000000..acfea1fa
--- /dev/null
+++ b/translations/my/2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md
@@ -0,0 +1,444 @@
+
+# မင်းရဲ့ အပင်ကို Cloud သို့ ပြောင်းရွှေ့ပါ
+
+
+
+> Sketchnote ကို [Nitya Narasimhan](https://github.com/nitya) မှရေးသားထားသည်။ ပုံကို နှိပ်ပြီး ပိုကြီးမားသော ဗားရှင်းကို ကြည့်ပါ။
+
+ဒီသင်ခန်းစာကို [IoT for Beginners Project 2 - Digital Agriculture series](https://youtube.com/playlist?list=PLmsFUfdnGr3yCutmcVg6eAUEfsGiFXgcx) ၏ အစိတ်အပိုင်းတစ်ခုအဖြစ် [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) မှ သင်ကြားခဲ့သည်။
+
+[](https://youtu.be/bNxjopXkhvk)
+
+## သင်ခန်းစာမတိုင်မီ စစ်ဆေးမှု
+
+[သင်ခန်းစာမတိုင်မီ စစ်ဆေးမှု](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/15)
+
+## နိဒါန်း
+
+ပြီးခဲ့သည့် သင်ခန်းစာတွင် မင်းရဲ့ အပင်ကို MQTT broker တစ်ခုနှင့် ချိတ်ဆက်ပြီး၊ တစ်ခုခုသော server code မှ relay ကို ထိန်းချုပ်ပုံကို သင်ကြားခဲ့ပါသည်။ ဒီဟာက အိမ်တွင်းရှိ တစ်ပင်တည်းအတွက် သို့မဟုတ် စီးပွားဖြစ် လယ်ယာများအတွက် အသုံးပြုသော အင်တာနက်ချိတ်ဆက်ထားသော ရေချိုးစနစ်၏ အခြေခံအဆင့်ဖြစ်သည်။
+
+IoT စက်က public MQTT broker တစ်ခုနှင့် ဆက်သွယ်ခဲ့သည်။ ဒါဟာ အခြေခံအယူအဆကို သင်ကြားရန် အကောင်းဆုံးနည်းလမ်းဖြစ်သော်လည်း၊ ယုံကြည်စိတ်ချမှုနှင့် လုံခြုံမှုအရ အကောင်းဆုံးနည်းလမ်းမဟုတ်ပါ။ ဒီသင်ခန်းစာမှာ မင်း cloud နဲ့ public cloud services တွေက ပေးတဲ့ IoT စွမ်းရည်တွေကို လေ့လာရမှာဖြစ်ပြီး၊ public MQTT broker မှ cloud service တစ်ခုသို့ မင်းရဲ့ အပင်ကို ပြောင်းရွှေ့ပုံကိုလည်း သင်ကြားပါမည်။
+
+ဒီသင်ခန်းစာမှာ ကျွန်တော်တို့ လေ့လာမည့်အကြောင်းအရာများမှာ -
+
+* [Cloud ဆိုတာဘာလဲ?](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud)
+* [Cloud subscription တစ်ခု ဖန်တီးပါ](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud)
+* [Cloud IoT services](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud)
+* [Cloud တွင် IoT service တစ်ခု ဖန်တီးပါ](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud)
+* [IoT Hub နှင့် ဆက်သွယ်ပါ](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud)
+* [မင်းရဲ့ စက်ကို IoT service နှင့် ချိတ်ဆက်ပါ](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud)
+
+## Cloud ဆိုတာဘာလဲ?
+
+Cloud မတိုင်မီမှာ၊ ကုမ္ပဏီတစ်ခုက သူတို့ရဲ့ ဝန်ဆောင်မှုများ (ဥပမာ database သို့မဟုတ် ဖိုင်သိုလှောင်မှု) ကို ဝန်ထမ်းများ သို့မဟုတ် ပြည်သူများအတွက် ပေးချင်လျှင်၊ data center တစ်ခုကို တည်ဆောက်ပြီး လည်ပတ်ရမည်ဖြစ်သည်။ ဒါဟာ ကွန်ပျူတာအနည်းငယ်ပါဝင်တဲ့ အခန်းတစ်ခန်းမှ စ၍၊ ကွန်ပျူတာများစွာပါဝင်တဲ့ အဆောက်အဦးတစ်ခုအထိ ကွဲပြားနိုင်သည်။ ကုမ္ပဏီက အောက်ပါအရာများအားလုံးကို စီမံခန့်ခွဲရမည် -
+
+* ကွန်ပျူတာများ ဝယ်ယူခြင်း
+* Hardware ပြုပြင်ထိန်းသိမ်းမှု
+* လျှပ်စစ်နှင့် အအေးပေးစနစ်
+* Network
+* လုံခြုံရေး (အဆောက်အဦးနှင့် software လုံခြုံရေးအပါအဝင်)
+* Software တပ်ဆင်ခြင်းနှင့် အပ်ဒိတ်လုပ်ခြင်း
+
+ဒါဟာ အလွန်စျေးကြီးပြီး၊ ကျွမ်းကျင်သူများစွာ လိုအပ်သလို၊ လိုအပ်သောအခါ အလျင်အမြန် ပြောင်းလဲရန် ခက်ခဲစေသည်။ ဥပမာအားဖြင့်၊ အွန်လိုင်းဆိုင်တစ်ခုက ပျော်ရွှင်စရာ ရာသီအတွက် ကြိုတင်ပြင်ဆင်ရန် လိုအပ်ပါက၊ hardware အသစ်များ ဝယ်ယူပြီး၊ အဆင့်ဆင့် ပြင်ဆင်ရမည်ဖြစ်သည်။ ရာသီကုန်ပြီး အရောင်းကျဆင်းသွားသောအခါ၊ အဲဒီ hardware တွေဟာ အလုပ်မလုပ်ဘဲ အချိန်လွန်နေမည်။
+
+✅ မင်းထင်တာက ဒီနည်းလမ်းက ကုမ္ပဏီတွေကို အလျင်အမြန် ရွေ့လျားနိုင်စေမလား? အွန်လိုင်းအဝတ်အစားရောင်းသူတစ်ဦးဟာ ရုတ်တရက် လူကြိုက်များလာရင်၊ သူတို့ရဲ့ စက်ရုပ်စွမ်းရည်ကို အလျင်အမြန် တိုးမြှင့်နိုင်မလား?
+
+### တစ်ယောက်ယောက်ရဲ့ ကွန်ပျူတာ
+
+Cloud ကို "တစ်ယောက်ယောက်ရဲ့ ကွန်ပျူတာ" လို့ ရယ်စရာအနေနဲ့ ခေါ်ကြသည်။ အစပိုင်းအယူအဆက ရိုးရှင်းသည် - မင်းရဲ့ ကွန်ပျူတာကို ဝယ်မယ့်အစား တစ်ယောက်ယောက်ရဲ့ ကွန်ပျူတာကို ငှားပါ။ Cloud computing provider တစ်ခုက data center ကြီးများကို စီမံခန့်ခွဲမည်။ သူတို့က hardware ဝယ်ယူခြင်း၊ power နှင့် cooling စနစ်များ စီမံခြင်း၊ network စီမံခြင်း၊ လုံခြုံရေး စီမံခြင်း၊ software အပ်ဒိတ်များ စီမံခြင်း စသည်တို့ကို တာဝန်ယူမည်။ Customer အနေနဲ့ မင်းက လိုအပ်သလောက် ကွန်ပျူတာများကို ငှားပြီး၊ လိုအပ်သောအခါ တိုးမြှင့်နိုင်သည်။
+
+
+
+
+ဒီ data center တွေဟာ စတုရန်းကီလိုမီတာများစွာ ကျယ်ဝန်းနိုင်သည်။ အထက်ပါပုံတွေက Microsoft cloud data center တစ်ခုမှာ ရှိပြီး၊ စတင်အရွယ်အစားနှင့် အချဲ့အရွယ်အစားကို ပြသထားသည်။
+
+> 💁 ဒီ data center တွေဟာ လျှပ်စစ်ဓာတ်အား အလွန်များစွာ လိုအပ်သောကြောင့်၊ တစ်ချို့မှာ သူတို့ရဲ့ လျှပ်စစ်ဓာတ်အားပေးစက်တွေကိုပင် တည်ဆောက်ထားရသည်။ Cloud provider တွေက သဘာဝပတ်ဝန်းကျင်အပေါ် သက်ရောက်မှုကို လျှော့ချရန် ကြိုးစားကြသည်။ [Azure sustainability site](https://azure.microsoft.com/global-infrastructure/sustainability/?WT.mc_id=academic-17441-jabenn) မှာ ပိုမိုသိရှိနိုင်ပါတယ်။
+
+✅ သုတေသနလုပ်ပါ - [Microsoft Azure](https://azure.microsoft.com/?WT.mc_id=academic-17441-jabenn) သို့မဟုတ် [Google GCP](https://cloud.google.com) တို့လို major cloud တွေမှာ data center ဘယ်လောက်ရှိသလဲ၊ ဘယ်နေရာတွေမှာရှိသလဲဆိုတာ ဖတ်ရှုပါ။
+
+Cloud ကို အသုံးပြုခြင်းက ကုန်ကျစရိတ်ကို လျှော့ချပြီး၊ ကုမ္ပဏီတွေကို သူတို့ရဲ့ အဓိကလုပ်ငန်းများအပေါ် အာရုံစိုက်နိုင်စေသည်။ Cloud provider တွေက အစုလိုက်အပြုံလိုက် ဝယ်ယူမှုများနှင့် စွမ်းရည်တိုးတက်မှုများကို အသုံးချပြီး၊ စျေးနှုန်းကို လျှော့ချနိုင်သည်။
+
+### Microsoft Azure
+
+Azure ဟာ Microsoft ရဲ့ developer cloud ဖြစ်ပြီး၊ ဒီသင်ခန်းစာတွေမှာ မင်းအသုံးပြုမည့် cloud ဖြစ်ပါတယ်။ အောက်ပါဗီဒီယိုက Azure အကြောင်း အကျဉ်းချုပ်ကို ဖော်ပြထားပါတယ် -
+
+[](https://www.microsoft.com/videoplayer/embed/RE4Ibng?WT.mc_id=academic-17441-jabenn)
+
+## Cloud subscription တစ်ခု ဖန်တီးပါ
+
+Cloud service တွေကို အသုံးပြုရန် မင်းအနေနဲ့ cloud provider တစ်ခုနှင့် subscription တစ်ခု လိုအပ်ပါမည်။ Microsoft Azure subscription တစ်ခုကို ဒီသင်ခန်းစာအတွက် စတင်ဖွင့်ပါမည်။
+
+> 💁 မင်းရဲ့ ကျောင်းကနေ ဒီသင်ခန်းစာတွေကို သင်ကြားနေတယ်ဆိုရင်၊ Azure subscription ရှိပြီးဖြစ်နိုင်ပါတယ်။ မင်းရဲ့ ဆရာ/ဆရာမကို စစ်ဆေးပါ။
+
+Azure subscription တွေမှာ အခမဲ့အမျိုးအစားနှစ်မျိုးရှိပါတယ် -
+
+* **Azure for Students** - ကျောင်းသားများအတွက် ဒီ subscription ဟာ 18 နှစ်အထက် ကျောင်းသားများအတွက် ဖြစ်ပါတယ်။ Credit card မလိုအပ်ပါဘူး၊ ကျောင်းအီးမေးလ်လိပ်စာကို အသုံးပြု၍ ကျောင်းသားအဖြစ် အတည်ပြုရပါမည်။
+
+* **Azure free subscription** - ကျောင်းသားမဟုတ်သူများအတွက် ဖြစ်ပါတယ်။ Credit card လိုအပ်သော်လည်း၊ စစ်ဆေးရန်အတွက်သာ အသုံးပြုသည်။
+
+> 💁 Microsoft မှ 18 နှစ်အောက် ကျောင်းသားများအတွက် Azure for Students Starter subscription ကို ပေးထားသော်လည်း၊ IoT service မပါဝင်ပါ။
+
+### Task - အခမဲ့ cloud subscription တစ်ခု စတင်ပါ
+
+18 နှစ်အထက် ကျောင်းသားများအတွက် Azure for Students subscription ကို စတင်နိုင်ပါတယ်။
+
+* GitHub student developer pack မှတဆင့် [education.github.com/pack](https://education.github.com/pack) တွင် စတင်ပါ။
+* သို့မဟုတ် [azure.microsoft.com/free/students](https://azure.microsoft.com/free/students/?WT.mc_id=academic-17441-jabenn) တွင် တိုက်ရိုက် စတင်ပါ။
+
+> ⚠️ မင်းရဲ့ ကျောင်းအီးမေးလ်လိပ်စာကို အသိအမှတ်ပြုမထားပါက၊ [ဒီ repo တွင် issue တင်ပါ](https://github.com/Microsoft/IoT-For-Beginners/issues)။
+
+ကျောင်းသားမဟုတ်သူများအတွက် -
+
+* [azure.microsoft.com/free](https://azure.microsoft.com/free/?WT.mc_id=academic-17441-jabenn) တွင် Azure Free Subscription ကို စတင်ပါ။
+
+## Cloud IoT services
+
+Public test MQTT broker ကို သင်ကြားရန် အကောင်းဆုံးနည်းလမ်းဖြစ်သော်လည်း၊ စီးပွားဖြစ်အတွက် အခက်အခဲများရှိသည် -
+
+* ယုံကြည်စိတ်ချမှု - အခမဲ့ဝန်ဆောင်မှုဖြစ်ပြီး၊ မည်သည့်အချိန်တွင်မဆို ပိတ်သိမ်းနိုင်သည်
+* လုံခြုံမှု - Public ဖြစ်သောကြောင့်၊ မည်သူမဆို မင်းရဲ့ data ကို ကြည့်နိုင်သည်
+* စွမ်းဆောင်ရည် - စမ်းသပ်သည့် message အနည်းငယ်အတွက်သာ ရည်ရွယ်ထားသည်
+* စက်တွေ့ရှိမှု - ချိတ်ဆက်ထားသော စက်များကို သိရှိရန် နည်းလမ်းမရှိပါ
+
+Cloud IoT services တွေက ဒီပြဿနာတွေကို ဖြေရှင်းပေးနိုင်ပါတယ်။ Cloud provider တွေက reliability အတွက် အလွန်ကြိုးစားပြီး၊ လုံခြုံမှုကို အခြေခံထားသည်။
+
+> 💁 Cloud IoT service တွေဟာ အခမဲ့ဗားရှင်းများကိုလည်း ပေးထားပါတယ်။
+
+IoT စက်တွေဟာ device SDK သို့မဟုတ် MQTT/HTTP တို့ကို အသုံးပြု၍ Cloud service တွေကို ချိတ်ဆက်နိုင်ပါတယ်။ Device SDK က အလွယ်ဆုံးနည်းလမ်းဖြစ်ပြီး၊ လုံခြုံမှုနှင့် topic management ကို handle လုပ်ပေးသည်။
+
+
+
+စက်တွေဟာ Cloud service ကို အသုံးပြုပြီး၊ အခြား application components တွေနဲ့ ဆက်သွယ်နိုင်ပါတယ်။
+
+
+
+Cloud IoT service တွေဟာ device တွေကို pre-register လုပ်ထားခြင်း သို့မဟုတ် secret key/certificate တွေကို အသုံးပြု၍ လုံခြုံမှုကို အာမခံပေးသည်။
+
+✅ သုတေသနလုပ်ပါ - Open IoT service တွေမှာ မည်သူမဆို ချိတ်ဆက်နိုင်ရင် ဘယ်လို downside တွေရှိမလဲ? Hackers တွေက အဲဒီအခွင့်အရေးကို ဘယ်လို အသုံးချကြသလဲ?
+💁 IoT ဝန်ဆောင်မှုများတွင် ထပ်ဆင့်စွမ်းဆောင်ရည်များကိုလည်း အကောင်အထည်ဖော်ထားပြီး၊ cloud ပံ့ပိုးသူများတွင် ဝန်ဆောင်မှုနှင့် ချိတ်ဆက်နိုင်သော ထပ်ဆင့်ဝန်ဆောင်မှုများနှင့် အက်ပ်လီကေးရှင်းများလည်း ရှိပါသည်။ ဥပမာအားဖြင့်၊ စက်ပစ္စည်းအားလုံးမှ ပေးပို့လာသော တယ်လီမက်ထရီမက်ဆေ့များကို ဒေတာဘေ့စ်တစ်ခုတွင် သိမ်းဆည်းလိုပါက၊ cloud ပံ့ပိုးသူ၏ configuration tool တွင် ဝန်ဆောင်မှုကို ဒေတာဘေ့စ်နှင့် ချိတ်ဆက်ပြီး ဒေတာကို စီးဆင်းစေရန် အချို့သော ခလုတ်များသာ နှိပ်ရမည်ဖြစ်သည်။
+## ကောင်းကင်ပေါ်တွင် IoT ဝန်ဆောင်မှုတစ်ခု ဖန်တီးခြင်း
+
+အခုတော့ သင်မှာ Azure subscription ရှိပြီးဖြစ်တာကြောင့် IoT ဝန်ဆောင်မှုတစ်ခုအတွက် စာရင်းသွင်းနိုင်ပါပြီ။ Microsoft မှပေးသော IoT ဝန်ဆောင်မှုကို Azure IoT Hub ဟုခေါ်သည်။
+
+
+
+အောက်ပါဗီဒီယိုသည် Azure IoT Hub အကြောင်းကို အကျဉ်းချုပ်ဖော်ပြထားသည်။
+
+[](https://www.youtube.com/watch?v=smuZaZZXKsU)
+
+> 🎥 ဗီဒီယိုကြည့်ရန် အထက်ပါပုံကို နှိပ်ပါ
+
+✅ ခဏနားပြီး [Microsoft IoT Hub documentation](https://docs.microsoft.com/azure/iot-hub/about-iot-hub?WT.mc_id=academic-17441-jabenn) တွင် IoT Hub အကြောင်းအရာကို ဖတ်ရှုလေ့လာပါ။
+
+Azure တွင် ရရှိနိုင်သော cloud ဝန်ဆောင်မှုများကို web-based portal သို့မဟုတ် command-line interface (CLI) မှတစ်ဆင့် ပြင်ဆင်နိုင်သည်။ ဒီအလုပ်မှာတော့ CLI ကို အသုံးပြုမည်ဖြစ်သည်။
+
+### အလုပ် - Azure CLI ကို ထည့်သွင်းပါ
+
+Azure CLI ကို အသုံးပြုရန်အတွက် သင်၏ PC သို့မဟုတ် Mac တွင် အရင်ဆုံး ထည့်သွင်းရမည်ဖြစ်သည်။
+
+1. [Azure CLI documentation](https://docs.microsoft.com/cli/azure/install-azure-cli?WT.mc_id=academic-17441-jabenn) တွင်ပါရှိသော လမ်းညွှန်ချက်များကို လိုက်နာပြီး CLI ကို ထည့်သွင်းပါ။
+
+1. Azure CLI သည် Azure ဝန်ဆောင်မှုအမျိုးမျိုးကို စီမံခန့်ခွဲရန် လုပ်ဆောင်ချက်များကို ထည့်သွင်းပေးသော extension များစွာကို ပံ့ပိုးပေးသည်။ အောက်ပါ command ကို သင်၏ command line သို့မဟုတ် terminal မှာ run လိုက်ပြီး IoT extension ကို ထည့်သွင်းပါ။
+
+ ```sh
+ az extension add --name azure-iot
+ ```
+
+1. Azure CLI မှ သင်၏ Azure subscription သို့ log in ပြုလုပ်ရန် အောက်ပါ command ကို သင်၏ command line သို့မဟုတ် terminal မှာ run လုပ်ပါ။
+
+ ```sh
+ az login
+ ```
+
+ သင်၏ default browser တွင် web page တစ်ခု ဖွင့်လှစ်မည်ဖြစ်သည်။ သင်၏ Azure subscription အတွက် အသုံးပြုသော account ဖြင့် log in ပြုလုပ်ပါ။ Log in ပြီးလျှင် browser tab ကို ပိတ်နိုင်ပါသည်။
+
+1. သင်မှာ school subscription တစ်ခုနှင့် သင်၏ကိုယ်ပိုင် Azure for Students subscription တို့လိုမျိုး subscription အမျိုးမျိုးရှိပါက သင်အသုံးပြုလိုသော subscription ကို ရွေးချယ်ရမည်ဖြစ်သည်။ သင်ရရှိနိုင်သော subscription အားလုံးကို ဖော်ပြရန် အောက်ပါ command ကို run လုပ်ပါ။
+
+ ```sh
+ az account list --output table
+ ```
+
+ Output တွင် subscription တစ်ခုစီ၏ `SubscriptionId` နှင့်အတူ အမည်ကို တွေ့ရမည်။
+
+ ```output
+ ➜ ~ az account list --output table
+ Name CloudName SubscriptionId State IsDefault
+ ---------------------- ----------- ------------------------------------ ------- -----------
+ School-subscription AzureCloud cb30cde9-814a-42f0-a111-754cb788e4e1 Enabled True
+ Azure for Students AzureCloud fa51c31b-162c-4599-add6-781def2e1fbf Enabled False
+ ```
+
+ သင်အသုံးပြုလိုသော subscription ကို ရွေးချယ်ရန် အောက်ပါ command ကို အသုံးပြုပါ။
+
+ ```sh
+ az account set --subscription
+ ```
+
+ `` ကို သင်အသုံးပြုလိုသော subscription Id ဖြင့် အစားထိုးပါ။ ဒီ command ကို run လုပ်ပြီးနောက် သင်၏ accounts ကို ပြန်လည်ဖော်ပြပါ။ သင်ရွေးချယ်ထားသော subscription အတွက် `IsDefault` ကော်လံတွင် `True` ဟု ဖော်ပြထားမည်ဖြစ်သည်။
+
+### အလုပ် - resource group တစ်ခု ဖန်တီးပါ
+
+Azure ဝန်ဆောင်မှုများ (ဥပမာ - IoT Hub instances, virtual machines, databases, AI services) ကို **resources** ဟုခေါ်သည်။ Resource တစ်ခုစီသည် **Resource Group** (resource အများအပြားကို logical group တစ်ခုအဖြစ် စုစည်းထားသောအရာ) အတွင်းတွင် ရှိရမည်။
+
+> 💁 Resource group များကို အသုံးပြုခြင်းဖြင့် ဝန်ဆောင်မှုများစွာကို တစ်ပြိုင်တည်း စီမံခန့်ခွဲနိုင်သည်။ ဥပမာအားဖြင့် ဒီ project အတွက် သင်၏သင်ခန်းစာအားလုံး ပြီးဆုံးသွားသောအခါ resource group ကို ဖျက်လိုက်ရုံဖြင့် အတွင်းရှိ resource အားလုံးကို အလိုအလျောက် ဖျက်သိမ်းနိုင်သည်။
+
+1. Azure data center များသည် ကမ္ဘာတစ်ဝှမ်းတွင် ရှိပြီး region အလိုက် ခွဲထားသည်။ Azure resource သို့မဟုတ် resource group တစ်ခု ဖန်တီးသောအခါ သင်ဖန်တီးလိုသောနေရာကို သတ်မှတ်ရမည်။ နေရာများစာရင်းကို ရယူရန် အောက်ပါ command ကို run လုပ်ပါ။
+
+ ```sh
+ az account list-locations --output table
+ ```
+
+ နေရာများစာရင်းကို တွေ့ရမည်။ ဒီစာရင်းသည် ရှည်လျားမည်ဖြစ်သည်။
+
+ > 💁 ဒီစာရင်းရေးစဉ်အချိန်တွင် 65 နေရာများကို deploy ပြုလုပ်နိုင်ပါသည်။
+
+ ```output
+ ➜ ~ az account list-locations --output table
+ DisplayName Name RegionalDisplayName
+ ------------------------ ------------------- -------------------------------------
+ East US eastus (US) East US
+ East US 2 eastus2 (US) East US 2
+ South Central US southcentralus (US) South Central US
+ ...
+ ```
+
+ သင်နီးစပ်ဆုံးသော region ၏ `Name` ကော်လံမှ တန်ဖိုးကို မှတ်သားပါ။ [Azure geographies page](https://azure.microsoft.com/global-infrastructure/geographies/?WT.mc_id=academic-17441-jabenn) တွင် region များကို မြေပုံပေါ်တွင် တွေ့နိုင်ပါသည်။
+
+1. `soil-moisture-sensor` ဟုခေါ်သော resource group တစ်ခု ဖန်တီးရန် အောက်ပါ command ကို run လုပ်ပါ။ Resource group အမည်များသည် သင်၏ subscription အတွင်းတွင် ထူးခြားရမည်ဖြစ်သည်။
+
+ ```sh
+ az group create --name soil-moisture-sensor \
+ --location
+ ```
+
+ `` ကို သင်ရွေးချယ်ထားသောနေရာဖြင့် အစားထိုးပါ။
+
+### အလုပ် - IoT Hub တစ်ခု ဖန်တီးပါ
+
+အခုတော့ သင်၏ resource group အတွင်း IoT Hub resource တစ်ခု ဖန်တီးနိုင်ပါပြီ။
+
+1. IoT Hub resource ကို ဖန်တီးရန် အောက်ပါ command ကို အသုံးပြုပါ။
+
+ ```sh
+ az iot hub create --resource-group soil-moisture-sensor \
+ --sku F1 \
+ --partition-count 2 \
+ --name
+ ```
+
+ `` ကို သင်၏ hub အတွက် အမည်ဖြင့် အစားထိုးပါ။ ဒီအမည်သည် ကမ္ဘာတစ်ဝှမ်းတွင် ထူးခြားရမည်ဖြစ်သည် - အခြားသူတစ်ဦးမှ ဖန်တီးထားသော IoT Hub တစ်ခုမှ ဒီအမည်ကို မရှိရပါ။ ဒီအမည်ကို hub ကိုညွှန်းသော URL တွင် အသုံးပြုမည်ဖြစ်သည်။ `soil-moisture-sensor-` ဟုစပြီး ထူးခြားသော identifier (ဥပမာ - စကားလုံးတစ်ချို့ သို့မဟုတ် သင်၏နာမည်) ကို ထည့်ပါ။
+
+ `--sku F1` option သည် free tier ကို အသုံးပြုရန် ပြောသည်။ Free tier သည် တစ်နေ့လျှင် 8,000 messages ကို ပံ့ပိုးပေးပြီး အခြား tier များ၏ အင်္ဂါရပ်များအများစုကို ပါဝင်စေသည်။
+
+ > 🎓 Azure ဝန်ဆောင်မှုများ၏ စျေးနှုန်းအဆင့်များကို tiers ဟုခေါ်သည်။ Tier တစ်ခုစီတွင် ကုန်ကျစရိတ်ကွာခြားမှုနှင့် အင်္ဂါရပ်များ သို့မဟုတ် ဒေတာပမာဏများ ကွာခြားမှုရှိသည်။
+
+ > 💁 စျေးနှုန်းအကြောင်းပိုမိုလေ့လာလိုပါက [Azure IoT Hub pricing guide](https://azure.microsoft.com/pricing/details/iot-hub/?WT.mc_id=academic-17441-jabenn) ကို ကြည့်ပါ။
+
+ `--partition-count 2` option သည် IoT Hub ပံ့ပိုးပေးသော ဒေတာစီးကြောင်းအရေအတွက်ကို သတ်မှတ်သည်။ Partition များသည် IoT Hub သို့ data ရေးသားခြင်းနှင့် ဖတ်ရှုခြင်းများအတွက် data blocking ကို လျှော့ချပေးသည်။ Partition များသည် ဒီသင်ခန်းစာများ၏ အကျုံးအတွင်းမရှိသော်လည်း free tier IoT Hub တစ်ခု ဖန်တီးရန် ဒီတန်ဖိုးကို သတ်မှတ်ရမည်။
+
+ > 💁 Subscription တစ်ခုလျှင် free tier IoT Hub တစ်ခုသာ ရှိနိုင်သည်။
+
+IoT Hub ကို ဖန်တီးမည်ဖြစ်သည်။ ဒီလုပ်ငန်းစဉ်ကို ပြီးစီးရန် မိနစ်အနည်းငယ်ကြာနိုင်သည်။
+
+## IoT Hub နှင့် ဆက်သွယ်ပါ
+
+ယခင်သင်ခန်းစာတွင် သင်သည် MQTT ကို အသုံးပြုကာ ခေါင်းစဉ်အမျိုးမျိုးပေါ်တွင် message များကို ပို့ပေးခဲ့သည်။ IoT Hub တွင်တော့ device နှင့် Hub အကြား ဆက်သွယ်ရန် သတ်မှတ်ထားသော နည်းလမ်းအမျိုးမျိုး ရှိသည်။
+
+> 💁 IoT Hub နှင့် သင်၏ device အကြား ဆက်သွယ်မှုသည် MQTT, HTTPS သို့မဟုတ် AMQP ကို အသုံးပြုနိုင်သည်။
+
+* Device to cloud (D2C) messages - device မှ IoT Hub သို့ ပို့သော message များဖြစ်သည်။ ဥပမာ - telemetry data များ။ Application code မှ message များကို IoT Hub မှ ဖတ်ရှုနိုင်သည်။
+
+ > 🎓 IoT Hub သည် [Event Hubs](https://docs.microsoft.com/azure/event-hubs/?WT.mc_id=academic-17441-jabenn) ဟုခေါ်သော Azure ဝန်ဆောင်မှုကို အသုံးပြုသည်။ Hub သို့ ပို့သော message များကို ဖတ်ရန် code ရေးသားသောအခါ event ဟုခေါ်သည်။
+
+* Cloud to device (C2D) messages - application code မှ IoT Hub ကိုဖြတ်ပြီး IoT device သို့ ပို့သော message များဖြစ်သည်။
+
+* Direct method requests - application code မှ IoT Hub ကိုဖြတ်ပြီး IoT device သို့ actuator တစ်ခုကို ထိန်းချုပ်ရန် တောင်းဆိုမှု message များပို့သည်။ ဒီ message များသည် response တစ်ခုလိုအပ်သည်။
+
+* Device twins - JSON document များဖြစ်ပြီး device နှင့် IoT Hub အကြား synchronization ပြုလုပ်ထားသည်။ Device ၏ settings သို့မဟုတ် properties များကို သိမ်းဆည်းရန် အသုံးပြုသည်။
+
+IoT Hub သည် message များနှင့် direct method requests များကို သတ်မှတ်ထားသော အချိန်ကာလအတွင်း (default အနေဖြင့် တစ်ရက်) သိမ်းဆည်းထားနိုင်သည်။ Device သို့မဟုတ် application code သည် reconnect ပြုလုပ်သောအခါ message များကို ပြန်လည်ရယူနိုင်သည်။
+
+✅ လေ့လာပါ - [Device-to-cloud communications guidance](https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-d2c-guidance?WT.mc_id=academic-17441-jabenn) နှင့် [Cloud-to-device communications guidance](https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-c2d-guidance?WT.mc_id=academic-17441-jabenn) ကို ဖတ်ပါ။
+
+## သင်၏ device ကို IoT ဝန်ဆောင်မှုနှင့် ချိတ်ဆက်ပါ
+
+Hub ကို ဖန်တီးပြီးနောက် သင်၏ IoT device သည် hub နှင့် ချိတ်ဆက်နိုင်ပါပြီ။ Register လုပ်ထားသော device များသာ ဝန်ဆောင်မှုနှင့် ချိတ်ဆက်နိုင်သည်။ Device ကို register ပြုလုပ်ပြီးနောက် connection string ကို ရယူနိုင်သည်။
+
+> 🎓 Connection string သည် ဝန်ဆောင်မှုများနှင့် ချိတ်ဆက်ရန် အသုံးပြုသော text တစ်ခုဖြစ်သည်။
+
+> ⚠️ Connection string များကို လုံခြုံစွာ သိမ်းဆည်းပါ!
+
+### အလုပ် - သင်၏ IoT device ကို register ပြုလုပ်ပါ
+
+IoT Hub တွင် IoT device ကို Azure CLI အသုံးပြု၍ register ပြုလုပ်နိုင်သည်။
+
+1. အောက်ပါ command ကို run လုပ်ပါ။
+
+ ```sh
+ az iot hub device-identity create --device-id soil-moisture-sensor \
+ --hub-name
+ ```
+
+ `` ကို သင်၏ IoT Hub အမည်ဖြင့် အစားထိုးပါ။
+
+1. Connection string ကို ရယူရန် အောက်ပါ command ကို run လုပ်ပါ။
+
+ ```sh
+ az iot hub device-identity connection-string show --device-id soil-moisture-sensor \
+ --output table \
+ --hub-name
+ ```
+
+ `` ကို သင်၏ IoT Hub အမည်ဖြင့် အစားထိုးပါ။
+
+1. Output တွင် ဖော်ပြထားသော connection string ကို သိမ်းဆည်းပါ။
+
+### အလုပ် - သင်၏ IoT device ကို cloud နှင့် ချိတ်ဆက်ပါ
+
+အောက်ပါလမ်းညွှန်ချက်များကို လိုက်နာပါ။
+
+* [Arduino - Wio Terminal](wio-terminal-connect-hub.md)
+* [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-connect-hub.md)
+
+### အလုပ် - event များကို စောင့်ကြည့်ပါ
+
+IoT device မှ ပေးပို့သော message များကို Azure CLI အသုံးပြု၍ စောင့်ကြည့်နိုင်သည်။
+
+1. IoT device ကို run လုပ်ပြီး soil moisture telemetry values ပေးပို့ပါ။
+
+1. အောက်ပါ command ကို run လုပ်ပါ။
+
+ ```sh
+ az iot hub monitor-events --hub-name
+ ```
+
+ `` ကို သင်၏ IoT Hub အမည်ဖြင့် အစားထိုးပါ။
+
+ Console output တွင် IoT device မှ ပေးပို့သော message များကို တွေ့ရမည်။
+
+ ```output
+ Starting event monitor, use ctrl-c to stop...
+ {
+ "event": {
+ "origin": "soil-moisture-sensor",
+ "module": "",
+ "interface": "",
+ "component": "",
+ "payload": "{\"soil_moisture\": 376}"
+ }
+ },
+ {
+ "event": {
+ "origin": "soil-moisture-sensor",
+ "module": "",
+ "interface": "",
+ "component": "",
+ "payload": "{\"soil_moisture\": 381}"
+ }
+ }
+ ```
+
+ `payload` ၏ အကြောင်းအရာသည် IoT device မှ ပေးပို့သော message နှင့် ကိုက်ညီမည်။
+
+ > Apple Silicon အသုံးပြုသူများအတွက် `az iot` extension သည် အပြည့်အဝ အလုပ်မလုပ်သေးပါ။ Apple Silicon device အသုံးပြုပါက [Azure IoT Tools for Visual Studio Code](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-vscode-iot-toolkit-cloud-device-messaging) ကို အသုံးပြုပါ။
+
+1. Message များတွင် timestamp အပါအဝင် properties များစွာ ပါဝင်သည်။ အားလုံးကို ကြည့်ရန် အောက်ပါ command ကို run လုပ်ပါ။
+
+ ```sh
+ az iot hub monitor-events --properties anno --hub-name
+ ```
+
+ `` ကို သင်၏ IoT Hub အမည်ဖြင့် အစားထိုးပါ။
+
+ Console output တွင် IoT device မှ ပေးပို့သော message များကို တွေ့ရမည်။
+
+ ```output
+ Starting event monitor, use ctrl-c to stop...
+ {
+ "event": {
+ "origin": "soil-moisture-sensor",
+ "module": "",
+ "interface": "",
+ "component": "",
+ "properties": {},
+ "annotations": {
+ "iothub-connection-device-id": "soil-moisture-sensor",
+ "iothub-connection-auth-method": "{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
+ "iothub-connection-auth-generation-id": "637553997165220462",
+ "iothub-enqueuedtime": 1619976150288,
+ "iothub-message-source": "Telemetry",
+ "x-opt-sequence-number": 1379,
+ "x-opt-offset": "550576",
+ "x-opt-enqueued-time": 1619976150277
+ },
+ "payload": "{\"soil_moisture\": 381}"
+ }
+ }
+ ```
+
+ Time value များသည် [UNIX time](https://wikipedia.org/wiki/Unix_time) ဖြစ်သည်။
+
+ Event monitor ကို ပြီးဆုံးပါက ထွက်ပါ။
+
+### အလုပ် - သင်၏ IoT device ကို ထိန်းချုပ်ပါ
+
+Azure CLI ကို အသုံးပြု၍ IoT device တွင် direct methods ကို ခေါ်နိုင်သည်။
+
+1. IoT device တွင် `relay_on` method ကို invoke ပြုလုပ်ရန် အောက်ပါ command ကို run လုပ်ပါ။
+
+ ```sh
+ az iot hub invoke-device-method --device-id soil-moisture-sensor \
+ --method-name relay_on \
+ --method-payload '{}' \
+ --hub-name
+ ```
+
+ `
+
+` with the name you used for your IoT Hub.
+
+ဒီဟာက `method-name` ဆိုတဲ့နည်းလမ်းအမည်အတွက် direct method request ကိုပို့ပါတယ်။ Direct methods တွေဟာ နည်းလမ်းအတွက် data ပါဝင်တဲ့ payload ကိုယူနိုင်ပြီး၊ ဒီ payload ကို JSON အနေနဲ့ `method-payload` parameter မှာ သတ်မှတ်နိုင်ပါတယ်။
+
+သင့် IoT device မှ relay အဖွင့်ပြီး၊ အတူတူ output ကိုတွေ့ရပါမယ်။
+
+```output
+ Direct method received - relay_on
+ ```
+
+1. အထက်ပါအဆင့်ကို ထပ်လုပ်ပါ၊ ဒါပေမယ့် `--method-name` ကို `relay_off` အဖြစ်သတ်မှတ်ပါ။ သင့် IoT device မှ relay အပိတ်ပြီး၊ အတူတူ output ကိုတွေ့ရပါမယ်။
+
+---
+
+## 🚀 စိန်ခေါ်မှု
+
+IoT Hub ရဲ့ အခမဲ့ tier က တစ်နေ့ကို 8,000 messages ပေးပါတယ်။ သင်ရေးထားတဲ့ code က တစ်စက္ကန့် 10 စက္ကန့်တိုင်း telemetry messages ပို့ပါတယ်။ တစ်စက္ကန့် 10 စက္ကန့်တိုင်း message တစ်ခုဆိုရင် တစ်နေ့မှာ message ဘယ်နှစ်ခုပို့မလဲ?
+
+မြေစိုထိုင်းမှုတိုင်းတာမှုတွေကို ဘယ်နှစ်ခါပို့သင့်လဲဆိုတာကို စဉ်းစားပါ။ အခမဲ့ tier အတွင်းမှာနေပြီး၊ လိုအပ်သလိုစစ်ဆေးနိုင်ဖို့၊ အလွန်မပို့ရအောင် သင့် code ကို ဘယ်လိုပြောင်းလဲနိုင်မလဲ? ဒုတိယ device တစ်ခုထပ်ထည့်ချင်ရင် ဘာလုပ်ရမလဲ?
+
+## Post-lecture quiz
+
+[Post-lecture quiz](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/16)
+
+## ပြန်လည်သုံးသပ်ခြင်းနှင့် ကိုယ်တိုင်လေ့လာခြင်း
+
+IoT Hub SDK ဟာ Arduino နဲ့ Python အတွက် open source ဖြစ်ပါတယ်။ GitHub မှာရှိတဲ့ code repos တွေမှာ IoT Hub ရဲ့ feature အမျိုးမျိုးနဲ့အလုပ်လုပ်ပုံကို ပြသထားတဲ့ နမူနာတွေရှိပါတယ်။
+
+* သင် Wio Terminal ကိုသုံးနေတယ်ဆိုရင် [GitHub မှာရှိတဲ့ Arduino နမူနာတွေ](https://github.com/Azure/azure-iot-pal-arduino/tree/master/pal/samples) ကိုကြည့်ပါ။
+* သင် Raspberry Pi သို့မဟုတ် Virtual device ကိုသုံးနေတယ်ဆိုရင် [GitHub မှာရှိတဲ့ Python နမူနာတွေ](https://github.com/Azure/azure-iot-sdk-python/tree/master/azure-iot-hub/samples) ကိုကြည့်ပါ။
+
+## လုပ်ငန်းတာဝန်
+
+[Cloud services အကြောင်းလေ့လာပါ](assignment.md)
+
+---
+
+**ဝက်ဘ်ဆိုက်မှတ်ချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးစားနေပါသော်လည်း၊ အလိုအလျောက်ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို ကျေးဇူးပြု၍ သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတည်သောရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် ပရော်ဖက်ရှင်နယ် လူသားဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုမှားများ သို့မဟုတ် အဓိပ္ပါယ်မှားများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md b/translations/my/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md
new file mode 100644
index 00000000..4c12cf44
--- /dev/null
+++ b/translations/my/2-farm/lessons/4-migrate-your-plant-to-the-cloud/assignment.md
@@ -0,0 +1,33 @@
+
+# မိုဃ်းတိမ်ဝန်ဆောင်မှုများကိုလေ့လာပါ
+
+## လမ်းညွှန်ချက်များ
+
+Microsoft မှ Azure ကဲ့သို့သော မိုဃ်းတိမ်များသည် ရှိရင်းကွန်ပျူတာများကိုငှားရမ်းရန်သာမက အခြားအရာများကိုလည်းပေးဆောင်ပါသည်။ မိုဃ်းတိမ်ဝန်ဆောင်မှုအမျိုးအစားများမှာ အဓိကအားဖြင့် -
+
+* ဝန်ဆောင်မှုအဖြစ်အခြေခံအဆောက်အအုံ (Infrastructure as a service - IaaS)
+* ဝန်ဆောင်မှုအဖြစ်ပလက်ဖောင်း (Platform as a service - PaaS)
+* Serverless
+* ဝန်ဆောင်မှုအဖြစ်ဆော့ဖ်ဝဲ (Software as a service - SaaS)
+
+ဤအမျိုးအစားများကိုလေ့လာပြီး၊ ၎င်းတို့သည်ဘာလဲ၊ ဘယ်လိုကွဲပြားကြသည်ဆိုတာကိုရှင်းပြပါ။ IoT ဖွံ့ဖြိုးရေးဆရာများအတွက် ဘယ်ဝန်ဆောင်မှုများအသုံးဝင်သည်ဆိုတာကိုလည်းရှင်းပြပါ။
+
+## အဆင့်သတ်မှတ်ချက်
+
+| အချက်အလက် | ထူးချွန်သော | လုံလောက်သော | တိုးတက်မှုလိုအပ်သော |
+| -------- | --------- | -------- | ----------------- |
+| မိုဃ်းတိမ်ဝန်ဆောင်မှုအမျိုးအစားများကိုရှင်းပြခြင်း | ဝန်ဆောင်မှုအမျိုးအစား ၄ မျိုးလုံးကိုရှင်းလင်းစွာရှင်းပြနိုင်ခဲ့သည် | ဝန်ဆောင်မှုအမျိုးအစား ၃ မျိုးကိုရှင်းပြနိုင်ခဲ့သည် | ဝန်ဆောင်မှုအမျိုးအစား ၁ မျိုး သို့မဟုတ် ၂ မျိုးသာရှင်းပြနိုင်ခဲ့သည် |
+| IoT အတွက် သက်ဆိုင်သောဝန်ဆောင်မှုကိုရှင်းပြခြင်း | IoT ဖွံ့ဖြိုးရေးဆရာများအတွက် သက်ဆိုင်သောဝန်ဆောင်မှုများနှင့် အကြောင်းရင်းကိုရှင်းပြနိုင်ခဲ့သည် | IoT ဖွံ့ဖြိုးရေးဆရာများအတွက် သက်ဆိုင်သောဝန်ဆောင်မှုများကိုရှင်းပြနိုင်ခဲ့သော်လည်း အကြောင်းရင်းကိုမရှင်းပြနိုင်ခဲ့ပါ | IoT ဖွံ့ဖြိုးရေးဆရာများအတွက် သက်ဆိုင်သောဝန်ဆောင်မှုများကိုရှင်းပြနိုင်ခြင်းမရှိပါ |
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွဲအချော်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md b/translations/my/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md
new file mode 100644
index 00000000..5c2282f4
--- /dev/null
+++ b/translations/my/2-farm/lessons/4-migrate-your-plant-to-the-cloud/single-board-computer-connect-hub.md
@@ -0,0 +1,130 @@
+
+# သင့် IoT စက်ကို Cloud နှင့် ချိတ်ဆက်ပါ - Virtual IoT Hardware နှင့် Raspberry Pi
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင့် Virtual IoT စက် သို့မဟုတ် Raspberry Pi ကို IoT Hub နှင့် ချိတ်ဆက်ပြီး telemetry ပေးပို့ခြင်းနှင့် အမိန့်များကို လက်ခံပါမည်။
+
+## သင့်စက်ကို IoT Hub နှင့် ချိတ်ဆက်ပါ
+
+နောက်တစ်ဆင့်မှာ သင့်စက်ကို IoT Hub နှင့် ချိတ်ဆက်ရမည်ဖြစ်သည်။
+
+### လုပ်ဆောင်ရန် - IoT Hub နှင့် ချိတ်ဆက်ပါ
+
+1. VS Code တွင် `soil-moisture-sensor` ဖိုလ်ဒါကို ဖွင့်ပါ။ သင် Virtual IoT စက်ကို အသုံးပြုနေပါက terminal တွင် virtual environment ကို run လုပ်ထားကြောင်း သေချာစေပါ။
+
+1. အောက်ပါ Pip packages များကို ထည့်သွင်းပါ-
+
+ ```sh
+ pip3 install azure-iot-device
+ ```
+
+ `azure-iot-device` သည် သင့် IoT Hub နှင့် ဆက်သွယ်ရန် အသုံးပြုသော library ဖြစ်သည်။
+
+1. `app.py` ဖိုင်၏ အပေါ်ပိုင်းတွင် ရှိပြီးသား imports အောက်တွင် အောက်ပါ imports များကို ထည့်ပါ-
+
+ ```python
+ from azure.iot.device import IoTHubDeviceClient, Message, MethodResponse
+ ```
+
+ ဒီ code သည် သင့် IoT Hub နှင့် ဆက်သွယ်ရန် အသုံးပြုသော SDK ကို import လုပ်သည်။
+
+1. `import paho.mqtt.client as mqtt` ကို ဖယ်ရှားပါ၊ ဒီ library သည် မလိုအပ်တော့ပါ။ MQTT topic အမည်များအပါအဝင် MQTT code အားလုံးကို ဖယ်ရှားပါ၊ `mqtt_client` နှင့် `handle_command` ကို အသုံးပြုသော code များကိုလည်း ဖယ်ရှားပါ။ သို့သော် `while True:` loop ကို ထားရှိထားပြီး loop အတွင်းရှိ `mqtt_client.publish` ကို ဖယ်ရှားပါ။
+
+1. Import statements အောက်တွင် အောက်ပါ code ကို ထည့်ပါ-
+
+ ```python
+ connection_string = ""
+ ```
+
+ `` ကို သင်ဒီသင်ခန်းစာ၏ အရင်ပိုင်းတွင် ရယူထားသော device connection string ဖြင့် အစားထိုးပါ။
+
+ > 💁 ဒီနည်းလမ်းသည် အကောင်းဆုံးနည်းလမ်းမဟုတ်ပါ။ Connection strings များကို source code အတွင်း သိမ်းဆည်းထားသင့်မဟုတ်ပါ၊ အခြားသူများက source code control မှတစ်ဆင့် ရှာဖွေနိုင်ပါသည်။ ဒီနေရာမှာ ရိုးရှင်းစွာအတွက်သာ ဒီနည်းလမ်းကို အသုံးပြုထားပါသည်။ အကောင်းဆုံးနည်းလမ်းအနေဖြင့် environment variable တစ်ခုနှင့် [`python-dotenv`](https://pypi.org/project/python-dotenv/) ကဲ့သို့သော tool ကို အသုံးပြုသင့်သည်။ သင်သည် ဒီအကြောင်းကို နောက်ထပ်သင်ခန်းစာတွင် လေ့လာမည်ဖြစ်သည်။
+
+1. အောက်ပါ code ကို ထည့်ပါ၊ ဒါဟာ IoT Hub နှင့် ဆက်သွယ်နိုင်သော device client object တစ်ခုကို ဖန်တီးပြီး ချိတ်ဆက်ပါမည်-
+
+ ```python
+ device_client = IoTHubDeviceClient.create_from_connection_string(connection_string)
+
+ print('Connecting')
+ device_client.connect()
+ print('Connected')
+ ```
+
+1. ဒီ code ကို run လုပ်ပါ။ သင့်စက်သည် ချိတ်ဆက်ထားကြောင်း တွေ့ရမည်။
+
+ ```output
+ pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py
+ Connecting
+ Connected
+ Soil moisture: 379
+ ```
+
+## Telemetry ပေးပို့ပါ
+
+သင့်စက်သည် IoT Hub နှင့် ချိတ်ဆက်ပြီးဖြစ်သောကြောင့် MQTT broker အစား IoT Hub သို့ telemetry ပေးပို့နိုင်ပါသည်။
+
+### လုပ်ဆောင်ရန် - Telemetry ပေးပို့ပါ
+
+1. `while True` loop အတွင်း sleep မလုပ်မီ အောက်ပါ code ကို ထည့်ပါ-
+
+ ```python
+ message = Message(json.dumps({ 'soil_moisture': soil_moisture }))
+ device_client.send_message(message)
+ ```
+
+ ဒီ code သည် IoT Hub `Message` တစ်ခုကို ဖန်တီးပြီး JSON string အဖြစ် soil moisture reading ကို ထည့်သွင်းပြီး IoT Hub သို့ device-to-cloud message အဖြစ် ပေးပို့သည်။
+
+## အမိန့်များကို လက်ခံပါ
+
+သင့်စက်သည် relay ကို ထိန်းချုပ်ရန် server code မှ ပေးပို့သော အမိန့်ကို လက်ခံရမည်။ ဒီအမိန့်ကို direct method request အဖြစ် ပေးပို့သည်။
+
+### လုပ်ဆောင်ရန် - Direct Method Request ကို လက်ခံပါ
+
+1. `while True` loop မတိုင်မီ အောက်ပါ code ကို ထည့်ပါ-
+
+ ```python
+ def handle_method_request(request):
+ print("Direct method received - ", request.name)
+
+ if request.name == "relay_on":
+ relay.on()
+ elif request.name == "relay_off":
+ relay.off()
+ ```
+
+ ဒီ code သည် `handle_method_request` ဟုခေါ်သော method တစ်ခုကို သတ်မှတ်သည်။ IoT Hub မှ direct method တစ်ခုခေါ်သည့်အခါ ဒီ method ကို ခေါ်မည်ဖြစ်သည်။ Relay ကို ဖွင့်ရန် `relay_on` ဟုခေါ်သော method နှင့် relay ကို ပိတ်ရန် `relay_off` ဟုခေါ်သော method ကို ဒီ code မှာ မျှော်မှန်းထားသည်။
+
+ > 💁 ဒီအမိန့်ကို တစ်ခုတည်းသော direct method request အဖြစ်လည်း အကောင်အထည်ဖော်နိုင်သည်၊ relay ၏ လိုအပ်သော အခြေအနေကို payload အဖြစ် ပေးပို့ပြီး `request` object မှ ရယူနိုင်သည်။
+
+1. Direct methods များသည် အမိန့်ကို လက်ခံပြီးဖြစ်ကြောင်း ပြန်လည်အသိပေးရန် response တစ်ခုလိုအပ်သည်။ `handle_method_request` function ၏ အဆုံးတွင် အောက်ပါ code ကို ထည့်ပါ-
+
+ ```python
+ method_response = MethodResponse.create_from_method_request(request, 200)
+ device_client.send_method_response(method_response)
+ ```
+
+ ဒီ code သည် direct method request ကို HTTP status code 200 ဖြင့် response ပေးပြီး IoT Hub သို့ ပြန်ပို့သည်။
+
+1. ဒီ function သတ်မှတ်ချက်အောက်တွင် အောက်ပါ code ကို ထည့်ပါ-
+
+ ```python
+ device_client.on_method_request_received = handle_method_request
+ ```
+
+ ဒီ code သည် IoT Hub client ကို direct method တစ်ခုခေါ်သည့်အခါ `handle_method_request` function ကို ခေါ်ရန် ပြောသည်။
+
+> 💁 ဒီ code ကို [code/pi](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud/code/pi) သို့မဟုတ် [code/virtual-device](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud/code/virtual-device) ဖိုလ်ဒါတွင် ရှာနိုင်ပါသည်။
+
+😀 သင့် soil moisture sensor program သည် IoT Hub နှင့် ချိတ်ဆက်ပြီးဖြစ်ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် ရှုယူသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှု ဝန်ဆောင်မှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md b/translations/my/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md
new file mode 100644
index 00000000..6b68c71b
--- /dev/null
+++ b/translations/my/2-farm/lessons/4-migrate-your-plant-to-the-cloud/wio-terminal-connect-hub.md
@@ -0,0 +1,306 @@
+
+# သင့် IoT စက်ကို Cloud နှင့် ချိတ်ဆက်ပါ - Wio Terminal
+
+ဒီသင်ခန်းပိုင်းမှာ သင့် Wio Terminal ကို IoT Hub နှင့် ချိတ်ဆက်ပြီး telemetry ပေးပို့ခြင်းနှင့် အမိန့်များကို လက်ခံပါမည်။
+
+## သင့်စက်ကို IoT Hub နှင့် ချိတ်ဆက်ပါ
+
+နောက်တစ်ဆင့်မှာ သင့်စက်ကို IoT Hub နှင့် ချိတ်ဆက်ရမည်ဖြစ်သည်။
+
+### အလုပ်ပေးချက် - IoT Hub နှင့် ချိတ်ဆက်ပါ
+
+1. VS Code မှာ `soil-moisture-sensor` project ကို ဖွင့်ပါ။
+
+1. `platformio.ini` ဖိုင်ကို ဖွင့်ပါ။ `knolleary/PubSubClient` library dependency ကို ဖယ်ရှားပါ။ ဒီ library ကို public MQTT broker နှင့် ချိတ်ဆက်ရန် အသုံးပြုခဲ့ပြီး၊ IoT Hub နှင့် ချိတ်ဆက်ရန် မလိုအပ်ပါ။
+
+1. အောက်ပါ library dependencies ကို ထည့်ပါ။
+
+ ```ini
+ seeed-studio/Seeed Arduino RTC @ 2.0.0
+ arduino-libraries/AzureIoTHub @ 1.6.0
+ azure/AzureIoTUtility @ 1.6.1
+ azure/AzureIoTProtocol_MQTT @ 1.6.0
+ azure/AzureIoTProtocol_HTTP @ 1.6.0
+ azure/AzureIoTSocket_WiFi @ 1.0.2
+ ```
+
+ `Seeed Arduino RTC` library သည် Wio Terminal ရှိ real-time clock ကို အသုံးပြုရန် code ပေးသည်။ ကျန်ရှိသော libraries များသည် သင့် IoT စက်ကို IoT Hub နှင့် ချိတ်ဆက်ရန် အခွင့်ပြုသည်။
+
+1. `platformio.ini` ဖိုင်၏ အောက်ဆုံးတွင် အောက်ပါကို ထည့်ပါ။
+
+ ```ini
+ build_flags =
+ -DDONT_USE_UPLOADTOBLOB
+ ```
+
+ Arduino IoT Hub code ကို compile လုပ်ရာတွင် လိုအပ်သော compiler flag ကို သတ်မှတ်သည်။
+
+1. `config.h` header ဖိုင်ကို ဖွင့်ပါ။ MQTT settings အားလုံးကို ဖယ်ရှားပြီး device connection string အတွက် အောက်ပါ constant ကို ထည့်ပါ။
+
+ ```cpp
+ // IoT Hub settings
+ const char *CONNECTION_STRING = "";
+ ```
+
+ `` ကို သင့်စက်အတွက် ယခင်က ကူးထားသော connection string ဖြင့် အစားထိုးပါ။
+
+1. IoT Hub နှင့် ချိတ်ဆက်မှုသည် အချိန်အခြေခံ token ကို အသုံးပြုသည်။ ဒါကြောင့် IoT စက်သည် လက်ရှိအချိန်ကို သိရန် လိုအပ်သည်။ Windows, macOS, Linux ကဲ့သို့သော operating systems များက အင်တာနက်မှ အချိန်ကို အလိုအလျောက် synchronize လုပ်ပေးသလို မဟုတ်ပါ။ ဒါကြောင့် [NTP](https://wikipedia.org/wiki/Network_Time_Protocol) server မှ အချိန်ကို ရယူရန် code ထည့်ရန် လိုအပ်ပါမည်။ အချိန်ရယူပြီးနောက် Wio Terminal ရှိ real-time clock တွင် သိမ်းဆည်းနိုင်ပြီး၊ စက်သည် မီးပျက်သွားခြင်းမရှိပါက နောက်တစ်ကြိမ် အချိန်ကို တောင်းယူနိုင်ပါမည်။ `ntp.h` ဟုခေါ်သော ဖိုင်အသစ်တစ်ခုကို ဖန်တီးပြီး အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ #pragma once
+
+ #include "DateTime.h"
+ #include
+ #include "samd/NTPClientAz.h"
+ #include
+
+ static void initTime()
+ {
+ WiFiUDP _udp;
+ time_t epochTime = (time_t)-1;
+ NTPClientAz ntpClient;
+
+ ntpClient.begin();
+
+ while (true)
+ {
+ epochTime = ntpClient.getEpochTime("0.pool.ntp.org");
+
+ if (epochTime == (time_t)-1)
+ {
+ Serial.println("Fetching NTP epoch time failed! Waiting 2 seconds to retry.");
+ delay(2000);
+ }
+ else
+ {
+ Serial.print("Fetched NTP epoch time is: ");
+
+ char buff[32];
+ sprintf(buff, "%.f", difftime(epochTime, (time_t)0));
+ Serial.println(buff);
+ break;
+ }
+ }
+
+ ntpClient.end();
+
+ struct timeval tv;
+ tv.tv_sec = epochTime;
+ tv.tv_usec = 0;
+
+ settimeofday(&tv, NULL);
+ }
+ ```
+
+ ဒီ code ၏ အသေးစိတ်ကို ဒီသင်ခန်းပိုင်းတွင် မဖော်ပြပါ။ ဒါဟာ `initTime` ဟုခေါ်သော function ကို သတ်မှတ်ပြီး၊ NTP server မှ လက်ရှိအချိန်ကို ရယူကာ Wio Terminal ရှိ clock ကို သတ်မှတ်ပေးသည်။
+
+1. `main.cpp` ဖိုင်ကို ဖွင့်ပြီး MQTT code အားလုံးကို ဖယ်ရှားပါ။ `PubSubClient.h` header ဖိုင်၊ `PubSubClient` variable ကို ကြေညာထားမှု၊ `reconnectMQTTClient` နှင့် `createMQTTClient` methods၊ နှင့် ဒီ variables နှင့် methods ကို ခေါ်ထားသော code များကို ဖယ်ရှားပါ။ ဒီဖိုင်မှာ WiFi နှင့် ချိတ်ဆက်ခြင်း၊ soil moisture ကို ရယူခြင်း၊ JSON document တစ်ခု ဖန်တီးခြင်းအတွက် code များသာ ပါဝင်ရမည်။
+
+1. IoT Hub libraries နှင့် အချိန်ကို သတ်မှတ်ရန် header files များကို ထည့်ရန် အောက်ပါ `#include` directives ကို `main.cpp` ဖိုင်၏ အပေါ်ဆုံးတွင် ထည့်ပါ။
+
+ ```cpp
+ #include
+ #include
+ #include
+ #include "ntp.h"
+ ```
+
+1. လက်ရှိအချိန်ကို သတ်မှတ်ရန် `setup` function ၏ အဆုံးတွင် အောက်ပါ call ကို ထည့်ပါ။
+
+ ```cpp
+ initTime();
+ ```
+
+1. ဖိုင်၏ အပေါ်ဆုံးတွင် include directives အောက်တွင် အောက်ပါ variable ကို ကြေညာပါ။
+
+ ```cpp
+ IOTHUB_DEVICE_CLIENT_LL_HANDLE _device_ll_handle;
+ ```
+
+ ဒီဟာ IoT Hub နှင့် ချိတ်ဆက်မှုအတွက် handle တစ်ခုဖြစ်သော `IOTHUB_DEVICE_CLIENT_LL_HANDLE` ကို ကြေညာသည်။
+
+1. ဒီအောက်တွင် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ static void connectionStatusCallback(IOTHUB_CLIENT_CONNECTION_STATUS result, IOTHUB_CLIENT_CONNECTION_STATUS_REASON reason, void *user_context)
+ {
+ if (result == IOTHUB_CLIENT_CONNECTION_AUTHENTICATED)
+ {
+ Serial.println("The device client is connected to iothub");
+ }
+ else
+ {
+ Serial.println("The device client has been disconnected");
+ }
+ }
+ ```
+
+ IoT Hub နှင့် ချိတ်ဆက်မှု status ပြောင်းလဲမှုများ (ချိတ်ဆက်ခြင်း၊ ချိတ်ဆက်မရခြင်း) ဖြစ်ပေါ်သောအခါ serial port သို့ status ကို ပေးပို့ရန် callback function ကို ကြေညာသည်။
+
+1. ဒီအောက်တွင် IoT Hub နှင့် ချိတ်ဆက်ရန် function တစ်ခုကို ထည့်ပါ။
+
+ ```cpp
+ void connectIoTHub()
+ {
+ IoTHub_Init();
+
+ _device_ll_handle = IoTHubDeviceClient_LL_CreateFromConnectionString(CONNECTION_STRING, MQTT_Protocol);
+
+ if (_device_ll_handle == NULL)
+ {
+ Serial.println("Failure creating Iothub device. Hint: Check your connection string.");
+ return;
+ }
+
+ IoTHubDeviceClient_LL_SetConnectionStatusCallback(_device_ll_handle, connectionStatusCallback, NULL);
+ }
+ ```
+
+ ဒီ code သည် IoT Hub library code ကို initialize လုပ်ပြီး၊ `config.h` header ဖိုင်ရှိ connection string ကို အသုံးပြုကာ connection တစ်ခုကို ဖန်တီးသည်။ ဒီ connection သည် MQTT အခြေခံဖြစ်သည်။ connection မအောင်မြင်ပါက serial port သို့ error message ကို ပေးပို့သည် - output တွင် error message တွေ့ပါက connection string ကို စစ်ဆေးပါ။ နောက်ဆုံးတွင် connection status callback ကို setup လုပ်သည်။
+
+1. ဒီ function ကို `setup` function တွင် `initTime` ကို ခေါ်ပြီးနောက် ခေါ်ပါ။
+
+ ```cpp
+ connectIoTHub();
+ ```
+
+1. MQTT client ကဲ့သို့ပင် ဒီ code သည် single thread ပေါ်တွင် run လုပ်ပြီး hub မှ ပေးပို့သော messages များနှင့် hub သို့ ပေးပို့သော messages များကို process လုပ်ရန် အချိန်လိုအပ်သည်။ `loop` function ၏ အပေါ်ဆုံးတွင် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ IoTHubDeviceClient_LL_DoWork(_device_ll_handle);
+ ```
+
+1. ဒီ code ကို build လုပ်ပြီး upload လုပ်ပါ။ serial monitor တွင် connection ကို တွေ့ရပါမည်။
+
+ ```output
+ Connecting to WiFi..
+ Connected!
+ Fetched NTP epoch time is: 1619983687
+ Sending telemetry {"soil_moisture":391}
+ The device client is connected to iothub
+ ```
+
+ Output တွင် NTP time ကို fetch လုပ်ခြင်းနှင့် device client ချိတ်ဆက်ခြင်းကို တွေ့ရပါမည်။ ချိတ်ဆက်ရန် စက္ကန့်အနည်းငယ် ကြာနိုင်ပြီး၊ စက်သည် ချိတ်ဆက်နေစဉ် output တွင် soil moisture ကို တွေ့နိုင်ပါသည်။
+
+ > 💁 NTP မှ UNIX time ကို ပိုဖတ်ရှင်းနိုင်သော format သို့ ပြောင်းရန် [unixtimestamp.com](https://www.unixtimestamp.com) ကဲ့သို့သော website ကို အသုံးပြုနိုင်သည်။
+
+## Telemetry ပေးပို့ပါ
+
+စက်သည် IoT Hub နှင့် ချိတ်ဆက်ပြီးနောက်၊ MQTT broker အစား IoT Hub သို့ telemetry ပေးပို့နိုင်ပါသည်။
+
+### အလုပ်ပေးချက် - telemetry ပေးပို့ပါ
+
+1. `setup` function အပေါ်တွင် အောက်ပါ function ကို ထည့်ပါ။
+
+ ```cpp
+ void sendTelemetry(const char *telemetry)
+ {
+ IOTHUB_MESSAGE_HANDLE message_handle = IoTHubMessage_CreateFromString(telemetry);
+ IoTHubDeviceClient_LL_SendEventAsync(_device_ll_handle, message_handle, NULL, NULL);
+ IoTHubMessage_Destroy(message_handle);
+ }
+ ```
+
+ ဒီ code သည် parameter အနေနှင့် string တစ်ခုကို လက်ခံကာ IoT Hub message တစ်ခုကို ဖန်တီးပြီး hub သို့ ပေးပို့ကာ၊ message object ကို cleanup လုပ်သည်။
+
+1. Telemetry ကို serial port သို့ ပေးပို့သော line အပြီး `loop` function တွင် ဒီ code ကို ခေါ်ပါ။
+
+ ```cpp
+ sendTelemetry(telemetry.c_str());
+ ```
+
+## Command များကို လက်ခံပါ
+
+သင့်စက်သည် relay ကို ထိန်းချုပ်ရန် server code မှ ပေးပို့သော command ကို လက်ခံရန် လိုအပ်သည်။ ဒီဟာ direct method request အနေနှင့် ပေးပို့သည်။
+
+## အလုပ်ပေးချက် - direct method request ကို လက်ခံပါ
+
+1. `connectIoTHub` function မတိုင်မီ အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ int directMethodCallback(const char *method_name, const unsigned char *payload, size_t size, unsigned char **response, size_t *response_size, void *userContextCallback)
+ {
+ Serial.printf("Direct method received %s\r\n", method_name);
+
+ if (strcmp(method_name, "relay_on") == 0)
+ {
+ digitalWrite(PIN_WIRE_SCL, HIGH);
+ }
+ else if (strcmp(method_name, "relay_off") == 0)
+ {
+ digitalWrite(PIN_WIRE_SCL, LOW);
+ }
+ }
+ ```
+
+ ဒီ code သည် IoT Hub library မှ direct method request ရရှိသောအခါ ခေါ်နိုင်သော callback method ကို သတ်မှတ်သည်။ `method_name` parameter တွင် request သည့် method ကို ပေးပို့သည်။ ဒီ function သည် serial port တွင် method ကို print လုပ်ပြီး၊ method name အပေါ်မူတည်ကာ relay ကို ဖွင့်ခြင်း သို့မဟုတ် ပိတ်ခြင်းကို ပြုလုပ်သည်။
+
+ > 💁 relay ၏ အခြေအနေကို payload အနေနှင့် method request နှင့်အတူ ပေးပို့ကာ `payload` parameter မှ ရယူနိုင်သော single direct method request အနေနှင့်လည်း ဒီကို အကောင်အထည်ဖော်နိုင်သည်။
+
+1. `directMethodCallback` function ၏ အဆုံးတွင် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ char resultBuff[16];
+ sprintf(resultBuff, "{\"Result\":\"\"}");
+ *response_size = strlen(resultBuff);
+ *response = (unsigned char *)malloc(*response_size);
+ memcpy(*response, resultBuff, *response_size);
+
+ return IOTHUB_CLIENT_OK;
+ ```
+
+ Direct method requests သည် response တစ်ခုလိုအပ်ပြီး၊ response သည် text response နှင့် return code အပိုင်းနှစ်ခုပါဝင်သည်။ ဒီ code သည် အောက်ပါ JSON document အနေနှင့် result တစ်ခုကို ဖန်တီးသည်။
+
+ ```JSON
+ {
+ "Result": ""
+ }
+ ```
+
+ ဒီ JSON document ကို `response` parameter တွင် copy လုပ်ကာ၊ `response_size` parameter တွင် response size ကို သတ်မှတ်သည်။ method ကို မှန်ကန်စွာ handle လုပ်သည်ကို ပြသရန် `IOTHUB_CLIENT_OK` ကို return ပြုလုပ်သည်။
+
+1. Callback ကို setup လုပ်ရန် `connectIoTHub` function ၏ အဆုံးတွင် အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ IoTHubClient_LL_SetDeviceMethodCallback(_device_ll_handle, directMethodCallback, NULL);
+ ```
+
+1. `loop` function သည် IoT Hub မှ ပေးပို့သော events များကို process လုပ်ရန် `IoTHubDeviceClient_LL_DoWork` function ကို ခေါ်ပါမည်။ ဒီဟာ `delay` ကြောင့် 10 စက္ကန့်တစ်ကြိမ်သာ ခေါ်သည်။ ဒါကြောင့် direct methods များကို 10 စက္ကန့်တစ်ကြိမ်သာ process လုပ်သည်။ ဒီကို ပိုထိရောက်စေရန် 10 စက္ကန့် delay ကို အနည်းငယ်သော delay များအဖြစ် ပြုလုပ်ကာ၊ အချိန်တိုင်း `IoTHubDeviceClient_LL_DoWork` ကို ခေါ်နိုင်သည်။ ဒီအတွက် `loop` function မတိုင်မီ အောက်ပါ code ကို ထည့်ပါ။
+
+ ```cpp
+ void work_delay(int delay_time)
+ {
+ int current = 0;
+ do
+ {
+ IoTHubDeviceClient_LL_DoWork(_device_ll_handle);
+ delay(100);
+ current += 100;
+ } while (current < delay_time);
+ }
+ ```
+
+ ဒီ code သည် repeatedly loop လုပ်ကာ `IoTHubDeviceClient_LL_DoWork` ကို ခေါ်ပြီး၊ တစ်ကြိမ်လျှင် 100ms အချိန်ပေးသည်။ `delay_time` parameter တွင် ပေးထားသော အချိန်အတိုင်း delay ပြုလုပ်ရန် လိုအပ်သလောက် loop လုပ်သည်။ ဒါကြောင့် direct method requests များကို process လုပ်ရန် အများဆုံး 100ms စောင့်ရမည်။
+
+1. `loop` function တွင် `IoTHubDeviceClient_LL_DoWork` ကို ခေါ်ထားမှုကို ဖယ်ရှားပြီး၊ `delay(10000)` call ကို အောက်ပါ code ဖြင့် အစားထိုးပါ။
+
+ ```cpp
+ work_delay(10000);
+ ```
+
+> 💁 ဒီ code ကို [code/wio-terminal](../../../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud/code/wio-terminal) folder တွင် ရှာနိုင်သည်။
+
+😀 သင့် soil moisture sensor program သည် IoT Hub နှင့် ချိတ်ဆက်ပြီးပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွဲအချော်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/5-migrate-application-to-the-cloud/README.md b/translations/my/2-farm/lessons/5-migrate-application-to-the-cloud/README.md
new file mode 100644
index 00000000..70483a98
--- /dev/null
+++ b/translations/my/2-farm/lessons/5-migrate-application-to-the-cloud/README.md
@@ -0,0 +1,582 @@
+
+# သင့်အက်ပလီကေးရှင်း Logic ကို Cloud သို့ ပြောင်းရွှေ့ပါ
+
+
+
+> Sketchnote ကို [Nitya Narasimhan](https://github.com/nitya) မှရေးသားထားသည်။ ပုံကို နှိပ်ပြီး ပိုမိုကြီးမားသော ဗားရှင်းကို ကြည့်ပါ။
+
+ဒီသင်ခန်းစာကို [IoT for Beginners Project 2 - Digital Agriculture series](https://youtube.com/playlist?list=PLmsFUfdnGr3yCutmcVg6eAUEfsGiFXgcx) မှ [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) တွင် သင်ကြားခဲ့သည်။
+
+[](https://youtu.be/VVZDcs5u1_I)
+
+## သင်ခန်းစာမတိုင်မီ မေးခွန်းများ
+
+[သင်ခန်းစာမတိုင်မီ မေးခွန်းများ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/17)
+
+## အကျဉ်းချုပ်
+
+ပြီးခဲ့သင်ခန်းစာတွင် သင်သည် သင့်ပန်းမိုင်းစိုထိုင်းမှုကို စောင့်ကြည့်ခြင်းနှင့် relay ကို ထိန်းချုပ်ရန် cloud-based IoT service သို့ ချိတ်ဆက်ပုံကို သင်ယူခဲ့ပါသည်။ နောက်တစ်ဆင့်မှာ relay ကို ထိန်းချုပ်ရန် server code ကို cloud သို့ ပြောင်းရွှေ့ရမည်ဖြစ်သည်။ ဒီသင်ခန်းစာတွင် သင်သည် serverless functions ကို အသုံးပြု၍ အလုပ်လုပ်ပုံကို သင်ယူပါမည်။
+
+ဒီသင်ခန်းစာတွင် ကျော်ဖြတ်မည့်အကြောင်းအရာများမှာ -
+
+* [Serverless ဆိုတာဘာလဲ?](../../../../../2-farm/lessons/5-migrate-application-to-the-cloud)
+* [Serverless application တစ်ခုကို ဖန်တီးပါ](../../../../../2-farm/lessons/5-migrate-application-to-the-cloud)
+* [IoT Hub event trigger တစ်ခုကို ဖန်တီးပါ](../../../../../2-farm/lessons/5-migrate-application-to-the-cloud)
+* [Serverless code မှတစ်ဆင့် direct method requests ပို့ပါ](../../../../../2-farm/lessons/5-migrate-application-to-the-cloud)
+* [သင့် serverless code ကို cloud သို့ deploy လုပ်ပါ](../../../../../2-farm/lessons/5-migrate-application-to-the-cloud)
+
+## Serverless ဆိုတာဘာလဲ?
+
+Serverless, သို့မဟုတ် serverless computing ဆိုသည်မှာ အမျိုးမျိုးသော အဖြစ်အပျက်များကို တုံ့ပြန်ရန် cloud တွင် အလုပ်လုပ်သော code အပိုင်းငယ်များကို ဖန်တီးခြင်းဖြစ်သည်။ အဖြစ်အပျက်တစ်ခုဖြစ်ပေါ်သောအခါ သင့် code ကို run လုပ်ပြီး အဖြစ်အပျက်နှင့်ပတ်သက်သော data ကို ပေးပို့သည်။ ဒီအဖြစ်အပျက်များသည် web requests, queue တွင် message ထည့်ခြင်း, database တွင် data ပြောင်းလဲခြင်း, သို့မဟုတ် IoT devices မှ IoT service သို့ message ပို့ခြင်းတို့အပါအဝင် အမျိုးမျိုးသောအရာများဖြစ်နိုင်သည်။
+
+
+
+> 💁 Database triggers ကို အသုံးပြုဖူးလျှင်၊ အဖြစ်အပျက်တစ်ခုဖြစ်ပေါ်သောအခါ code ကို run လုပ်ခြင်းအနေနှင့် ယင်းကို တူညီသည်ဟု ထင်နိုင်သည်။
+
+
+
+သင့် code သည် အဖြစ်အပျက်တစ်ခုဖြစ်ပေါ်သောအခါတွင်သာ run လုပ်ပြီး အခြားအချိန်များတွင် အသက်မရှိပါ။ အဖြစ်အပျက်ဖြစ်ပေါ်သောအခါ သင့် code ကို load လုပ်ပြီး run လုပ်သည်။ ဒီအရာသည် serverless ကို အလွန် scalable ဖြစ်စေသည် - အဖြစ်အပျက်များစွာ တစ်ချိန်တည်းတွင် ဖြစ်ပေါ်လျှင် cloud provider သည် သင့် function ကို လိုအပ်သလောက် server များတွင် run လုပ်နိုင်သည်။ သို့သော် အဖြစ်အပျက်များအကြား data ကို share လုပ်ရန်လိုအပ်ပါက memory တွင် သိမ်းဆည်းခြင်းမဟုတ်ဘဲ database တစ်ခုတွင် သိမ်းဆည်းရမည်ဖြစ်သည်။
+
+သင့် code ကို အဖြစ်အပျက်နှင့်ပတ်သက်သော အသေးစိတ်အချက်အလက်များကို parameter အနေနှင့် လက်ခံသော function အနေနှင့် ရေးသားရမည်။ Serverless functions များကို ရေးသားရန် programming language များစွာကို အသုံးပြုနိုင်သည်။
+
+> 🎓 Serverless ကို Functions as a service (FaaS) ဟုလည်း ခေါ်ဆိုကြသည်၊ အဖြစ်အပျက် trigger တစ်ခုစီကို code တွင် function အနေနှင့် အကောင်အထည်ဖော်ထားသည်။
+
+Serverless ဆိုသည်မှာ server မရှိဘဲ အလုပ်လုပ်သည်ဟုဆိုသော်လည်း အမှန်တကယ် server များကို အသုံးပြုသည်။ ဒီနာမည်သည် developer အနေနှင့် server များကို စိတ်မဝင်စားဘဲ အဖြစ်အပျက်တစ်ခုဖြစ်ပေါ်သောအခါ သင့် code ကို run လုပ်နိုင်သည်ဟုသာ စိတ်ဝင်စားရန် ဖြစ်သည်။ Cloud provider သည် serverless *runtime* ကို အသုံးပြု၍ server များ, networking, storage, CPU, memory နှင့် သင့် code ကို run လုပ်ရန် လိုအပ်သော အရာအားလုံးကို စီမံခန့်ခွဲသည်။ ဒီမော်ဒယ်သည် server အရေအတွက်အလိုက် မပေးဆောင်ရဘဲ သင့် code run လုပ်နေသောအချိန်နှင့် memory အသုံးပြုမှုအရ ပေးဆောင်ရမည်ဖြစ်သည်။
+
+> 💰 Serverless သည် cloud တွင် code run လုပ်ရန် အစျေးအနည်းဆုံးနည်းလမ်းများထဲမှ တစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်၊ ယခုအချိန်တွင် cloud provider တစ်ခုသည် သင့် serverless functions အားလုံးကို တစ်လလျှင် ၁,၀၀၀,၀၀၀ ကြိမ် run လုပ်ခွင့်ပေးပြီး၊ ထို့နောက် US$0.20 ကို ၁,၀၀၀,၀၀၀ ကြိမ် run လုပ်မှုအတွက် ကောက်ခံသည်။ သင့် code run မလုပ်နေသောအချိန်တွင် သင်ပေးဆောင်ရန် မလိုအပ်ပါ။
+
+IoT developer အနေနှင့် serverless မော်ဒယ်သည် အလွန်အကျိုးရှိသည်။ သင့် cloud-hosted IoT service သို့ IoT device များမှ ပို့သော message များကို တုံ့ပြန်ရန် function တစ်ခုကို ရေးသားနိုင်သည်။ သင့် code သည် ပို့သော message များအားလုံးကို ကိုင်တွယ်ပေးမည်၊ သို့သော် လိုအပ်သောအခါတွင်သာ run လုပ်မည်။
+
+✅ သင်သည် MQTT မှ message များကို နားထောင်ရန် server code အနေနှင့် ရေးသားထားသော code ကို ပြန်လည်ကြည့်ပါ။ ဒီ code ကို cloud တွင် serverless ဖြင့် run လုပ်ပုံကို သင်ဘယ်လိုထင်ပါသလဲ? Serverless computing ကို ပံ့ပိုးရန် code ကို ဘယ်လိုပြောင်းလဲရမည်ဟု သင်ထင်ပါသလဲ?
+
+> 💁 Serverless မော်ဒယ်သည် code run လုပ်ခြင်းအပြင် cloud services အခြားအရာများသို့လည်း ရွှေ့လျှောက်နေသည်။ ဥပမာအားဖြင့်၊ serverless databases များကို cloud တွင် serverless pricing မော်ဒယ်ဖြင့် ရရှိနိုင်ပြီး database ကို query သို့မဟုတ် insert လုပ်ခြင်းကဲ့သို့သော request တစ်ခုစီအတွက် ပေးဆောင်ရမည်။ Query တစ်ခုကို service လုပ်ရန် လိုအပ်သော အလုပ်ပမာဏအပေါ်မူတည်၍ စျေးနှုန်းကို သတ်မှတ်သည်။ ဥပမာအားဖြင့်၊ primary key အပေါ် row တစ်ခုကို select လုပ်ခြင်းသည် table များစွာကို join လုပ်ပြီး row အထောင်ပေါင်းများစွာကို ပြန်ပေးသော operation ထက် စျေးနည်းပါမည်။
+
+## Serverless application တစ်ခုကို ဖန်တီးပါ
+
+Microsoft မှ serverless computing service ကို Azure Functions ဟုခေါ်သည်။
+
+
+
+အောက်ပါ short video တွင် Azure Functions အကြောင်းအရာကို အကျဉ်းချုပ်ထားသည်။
+
+[](https://www.youtube.com/watch?v=8-jz5f_JyEQ)
+
+> 🎥 ပုံကို နှိပ်ပြီး video ကို ကြည့်ပါ
+
+✅ ခဏတာအချိန်ယူပြီး [Microsoft Azure Functions documentation](https://docs.microsoft.com/azure/azure-functions/functions-overview?WT.mc_id=academic-17441-jabenn) တွင် Azure Functions အကြောင်းအရာကို ရှာဖွေဖတ်ရှုပါ။
+
+Azure Functions ကို ရေးသားရန် သင်နှစ်သက်သော programming language ဖြင့် Azure Functions app ကို စတင်ရမည်။ Azure Functions သည် Python, JavaScript, TypeScript, C#, F#, Java, နှင့် Powershell ကို အထောက်အပံ့ပေးသည်။ ဒီသင်ခန်းစာတွင် သင်သည် Python ဖြင့် Azure Functions app ရေးသားပုံကို သင်ယူပါမည်။
+
+> 💁 Azure Functions သည် custom handlers ကိုလည်း အထောက်အပံ့ပေးပြီး HTTP requests ကို ပံ့ပိုးသော ဘာသာစကားများအားလုံးဖြင့် functions များကို ရေးသားနိုင်သည်။ COBOL ကဲ့သို့သော အဟောင်းဘာသာစကားများကိုလည်း အသုံးပြုနိုင်သည်။
+
+Functions app တွင် *triggers* များစွာ ပါဝင်နိုင်သည် - အဖြစ်အပျက်များကို တုံ့ပြန်သော functions များဖြစ်သည်။ Functions app တစ်ခုတွင် triggers များစွာ ပါဝင်နိုင်ပြီး shared configuration ကို အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်၊ Functions app ၏ configuration ဖိုင်တွင် IoT Hub ၏ connection details ကို ထည့်သွင်းနိုင်ပြီး app ၏ functions အားလုံးသည် ယင်းကို အသုံးပြု၍ ချိတ်ဆက်ပြီး အဖြစ်အပျက်များကို နားထောင်နိုင်သည်။
+
+### Task - Azure Functions tooling ကို install လုပ်ပါ
+
+> ယခုအချိန်တွင် Apple Silicon တွင် Python projects အတွက် Azure Functions code tools များ အပြည့်အဝ အလုပ်မလုပ်သေးပါ။ Intel-based Mac, Windows PC, သို့မဟုတ် Linux PC ကို အသုံးပြုရန် လိုအပ်ပါသည်။
+
+Azure Functions ၏ အားသာချက်တစ်ခုမှာ local တွင် run လုပ်နိုင်ခြင်းဖြစ်သည်။ Cloud တွင် အသုံးပြုသော runtime ကို သင့်ကွန်ပျူတာတွင် run လုပ်နိုင်ပြီး IoT messages များကို တုံ့ပြန်သော code ကို ရေးသားနိုင်သည်။ သင့် code ကို debug လုပ်နိုင်ပြီး အားလုံးအဆင်ပြေသည်ဟု သင့်တည်ကြည်မှုရှိသောအခါ cloud သို့ deploy လုပ်နိုင်သည်။
+
+Azure Functions tooling သည် CLI အနေနှင့် ရရှိနိုင်ပြီး Azure Functions Core Tools ဟုခေါ်သည်။
+
+1. Azure Functions core tools ကို install လုပ်ရန် [Azure Functions Core Tools documentation](https://docs.microsoft.com/azure/azure-functions/functions-run-local?WT.mc_id=academic-17441-jabenn) တွင် လမ်းညွှန်ချက်များကို လိုက်နာပါ။
+
+1. VS Code အတွက် Azure Functions extension ကို install လုပ်ပါ။ ဒီ extension သည် Azure functions များကို ဖန်တီးခြင်း၊ debug လုပ်ခြင်းနှင့် deploy လုပ်ခြင်းအတွက် အထောက်အပံ့ပေးသည်။ VS Code တွင် extension ကို install လုပ်ရန် [Azure Functions extension documentation](https://marketplace.visualstudio.com/items?WT.mc_id=academic-17441-jabenn&itemName=ms-azuretools.vscode-azurefunctions) ကို ရည်ညွှန်းပါ။
+
+Azure Functions app ကို cloud သို့ deploy လုပ်သောအခါ၊ application files နှင့် log files ကဲ့သို့သော အရာများကို သိမ်းဆည်းရန် cloud storage အနည်းငယ်ကို အသုံးပြုရန် လိုအပ်သည်။ Functions app ကို local တွင် run လုပ်သောအခါ cloud storage ကို ချိတ်ဆက်ရန် လိုအပ်သော်လည်း၊ actual cloud storage ကို အသုံးပြုခြင်းမဟုတ်ဘဲ [Azurite](https://github.com/Azure/Azurite) ဟုခေါ်သော storage emulator ကို အသုံးပြုနိုင်သည်။ Azurite သည် local တွင် run လုပ်သော်လည်း cloud storage ကဲ့သို့ အလုပ်လုပ်သည်။
+
+> 🎓 Azure တွင် Azure Functions သုံးသော storage ကို Azure Storage Account ဟုခေါ်သည်။ ဒီ accounts တွင် files, blobs, tables တွင် data သို့မဟုတ် queues တွင် data ကို သိမ်းဆည်းနိုင်သည်။ Storage account တစ်ခုကို Functions app နှင့် web app ကဲ့သို့သော apps များစွာအတွက် share လုပ်နိုင်သည်။
+
+1. Azurite သည် Node.js app ဖြစ်သောကြောင့် Node.js ကို install လုပ်ရန် လိုအပ်သည်။ [Node.js website](https://nodejs.org/) တွင် download နှင့် installation လမ်းညွှန်ချက်များကို ရှာဖွေပါ။ Mac အသုံးပြုပါက [Homebrew](https://formulae.brew.sh/formula/node) မှ install လုပ်နိုင်သည်။
+
+1. အောက်ပါ command ကို အသုံးပြု၍ Azurite ကို install လုပ်ပါ (`npm` သည် Node.js install လုပ်သောအခါ install လုပ်ထားသော tool ဖြစ်သည်):
+
+ ```sh
+ npm install -g azurite
+ ```
+
+1. Azurite data ကို သိမ်းဆည်းရန် `azurite` ဟုခေါ်သော folder တစ်ခုကို ဖန်တီးပါ:
+
+ ```sh
+ mkdir azurite
+ ```
+
+1. Azurite ကို run လုပ်ပြီး folder ကို pass လုပ်ပါ:
+
+ ```sh
+ azurite --location azurite
+ ```
+
+ Azurite storage emulator သည် launch လုပ်ပြီး local Functions runtime ကို ချိတ်ဆက်ရန် အသင့်ဖြစ်မည်။
+
+ ```output
+ ➜ ~ azurite --location azurite
+ Azurite Blob service is starting at http://127.0.0.1:10000
+ Azurite Blob service is successfully listening at http://127.0.0.1:10000
+ Azurite Queue service is starting at http://127.0.0.1:10001
+ Azurite Queue service is successfully listening at http://127.0.0.1:10001
+ Azurite Table service is starting at http://127.0.0.1:10002
+ Azurite Table service is successfully listening at http://127.0.0.1:10002
+ ```
+
+### Task - Azure Functions project တစ်ခုကို ဖန်တီးပါ
+
+Azure Functions CLI ကို အသုံးပြု၍ Functions app အသစ်တစ်ခုကို ဖန်တီးနိုင်သည်။
+
+1. Functions app အတွက် folder တစ်ခုကို ဖန်တီးပြီး သို့သွားပါ။ `soil-moisture-trigger` ဟုခေါ်ပါ:
+
+ ```sh
+ mkdir soil-moisture-trigger
+ cd soil-moisture-trigger
+ ```
+
+1. Python virtual environment ကို folder အတွင်းဖန်တီးပါ:
+
+ ```sh
+ python3 -m venv .venv
+ ```
+
+1. Virtual environment ကို activate လုပ်ပါ:
+
+ * Windows တွင်:
+ * Command Prompt သို့မဟုတ် Windows Terminal မှ Command Prompt ကို အသုံးပြုပါက အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```cmd
+ .venv\Scripts\activate.bat
+ ```
+
+ * PowerShell ကို အသုံးပြုပါက အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```powershell
+ .\.venv\Scripts\Activate.ps1
+ ```
+
+ * macOS သို့မဟုတ် Linux တွင် အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```cmd
+ source ./.venv/bin/activate
+ ```
+
+ > 💁 ဒီ commands များကို virtual environment ဖန်တီးသောနေရာတွင် run လုပ်ရမည်။ `.venv` folder အတွင်းသို့ သွားရန် မလိုအပ်ပါ။ Activate command နှင့် package install လုပ်ရန် commands များကို virtual environment ဖန်တီးသော folder တွင် run လုပ်ပါ။
+
+1. Functions app ကို ဖန်တီးရန် အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ func init --worker-runtime python soil-moisture-trigger
+ ```
+
+ ဒီ command သည် current folder အတွင်း ဖိုင်သုံးခုကို ဖန်တီးမည်:
+
+ * `host.json` - ဒီ JSON document တွင် Functions app ၏ settings များပါဝင်သည်။ ဒီ settings များကို ပြောင်းလဲရန် မလိုအပ်ပါ။
+ * `local.settings.json` - ဒီ JSON document တွင် IoT Hub ၏ connection strings ကဲ့သို့သော local settings များပါဝင်သည်။ ဒီ settings များသည် local settings ဖြစ်ပြီး source code control သို့ ထည့်သွင်းရန် မလိုအပ်ပါ။ Functions app ကို cloud သို့ deploy လုပ်သောအခါ၊ ဒီ settings များကို deploy မလုပ်ပါ၊ application settings မှ settings များကို load လုပ်မည်။ ဒီအကြောင်းအရာကို ဒီသင်ခန်းစာတွင် နောက်ပိုင်းတွင် ဖော်ပြမည်။
+ * `requirements.txt` - ဒီဖိုင်သည် [Pip requirements file](https://pip.pypa.io/en/stable/user_guide/#requirements-files) ဖြစ်ပြီး Functions app ကို run လုပ်ရန်လိုအပ်သော Pip packages များပါဝင်သည်။
+
+1. `local.settings.json` ဖိုင်တွင် Functions app သုံးသော storage account setting ပါဝင်သည်။ Default အနေဖြင့် setting သည်
+> ⚠️ အကယ်၍ firewall အကြောင်းကြားစာရောက်လာပါက `func` အက်ပလီကေးရှင်းသည် သင့်ကွန်ယက်ကို ဖတ်ရန်နှင့် ရေးရန် လိုအပ်သော ခွင့်ပြုချက်များ လိုအပ်နေသောကြောင့် ခွင့်ပြုပါ။
+> ⚠️ macOS အသုံးပြုနေပါက အောက်ပါအချက်များကို တွေ့နိုင်ပါသည်:
+>
+> ```output
+ > (.venv) ➜ soil-moisture-trigger func start
+ > Found Python version 3.9.1 (python3).
+ >
+ > Azure Functions Core Tools
+ > Core Tools Version: 3.0.3442 Commit hash: 6bfab24b2743f8421475d996402c398d2fe4a9e0 (64-bit)
+ > Function Runtime Version: 3.0.15417.0
+ >
+ > [2021-06-16T08:18:28.315Z] Cannot create directory for shared memory usage: /dev/shm/AzureFunctions
+ > [2021-06-16T08:18:28.316Z] System.IO.FileSystem: Access to the path '/dev/shm/AzureFunctions' is denied. Operation not permitted.
+ > [2021-06-16T08:18:30.361Z] No job functions found.
+ > ```
+>
+> Functions app သည် မှန်ကန်စွာ စတင်ပြီး လုပ်ဆောင်နေသော functions များကို ပြသနိုင်ပါက အချက်အလက်များကို လျစ်လျူရှုနိုင်ပါသည်။ Microsoft Docs Q&A တွင် [ဤမေးခွန်း](https://docs.microsoft.com/answers/questions/396617/azure-functions-core-tools-error-osx-devshmazurefu.html?WT.mc_id=academic-17441-jabenn) တွင် ဖော်ပြထားသည့်အတိုင်း ဤအချက်များကို လျစ်လျူရှုနိုင်ပါသည်။
+
+1. `ctrl+c` ကို နှိပ်၍ Functions app ကို ရပ်တန့်ပါ။
+
+1. VS Code တွင် လက်ရှိဖိုလ်ဒါကို ဖွင့်ပါ။ VS Code ကို ဖွင့်ပြီး ဖိုလ်ဒါကို ဖွင့်ခြင်းဖြစ်စေ၊ သို့မဟုတ် အောက်ပါ command ကို အသုံးပြု၍ ဖွင့်ပါ:
+
+ ```sh
+ code .
+ ```
+
+ VS Code သည် Functions project ကို ရှာဖွေပြီး အောက်ပါ အကြောင်းကြားချက်ကို ပြသပါမည်:
+
+ ```output
+ Detected an Azure Functions Project in folder "soil-moisture-trigger" that may have been created outside of
+ VS Code. Initialize for optimal use with VS Code?
+ ```
+
+ 
+
+ ဤအကြောင်းကြားချက်မှ **Yes** ကို ရွေးချယ်ပါ။
+
+1. VS Code terminal တွင် Python virtual environment ကို အလုပ်လုပ်နေကြောင်း သေချာပါစေ။ လိုအပ်ပါက ရပ်တန့်ပြီး ပြန်စတင်ပါ။
+
+## IoT Hub အဖြစ်မှန်ဖြစ်မှု trigger တစ်ခု ဖန်တီးပါ
+
+Functions app သည် သင့် serverless code ၏ shell ဖြစ်သည်။ IoT Hub မှ အဖြစ်မှန်ဖြစ်မှုများကို တုံ့ပြန်ရန်၊ ဤ app တွင် IoT Hub trigger တစ်ခု ထည့်သွင်းနိုင်သည်။ ဤ trigger သည် IoT Hub သို့ ပေးပို့သော စာတိုများ၏ စီးဆင်းမှုနှင့် ချိတ်ဆက်ပြီး၊ ထိုစာတိုများကို တုံ့ပြန်ရန် လိုအပ်သည်။ စာတိုများ၏ စီးဆင်းမှုကို ရရှိရန်၊ trigger သည် IoT Hub ၏ *event hub compatible endpoint* နှင့် ချိတ်ဆက်ရန် လိုအပ်သည်။
+
+IoT Hub သည် Azure Event Hubs ဟုခေါ်သော အခြား Azure ဝန်ဆောင်မှုတစ်ခုအပေါ် အခြေခံထားသည်။ Event Hubs သည် စာတိုများကို ပေးပို့ခြင်းနှင့် လက်ခံခြင်းကို ခွင့်ပြုသည့် ဝန်ဆောင်မှုဖြစ်သည်။ IoT Hub သည် IoT စက်ပစ္စည်းများအတွက် အထူးအင်္ဂါရပ်များကို ထည့်သွင်းရန် ထိုဝန်ဆောင်မှုကို တိုးချဲ့ထားသည်။ IoT Hub မှ စာတိုများကို ဖတ်ရန် ချိတ်ဆက်ပုံသည် Event Hubs ကို အသုံးပြုသည့်အခါနှင့် တူသည်။
+
+✅ သုတေသနလုပ်ပါ: [Azure Event Hubs documentation](https://docs.microsoft.com/azure/event-hubs/event-hubs-about?WT.mc_id=academic-17441-jabenn) တွင် Event Hubs ၏ အကျဉ်းချုပ်ကို ဖတ်ပါ။ အခြေခံအင်္ဂါရပ်များသည် IoT Hub နှင့် ဘယ်လို နှိုင်းယှဉ်နိုင်သလဲ?
+
+IoT စက်ပစ္စည်းတစ်ခုသည် IoT Hub နှင့် ချိတ်ဆက်ရန်၊ ခွင့်ပြုထားသော စက်ပစ္စည်းများသာ ချိတ်ဆက်နိုင်စေရန် လျှို့ဝှက်သော key တစ်ခုကို အသုံးပြုရမည်ဖြစ်သည်။ စာတိုများကို ဖတ်ရန် ချိတ်ဆက်သောအခါတွင်လည်း ထိုအရာကို အတူတူ လိုအပ်သည်။ သင့် code သည် IoT Hub ၏ အသေးစိတ်အချက်အလက်များနှင့်အတူ လျှို့ဝှက်သော key ပါဝင်သည့် connection string တစ်ခု လိုအပ်မည်ဖြစ်သည်။
+
+> 💁 သင်ရရှိသည့် ပုံမှန် connection string တွင် **iothubowner** ခွင့်ပြုချက်များ ပါဝင်ပြီး၊ ထို connection string ကို အသုံးပြုသည့် code မည်သည့်အရာကိုမဆို IoT Hub တွင် ပြုလုပ်နိုင်သည်။ အကောင်းဆုံးအားဖြင့် လိုအပ်သည့် အနိမ့်ဆုံး ခွင့်ပြုချက်များဖြင့် ချိတ်ဆက်သင့်သည်။ ဤအကြောင်းအရာကို နောက်ဆင့်သင်ခန်းစာတွင် ဖော်ပြပါမည်။
+
+Trigger သည် ချိတ်ဆက်ပြီးနောက်၊ IoT Hub သို့ ပေးပို့သည့် စာတိုတစ်ခုစီအတွက် function အတွင်းရှိ code ကို ခေါ်ပါမည်။ Trigger သည် စာတိုကို parameter အဖြစ် ပေးပို့ပါမည်။
+
+### Task - Event Hub compatible endpoint connection string ရယူပါ
+
+1. VS Code terminal မှ အောက်ပါ command ကို run လုပ်၍ IoT Hub ၏ Event Hub compatible endpoint အတွက် connection string ကို ရယူပါ:
+
+ ```sh
+ az iot hub connection-string show --default-eventhub \
+ --output table \
+ --hub-name
+ ```
+
+ `` ကို သင် IoT Hub အတွက် အသုံးပြုသည့် အမည်ဖြင့် အစားထိုးပါ။
+
+1. VS Code တွင် `local.settings.json` ဖိုင်ကို ဖွင့်ပါ။ `Values` အပိုင်းအတွင်း အောက်ပါ တန်ဖိုးအသစ်ကို ထည့်ပါ:
+
+ ```json
+ "IOT_HUB_CONNECTION_STRING": ""
+ ```
+
+ `` ကို ယခင်အဆင့်မှ ရရှိသည့် တန်ဖိုးဖြင့် အစားထိုးပါ။ JSON သက်မှတ်ထားမှုအတွက် အထက်တန်းတွင် comma တစ်ခု ထည့်ရန် လိုအပ်ပါမည်။
+
+### Task - Event trigger တစ်ခု ဖန်တီးပါ
+
+1. `soil-moisture-trigger` ဖိုလ်ဒါအတွင်းမှ VS Code terminal တွင် အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ func new --name iot-hub-trigger --template "Azure Event Hub trigger"
+ ```
+
+ ဤအရာသည် `iot-hub-trigger` ဟုခေါ်သော Function အသစ်တစ်ခု ဖန်တီးပါမည်။ Trigger သည် IoT Hub ၏ Event Hub compatible endpoint နှင့် ချိတ်ဆက်မည်ဖြစ်သည်၊ ထို့ကြောင့် Event Hub trigger ကို အသုံးပြုနိုင်သည်။ IoT Hub အတွက် သီးသန့် trigger မရှိပါ။
+
+ဤအရာသည် `soil-moisture-trigger` ဖိုလ်ဒါအတွင်း `iot-hub-trigger` ဟုခေါ်သော ဖိုလ်ဒါတစ်ခု ဖန်တီးမည်။ ထိုဖိုလ်ဒါတွင် အောက်ပါ ဖိုင်များ ပါဝင်မည်:
+
+* `__init__.py` - Python code ဖိုင်ဖြစ်ပြီး၊ trigger ကို ပါဝင်သည်။ Python module အဖြစ် ဖိုလ်ဒါကို သတ်မှတ်ရန် စံနာမည် convention ကို အသုံးပြုသည်။
+
+ ```python
+ import logging
+
+ import azure.functions as func
+
+
+ def main(event: func.EventHubEvent):
+ logging.info('Python EventHub trigger processed an event: %s',
+ event.get_body().decode('utf-8'))
+ ```
+
+ Trigger ၏ အဓိကအချက်မှာ `main` function ဖြစ်သည်။ IoT Hub မှ အဖြစ်မှန်ဖြစ်မှုများနှင့်အတူ function ကို ခေါ်ပါမည်။ Function ၏ parameter `event` သည် `EventHubEvent` ကို ပါဝင်သည်။ IoT Hub သို့ စာတိုတစ်ခု ပေးပို့သည့်အခါ၊ function ကို ခေါ်ပြီး၊ ထိုစာတိုကို `event` အဖြစ် ပေးပို့ပါမည်။
+
+ Function ၏ အဓိကအချက်မှာ event ကို log လုပ်ခြင်းဖြစ်သည်။
+
+* `function.json` - Trigger အတွက် configuration ကို ပါဝင်သည်။ Configuration ၏ အဓိကအပိုင်းမှာ `bindings` ဟုခေါ်သော အပိုင်းဖြစ်သည်။ Binding သည် Azure Functions နှင့် အခြား Azure ဝန်ဆောင်မှုများအကြား ချိတ်ဆက်မှုအတွက် အသုံးပြုသော term ဖြစ်သည်။ Function ၏ input binding သည် event hub နှင့် ချိတ်ဆက်ပြီး၊ data ကို လက်ခံသည်။
+
+ > 💁 Output bindings ကိုလည်း ထည့်သွင်းနိုင်ပြီး၊ function ၏ output ကို အခြားဝန်ဆောင်မှုသို့ ပေးပို့နိုင်သည်။ ဥပမာအားဖြင့် database သို့ output binding တစ်ခု ထည့်သွင်းပြီး၊ IoT Hub event ကို function မှ ပြန်ပေးပို့နိုင်သည်။
+
+ ✅ သုတေသနလုပ်ပါ: [Azure Functions triggers and bindings concepts documentation](https://docs.microsoft.com/azure/azure-functions/functions-triggers-bindings?WT.mc_id=academic-17441-jabenn&tabs=python) တွင် bindings အကြောင်းကို ဖတ်ပါ။
+
+ `bindings` အပိုင်းတွင် စိတ်ဝင်စားစရာ configuration များမှာ:
+
+ * `"type": "eventHubTrigger"` - Function သည် Event Hub မှ အဖြစ်မှန်ဖြစ်မှုများကို နားထောင်ရန် လိုအပ်ကြောင်း ပြောသည်
+ * `"name": "events"` - Event Hub events အတွက် parameter အမည်ဖြစ်သည်။ Python code ၏ `main` function တွင် parameter အမည်နှင့် ကိုက်ညီသည်။
+ * `"direction": "in"` - Input binding ဖြစ်သည်၊ event hub မှ data ကို function သို့ ဝင်သည်
+ * `"connection": ""` - Connection string ကို ဖတ်ရန် setting ၏ အမည်ကို သတ်မှတ်သည်။ Local တွင် run လုပ်သောအခါ၊ ဤ setting ကို `local.settings.json` ဖိုင်မှ ဖတ်မည်။
+
+ > 💁 Connection string ကို `function.json` ဖိုင်တွင် သိမ်းဆည်း၍ မရပါ၊ settings မှ ဖတ်ရမည်။ Connection string ကို မတော်တဆ ဖော်ထုတ်မိခြင်းမှ ကာကွယ်ရန် ဖြစ်သည်။
+
+1. Azure Functions template ၏ [bug တစ်ခု](https://github.com/Azure/azure-functions-templates/issues/1250) ကြောင့် `function.json` တွင် `cardinality` field အတွက် မှားယွင်းသော တန်ဖိုးရှိသည်။ `many` ကို `one` သို့ ပြောင်းပါ:
+
+ ```json
+ "cardinality": "one",
+ ```
+
+1. `function.json` ဖိုင်တွင် `"connection"` ၏ တန်ဖိုးကို `local.settings.json` ဖိုင်တွင် ထည့်သွင်းထားသည့် တန်ဖိုးသို့ ပြောင်းပါ:
+
+ ```json
+ "connection": "IOT_HUB_CONNECTION_STRING",
+ ```
+
+ > 💁 သတိပြုပါ - ဤအရာသည် setting ကို ညွှန်းရမည်ဖြစ်ပြီး၊ တကယ့် connection string ကို မပါဝင်ရပါ။
+
+1. Connection string တွင် `eventHubName` တန်ဖိုးပါဝင်သည်၊ ထို့ကြောင့် `function.json` ဖိုင်တွင် ဤတန်ဖိုးကို ဖျက်ရန် လိုအပ်သည်။ ဤတန်ဖိုးကို အလွတ် string သို့ ပြောင်းပါ:
+
+ ```json
+ "eventHubName": "",
+ ```
+
+### Task - Event trigger ကို run လုပ်ပါ
+
+1. IoT Hub event monitor ကို မ run လုပ်ထားကြောင်း သေချာပါစေ။ Functions app နှင့် တစ်ချိန်တည်းတွင် run လုပ်ပါက၊ Functions app သည် events များကို ချိတ်ဆက်၍ လက်ခံ၍ မရနိုင်ပါ။
+
+ > 💁 အမျိုးမျိုးသော apps များသည် IoT Hub endpoints သို့ *consumer groups* မတူကွဲပြားစွာ အသုံးပြု၍ ချိတ်ဆက်နိုင်သည်။ ဤအကြောင်းအရာကို နောက်ဆင့်သင်ခန်းစာတွင် ဖော်ပြပါမည်။
+
+1. Functions app ကို run လုပ်ရန်၊ VS Code terminal မှ အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ func start
+ ```
+
+ Functions app သည် စတင်ပြီး၊ `iot-hub-trigger` function ကို ရှာဖွေပါမည်။ ထို့နောက် IoT Hub သို့ နောက်ဆုံးတစ်ရက်အတွင်း ပေးပို့ထားသည့် events များကို လုပ်ဆောင်ပါမည်။
+
+ ```output
+ (.venv) ➜ soil-moisture-trigger func start
+ Found Python version 3.9.1 (python3).
+
+ Azure Functions Core Tools
+ Core Tools Version: 3.0.3442 Commit hash: 6bfab24b2743f8421475d996402c398d2fe4a9e0 (64-bit)
+ Function Runtime Version: 3.0.15417.0
+
+ Functions:
+
+ iot-hub-trigger: eventHubTrigger
+
+ For detailed output, run func with --verbose flag.
+ [2021-05-05T02:44:07.517Z] Worker process started and initialized.
+ [2021-05-05T02:44:09.202Z] Executing 'Functions.iot-hub-trigger' (Reason='(null)', Id=802803a5-eae9-4401-a1f4-176631456ce4)
+ [2021-05-05T02:44:09.205Z] Trigger Details: PartitionId: 0, Offset: 1011240-1011632, EnqueueTimeUtc: 2021-05-04T19:04:04.2030000Z-2021-05-04T19:04:04.3900000Z, SequenceNumber: 2546-2547, Count: 2
+ [2021-05-05T02:44:09.352Z] Python EventHub trigger processed an event: {"soil_moisture":628}
+ [2021-05-05T02:44:09.354Z] Python EventHub trigger processed an event: {"soil_moisture":624}
+ [2021-05-05T02:44:09.395Z] Executed 'Functions.iot-hub-trigger' (Succeeded, Id=802803a5-eae9-4401-a1f4-176631456ce4, Duration=245ms)
+ ```
+
+ Function တစ်ခုစီကို ခေါ်သည့်အခါ၊ output တွင် `Executing 'Functions.iot-hub-trigger'`/`Executed 'Functions.iot-hub-trigger'` block ဖြင့် ပတ်လည်နေပါမည်။ Function call တစ်ခုစီတွင် မည်မျှ messages ကို လုပ်ဆောင်ခဲ့သည်ကို ကြည့်နိုင်ပါသည်။
+
+1. သင့် IoT စက်ပစ္စည်းကို run လုပ်ထားကြောင်း သေချာပါစေ။ Functions app တွင် အသစ်သော soil moisture messages များကို တွေ့နိုင်ပါမည်။
+
+1. Functions app ကို ရပ်တန့်ပြီး ပြန်စတင်ပါ။ ယခင် messages များကို ပြန်လည် လုပ်ဆောင်မည်မဟုတ်ပါ၊ အသစ်သော messages များကိုသာ လုပ်ဆောင်ပါမည်။
+
+> 💁 VS Code သည် Functions များကို debugging လုပ်ရန်လည်း ပံ့ပိုးသည်။ Code တစ်ကြောင်းစီ၏ အစတွင် border ကို နှိပ်ခြင်းဖြင့် သို့မဟုတ် cursor ကို code တစ်ကြောင်းတွင်ထားပြီး *Run -> Toggle breakpoint* ကို ရွေးခြင်းဖြင့်၊ သို့မဟုတ် `F9` ကို နှိပ်ခြင်းဖြင့် break points သတ်မှတ်နိုင်သည်။ Debugger ကို *Run -> Start debugging* ကို ရွေးခြင်း၊ `F5` ကို နှိပ်ခြင်း၊ သို့မဟုတ် *Run and debug* pane ကို ရွေးပြီး **Start debugging** ခလုတ်ကို နှိပ်ခြင်းဖြင့် စတင်နိုင်သည်။ Debugging လုပ်ခြင်းဖြင့် လုပ်ဆောင်နေသော events ၏ အသေးစိတ်ကို ကြည့်နိုင်သည်။
+
+#### Troubleshooting
+
+* အောက်ပါ error ကို တွေ့ပါက:
+
+ ```output
+ The listener for function 'Functions.iot-hub-trigger' was unable to start. Microsoft.WindowsAzure.Storage: Connection refused. System.Net.Http: Connection refused. System.Private.CoreLib: Connection refused.
+ ```
+
+ Azurite သည် run လုပ်နေကြောင်းနှင့် `local.settings.json` ဖိုင်တွင် `AzureWebJobsStorage` ကို `UseDevelopmentStorage=true` သတ်မှတ်ထားကြောင်း စစ်ဆေးပါ။
+
+* အောက်ပါ error ကို တွေ့ပါက:
+
+ ```output
+ System.Private.CoreLib: Exception while executing function: Functions.iot-hub-trigger. System.Private.CoreLib: Result: Failure Exception: AttributeError: 'list' object has no attribute 'get_body'
+ ```
+
+ `function.json` ဖိုင်တွင် `cardinality` ကို `one` သတ်မှတ်ထားကြောင်း စစ်ဆေးပါ။
+
+* အောက်ပါ error ကို တွေ့ပါက:
+
+ ```output
+ Azure.Messaging.EventHubs: The path to an Event Hub may be specified as part of the connection string or as a separate value, but not both. Please verify that your connection string does not have the `EntityPath` token if you are passing an explicit Event Hub name. (Parameter 'connectionString').
+ ```
+
+ `function.json` ဖိုင်တွင် `eventHubName` ကို အလွတ် string သတ်မှတ်ထားကြောင်း စစ်ဆေးပါ။
+
+## Serverless code မှ တိုက်ရိုက် method requests ပေးပို့ပါ
+
+ယခုအချိန်တွင် Functions app သည် IoT Hub ၏ Event Hub compatible endpoint ကို အသုံးပြု၍ messages များကို နားထောင်နေသည်။ ယခု သင့် IoT စက်ပစ္စည်းသို့ command များ ပေးပို့ရန် လိုအပ်သည်။ ဤအရာကို IoT Hub သို့ ချိတ်ဆက်ရန် *Registry Manager* ကို အသုံးပြု၍ ပြုလုပ်သည်။ Registry Manager သည် IoT Hub တွင် မှတ်ပုံတင်ထားသော စက်ပစ္စည်းများကို ကြည့်ရှုရန်၊ cloud-to-device messages, direct method requests, သို့မဟုတ် device twin ကို update ပြုလုပ်ရန် ခွင့်ပြုသည်။ IoT Hub မှ စက်ပစ္စည်းများကို မှတ်ပုံတင်ခြင်း၊ update ပြုလုပ်ခြင်း သို့မဟုတ် ဖျက်ခြင်းကိုလည်း ပြုလုပ်နိုင်သည်။
+
+Registry Manager သို့ ချိတ်ဆက်ရန် connection string တစ်ခု လိုအပ်သည်။
+
+### Task - Registry Manager connection string ရယူပါ
+
+1. Connection string ရယူရန် အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ az iot hub connection-string show --policy-name service \
+ --output table \
+ --hub-name
+ ```
+
+ `` ကို သင် IoT Hub အတွက် အသုံးပြုသည့် အမည်ဖြင့် အစားထိုးပါ။
+
+ Connection string ကို *ServiceConnect* policy အတွက် `--policy-name service` parameter ဖြင့် တောင်းဆိုသည်။ Connection string တောင်းဆိုသည့်အခါ၊ connection string သည် မည်သည့်ခွင့်ပြုချက်များကို ခွင့်ပြုမည်ကို သတ်မှတ်နိုင်သည်။ ServiceConnect policy သည် IoT စက်ပစ္စည်းများသို့ messages ပေးပို့ရန် သင့် code ကို ခွင့်ပြုသည်။
+
+ ✅ သုတေသနလုပ်ပါ: [IoT Hub permissions documentation](https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security#iot-hub-permissions?WT.mc_id=academic-17441-jabenn) တွင် policies များအကြောင်း ဖတ်ပါ။
+
+1. VS Code တွင် `local.settings.json` ဖိုင်ကို ဖွင့်ပါ။ `Values` အပိုင်းအတွင်း အောက်ပါ တန်ဖိုးအသစ်ကို ထည့်ပါ:
+
+ ```json
+ "REGISTRY_MANAGER_CONNECTION_STRING": ""
+ ```
+
+ `` ကို ယခင်အဆင့်မှ ရရှိသည့် တန်ဖိုးဖြင့် အစားထိုးပါ။ JSON သက်မှတ်ထားမှုအတွက် အထက်တန်းတွင် comma တစ်ခု ထည့်ရန် လိုအပ်ပါမည်။
+
+### Task - စက်ပစ္စည်းသို့ တိုက်ရိုက် method request ပေးပို့ပါ
+
+1. Registry Manager အတွက် SDK သည် Pip package မှတဆင့် ရရှိနိုင်သည်။ `requirements.txt` ဖိုင်တွင် အောက်ပါလိုင်းကို ထည့်ပါ:
+
+ ```sh
+ azure-iot-hub
+ ```
+
+1. VS Code terminal တွင် virtual environment ကို အလုပ်လုပ်နေကြောင်း သေချာပါစေ၊ အောက်ပါ command ကို run လုပ်၍ Pip packages များကို install လုပ်ပါ:
+
+ ```sh
+ pip install -r requirements.txt
+ ```
+
+1. `__init__.py` ဖိုင်တွင် အောက်ပါ imports များကို ထည့်ပါ:
+
+ ```python
+ import json
+ import os
+ from azure.iot.hub import IoTHubRegistryManager
+ from azure.iot.hub.models import CloudToDeviceMethod
+ ```
+
+
+ဒီကုဒ်က `local.settings.json` ဖိုင်ထဲက `REGISTRY_MANAGER_CONNECTION_STRING` ကို load လုပ်ပါတယ်။ ဒီဖိုင်ထဲက အတန့်အတန့်တန်ဖိုးတွေကို ပတ်ဝန်းကျင် variable အနေနဲ့ အသုံးပြုနိုင်ပြီး၊ `os.environ` function ကို အသုံးပြုပြီး ဖတ်ရှုနိုင်ပါတယ်။ ဒီ function က ပတ်ဝန်းကျင် variable တွေကို dictionary အနေနဲ့ ပြန်ပေးပါတယ်။
+
+> 💁 ဒီကုဒ်ကို cloud ပေါ်မှာ deploy လုပ်တဲ့အခါ `local.settings.json` ဖိုင်ထဲက တန်ဖိုးတွေကို *Application Settings* အနေနဲ့ သတ်မှတ်ပြီး၊ ပတ်ဝန်းကျင် variable တွေကနေ ဖတ်ရှုနိုင်ပါတယ်။
+
+ဒီကုဒ်က connection string ကို အသုံးပြုပြီး Registry Manager helper class ရဲ့ instance တစ်ခုကို ဖန်တီးပါတယ်။
+
+1. ဒီအောက်မှာ အောက်ပါကုဒ်ကို ထည့်ပါ:
+
+ ```python
+ registry_manager.invoke_device_method(device_id, direct_method)
+
+ logging.info('Direct method request sent!')
+ ```
+
+ ဒီကုဒ်က registry manager ကို telemetry ပေးပို့တဲ့ device ကို direct method request ပေးပို့ဖို့ ပြောပါတယ်။
+
+ > 💁 အရင်စာရင်းတွေမှာ MQTT ကို အသုံးပြုပြီး relay control command တွေကို device အားလုံးကို ပေးပို့ခဲ့ပါတယ်။ ဒီကုဒ်က device တစ်ခုကိုသာ method request ပေးပို့တာဖြစ်ပြီး၊ moisture sensor နဲ့ relay setup အများကြီးရှိတဲ့အခါမှာ တိကျတဲ့ device ကို request ပေးပို့နိုင်ပါတယ်။
+
+1. Functions app ကို run လုပ်ပြီး၊ IoT device က data ပေးပို့နေကြောင်း သေချာပါ။ Messages တွေ process လုပ်ပြီး direct method request ပေးပို့တာကို တွေ့ရပါမယ်။ Soil moisture sensor ကို မြေထဲထိုးပြီးထုတ်တာနဲ့ value တွေပြောင်းပြီး relay on/off ဖြစ်တာကို တွေ့ရပါမယ်။
+
+> 💁 ဒီကုဒ်ကို [code/functions](../../../../../2-farm/lessons/5-migrate-application-to-the-cloud/code/functions) folder မှာ တွေ့နိုင်ပါတယ်။
+
+## Serverless Code ကို Cloud ပေါ်မှာ Deploy လုပ်ပါ
+
+ကုဒ်ကို local မှာ အလုပ်လုပ်နေပြီဆိုတော့ Functions App ကို cloud ပေါ်မှာ deploy လုပ်ဖို့ နောက်တစ်ဆင့်လုပ်ဆောင်ရပါမယ်။
+
+### Task - Cloud Resources ဖန်တီးပါ
+
+Functions app ကို Azure မှာ Functions App resource အနေနဲ့ deploy လုပ်ဖို့လိုပါတယ်၊ ဒါဟာ IoT Hub အတွက် ဖန်တီးထားတဲ့ Resource Group အတွင်းမှာရှိရပါမယ်။ Local မှာ run လုပ်နေတဲ့ emulated storage ကို အစားထိုးဖို့ Azure မှာ Storage Account တစ်ခုလည်း ဖန်တီးဖို့လိုပါတယ်။
+
+1. Storage account ဖန်တီးဖို့ အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ az storage account create --resource-group soil-moisture-sensor \
+ --sku Standard_LRS \
+ --name
+ ```
+
+ `` ကို storage account အတွက် နာမည်တစ်ခုနဲ့ အစားထိုးပါ။ ဒီနာမည်ဟာ URL ရဲ့ အစိတ်အပိုင်းဖြစ်တဲ့အတွက် global unique ဖြစ်ရပါမယ်။ အောက်စက္ကန့်အက္ခရာနဲ့ နံပါတ်တွေကိုသာ အသုံးပြုနိုင်ပြီး၊ အခြားအက္ခရာတွေကို အသုံးပြုလို့မရပါဘူး။ နာမည်အရှည်က 24 အက္ခရာအတွင်း ဖြစ်ရပါမယ်။ `sms` နဲ့ random word တွေ သို့မဟုတ် နာမည်ကို ထည့်ပြီး unique identifier တစ်ခုထည့်ပါ။
+
+ `--sku Standard_LRS` က lowest cost general-purpose account ကို ရွေးချယ်ပါတယ်။ Storage အတွက် free tier မရှိပါဘူး၊ အသုံးပြုတဲ့အတိုင်းပေးရပါတယ်။ ကုန်ကျစရိတ်က အတော်လေးနည်းပြီး၊ အများဆုံး storage က US$0.05 တစ်လလျှင် တစ် gigabyte stored အတွက်သာ ဖြစ်ပါတယ်။
+
+ ✅ [Azure Storage Account pricing page](https://azure.microsoft.com/pricing/details/storage/?WT.mc_id=academic-17441-jabenn) မှာ စျေးနှုန်းတွေကို ဖတ်ရှုပါ။
+
+1. Function App ဖန်တီးဖို့ အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ az functionapp create --resource-group soil-moisture-sensor \
+ --runtime python \
+ --functions-version 3 \
+ --os-type Linux \
+ --consumption-plan-location \
+ --storage-account \
+ --name
+ ```
+
+ `` ကို Resource Group ဖန်တီးတဲ့အခါ အသုံးပြုခဲ့တဲ့ location နဲ့ အစားထိုးပါ။
+
+ `` ကို storage account နာမည်နဲ့ အစားထိုးပါ။
+
+ `` ကို Functions App အတွက် unique နာမည်နဲ့ အစားထိုးပါ။ URL ရဲ့ အစိတ်အပိုင်းဖြစ်တဲ့အတွက် global unique ဖြစ်ရပါမယ်။ `soil-moisture-sensor-` နဲ့ random word တွေ သို့မဟုတ် နာမည်ကို ထည့်ပြီး unique identifier တစ်ခုထည့်ပါ။
+
+ `--functions-version 3` က Azure Functions ရဲ့ version ကို သတ်မှတ်ပါတယ်။ Version 3 က နောက်ဆုံး version ဖြစ်ပါတယ်။
+
+ `--os-type Linux` က Functions runtime ကို Linux အနေနဲ့ အသုံးပြုဖို့ ပြောပါတယ်။ Functions တွေကို Linux သို့မဟုတ် Windows ပေါ်မှာ host လုပ်နိုင်ပြီး၊ programming language အပေါ်မူတည်ပါတယ်။ Python apps တွေက Linux ပေါ်မှာသာ support လုပ်ပါတယ်။
+
+### Task - Application Settings ကို upload လုပ်ပါ
+
+Functions App ကို develop လုပ်တဲ့အခါ IoT Hub အတွက် connection strings တွေကို `local.settings.json` ဖိုင်ထဲမှာ သိမ်းထားပါတယ်။ ဒီ setting တွေကို Azure မှာ Functions App Application Settings အနေနဲ့ ရေးသားဖို့လိုပါတယ်၊ ဒါမှ code မှာ အသုံးပြုနိုင်ပါတယ်။
+
+> 🎓 `local.settings.json` ဖိုင်က local development settings အတွက်သာ ဖြစ်ပြီး၊ GitHub ကဲ့သို့သော source code control မှာ check in လုပ်လို့မရပါဘူး။ Cloud ပေါ်မှာ deploy လုပ်တဲ့အခါ Application Settings ကို အသုံးပြုရပါမယ်။ Application Settings တွေဟာ cloud ပေါ်မှာ host လုပ်ထားတဲ့ key/value pairs ဖြစ်ပြီး၊ code မှာ သို့မဟုတ် runtime မှာ environment variables ကနေ ဖတ်ရှုနိုင်ပါတယ်။
+
+1. Functions App Application Settings မှာ `IOT_HUB_CONNECTION_STRING` setting ကို သတ်မှတ်ဖို့ အောက်ပါ command ကို run လုပ်ပါ:
+
+ ```sh
+ az functionapp config appsettings set --resource-group soil-moisture-sensor \
+ --name \
+ --settings "IOT_HUB_CONNECTION_STRING="
+ ```
+
+ `` ကို Functions App နာမည်နဲ့ အစားထိုးပါ။
+
+ `` ကို `local.settings.json` ဖိုင်ထဲက `IOT_HUB_CONNECTION_STRING` တန်ဖိုးနဲ့ အစားထိုးပါ။
+
+1. အထက်ပါအဆင့်ကို ထပ်လုပ်ပါ၊ ဒါပေမယ့် `REGISTRY_MANAGER_CONNECTION_STRING` တန်ဖိုးကို `local.settings.json` ဖိုင်ထဲက တန်ဖိုးနဲ့ သတ်မှတ်ပါ။
+
+ဒီ command တွေကို run လုပ်တဲ့အခါ Functions App ရဲ့ Application Settings အားလုံးကို output ပြန်ပေးပါမယ်။ သတ်မှတ်ထားတဲ့ တန်ဖိုးတွေကို မှန်ကန်ကြောင်း စစ်ဆေးနိုင်ပါတယ်။
+
+> 💁 `AzureWebJobsStorage` အတွက် တန်ဖိုးတစ်ခုရှိနေပါမယ်။ `local.settings.json` ဖိုင်ထဲမှာ local storage emulator ကို အသုံးပြုဖို့ တန်ဖိုးတစ်ခုသတ်မှတ်ထားပါတယ်။ Functions App ဖန်တီးတဲ့အခါ storage account ကို parameter အနေနဲ့ ပေးပြီး၊ ဒီ setting မှာ auto သတ်မှတ်ထားပါတယ်။
+
+### Task - Functions App ကို Cloud ပေါ်မှာ Deploy လုပ်ပါ
+
+Functions App အဆင်သင့်ဖြစ်ပြီဆိုတော့ code ကို deploy လုပ်နိုင်ပါပြီ။
+
+1. VS Code terminal မှာ အောက်ပါ command ကို run လုပ်ပြီး Functions App ကို publish လုပ်ပါ:
+
+ ```sh
+ func azure functionapp publish
+ ```
+
+ `` ကို Functions App နာမည်နဲ့ အစားထိုးပါ။
+
+ကုဒ်ကို package လုပ်ပြီး Functions App ကို ပေးပို့ပါမယ်၊ deploy လုပ်ပြီး start လုပ်ပါမယ်။ Console output အများကြီးရှိပြီး၊ deploy လုပ်ပြီး function တွေကို စာရင်းပြပါမယ်။ ဒီအခါမှာ trigger တစ်ခုသာ စာရင်းထဲမှာပါမယ်။
+
+```output
+Deployment successful.
+Remote build succeeded!
+Syncing triggers...
+Functions in soil-moisture-sensor:
+ iot-hub-trigger - [eventHubTrigger]
+```
+
+IoT device ကို run လုပ်ထားပါ။ Soil moisture ကို ပြောင်းလဲပြီး sensor ကို မြေထဲထိုး/ထုတ်ပါ။ Soil moisture ပြောင်းလဲတာနဲ့ relay on/off ဖြစ်တာကို တွေ့ရပါမယ်။
+
+---
+
+## 🚀 စိန်ခေါ်မှု
+
+အရင်စာရင်းမှာ MQTT message တွေ unsubscribe လုပ်ပြီး relay timing ကို စီမံခဲ့ပါတယ်။ ဒီမှာတော့ IoT Hub trigger ကို unsubscribe လုပ်လို့မရပါဘူး။
+
+Functions App မှာ ဒီကို handle လုပ်နိုင်တဲ့ နည်းလမ်းတွေကို စဉ်းစားပါ။
+
+## Post-lecture quiz
+
+[Post-lecture quiz](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/18)
+
+## Review & Self Study
+
+* Serverless computing အကြောင်းကို [Wikipedia](https://wikipedia.org/wiki/Serverless_computing) မှာ ဖတ်ရှုပါ။
+* Azure မှာ serverless အသုံးပြုတဲ့နည်းလမ်းတွေကို [Go serverless for your IoT needs Azure blog post](https://azure.microsoft.com/blog/go-serverless-for-your-iot-needs/?WT.mc_id=academic-17441-jabenn) မှာ ဖတ်ရှုပါ။
+* Azure Functions အကြောင်းကို [Azure Functions YouTube channel](https://www.youtube.com/c/AzureFunctions) မှာ လေ့လာပါ။
+
+## Assignment
+
+[Add manual relay control](assignment.md)
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md b/translations/my/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md
new file mode 100644
index 00000000..25b83564
--- /dev/null
+++ b/translations/my/2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md
@@ -0,0 +1,70 @@
+
+# လက်စွဲဖြင့် Relay ကိုထိန်းချုပ်ရန် ထည့်သွင်းပါ
+
+## လမ်းညွှန်ချက်များ
+
+Serverless ကုဒ်များကို HTTP တောင်းဆိုမှုများအပါအဝင် အမျိုးမျိုးသောအရာများမှ စတင်နိုင်သည်။ HTTP triggers များကို အသုံးပြု၍ Relay ထိန်းချုပ်မှုကို လက်စွဲဖြင့် override ပြုလုပ်နိုင်ပြီး၊ တစ်စုံတစ်ယောက်က Web တောင်းဆိုမှုမှတဆင့် Relay ကို ဖွင့်ရန် သို့မဟုတ် ပိတ်ရန် ခွင့်ပြုနိုင်သည်။
+
+ဤအလုပ်မှာ သင်သည် Relay ကို ဖွင့်ရန်နှင့် ပိတ်ရန် HTTP triggers နှစ်ခုကို Functions App တွင် ထည့်သွင်းရမည်ဖြစ်ပြီး၊ ဒီသင်ခန်းစာမှ သင်လေ့လာခဲ့သောအရာများကို အသုံးပြု၍ စက်ပစ္စည်းသို့ command များပို့ရန် ပြုလုပ်ရမည်ဖြစ်သည်။
+
+အချို့သော အကြံပြုချက်များ -
+
+* သင်၏ ရှိပြီးသား Functions App တွင် HTTP trigger တစ်ခု ထည့်သွင်းရန် အောက်ပါ command ကို အသုံးပြုနိုင်သည် -
+
+ ```sh
+ func new --name --template "HTTP trigger"
+ ```
+
+ `` ကို သင့် HTTP trigger အတွက် နာမည်ဖြင့် အစားထိုးပါ။ `relay_on` နှင့် `relay_off` ကဲ့သို့သော နာမည်များကို အသုံးပြုပါ။
+
+* HTTP triggers တွင် access control ရှိနိုင်သည်။ ပုံမှန်အားဖြင့်၊ function-specific API key ကို URL နှင့်အတူ ပေးပို့ရန် လိုအပ်သည်။ ဤအလုပ်အတွက်၊ အဆိုပါ ကန့်သတ်ချက်ကို ဖယ်ရှားနိုင်ပြီး၊ မည်သူမဆို function ကို run လုပ်နိုင်သည်။ ဤအတွက် HTTP triggers အတွက် `function.json` ဖိုင်ရှိ `authLevel` setting ကို အောက်ပါအတိုင်း update ပြုလုပ်ပါ -
+
+ ```json
+ "authLevel": "anonymous"
+ ```
+
+ > 💁 ဤ access control အကြောင်းကို [Function access keys documentation](https://docs.microsoft.com/azure/azure-functions/functions-bindings-http-webhook-trigger?WT.mc_id=academic-17441-jabenn#authorization-keys) တွင် ပိုမိုဖတ်ရှုနိုင်သည်။
+
+* HTTP triggers များသည် ပုံမှန်အားဖြင့် GET နှင့် POST တောင်းဆိုမှုများကို ပံ့ပိုးပေးသည်။ ထို့ကြောင့် သင်၏ Web browser ကို အသုံးပြု၍ သို့မဟုတ် GET တောင်းဆိုမှုများကို လွယ်ကူစွာ ပြုလုပ်နိုင်သည်။
+
+ သင်၏ Functions App ကို ဒေသတွင် run လုပ်သောအခါ၊ trigger ၏ URL ကို တွေ့ရမည် -
+
+ ```output
+ Functions:
+
+ relay_off: [GET,POST] http://localhost:7071/api/relay_off
+
+ relay_on: [GET,POST] http://localhost:7071/api/relay_on
+
+ iot-hub-trigger: eventHubTrigger
+ ```
+
+ URL ကို သင့် browser တွင် paste ပြုလုပ်ပြီး `return` ကို နှိပ်ပါ၊ သို့မဟုတ် terminal window တွင် VS Code မှာရှိသော link ကို `Ctrl+click` (`Cmd+click` macOS တွင်) နှိပ်၍ သင့် default browser တွင် ဖွင့်ပါ။ ဤသည်သည် trigger ကို run လုပ်မည်ဖြစ်သည်။
+
+ > 💁 URL တွင် `/api` ပါရှိနေသည်ကို သတိပြုပါ - HTTP triggers များသည် ပုံမှန်အားဖြင့် `api` subdomain တွင်ရှိသည်။
+
+* Functions App ကို deploy ပြုလုပ်သောအခါ၊ HTTP trigger URL သည် အောက်ပါအတိုင်းဖြစ်မည် -
+
+ `https://.azurewebsites.net/api/`
+
+ ဤတွင် `` သည် သင့် Functions App ၏ နာမည်ဖြစ်ပြီး၊ `` သည် သင့် trigger ၏ နာမည်ဖြစ်သည်။
+
+## အကဲဖြတ်စံနှုန်း
+
+| စံနှုန်း | ထူးချွန်သော | လုံလောက်သော | တိုးတက်မှုလိုအပ်သော |
+| -------- | ------------ | ------------ | ------------------- |
+| HTTP triggers ဖန်တီးခြင်း | Relay ကို ဖွင့်ရန်နှင့် ပိတ်ရန် triggers နှစ်ခုကို သင့်လျော်သော နာမည်များဖြင့် ဖန်တီးနိုင်ခဲ့သည် | Trigger တစ်ခုကို သင့်လျော်သော နာမည်ဖြင့် ဖန်တီးနိုင်ခဲ့သည် | မည်သည့် trigger ကိုမျှ ဖန်တီးနိုင်ခြင်းမရှိခဲ့ပါ |
+| HTTP triggers မှ Relay ကို ထိန်းချုပ်ခြင်း | Triggers နှစ်ခုစလုံးကို IoT Hub နှင့် ချိတ်ဆက်ပြီး Relay ကို သင့်တော်စွာ ထိန်းချုပ်နိုင်ခဲ့သည် | Trigger တစ်ခုကို IoT Hub နှင့် ချိတ်ဆက်ပြီး Relay ကို သင့်တော်စွာ ထိန်းချုပ်နိုင်ခဲ့သည် | Triggers များကို IoT Hub နှင့် ချိတ်ဆက်နိုင်ခြင်းမရှိခဲ့ပါ |
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/6-keep-your-plant-secure/README.md b/translations/my/2-farm/lessons/6-keep-your-plant-secure/README.md
new file mode 100644
index 00000000..27d93291
--- /dev/null
+++ b/translations/my/2-farm/lessons/6-keep-your-plant-secure/README.md
@@ -0,0 +1,161 @@
+
+# သင့်အပင်ကို လုံခြုံစေပါ
+
+
+
+> Sketchnote ကို [Nitya Narasimhan](https://github.com/nitya) မှရေးသားထားသည်။ ပုံကိုနှိပ်ပြီး ပိုကြီးမားသောဗားရှင်းကိုကြည့်ပါ။
+
+## သင်ခန်းစာမတိုင်မီ စစ်ဆေးမှု
+
+[သင်ခန်းစာမတိုင်မီ စစ်ဆေးမှု](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/19)
+
+## နိဒါန်း
+
+မကြာသေးမီ သင်ခန်းစာများတွင် သင်သည် မြေဆီလွှာစောင့်ကြည့် IoT စက်ပစ္စည်းတစ်ခုကို ဖန်တီးပြီး မိုဃ်းတိမ်သို့ ချိတ်ဆက်ခဲ့ပါသည်။ ဒါပေမယ့် ပြိုင်ဘက်တောင်သူတစ်ဦး၏ ဟက်ကာများက သင့် IoT စက်ပစ္စည်းများကို ထိန်းချုပ်နိုင်ခဲ့ရင်ရော ဘာဖြစ်မလဲ။ သူတို့က မြေဆီလွှာစိုထိုင်းဆန့်ကျင်ဖတ်ချက်များ ပေးပို့ပြီး သင့်အပင်များကို ရေမပေးရအောင်လုပ်နိုင်သလို၊ သို့မဟုတ် ရေချိန်စနစ်ကို အမြဲဖွင့်ထားပြီး ရေများလွန်ကဲစွာသုံးစွဲခြင်းကြောင့် သင့်အပင်များကို ပျက်စီးစေနိုင်ပါသည်။
+
+ဒီသင်ခန်းစာမှာ IoT စက်ပစ္စည်းများကို ဘယ်လိုလုံခြုံစေမလဲဆိုတာ သင်လေ့လာမည်ဖြစ်ပြီး၊ ဒီပရောဂျက်အတွက် နောက်ဆုံးသင်ခန်းစာဖြစ်သောကြောင့် သင့်မိုဃ်းတိမ်ရင်းမြစ်များကို ရှင်းလင်းပြီး အကုန်အကျများကို လျှော့ချနည်းကိုလည်း သင်လေ့လာမည်ဖြစ်သည်။
+
+ဒီသင်ခန်းစာမှာ ကျွန်ုပ်တို့ ဖော်ပြမည့်အကြောင်းအရာများမှာ -
+
+* [ဘာကြောင့် IoT စက်ပစ္စည်းများကို လုံခြုံစေရန် လိုအပ်သလဲ?](../../../../../2-farm/lessons/6-keep-your-plant-secure)
+* [ကုဒ်ဝှက်နည်း (Cryptography)](../../../../../2-farm/lessons/6-keep-your-plant-secure)
+* [သင့် IoT စက်ပစ္စည်းများကို လုံခြုံစေပါ](../../../../../2-farm/lessons/6-keep-your-plant-secure)
+* [X.509 လက်မှတ်တစ်ခုကို ဖန်တီးပြီး အသုံးပြုပါ](../../../../../2-farm/lessons/6-keep-your-plant-secure)
+
+> 🗑 ဒီသင်ခန်းစာသည် ဒီပရောဂျက်၏ နောက်ဆုံးသင်ခန်းစာဖြစ်သောကြောင့် သင်ခန်းစာနှင့် လုပ်ငန်းတာဝန်ကို ပြီးမြောက်ပြီးနောက် သင့်မိုဃ်းတိမ်ဝန်ဆောင်မှုများကို ရှင်းလင်းရန် မမေ့ပါနှင့်။ လုပ်ငန်းတာဝန်ကို ပြီးမြောက်ရန် ဝန်ဆောင်မှုများလိုအပ်မည်ဖြစ်သောကြောင့် အရင်ဆုံး လုပ်ငန်းတာဝန်ကို ပြီးမြောက်စေပါ။
+>
+> လိုအပ်ပါက [သင့်ပရောဂျက်ကို ရှင်းလင်းရန် လမ်းညွှန်](../../../clean-up.md) ကို ကိုးကားပါ။
+
+## ဘာကြောင့် IoT စက်ပစ္စည်းများကို လုံခြုံစေရန် လိုအပ်သလဲ?
+
+IoT လုံခြုံရေးသည် သင့်မိုဃ်းတိမ် IoT ဝန်ဆောင်မှုနှင့် ချိတ်ဆက်ပြီး တိုင်းတာချက်များပေးပို့နိုင်သည့် စက်ပစ္စည်းများသာ ခွင့်ပြုရန်နှင့် သင့်မိုဃ်းတိမ်ဝန်ဆောင်မှုမှသာ စက်ပစ္စည်းများကို အမိန့်ပေးနိုင်ရန် သေချာစေရန်နှင့် ဆက်စပ်သည်။ IoT ဒေတာသည် ကိုယ်ရေးကိုယ်တာ ဒေတာ (ဥပမာ - ဆေးဘက်ဆိုင်ရာ ဒေတာ) ပါဝင်နိုင်သောကြောင့် ဒေတာပေါက်ကြားမှုကို တားဆီးရန် လုံခြုံရေးကို အရေးကြီးစဉ်းစားရမည်ဖြစ်သည်။
+
+သင့် IoT အက်ပလီကေးရှင်းသည် လုံခြုံမဟုတ်ပါက အန္တရာယ်များစွာရှိနိုင်သည် -
+
+* အတုစက်ပစ္စည်းတစ်ခုက မှားသောဒေတာများပေးပို့ပြီး သင့်အက်ပလီကေးရှင်းမှ မှားသောတုံ့ပြန်မှုများပြုလုပ်စေနိုင်သည်။ ဥပမာအားဖြင့် မြေဆီလွှာစိုထိုင်းဆန့်ကျင်ဖတ်ချက်များပေးပို့ခြင်းကြောင့် သင့်ရေချိန်စနစ်မဖွင့်ဘဲ သင့်အပင်များရေမရခြင်းကြောင့် သေဆုံးနိုင်သည်။
+* ခွင့်မပြုထားသောအသုံးပြုသူများက IoT စက်ပစ္စည်းများမှ ကိုယ်ရေးကိုယ်တာ ဒေတာ သို့မဟုတ် လုပ်ငန်းအရေးကြီးဒေတာများကို ဖတ်ရှုနိုင်သည်။
+* ဟက်ကာများက စက်ပစ္စည်းကို ထိန်းချုပ်ရန် အမိန့်ပေးပြီး စက်ပစ္စည်း သို့မဟုတ် ဆက်စပ်ထားသော ဟာ့ဒ်ဝဲကို ပျက်စီးစေနိုင်သည်။
+* IoT စက်ပစ္စည်းနှင့် ချိတ်ဆက်ခြင်းအားဖြင့် ဟက်ကာများသည် အခြားကွန်ယက်များကို ဝင်ရောက်ပြီး ကိုယ်ပိုင်စနစ်များကို ရယူနိုင်သည်။
+* မကောင်းဆိုးဝါးအသုံးပြုသူများက ကိုယ်ရေးကိုယ်တာ ဒေတာများကို ရယူပြီး အန္တရာယ်ပေးနိုင်သည်။
+
+ဒီအခြေအနေများသည် အမှန်တစ်ကယ်ဖြစ်ပျက်နေသောအရာများဖြစ်ပြီး အချိန်မရွေးဖြစ်ပျက်နိုင်ပါသည်။ ယခင်သင်ခန်းစာများတွင် အချို့သော ဥပမာများကို ပေးထားပြီးဖြစ်သော်လည်း အောက်တွင် အခြားဥပမာများကိုလည်း ဖော်ပြထားပါသည် -
+
+* ၂၀၁၈ ခုနှစ်တွင် ဟက်ကာများက ငါးကန်ထဲရှိ အပူချိန်တိုင်းတာစက်၏ WiFi အချက်ပြပွင့်လင်းနေမှုကို အသုံးပြုကာ ကာစီနို၏ ကွန်ယက်ကို ဝင်ရောက်ပြီး ဒေတာများကို ခိုးယူခဲ့သည်။ [The Hacker News - Casino Gets Hacked Through Its Internet-Connected Fish Tank Thermometer](https://thehackernews.com/2018/04/iot-hacking-thermometer.html)
+* ၂၀၁၆ ခုနှစ်တွင် Mirai Botnet သည် Dyn အင်တာနက်ဝန်ဆောင်မှုပေးသူကို တိုက်ခိုက်ကာ အင်တာနက်၏ အချို့သောအပိုင်းများကို ပျက်စီးစေခဲ့သည်။ [The Guardian - DDoS attack that disrupted internet was largest of its kind in history, experts say](https://www.theguardian.com/technology/2016/oct/26/ddos-attack-dyn-mirai-botnet)
+* Spiral Toys သည် CloudPets ချိတ်ဆက်ထားသော အရုပ်များ၏ အသုံးပြုသူဒေတာကို အင်တာနက်ပေါ်တွင် ပွင့်လင်းထားခဲ့သည်။ [Troy Hunt - Data from connected CloudPets teddy bears leaked and ransomed, exposing kids' voice messages](https://www.troyhunt.com/data-from-connected-cloudpets-teddy-bears-leaked-and-ransomed-exposing-kids-voice-messages/).
+* Strava သည် သင့်ကို ကျော်လွန်သွားသော အပြေးသမားများကို တိုင်းတာပြီး သူတို့၏ လမ်းကြောင်းများကို ပြသခဲ့သည်။ [Kim Komndo - Fitness app could lead a stranger right to your home — change this setting](https://www.komando.com/security-privacy/strava-fitness-app-privacy/755349/).
+
+✅ သုတေသနလုပ်ပါ - ကိုယ်ရေးကိုယ်တာပစ္စည်းများ (ဥပမာ - အင်တာနက်ချိတ်ဆက်ထားသော သွားတိုက်တံ သို့မဟုတ် အလေးချိန်တိုင်းတာစက်များ) နှင့်ပတ်သက်သော IoT ဟက်ကင်းများနှင့် ဒေတာပေါက်ကြားမှုများအတွက် နောက်ထပ်ဥပမာများကို ရှာဖွေပါ။ ဒီဟက်ကင်းများက သက်ဆိုင်သူများ သို့မဟုတ် ဖောက်သည်များအပေါ် ဘယ်လိုသက်ရောက်မှုများရှိနိုင်မလဲ စဉ်းစားကြည့်ပါ။
+
+> 💁 လုံခြုံရေးသည် အလွန်ကျယ်ပြန့်သောအကြောင်းအရာဖြစ်ပြီး ဒီသင်ခန်းစာတွင် သင့်စက်ပစ္စည်းကို မိုဃ်းတိမ်နှင့် ချိတ်ဆက်ခြင်းနှင့်ပတ်သက်သော အခြေခံအချက်အချို့ကိုသာ ဖော်ပြမည်ဖြစ်သည်။ ဒေတာပြောင်းလဲမှုများကို စောင့်ကြည့်ခြင်း၊ စက်ပစ္စည်းများကို တိုက်ရိုက်ဟက်ကင်းလုပ်ခြင်း သို့မဟုတ် စက်ပစ္စည်းဖွဲ့စည်းမှုများကို ပြောင်းလဲခြင်းတို့ကို မဖော်ပြပါ။ IoT ဟက်ကင်းသည် အလွန်အန္တရာယ်ရှိသောကြောင့် [Azure Defender for IoT](https://azure.microsoft.com/services/azure-defender-for-iot/?WT.mc_id=academic-17441-jabenn) ကဲ့သို့သော ကိရိယာများကို ဖန်တီးထားသည်။ ဒီကိရိယာများသည် သင့်ကွန်ပျူတာတွင်ရှိသော အန္တီဗိုင်းရပ်စ်နှင့် လုံခြုံရေးကိရိယာများနှင့် ဆင်တူပြီး သေးငယ်သော IoT စက်ပစ္စည်းများအတွက် အထူးဒီဇိုင်းပြုလုပ်ထားသည်။
+💁 သင့် IoT စက်ပစ္စည်းတွင် သတ်မှတ်ထားသော အချိန်ကုန်ဆုံးမှုကြောင့် တိကျသော အချိန်ကို သိရှိရန် လိုအပ်ပါသည်။ အများအားဖြင့် [NTP](https://wikipedia.org/wiki/Network_Time_Protocol) server မှ ဖတ်ယူရရှိပါသည်။ အချိန်မတိကျပါက ချိတ်ဆက်မှု မအောင်မြင်နိုင်ပါ။
+ချိတ်ဆက်ပြီးနောက်တွင်၊ IoT Hub မှ စက်ပစ္စည်းသို့ သို့မဟုတ် စက်ပစ္စည်းမှ IoT Hub သို့ ပေးပို့သော ဒေတာအားလုံးကို shared access key ဖြင့် စကားဝှက်ထားမည်ဖြစ်သည်။
+
+✅ စက်ပစ္စည်းများစွာသည် တူညီသော connection string ကို မျှဝေပါက ဘာဖြစ်လာမည်ဟု သင်ထင်ပါသလဲ။
+
+> 💁 ဒီ key ကို code ထဲမှာ သိမ်းဆည်းထားတာက လုံခြုံရေးအတွက် မကောင်းတဲ့အလေ့အထဖြစ်ပါတယ်။ Hacker တစ်ယောက်က သင့် source code ကို ရရှိသွားရင် key ကိုလည်း ရနိုင်ပါတယ်။ ထို့အပြင် code ကို ထုတ်ဝေတဲ့အခါမှာလည်း စက်ပစ္စည်းတစ်ခုစီအတွက် အသစ်ပြောင်းလဲထားတဲ့ key နဲ့ ပြန်လည် compile လုပ်ရတာ ခက်ခဲစေပါတယ်။ ဒီ key ကို hardware security module (IoT device ပေါ်မှာရှိတဲ့ encrypted value တွေကို သင့် code က ဖတ်နိုင်တဲ့ chip) မှတစ်ဆင့် load လုပ်တာက ပိုကောင်းပါတယ်။
+>
+> IoT ကို သင်ယူနေစဉ်မှာတော့ အရင် lesson မှာလိုပဲ key ကို code ထဲမှာ ထည့်တာ ပိုလွယ်ပါတယ်၊ ဒါပေမယ့် ဒီ key ကို public source code control ထဲမှာ မထည့်ရအောင် သေချာစေပါ။
+
+စက်ပစ္စည်းများတွင် key နှစ်ခုနှင့် connection string နှစ်ခုရှိသည်။ ဒါကတော့ key တစ်ခု ပျက်စီးသွားပါက တစ်ခုမှ တစ်ခုကို ပြောင်းလဲအသုံးပြုနိုင်ရန် key rotation လုပ်နိုင်စေသည်။ ထို့နောက် ပျက်စီးသွားသော key ကို ပြန်လည်ထုတ်လုပ်နိုင်သည်။
+
+### X.509 လက်မှတ်များ
+
+Public/private key pair ဖြင့် asymmetric encryption ကို အသုံးပြုသောအခါ၊ သင့် public key ကို သင့်ထံ data ပေးပို့လိုသူအားလုံးကို ပေးရန် လိုအပ်သည်။ ပြဿနာကတော့ သင့် public key ဟုတ်ကြောင်း key ရရှိသူက ဘယ်လိုသေချာနိုင်မလဲဆိုတာပါ။ Key တစ်ခု ပေးပို့ခြင်းအစား၊ သင့် public key ကို ယုံကြည်စိတ်ချရသော တတိယပါတီ (trusted third party) မှ အတည်ပြုထားသော လက်မှတ် (certificate) ထဲတွင် ထည့်သွင်းပေးနိုင်သည်။ ဒီလိုလက်မှတ်ကို X.509 လက်မှတ်ဟု ခေါ်သည်။
+
+X.509 လက်မှတ်များသည် public/private key pair ၏ public key အပိုင်းကို ပါဝင်သော digital စာရွက်စာတမ်းများဖြစ်သည်။ ယုံကြည်စိတ်ချရသော [Certification authorities](https://wikipedia.org/wiki/Certificate_authority) (CAs) ဟုခေါ်သော အဖွဲ့အစည်းများမှ ထုတ်ပေးပြီး၊ key သည် သင့်ထံမှလာသည်ဟု အတည်ပြုရန် CA မှ digital signature ဖြင့် လက်မှတ်ရေးထိုးထားသည်။ သင်သည် CA ကို ယုံကြည်သောကြောင့် လက်မှတ်ကို ယုံကြည်ပြီး၊ public key သည် လက်မှတ်ပိုင်ရှင်ထံမှလာသည်ဟု ယုံကြည်နိုင်သည်။ ဥပမာအားဖြင့် သင်သည် နိုင်ငံတစ်ခုမှ ထုတ်ပေးသော နိုင်ငံကူးလက်မှတ် သို့မဟုတ် မောင်းနှင်ခွင့်လက်မှတ်ကို ယုံကြည်သကဲ့သို့ပင်ဖြစ်သည်။ လက်မှတ်များသည် အခကြေးငွေရှိသဖြင့်၊ သင်ကိုယ်တိုင်လက်မှတ်ထုတ် (self-sign) လုပ်၍ စမ်းသပ်မှုအတွက် အသုံးပြုနိုင်သည်။
+
+> 💁 Self-signed လက်မှတ်ကို production release အတွက် 절대로 အသုံးမပြုသင့်ပါ။
+
+ဒီလက်မှတ်များတွင် အချက်အလက်အမျိုးမျိုး ပါဝင်ပြီး၊ public key ပိုင်ရှင်၊ CA ၏ အသေးစိတ်အချက်အလက်၊ သက်တမ်းကာလနှင့် public key ကိုပါဝင်သည်။ လက်မှတ်ကို အသုံးမပြုမီ၊ CA မှ လက်မှတ်ရေးထိုးထားကြောင်း စစ်ဆေးခြင်းဖြင့် အတည်ပြုသင့်သည်။
+
+✅ လက်မှတ်တွင် ပါဝင်သော အချက်အလက်များ၏ စာရင်းကို [Microsoft Understanding X.509 Public Key Certificates tutorial](https://docs.microsoft.com/azure/iot-hub/tutorial-x509-certificates?WT.mc_id=academic-17441-jabenn#certificate-fields) တွင် ဖတ်ရှုနိုင်ပါသည်။
+
+X.509 လက်မှတ်များကို အသုံးပြုသောအခါ၊ ပေးပို့သူနှင့် လက်ခံသူနှစ်ဦးစလုံးတွင် public/private key နှင့် X.509 လက်မှတ်များရှိရမည်။ ထို့နောက်၊ တစ်ဦးနှင့်တစ်ဦး လက်မှတ်များကို ဖလှယ်ပြီး၊ တစ်ဦး၏ public key ကို အသုံးပြု၍ data ကို စကားဝှက်ထားပြီး ပေးပို့ကာ၊ ကိုယ်ပိုင် private key ဖြင့် data ကို ဖြေရှင်းမည်ဖြစ်သည်။
+
+
+
+X.509 လက်မှတ်များ၏ အဓိကအားသာချက်တစ်ခုမှာ စက်ပစ္စည်းများအကြား မျှဝေနိုင်ခြင်းဖြစ်သည်။ လက်မှတ်တစ်ခုကို ဖန်တီးပြီး၊ IoT Hub သို့ upload လုပ်ကာ၊ စက်ပစ္စည်းအားလုံးအတွက် အသုံးပြုနိုင်သည်။ စက်ပစ္စည်းတစ်ခုစီသည် IoT Hub မှ ပေးပို့သော မက်ဆေ့များကို ဖြေရှင်းရန် private key ကိုသာ သိရှိရမည်ဖြစ်သည်။
+
+စက်ပစ္စည်းမှ IoT Hub သို့ ပေးပို့သော မက်ဆေ့များကို စကားဝှက်ထားရန် အသုံးပြုသော လက်မှတ်ကို Microsoft မှ ထုတ်ပေးသည်။ ယင်းသည် Azure ဝန်ဆောင်မှုများစွာတွင် အသုံးပြုသော လက်မှတ်တစ်ခုဖြစ်ပြီး၊ SDK များတွင် built-in အဖြစ် ပါဝင်လေ့ရှိသည်။
+
+> 💁 Public key သည် အများသိရှိနိုင်သော key ဖြစ်သည်။ Azure public key ကို Azure သို့ ပေးပို့ရန် data ကို စကားဝှက်ထားရန်သာ အသုံးပြုနိုင်ပြီး၊ data ကို ဖြေရှင်းရန် မရနိုင်ပါ။ ထို့ကြောင့်၊ ယင်းကို source code အပါအဝင် နေရာတိုင်းတွင် မျှဝေနိုင်ပါသည်။ ဥပမာအားဖြင့်၊ [Azure IoT C SDK source code](https://github.com/Azure/azure-iot-sdk-c/blob/master/certs/certs.c) တွင်လည်း တွေ့နိုင်ပါသည်။
+
+✅ X.509 လက်မှတ်များနှင့် ပတ်သက်သော အဓိပ္ပါယ်များကို [The layman’s guide to X.509 certificate jargon](https://techcommunity.microsoft.com/t5/internet-of-things/the-layman-s-guide-to-x-509-certificate-jargon/ba-p/2203540?WT.mc_id=academic-17441-jabenn) တွင် ဖတ်ရှုနိုင်ပါသည်။
+
+## X.509 လက်မှတ်ကို ဖန်တီးပြီး အသုံးပြုရန်
+
+X.509 လက်မှတ်ကို ဖန်တီးရန် လိုအပ်သော အဆင့်များမှာ -
+
+1. Public/private key pair တစ်စုံကို ဖန်တီးပါ။ Public/private key pair ဖန်တီးရန် အများဆုံး အသုံးပြုသော algorithm တစ်ခုမှာ [Rivest–Shamir–Adleman](https://wikipedia.org/wiki/RSA_(cryptosystem))(RSA) ဖြစ်သည်။
+
+1. Public key ကို သက်ဆိုင်ရာ data နှင့်အတူ CA သို့မဟုတ် self-signing ဖြင့် လက်မှတ်ရေးထိုးရန် တင်ပြပါ။
+
+Azure CLI တွင် IoT Hub တွင် စက်ပစ္စည်း identity အသစ်တစ်ခု ဖန်တီးရန်၊ public/private key pair ကို အလိုအလျောက် ဖန်တီးရန်နှင့် self-signed လက်မှတ်ကို ဖန်တီးရန် command များပါရှိသည်။
+
+> 💁 Azure CLI ကို အသုံးမပြုဘဲ အဆင့်အသေးစိတ်ကို ကြည့်လိုပါက၊ [Using OpenSSL to create self-signed certificates tutorial in the Microsoft IoT Hub documentation](https://docs.microsoft.com/azure/iot-hub/tutorial-x509-self-sign?WT.mc_id=academic-17441-jabenn) တွင် ရှာဖွေကြည့်နိုင်ပါသည်။
+
+### Task - X.509 လက်မှတ်ကို အသုံးပြု၍ စက်ပစ္စည်း identity ဖန်တီးပါ
+
+1. စက်ပစ္စည်း identity အသစ်ကို register လုပ်ရန် အောက်ပါ command ကို run လုပ်ပါ၊ key နှင့် လက်မှတ်များကို အလိုအလျောက် ဖန်တီးပါမည် -
+
+ ```sh
+ az iot hub device-identity create --device-id soil-moisture-sensor-x509 \
+ --am x509_thumbprint \
+ --output-dir . \
+ --hub-name
+ ```
+
+ `` ကို သင့် IoT Hub အမည်ဖြင့် အစားထိုးပါ။
+
+ ဤ command သည် `soil-moisture-sensor-x509` ဟု အမည်ပေးထားသော စက်ပစ္စည်း identity ကို ဖန်တီးမည်ဖြစ်ပြီး၊ ယခင် lesson တွင် ဖန်တီးထားသော identity နှင့် ခွဲခြားထားသည်။ ထို့အပြင်၊ လက်ရှိ directory တွင် ဖိုင် ၂ ခုကို ဖန်တီးမည်ဖြစ်သည် -
+
+ * `soil-moisture-sensor-x509-key.pem` - ဤဖိုင်တွင် စက်ပစ္စည်း၏ private key ပါဝင်သည်။
+ * `soil-moisture-sensor-x509-cert.pem` - ဤဖိုင်သည် စက်ပစ္စည်း၏ X.509 လက်မှတ်ဖိုင်ဖြစ်သည်။
+
+ ဤဖိုင်များကို လုံခြုံစွာ သိမ်းဆည်းပါ။ Private key ဖိုင်ကို public source code control ထဲသို့ မထည့်သင့်ပါ။
+
+### Task - သင့်စက်ပစ္စည်း code တွင် X.509 လက်မှတ်ကို အသုံးပြုပါ
+
+သင့် IoT စက်ပစ္စည်းကို cloud နှင့် ချိတ်ဆက်ရန် X.509 လက်မှတ်ကို အသုံးပြုရန် အောက်ပါ လမ်းညွှန်များကို လိုက်နာပါ -
+
+* [Arduino - Wio Terminal](wio-terminal-x509.md)
+* [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-x509.md)
+
+---
+
+## 🚀 စိန်ခေါ်မှု
+
+Resource Groups နှင့် IoT Hubs ကဲ့သို့သော Azure ဝန်ဆောင်မှုများကို ဖန်တီးခြင်း၊ စီမံခန့်ခွဲခြင်းနှင့် ဖျက်သိမ်းခြင်းအတွက် နည်းလမ်းများစွာ ရှိသည်။ နည်းလမ်းတစ်ခုမှာ [Azure Portal](https://portal.azure.com?WT.mc_id=academic-17441-jabenn) ဖြစ်ပြီး၊ သင့် Azure ဝန်ဆောင်မှုများကို စီမံခန့်ခွဲရန် GUI ပေးသော web-based interface တစ်ခုဖြစ်သည်။
+
+[portal.azure.com](https://portal.azure.com?WT.mc_id=academic-17441-jabenn) သို့ သွားပြီး portal ကို စူးစမ်းကြည့်ပါ။ IoT Hub တစ်ခုကို ဖန်တီးပြီး၊ ထို့နောက် ဖျက်သိမ်းနိုင်မလား စမ်းကြည့်ပါ။
+
+**အကြံပြုချက်** - portal မှတစ်ဆင့် ဝန်ဆောင်မှုများကို ဖန်တီးသောအခါ၊ Resource Group ကို ကြိုတင်ဖန်တီးရန် မလိုအပ်ပါ၊ ဝန်ဆောင်မှုကို ဖန်တီးစဉ် Resource Group ကို ဖန်တီးနိုင်ပါသည်။ အပြီးသတ်ပါက Resource Group ကို ဖျက်သိမ်းရန် သေချာပါစေ။
+
+Azure Portal နှင့် ပတ်သက်သော စာရွက်စာတမ်းများ၊ လမ်းညွှန်များနှင့် လေ့ကျင့်မှုများကို [Azure portal documentation](https://docs.microsoft.com/azure/azure-portal/?WT.mc_id=academic-17441-jabenn) တွင် ရှာဖွေကြည့်နိုင်ပါသည်။
+
+## Post-lecture quiz
+
+[Post-lecture quiz](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/20)
+
+## ပြန်လည်သုံးသပ်ခြင်းနှင့် ကိုယ်တိုင်လေ့လာခြင်း
+
+* [History of cryptography page on Wikipedia](https://wikipedia.org/wiki/History_of_cryptography) တွင် cryptography ၏ သမိုင်းကြောင်းကို ဖတ်ရှုပါ။
+* [X.509 page on Wikipedia](https://wikipedia.org/wiki/X.509) တွင် X.509 လက်မှတ်များအကြောင်းကို ဖတ်ရှုပါ။
+
+## အိမ်စာ
+
+[Build a new IoT device](assignment.md)
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရားရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/6-keep-your-plant-secure/assignment.md b/translations/my/2-farm/lessons/6-keep-your-plant-secure/assignment.md
new file mode 100644
index 00000000..c286d752
--- /dev/null
+++ b/translations/my/2-farm/lessons/6-keep-your-plant-secure/assignment.md
@@ -0,0 +1,29 @@
+
+# အသစ်သော IoT စက်ပစ္စည်းတစ်ခု တည်ဆောက်ခြင်း
+
+## လမ်းညွှန်ချက်များ
+
+မကြာသေးမီ ၆ ပညာသင်ခန်းစာအတွင်း သင်သည် ဒစ်ဂျစ်တယ် စိုက်ပျိုးရေးနှင့် IoT စက်ပစ္စည်းများကို အသုံးပြု၍ အချက်အလက်များစုဆောင်းခြင်း၊ အပင်များ၏ ကြီးထွားမှုကို ခန့်မှန်းခြင်း၊ နှင့် မြေစိုထိုင်းဆအခြေအနေအပေါ် မူတည်၍ ရေချခြင်းကို အလိုအလျောက်လုပ်ဆောင်နိုင်ခြင်းတို့ကို သင်ယူခဲ့ပါသည်။
+
+သင်သိရှိထားသော အချက်အလက်များကို အသုံးပြု၍ သင်နှစ်သက်ရာ အာရုံခံကိရိယာနှင့် အက်တူအေတေးတာတစ်ခုကို အသုံးပြု၍ အသစ်သော IoT စက်ပစ္စည်းတစ်ခု တည်ဆောက်ပါ။ Telemetry ကို IoT Hub သို့ ပို့ပေးပြီး၊ အက်တူအေတေးတာကို serverless code ဖြင့် ထိန်းချုပ်ပါ။ သင်ယခင်ပရောဂျက်တွင် အသုံးပြုခဲ့သော အာရုံခံကိရိယာနှင့် အက်တူအေတေးတာကို အသုံးပြုနိုင်သလို၊ သင်တွင် အခြားသော ဟာ့ဒ်ဝဲရှိပါက အသစ်တစ်ခုကိုလည်း စမ်းသပ်နိုင်ပါသည်။
+
+## အကဲဖြတ်စံနှုန်း
+
+| စံနှုန်း | ထူးချွန်မှု | လုံလောက်မှု | တိုးတက်မှုလိုအပ်မှု |
+| -------- | --------- | -------- | ----------------- |
+| အာရုံခံကိရိယာနှင့် အက်တူအေတေးတာကို အသုံးပြု၍ IoT စက်ပစ္စည်းကို ကုဒ်ရေးခြင်း | အာရုံခံကိရိယာနှင့် အက်တူအေတေးတာနှစ်ခုလုံးကို အလုပ်လုပ်စေသော IoT စက်ပစ္စည်းကို ကုဒ်ရေးနိုင်ခဲ့သည် | အာရုံခံကိရိယာ သို့မဟုတ် အက်တူအေတေးတာ တစ်ခုခုကိုသာ အလုပ်လုပ်စေသော IoT စက်ပစ္စည်းကို ကုဒ်ရေးနိုင်ခဲ့သည် | အာရုံခံကိရိယာ သို့မဟုတ် အက်တူအေတေးတာကို အသုံးပြု၍ IoT စက်ပစ္စည်းကို ကုဒ်ရေးနိုင်ခြင်းမရှိပါ |
+| IoT စက်ပစ္စည်းကို IoT Hub နှင့် ချိတ်ဆက်ခြင်း | IoT Hub တစ်ခုကို တည်ဆောက်ပြီး Telemetry ပို့ခြင်းနှင့် Command လက်ခံခြင်းကို အောင်မြင်စွာ ပြုလုပ်နိုင်ခဲ့သည် | IoT Hub တစ်ခုကို တည်ဆောက်ပြီး Telemetry ပို့ခြင်း သို့မဟုတ် Command လက်ခံခြင်း တစ်ခုခုကိုသာ ပြုလုပ်နိုင်ခဲ့သည် | IoT Hub တစ်ခုကို တည်ဆောက်၍ IoT စက်ပစ္စည်းမှ ဆက်သွယ်နိုင်ခြင်းမရှိပါ |
+| Serverless code ဖြင့် အက်တူအေတေးတာကို ထိန်းချုပ်ခြင်း | Telemetry အဖြစ်အပျက်များဖြင့် အက်တူအေတေးတာကို ထိန်းချုပ်နိုင်သော Azure Function တစ်ခုကို တည်ဆောက်နိုင်ခဲ့သည် | Telemetry အဖြစ်အပျက်များဖြင့် Azure Function တစ်ခုကို တည်ဆောက်နိုင်ခဲ့သော်လည်း အက်တူအေတေးတာကို ထိန်းချုပ်နိုင်ခြင်းမရှိပါ | Azure Function တစ်ခုကို တည်ဆောက်နိုင်ခြင်းမရှိပါ |
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md b/translations/my/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md
new file mode 100644
index 00000000..70d1c26f
--- /dev/null
+++ b/translations/my/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md
@@ -0,0 +1,71 @@
+
+# X.509 လက်မှတ်ကို သင့်စက်ကိရိယာကုဒ်တွင် အသုံးပြုခြင်း - အတု IoT Hardware နှင့် Raspberry Pi
+
+ဒီသင်ခန်းပိုင်းမှာ သင့်အတု IoT စက်ကိရိယာ သို့မဟုတ် Raspberry Pi ကို X.509 လက်မှတ်ကို အသုံးပြုပြီး IoT Hub နှင့် ချိတ်ဆက်ပါမည်။
+
+## သင့်စက်ကိရိယာကို IoT Hub နှင့် ချိတ်ဆက်ပါ
+
+နောက်တစ်ဆင့်မှာ X.509 လက်မှတ်များကို အသုံးပြုပြီး သင့်စက်ကိရိယာကို IoT Hub နှင့် ချိတ်ဆက်ရမည်ဖြစ်သည်။
+
+### အလုပ်ပေးချက် - IoT Hub နှင့် ချိတ်ဆက်ပါ
+
+1. သင့် IoT စက်ကိရိယာကုဒ်ရှိ ဖိုလ်ဒါထဲသို့ key နှင့် လက်မှတ်ဖိုင်များကို ကူးထည့်ပါ။ သင်သည် Raspberry Pi ကို VS Code Remote SSH မှတဆင့် အသုံးပြုပြီး သင့် PC သို့မဟုတ် Mac တွင် key များကို ဖန်တီးထားပါက ဖိုင်များကို VS Code ရှိ explorer ထဲသို့ ဆွဲချပြီး ကူးထည့်နိုင်ပါသည်။
+
+1. `app.py` ဖိုင်ကို ဖွင့်ပါ။
+
+1. X.509 လက်မှတ်ကို အသုံးပြုပြီး ချိတ်ဆက်ရန် IoT Hub ၏ host name နှင့် X.509 လက်မှတ်လိုအပ်ပါမည်။ စက်ကိရိယာ client ကို ဖန်တီးမည့်အခါ မတိုင်မီ host name ကို ထည့်သွင်းထားသော variable ကို ဖန်တီးရန် အောက်ပါကုဒ်ကို ထည့်ပါ:
+
+ ```python
+ host_name = ""
+ ```
+
+ `` ကို သင့် IoT Hub ၏ host name ဖြင့် အစားထိုးပါ။ သင်သည် `connection_string` ရှိ `HostName` အပိုင်းမှ ယူနိုင်ပါသည်။ ၎င်းသည် `.azure-devices.net` ဖြင့် အဆုံးသတ်သော သင့် IoT Hub ၏ နာမည်ဖြစ်ပါမည်။
+
+1. အထက်ပါကုဒ်အောက်တွင် device ID ကို ထည့်သွင်းထားသော variable ကို ဖန်တီးပါ:
+
+ ```python
+ device_id = "soil-moisture-sensor-x509"
+ ```
+
+1. X.509 ဖိုင်များပါဝင်သော `X509` class ၏ instance တစ်ခုလိုအပ်ပါမည်။ `azure.iot.device` module မှ imported classes များစာရင်းထဲသို့ `X509` ကို ထည့်ပါ:
+
+ ```python
+ from azure.iot.device import IoTHubDeviceClient, Message, MethodResponse, X509
+ ```
+
+1. သင့်လက်မှတ်နှင့် key ဖိုင်များကို အသုံးပြု၍ `X509` class instance ကို ဖန်တီးရန် `host_name` ထည့်သွင်းထားသောနေရာအောက်တွင် အောက်ပါကုဒ်ကို ထည့်ပါ:
+
+ ```python
+ x509 = X509("./soil-moisture-sensor-x509-cert.pem", "./soil-moisture-sensor-x509-key.pem")
+ ```
+
+ ၎င်းသည် `soil-moisture-sensor-x509-cert.pem` နှင့် `soil-moisture-sensor-x509-key.pem` ဖိုင်များကို အသုံးပြု၍ `X509` class ကို ဖန်တီးပါမည်။
+
+1. connection string ကို အသုံးပြု၍ `device_client` ကို ဖန်တီးထားသော ကုဒ်လိုင်းကို အောက်ပါကုဒ်ဖြင့် အစားထိုးပါ:
+
+ ```python
+ device_client = IoTHubDeviceClient.create_from_x509_certificate(x509, host_name, device_id)
+ ```
+
+ ၎င်းသည် connection string အစား X.509 လက်မှတ်ကို အသုံးပြု၍ ချိတ်ဆက်ပါမည်။
+
+1. `connection_string` variable ပါသော ကုဒ်လိုင်းကို ဖျက်ပါ။
+
+1. သင့်ကုဒ်ကို run လုပ်ပါ။ IoT Hub သို့ ပို့သော message များကို ကြည့်ရှုပြီး အရင်ကလို direct method requests များကို ပို့ပါ။ စက်ကိရိယာသည် ချိတ်ဆက်ပြီး မြေစိုထိုင်းမှု reading များကို ပို့ခြင်းနှင့် direct method requests များကို လက်ခံခြင်းကို တွေ့ရပါမည်။
+
+> 💁 သင်ဤကုဒ်ကို [code/pi](../../../../../2-farm/lessons/6-keep-your-plant-secure/code/pi) သို့မဟုတ် [code/virtual-device](../../../../../2-farm/lessons/6-keep-your-plant-secure/code/virtual-device) ဖိုလ်ဒါတွင် ရှာနိုင်ပါသည်။
+
+😀 သင့်မြေစိုထိုင်းမှု sensor အစီအစဉ်သည် X.509 လက်မှတ်ကို အသုံးပြုပြီး IoT Hub နှင့် ချိတ်ဆက်ပြီးပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md b/translations/my/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md
new file mode 100644
index 00000000..6e7190be
--- /dev/null
+++ b/translations/my/2-farm/lessons/6-keep-your-plant-secure/wio-terminal-x509.md
@@ -0,0 +1,17 @@
+
+# သင့်စက်ပစ္စည်းကုဒ်တွင် X.509 လက်မှတ်ကို အသုံးပြုခြင်း - Wio Terminal
+
+ဒီစာရေးချိန်အချိန်မှာ Azure Arduino SDK က X.509 လက်မှတ်တွေကို မပံ့ပိုးသေးပါဘူး။ သို့သော် X.509 လက်မှတ်တွေနဲ့ စမ်းသပ်ချင်တယ်ဆိုရင် [Python SDK ကို အသုံးပြုပြီး Virtual IoT device လမ်းညွှန်ချက်များ](single-board-computer-x509.md) ကို ကိုးကားနိုင်ပါတယ်။
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို ကျေးဇူးပြု၍ သိရှိထားပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲအလွဲများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/3-transport/README.md b/translations/my/3-transport/README.md
new file mode 100644
index 00000000..c63ca195
--- /dev/null
+++ b/translations/my/3-transport/README.md
@@ -0,0 +1,38 @@
+
+# လယ်ယာမှ စက်ရုံသို့ သယ်ယူပို့ဆောင်ခြင်း - IoT အသုံးပြု၍ အစားအစာပို့ဆောင်မှုကို ထောက်လှမ်းခြင်း
+
+လယ်သမားများသည် အစားအစာများကို ရောင်းရန် စိုက်ပျိုးကြသည် - တစ်ချို့သည် စိုက်ပျိုးသမျှကို ရောင်းချသော စီးပွားရေးလယ်သမားများဖြစ်ပြီး၊ တစ်ချို့သည် မလိုအပ်သော အစားအစာများကို ရောင်းချကာ လိုအပ်သော အရာများကို ဝယ်ယူရန် စိုက်ပျိုးသော လယ်သမားများဖြစ်သည်။ အစားအစာများကို လယ်ယာမှ စားသုံးသူထံသို့ ပို့ဆောင်ရန် လိုအပ်ပြီး၊ ယင်းသည် အများအားဖြင့် လယ်ယာများမှ စင်တာများ သို့မဟုတ် အလုပ်လုပ်စက်ရုံများသို့၊ ထို့နောက် ဆိုင်များသို့ ပို့ဆောင်ခြင်းကို အခြေခံသည်။ ဥပမာအားဖြင့်၊ ခရမ်းချဉ်သီး စိုက်ပျိုးသူသည် ခရမ်းချဉ်သီးများကို ရိတ်သိမ်းပြီး၊ သေတ္တာများထဲသို့ ထည့်ကာ၊ ထိုသေတ္တာများကို ကားထဲသို့ တင်ပြီး အလုပ်လုပ်စက်ရုံသို့ ပို့ဆောင်သည်။ ထို့နောက် ခရမ်းချဉ်သီးများကို စီစစ်ပြီး၊ ထိုနေရာမှ စားသုံးသူများထံသို့ အစားအစာအဖြစ်၊ လက်လီရောင်းချမှုအဖြစ် သို့မဟုတ် အစားအသောက်ဆိုင်များတွင် စားသုံးရန် ပို့ဆောင်သည်။
+
+IoT သည် ပို့ဆောင်မှုအတွင်း အစားအစာများကို ထောက်လှမ်းခြင်းဖြင့် ထောက်ပံ့ရေးကွင်းဆက်ကို ကူညီနိုင်သည် - ယာဉ်မောင်းများ သင့်လျော်သောနေရာသို့ သွားနေကြောင်း အတည်ပြုခြင်း၊ ယာဉ်တည်နေရာများကို စောင့်ကြည့်ခြင်း၊ ယာဉ်များ ရောက်ရှိသောအခါ သတိပေးချက်များရရှိခြင်းဖြင့် အစားအစာများကို အမြန်ဆုံး ချထားပြီး အလုပ်လုပ်စက်ရုံတွင် ပြင်ဆင်နိုင်ရန် ကူညီပေးသည်။
+
+> 🎓 *ထောက်ပံ့ရေးကွင်းဆက်* ဆိုသည်မှာ တစ်စုံတစ်ခုကို ပြုလုပ်ပြီး ပို့ဆောင်ရန် လုပ်ဆောင်မှုများ၏ အဆင့်လိုက်အစီအစဉ်ဖြစ်သည်။ ဥပမာအားဖြင့် ခရမ်းချဉ်သီး စိုက်ပျိုးမှုတွင် သီးအပင်မျိုးစေ့၊ မြေ၊ ဓာတ်မြေသြဇာနှင့် ရေထောက်ပံ့မှု၊ ခရမ်းချဉ်သီးများ စိုက်ပျိုးခြင်း၊ ခရမ်းချဉ်သီးများကို အဓိကစင်တာသို့ ပို့ဆောင်ခြင်း၊ စူပါမားကတ်၏ ဒေသဆိုင်ရာစင်တာသို့ ပို့ဆောင်ခြင်း၊ တစ်ဦးချင်းစူပါမားကတ်သို့ ပို့ဆောင်ခြင်း၊ ပြသရန် ထားခြင်း၊ ထို့နောက် စားသုံးသူထံ ရောင်းချပြီး အိမ်သို့ ယူသွားခြင်းကို အကျုံးဝင်သည်။ အဆင့်တစ်ခုစီသည် ကွင်းဆက်တစ်ခု၏ အဆင့်များနှင့် တူသည်။
+
+> 🎓 ထောက်ပံ့ရေးကွင်းဆက်၏ ပို့ဆောင်မှုပိုင်းကို *လောဂျစ်တစ်စ်* ဟု ခေါ်သည်။
+
+ဒီသင်ခန်းစာ ၄ ခုတွင်၊ အစားအစာများကို (အတု) ကားတစ်စီးထဲသို့ တင်ပြီး၊ ရောက်ရှိရန်နေရာသို့ သွားနေစဉ် ထောက်လှမ်းခြင်းဖြင့် ထောက်ပံ့ရေးကွင်းဆက်ကို တိုးတက်အောင် လုပ်ဆောင်ရန် IoT ကို ဘယ်လို အသုံးပြုရမည်ကို သင်ယူပါမည်။ သင်သည် GPS ထောက်လှမ်းမှု၊ GPS ဒေတာကို သိမ်းဆည်းခြင်းနှင့် မြင်သာအောင် ပြသခြင်း၊ ကားတစ်စီး ရောက်ရှိသောအခါ သတိပေးချက်ရရှိရန် နည်းလမ်းများကို သင်ယူပါမည်။
+
+> 💁 ဒီသင်ခန်းစာများတွင် cloud resources အချို့ကို အသုံးပြုပါမည်။ ဒီပရောဂျက်၏ သင်ခန်းစာအားလုံးကို မပြီးမြောက်ပါက [Clean up your project](../clean-up.md) ကို သေချာလုပ်ပါ။
+
+## ခေါင်းစဉ်များ
+
+1. [တည်နေရာထောက်လှမ်းခြင်း](lessons/1-location-tracking/README.md)
+1. [တည်နေရာဒေတာကို သိမ်းဆည်းခြင်း](lessons/2-store-location-data/README.md)
+1. [တည်နေရာဒေတာကို မြင်သာအောင် ပြသခြင်း](lessons/3-visualize-location-data/README.md)
+1. [Geofences](lessons/4-geofences/README.md)
+
+## အကျိုးတူ
+
+ဒီသင်ခန်းစာအားလုံးကို [Jen Looper](https://github.com/jlooper) နှင့် [Jim Bennett](https://GitHub.com/JimBobBennett) တို့၏ ♥️ ဖြင့် ရေးသားထားပါသည်။
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွဲအချော်အချော်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/3-transport/lessons/1-location-tracking/README.md b/translations/my/3-transport/lessons/1-location-tracking/README.md
new file mode 100644
index 00000000..6debe89f
--- /dev/null
+++ b/translations/my/3-transport/lessons/1-location-tracking/README.md
@@ -0,0 +1,193 @@
+
+# တည်နေရာခြေရာခံခြင်း
+
+
+
+> Sketchnote ကို [Nitya Narasimhan](https://github.com/nitya) မှရေးသားထားသည်။ ပုံကိုနှိပ်ပြီး အကြီးအကျယ်ကြည့်ရှုနိုင်ပါသည်။
+
+## သင်ခန်းစာမတိုင်မီမေးခွန်း
+
+[သင်ခန်းစာမတိုင်မီမေးခွန်း](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/21)
+
+## အကျဉ်းချုပ်
+
+လယ်သမားမှစားသုံးသူထံ အစားအစာပို့ဆောင်ခြင်းလုပ်ငန်းစဉ်သည် သီးနှံများကို သေတ္တာထဲထည့်ပြီး ကားများ၊ သင်္ဘောများ၊ လေယာဉ်များ သို့မဟုတ် အခြားကုန်သွယ်ရေးသယ်ယူပို့ဆောင်ရေးယာဉ်များဖြင့် သယ်ဆောင်ကာ အစားအစာကို တစ်နေရာရာ—တိုက်ရိုက်စားသုံးသူထံသို့ပို့ခြင်း သို့မဟုတ် အဓိကစင်တာ သို့မဟုတ် ဂိုဒေါင်တွင်လုပ်ငန်းစဉ်များအတွက်ပို့ခြင်း—သို့ပို့ဆောင်ခြင်းဖြင့်ဖြစ်သည်။ လယ်ယာမှစားသုံးသူထံသို့ အဆုံး-to-အဆုံးလုပ်ငန်းစဉ်အား *Supply Chain* ဟုခေါ်သည်။ Arizona State University ၏ W. P. Carey School of Business မှ ဗီဒီယိုသည် Supply Chain ၏အယူအဆနှင့် ၎င်းကိုမည်သို့စီမံခန့်ခွဲသည်ကို ပိုမိုအသေးစိတ်ရှင်းလင်းပြောကြားထားသည်။
+
+[](https://www.youtube.com/watch?v=Mi1QBxVjZAw)
+
+> 🎥 အထက်ပါပုံကိုနှိပ်ပြီး ဗီဒီယိုကြည့်ပါ
+
+IoT စက်ပစ္စည်းများထည့်သွင်းခြင်းသည် Supply Chain ကိုအလွန်တိုးတက်စေပြီး ပစ္စည်းများရှိရာနေရာကိုစီမံခန့်ခွဲခြင်း၊ သယ်ယူပို့ဆောင်ရေးနှင့်ကုန်ပစ္စည်းကိုပိုမိုကောင်းမွန်စွာစီစဉ်ခြင်း၊ ပြဿနာများကိုပိုမိုလျင်မြန်စွာတုံ့ပြန်နိုင်စေခြင်းတို့ကိုဖြစ်စေသည်။
+
+ကားများလို Fleet ကိုစီမံခန့်ခွဲရာတွင် တစ်ချိန်ချိန်တွင် ယာဉ်တစ်စီးစီရှိရာနေရာကိုသိထားခြင်းသည်အထောက်အကူဖြစ်သည်။ ယာဉ်များတွင် GPS အာရုံခံကိရိယာများတပ်ဆင်ထားပြီး ၎င်းတို့၏တည်နေရာကို IoT စနစ်များသို့ပို့ပေးကာ ပိုင်ရှင်များအား ၎င်းတို့၏တည်နေရာကိုတိကျစွာသိရှိစေခြင်း၊ သွားလာခဲ့သောလမ်းကြောင်းကိုကြည့်ရှုနိုင်ခြင်း၊ သွားရောက်မည့်နေရာသို့ရောက်ရှိမည့်အချိန်ကိုသိရှိစေခြင်းတို့ကိုဖြစ်စေသည်။ ယာဉ်များသည် WiFi အကျယ်အဝန်းအပြင်တွင်လည်ပတ်နေသောကြောင့် Cellular Networks ကိုအသုံးပြု၍ ဒေတာအမျိုးမျိုးကိုပို့ပေးသည်။ တစ်ခါတစ်ရံ GPS အာရုံခံကိရိယာသည် အီလက်ထရွန်နစ်မှတ်တမ်းစာအုပ်များကဲ့သို့ IoT စက်ပစ္စည်းများတွင်ပါဝင်နေသည်။ ၎င်းကိရိယာများသည် ယာဉ်မောင်းများ၏လုပ်ငန်းခွင်နာရီများနှင့်အညီ Transit အချိန်ကိုခြေရာခံသည်။
+
+ဒီသင်ခန်းစာတွင် Global Positioning System (GPS) အာရုံခံကိရိယာကိုအသုံးပြု၍ ယာဉ်တစ်စီး၏တည်နေရာကိုမည်သို့ခြေရာခံရမည်ကိုသင်ယူပါမည်။
+
+ဒီသင်ခန်းစာတွင် အောက်ပါအကြောင်းအရာများကိုလေ့လာပါမည်-
+
+* [ချိတ်ဆက်ထားသောယာဉ်များ](../../../../../3-transport/lessons/1-location-tracking)
+* [Geospatial Coordinates](../../../../../3-transport/lessons/1-location-tracking)
+* [Global Positioning Systems (GPS)](../../../../../3-transport/lessons/1-location-tracking)
+* [GPS အာရုံခံကိရိယာဒေတာကိုဖတ်ခြင်း](../../../../../3-transport/lessons/1-location-tracking)
+* [NMEA GPS ဒေတာ](../../../../../3-transport/lessons/1-location-tracking)
+* [GPS အာရုံခံကိရိယာဒေတာကို Decode လုပ်ခြင်း](../../../../../3-transport/lessons/1-location-tracking)
+
+## ချိတ်ဆက်ထားသောယာဉ်များ
+
+IoT သည် *ချိတ်ဆက်ထားသောယာဉ်များ* Fleet များကိုဖန်တီးခြင်းဖြင့် ကုန်ပစ္စည်းများသယ်ယူပို့ဆောင်ပုံကိုပြောင်းလဲနေသည်။ ၎င်းယာဉ်များသည် ၎င်းတို့၏တည်နေရာနှင့်အခြားအာရုံခံကိရိယာဒေတာများကိုအစီရင်ခံသော IT စနစ်များနှင့်ချိတ်ဆက်ထားသည်။ ချိတ်ဆက်ထားသောယာဉ်များ Fleet တစ်ခုရှိခြင်းသည် အကျိုးကျေးဇူးများစွာရှိသည်-
+
+* တည်နေရာခြေရာခံခြင်း - တစ်ချိန်ချိန်တွင် ယာဉ်တစ်စီးရှိရာနေရာကိုတိကျစွာသိနိုင်ပြီး-
+
+ * ယာဉ်တစ်စီးရောက်ရှိမည့်နေရာသို့ရောက်ရှိရန်နီးကပ်နေသောအခါ အဖွဲ့ကို unload လုပ်ရန်ပြင်ဆင်စေသောအချက်ပေးချက်များရရှိနိုင်သည်။
+ * ခိုးယူထားသောယာဉ်များကိုရှာဖွေနိုင်သည်။
+ * တည်နေရာနှင့်လမ်းကြောင်းဒေတာကို Traffic ပြဿနာများနှင့်ပေါင်းစပ်ကာ ခရီးလမ်းအလယ်တွင်ယာဉ်များကိုပြောင်းလမ်းကြောင်းပေးနိုင်သည်။
+ * အခွန်နှင့်လိုက်လျောညီထွေဖြစ်စေသည်။ နိုင်ငံအချို့တွင် [New Zealand ၏ RUC](https://www.nzta.govt.nz/vehicles/licensing-rego/road-user-charges/) ကဲ့သို့ Public Roads တွင်ယာဉ်များသွားလာသော Mileage အပေါ်အခွန်ပေးရန်လိုအပ်သည်။ Public Roads နှင့် Private Roads တွင်ယာဉ်ရှိနေချိန်ကိုသိထားခြင်းသည်ပေးရန်အခွန်ကိုတွက်ရန်ပိုမိုလွယ်ကူစေသည်။
+ * ယာဉ်ပျက်စီးမှုဖြစ်ပေါ်ပါက Maintenance Crew များကိုပို့ရန်နေရာကိုသိနိုင်သည်။
+
+* ယာဉ်မောင်း Telemetry - ယာဉ်မောင်းများသည် အမြန်နှုန်းကန့်သတ်ချက်များကိုလိုက်နာခြင်း၊ လိုအပ်သောအမြန်နှုန်းဖြင့်လှည့်ကွေ့ခြင်း၊ အချိန်မီနှင့်ထိရောက်စွာဘရိတ်ချခြင်း၊ လုံခြုံစွာမောင်းနှင်ခြင်းတို့ကိုသေချာစေခြင်း။ ချိတ်ဆက်ထားသောယာဉ်များတွင် Camera များပါဝင်ပြီး အဖြစ်အပျက်များကိုမှတ်တမ်းတင်နိုင်သည်။ ၎င်းကိုအာမခံနှင့်ချိတ်ဆက်နိုင်ပြီး ယာဉ်မောင်းကောင်းများအတွက် Discount ရရှိနိုင်သည်။
+
+* ယာဉ်မောင်းနာရီလိုက်နာမှု - ယာဉ်မောင်းများသည် ၎င်းတို့၏ဥပဒေတရားအရခွင့်ပြုထားသောနာရီများကိုသာမောင်းနှင်ကြောင်း Engine ကိုဖွင့်ခြင်းနှင့်ပိတ်ခြင်းအချိန်များအပေါ်အခြေခံ၍သေချာစေခြင်း။
+
+အကျိုးကျေးဇူးများကိုပေါင်းစပ်နိုင်သည် - ဥပမာအားဖြင့် ယာဉ်မောင်းနာရီလိုက်နာမှုကိုတည်နေရာခြေရာခံမှုနှင့်ပေါင်းစပ်ကာ ယာဉ်မောင်းများသည် ၎င်းတို့၏ခွင့်ပြုမောင်းနှင်နာရီအတွင်းရောက်ရှိနိုင်မည့်နေရာသို့မရောက်နိုင်ပါက လမ်းကြောင်းပြောင်းပေးနိုင်သည်။ ၎င်းတို့ကို Temperature-Controlled Trucks များမှ Temperature Data ကဲ့သို့ ယာဉ်-specific Telemetry အခြားအမျိုးအစားများနှင့်ပေါင်းစပ်နိုင်ပြီး ယာဉ်များ၏လက်ရှိလမ်းကြောင်းသည် ကုန်ပစ္စည်းများကို Temperature ထိန်းသိမ်းထားနိုင်မည့်အခြေအနေမရှိပါက လမ်းကြောင်းပြောင်းပေးနိုင်သည်။
+
+> 🎓 Logistics ဆိုသည်မှာ ကုန်ပစ္စည်းများကို တစ်နေရာမှတစ်နေရာသို့ သယ်ယူပို့ဆောင်ခြင်းလုပ်ငန်းစဉ်ဖြစ်ပြီး ဥပမာအားဖြင့် လယ်ယာမှ Supermarket သို့ ဂိုဒေါင်တစ်ခု သို့မဟုတ် အများအပြားဂိုဒေါင်များမှတဆင့်ပို့ခြင်းဖြစ်သည်။ လယ်သမားသည် ခရမ်းချဉ်သီးများကိုသေတ္တာထဲထည့်ပြီး ကားတစ်စီးတွင်တင်ကာ အဓိကဂိုဒေါင်သို့ပို့ပြီး အမျိုးမျိုးသောသီးနှံများပါဝင်သော ကုန်ပစ္စည်းများကိုတင်ထားသော ကားတစ်စီးတွင်တင်ကာ Supermarket သို့ပို့ဆောင်သည်။
+
+ယာဉ်ခြေရာခံမှု၏အဓိကအစိတ်အပိုင်းမှာ GPS ဖြစ်ပြီး ၎င်းသည် ကမ္ဘာ့မည်သည့်နေရာတွင်မဆို ၎င်း၏တည်နေရာကိုတိကျစွာသတ်မှတ်နိုင်သောအာရုံခံကိရိယာများဖြစ်သည်။ ဒီသင်ခန်းစာတွင် GPS အာရုံခံကိရိယာကိုမည်သို့အသုံးပြုရမည်ကိုသင်ယူမည်ဖြစ်ပြီး ကမ္ဘာပေါ်ရှိတည်နေရာကိုမည်သို့သတ်မှတ်ရမည်ကိုလေ့လာခြင်းဖြင့်စတင်ပါမည်။
+
+## Geospatial Coordinates
+
+Geospatial Coordinates သည် ကမ္ဘာ့မျက်နှာပြင်ပေါ်ရှိအမှတ်များကိုသတ်မှတ်ရန်အသုံးပြုသည်။ ၎င်းသည် Computer Screen ပေါ်တွင် Pixel တစ်ခုကိုဆွဲရန် သို့မဟုတ် Cross Stitch တွင် Stitch များကိုတည်နေရာချရန် Coordinates အသုံးပြုသည့်နည်းနှင့်တူသည်။ အမှတ်တစ်ခုအတွက် Coordinates တစ်စုံရှိသည်။ ဥပမာအားဖြင့် Microsoft Campus သည် Redmond, Washington, USA တွင် 47.6423109, -122.1390293 တွင်တည်ရှိသည်။
+
+### Latitude နှင့် Longitude
+
+ကမ္ဘာသည် Sphere - သုံးမီတီယာအရောင်စက်ဝိုင်းဖြစ်သည်။ ထို့ကြောင့် အမှတ်များကို 360 ဒီဂရီအဖြစ်ခွဲခြားကာ Circle Geometry နှင့်တူသည်။ Latitude သည် မြောက်မှတောင်အထိဒီဂရီအရေအတွက်ကိုတိုင်းတာသည်။ Longitude သည် အရှေ့မှအနောက်အထိဒီဂရီအရေအတွက်ကိုတိုင်းတာသည်။
+
+> 💁 Circle များကို 360 ဒီဂရီအဖြစ်ခွဲခြားရသည့်မူလအကြောင်းရင်းကိုတိတိကျကျမသိပါ။ [Wikipedia ၏ Degree (angle) စာမျက်နှာ](https://wikipedia.org/wiki/Degree_(angle)) တွင်ဖြစ်နိုင်သောအကြောင်းရင်းများကိုဖော်ပြထားသည်။
+
+
+
+Latitude ကို Equator နှင့် Parallel ဖြစ်သော Circle လိုင်းများကိုအသုံးပြု၍ တောင်ဘက်နှင့်မြောက်ဘက် Hemisphere များကို 90° အဖြစ်ခွဲခြားကာတိုင်းတာသည်။ Equator သည် 0° တွင်ရှိပြီး မြောက်ဘက် 90° သည် 90° North ဟုခေါ်သည်။ တောင်ဘက် 90° သည် -90° သို့မဟုတ် 90° South ဖြစ်သည်။
+
+Longitude ကို အရှေ့နှင့်အနောက်တိုင်းတာသောဒီဂရီအရေအတွက်အဖြစ်တိုင်းတာသည်။ Longitude ၏ 0° Origin ကို *Prime Meridian* ဟုခေါ်ပြီး 1884 ခုနှစ်တွင် [British Royal Observatory in Greenwich, England](https://wikipedia.org/wiki/Royal_Observatory,_Greenwich) မှတောင်ဘက်မှမြောက်ဘက်သို့သွားသောလိုင်းအဖြစ်သတ်မှတ်ခဲ့သည်။
+
+
+
+> 🎓 Meridian သည် မြောက်ဘက်မှတောင်ဘက်သို့သွားသော Semicircle ဖြစ်သောစိတ်ကူးယဉ်လိုင်းတစ်ခုဖြစ်သည်။
+
+တစ်ခုသောအမှတ်၏ Longitude ကိုတိုင်းတာရန် Equator ပေါ်ရှိ Prime Meridian မှ အမှတ်တစ်ခုကိုဖြတ်သည့် Meridian အထိ Degrees အရေအတွက်ကိုတိုင်းတာသည်။ Longitude သည် -180° သို့မဟုတ် 180° West မှ 0° (Prime Meridian) မှတဆင့် 180° သို့မဟုတ် 180° East အထိရှိသည်။ 180° နှင့် -180° သည်တစ်နေရာတည်းကိုရည်ညွှန်းသည်။ ၎င်းကို Antimeridian သို့မဟုတ် 180th Meridian ဟုခေါ်သည်။ ၎င်းသည် Prime Meridian ၏အတိအကျတစ်ဖက်ဘက်ရှိ Meridian ဖြစ်သည်။
+
+> 💁 Antimeridian ကို International Date Line နှင့်မရောထွေးပါနှင့်။ International Date Line သည် အတိအကျတစ်နေရာတည်းတွင်မရှိဘဲ Geo-Political Boundaries များကိုလိုက်လျောညီထွေဖြစ်ရန်အနေဖြင့်အနည်းငယ်ပြောင်းလဲထားသည်။
+
+✅ သုတေသနလုပ်ပါ - သင်ရှိရာနေရာ၏ Latitude နှင့် Longitude ကိုရှာဖွေကြည့်ပါ။
+
+### Degrees, Minutes နှင့် Seconds vs Decimal Degrees
+
+ရိုးရာအားဖြင့် Latitude နှင့် Longitude ကို Sexagesimal Numbering သို့မဟုတ် Base-60 ကိုအသုံးပြု၍တိုင်းတာခဲ့သည်။ ၎င်းသည် အချိန်နှင့်အကွာအဝေးကိုပထမဆုံးတိုင်းတာမှတ်တမ်းတင်ခဲ့သော Ancient Babylonians မှအသုံးပြုခဲ့သော Numbering System ဖြစ်သည်။ သင်သည် Sexagesimal ကိုနေ့စဉ်အသုံးပြုနေပြီး ၎င်းကိုမသိရှိနိုင်ပါ - နာရီများကို 60 မိနစ်အဖြစ်ခွဲခြားခြင်းနှင့် မိနစ်များကို 60 စက္ကန့်အဖြစ်ခွဲခြားခြင်း။
+
+Longitude နှင့် Latitude ကို Degrees, Minutes နှင့် Seconds ဖြင့်တိုင်းတာပြီး Minute တစ်ခုသည် 1/60 Degree ဖြစ်သည်။ 1 Second သည် 1/60 Minute ဖြစ်သည်။
+
+ဥပမာအားဖြင့် Equator တွင်-
+
+* Latitude 1° သည် **111.3 ကီလိုမီတာ**
+* Latitude 1 Minute သည် 111.3/60 = **1.855 ကီလိုမီတာ**
+* Latitude 1 Second သည် 1.855/60 = **0.031 ကီလိုမီတာ**
+
+Minute ၏ Symbol သည် Single Quote ဖြစ်ပြီး Second ၏ Symbol သည် Double Quote ဖြစ်သည်။ ဥပမာအားဖြင့် 2 Degrees, 17 Minutes, နှင့် 43 Seconds ကို 2°17'43" ဟုရေးမည်။ Seconds ၏အပိုင်းများကို Decimal အဖြစ်ပေးသည်။ ဥပမာအားဖြင့် Half Second သည် 0°0'0.5" ဖြစ်သည်။
+
+Computer များသည် Base-60 တွင်မလုပ်ဆောင်နိုင်သောကြောင့် GPS Data ကိုအသုံးပြုသော Computer Systems များတွင် Coordinates များကို Decimal Degrees အဖြစ်ပေးသည်။ ဥပမာအားဖြင့် 2°17'43" သည် 2.295277 ဖြစ်သည်။ Degree Symbol ကိုမထည့်ပါ။
+
+အမှတ်တစ်ခု၏ Coordinates များကို
+အာကာသရုပ်များတွင် အလွန်တိကျသော အဏုမာန်နာရီများ ပါဝင်ပြီး၊ ဒါပေမယ့် အင်စတိုင်၏ အထူးနှင့် အထွေထွေ ဆက်စပ်မှု သီအိုရီများအရ အရှိန်မြင့်လာသည်နှင့်အမျှ အချိန်နှေးကွေးသွားခြင်းကြောင့် မြေကြီးပေါ်ရှိ အဏုမာန်နာရီများနှင့် နှိုင်းယှဉ်ပါက တစ်နေ့လျှင် ၃၈ မိုက်ခရိုစက္ကန့် (0.0000038 စက္ကန့်) အလျော့ရှိသည်။ အာကာသရုပ်များသည် မြေကြီး၏လှည့်ပတ်မှုထက် ပိုမြန်စွာ ခရီးသွားနေသောကြောင့် ဖြစ်သည်။ ဤအလျော့သည် အထူးနှင့် အထွေထွေ ဆက်စပ်မှု သီအိုရီများ၏ ခန့်မှန်းချက်များကို သက်သေပြရန် အသုံးပြုခဲ့ပြီး GPS စနစ်များ၏ ဒီဇိုင်းတွင် ပြင်ဆင်ရန် လိုအပ်သည်။ တကယ်တော့ GPS အာကာသရုပ်ပေါ်တွင် အချိန်သည် ပိုနှေးကွေးနေသည်။
+GPS စနစ်များကို အမေရိကန်၊ ရုရှား၊ ဂျပန်၊ အိန္ဒိယ၊ ဥရောပသမဂ္ဂ (EU) နှင့် တရုတ်တို့အပါအဝင် နိုင်ငံများနှင့် နိုင်ငံရေးသမဂ္ဂများမှ ဖွံ့ဖြိုးတိုးတက်စွာ တည်ဆောက်ပြီး အသုံးပြုနေကြသည်။ ခေတ်သစ် GPS အာရုံခံကိရိယာများသည် အမြန်ဆုံးနှင့် ပိုမိုတိကျသော အချက်အလက်များရရှိရန် အများစုသော စနစ်များနှင့် ချိတ်ဆက်နိုင်သည်။
+
+> 🎓 တစ်ခုချင်းစီ၏ ဂြိုဟ်တုအုပ်စုများကို "constellations" ဟု ခေါ်ဆိုသည်။
+
+## GPS အာရုံခံကိရိယာ၏ အချက်အလက်များ ဖတ်ရန်
+
+အများစုသော GPS အာရုံခံကိရိယာများသည် GPS အချက်အလက်များကို UART မှတဆင့် ပေးပို့သည်။
+
+> ⚠️ UART ကို [Project 2, Lesson 2](../../../2-farm/lessons/2-detect-soil-moisture/README.md#universal-asynchronous-receiver-transmitter-uart) တွင် ဖော်ပြထားသည်။ လိုအပ်ပါက ထိုသင်ခန်းစာကို ပြန်လည်ကြည့်ပါ။
+
+သင့် IoT ကိရိယာတွင် GPS အာရုံခံကိရိယာကို အသုံးပြု၍ GPS အချက်အလက်များရယူနိုင်သည်။
+
+### လုပ်ငန်း - GPS အာရုံခံကိရိယာကို ချိတ်ဆက်ပြီး GPS အချက်အလက်များ ဖတ်ရန်
+
+သင့် IoT ကိရိယာကို အသုံးပြု၍ GPS အချက်အလက်များ ဖတ်ရန် လိုက်နာရမည့် လမ်းညွှန်ချက်များကို လေ့လာပါ -
+
+* [Arduino - Wio Terminal](wio-terminal-gps-sensor.md)
+* [Single-board computer - Raspberry Pi](pi-gps-sensor.md)
+* [Single-board computer - Virtual device](virtual-device-gps-sensor.md)
+
+## NMEA GPS အချက်အလက်
+
+သင့် code ကို run လုပ်သောအခါ output တွင် အဓိပ္ပါယ်မရှိသလို ထင်ရသော စာသားများကို တွေ့မြင်ခဲ့ရမည်။ ၎င်းသည် အမှန်အားဖြင့် စံ GPS အချက်အလက်များဖြစ်ပြီး အဓိပ္ပါယ်ရှိသည်။
+
+GPS အာရုံခံကိရိယာများသည် NMEA 0183 စံနှင့်အညီ NMEA သတင်းစကားများကို အသုံးပြု၍ အချက်အလက်များ output ထုတ်ပေးသည်။ NMEA သည် [National Marine Electronics Association](https://www.nmea.org) ၏ အတိုကောက်ဖြစ်ပြီး၊ သမုဒ္ဒရာအီလက်ထရွန်းနစ်များအကြား ဆက်သွယ်မှုအတွက် စံသတ်မှတ်ချက်များကို သတ်မှတ်ပေးသော အမေရိကန်အခြေစိုက် ကုန်သွယ်ရေးအဖွဲ့ဖြစ်သည်။
+
+> 💁 ဤစံသတ်မှတ်ချက်သည် ပိုင်ဆိုင်မှုရှိပြီး အနည်းဆုံး US$2,000 ကျသင့်နိုင်သော်လည်း၊ ၎င်း၏ အချက်အလက်အချို့ကို အများပြည်သူသိရှိနိုင်သောအတိုင်း ပြန်လည်ခွဲခြမ်းစိတ်ဖြာထားပြီး open source နှင့် အခြား non-commercial code များတွင် အသုံးပြုနိုင်သည်။
+
+ဤသတင်းစကားများသည် စာသားအခြေပြုဖြစ်သည်။ သတင်းစကားတစ်ခုစီသည် `$` အက္ခရာဖြင့် စတင်ပြီး သတင်းစကား၏ အရင်းအမြစ်ကို ဖော်ပြသည့် အက္ခရာ ၂ လုံး (ဥပမာ - US GPS စနစ်အတွက် GP၊ ရုရှား GPS စနစ် GLONASS အတွက် GN) နှင့် သတင်းစကားအမျိုးအစားကို ဖော်ပြသည့် အက္ခရာ ၃ လုံးဖြင့် ဆက်လက်ပါသည်။ သတင်းစကား၏ ကျန်အပိုင်းများသည် ကော်မာဖြင့် ခွဲထားသော fields များဖြစ်ပြီး၊ နောက်ဆုံးတွင် new line character ဖြင့် အဆုံးသတ်သည်။
+
+ရရှိနိုင်သော သတင်းစကားအမျိုးအစားများမှာ -
+
+| အမျိုးအစား | ဖော်ပြချက် |
+| ---- | ----------- |
+| GGA | GPS Fix Data - latitude, longitude, altitude နှင့် အချက်အလက်ရရှိရန် အသုံးပြုသော ဂြိုဟ်တုအရေအတွက် |
+| ZDA | လက်ရှိရက်စွဲနှင့် အချိန် (ဒေသအချိန်ဇုန်အပါအဝင်) |
+| GSV | ရှိနေသော ဂြိုဟ်တုများ၏ အသေးစိတ်အချက်အလက် |
+
+> 💁 GPS အချက်အလက်များတွင် အချိန်တံဆိပ်များပါဝင်သောကြောင့်၊ သင့် IoT ကိရိယာသည် NTP server သို့မဟုတ် internal real-time clock ကို မူတည်ရန်မလိုဘဲ GPS အာရုံခံကိရိယာမှ အချိန်ကို ရယူနိုင်သည်။
+
+GGA သတင်းစကားတွင် `(dd)dmm.mmmm` format ဖြင့် လက်ရှိတည်နေရာပါဝင်ပြီး၊ ဦးတည်ချက်ကို ဖော်ပြသည့် အက္ခရာတစ်လုံးပါဝင်သည်။ ဤ format တွင် `d` သည် ဒီဂရီများ၊ `m` သည် မိနစ်များဖြစ်ပြီး၊ စက္ကန့်များကို မိနစ်၏ ဒသမအဖြစ် ဖော်ပြသည်။ ဥပမာ - 2°17'43" သည် 217.716666667 ဖြစ်သည် - 2 ဒီဂရီ၊ 17.716666667 မိနစ်။
+
+ဦးတည်ချက်အက္ခရာသည် latitude အတွက် `N` (မြောက်) သို့မဟုတ် `S` (တောင်) ဖြစ်နိုင်ပြီး၊ longitude အတွက် `E` (အရှေ့) သို့မဟုတ် `W` (အနောက်) ဖြစ်နိုင်သည်။ ဥပမာ - latitude 2°17'43" သည် `N` (မြောက်) ဖြစ်ပြီး၊ -2°17'43" သည် `S` (တောင်) ဖြစ်သည်။
+
+ဥပမာ - NMEA သတင်းစကား `$GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67`
+
+* Latitude အပိုင်းမှာ `4738.538654,N` ဖြစ်ပြီး၊ ၎င်းကို decimal degrees 47.6423109 အဖြစ် ပြောင်းနိုင်သည်။ `4738.538654` သည် 47.6423109 ဖြစ်ပြီး၊ ဦးတည်ချက်သည် `N` (မြောက်) ဖြစ်သောကြောင့် positive latitude ဖြစ်သည်။
+
+* Longitude အပိုင်းမှာ `12208.341758,W` ဖြစ်ပြီး၊ ၎င်းကို decimal degrees -122.1390293 အဖြစ် ပြောင်းနိုင်သည်။ `12208.341758` သည် 122.1390293° ဖြစ်ပြီး၊ ဦးတည်ချက်သည် `W` (အနောက်) ဖြစ်သောကြောင့် negative longitude ဖြစ်သည်။
+
+## GPS အာရုံခံကိရိယာ၏ အချက်အလက်များကို ဖော်ထုတ်ရန်
+
+Raw NMEA အချက်အလက်များကို အသုံးပြုခြင်းမလုပ်ဘဲ၊ ပိုမိုအသုံးဝင်သော format အဖြစ် ဖော်ထုတ်သင့်သည်။ Raw NMEA သတင်းစကားများမှ အသုံးဝင်သော အချက်အလက်များကို ထုတ်ယူရန် ကူညီပေးသော open-source libraries များစွာ ရှိသည်။
+
+### လုပ်ငန်း - GPS အာရုံခံကိရိယာ၏ အချက်အလက်များကို ဖော်ထုတ်ရန်
+
+သင့် IoT ကိရိယာကို အသုံးပြု၍ GPS အချက်အလက်များကို ဖော်ထုတ်ရန် လိုက်နာရမည့် လမ်းညွှန်ချက်များကို လေ့လာပါ -
+
+* [Arduino - Wio Terminal](wio-terminal-gps-decode.md)
+* [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-gps-decode.md)
+
+---
+
+## 🚀 စိန်ခေါ်မှု
+
+သင့်ကိုယ်ပိုင် NMEA decoder ရေးပါ! Third-party libraries မူတည်ခြင်းမလုပ်ဘဲ၊ NMEA သတင်းစကားများမှ latitude နှင့် longitude ကို ထုတ်ယူရန် သင့်ကိုယ်ပိုင် decoder ရေးနိုင်ပါသလား?
+
+## Post-lecture quiz
+
+[Post-lecture quiz](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/22)
+
+## ပြန်လည်သုံးသပ်ခြင်းနှင့် ကိုယ်တိုင်လေ့လာခြင်း
+
+* [Geographic coordinate system page on Wikipedia](https://wikipedia.org/wiki/Geographic_coordinate_system) တွင် Geospatial Coordinates အကြောင်း ပိုမိုဖတ်ရှုပါ။
+* [Prime Meridian page on Wikipedia](https://wikipedia.org/wiki/Prime_meridian#Prime_meridian_on_other_planetary_bodies) တွင် မြေကြီးအပြင် အခြားဂြိုဟ်များ၏ Prime Meridians အကြောင်း ဖတ်ရှုပါ။
+* EU, ဂျပန်, ရုရှား, အိန္ဒိယနှင့် အမေရိကန်တို့က ဖွံ့ဖြိုးတိုးတက်စွာ တည်ဆောက်ထားသော အမျိုးမျိုးသော GPS စနစ်များကို သုတေသနပြုပါ။
+
+## လုပ်ငန်း
+
+[အခြား GPS အချက်အလက်များကို စူးစမ်းလေ့လာပါ](assignment.md)
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/3-transport/lessons/1-location-tracking/assignment.md b/translations/my/3-transport/lessons/1-location-tracking/assignment.md
new file mode 100644
index 00000000..4561d836
--- /dev/null
+++ b/translations/my/3-transport/lessons/1-location-tracking/assignment.md
@@ -0,0 +1,29 @@
+
+# GPS ဒေတာအခြားအရာများကို စုံစမ်းပါ
+
+## လမ်းညွှန်ချက်များ
+
+သင့် GPS ဆင်ဆာမှ ရရှိလာသော NMEA စာကြောင်းများတွင် တည်နေရာအပြင် အခြားသော ဒေတာများလည်း ပါဝင်သည်။ အခြားသော ဒေတာများကို စုံစမ်းပြီး၊ သင့် IoT စက်ပစ္စည်းတွင် အသုံးပြုပါ။
+
+ဥပမာ - လက်ရှိရက်စွဲနှင့် အချိန်ကို ရနိုင်ပါသလား? မိုက်ခရိုကွန်ထရိုလာကို အသုံးပြုနေပါက၊ ယခင်ပရောဂျက်တွင် NTP အချက်ပြများကို အသုံးပြုပုံအတိုင်း GPS ဒေတာကို အသုံးပြု၍ နာရီကို သတ်မှတ်နိုင်ပါသလား? သင်၏ပင်လယ်ရေမျက်နှာပြင်အထက် အမြင့် (elevation) သို့မဟုတ် လက်ရှိအမြန်နှုန်းကို ရနိုင်ပါသလား?
+
+သင်သည် အမှန်တကယ် IoT စက်ပစ္စည်းကို အသုံးပြုနေပါက၊ [nmeagen.org](https://www.nmeagen.org) ကဲ့သို့သော tools များကို အသုံးပြု၍ ထုတ်လုပ်ထားသော NMEA စာကြောင်းများကို ပေးပို့ခြင်းဖြင့် ဒီဒေတာအချို့ကို ရနိုင်ပါသည်။
+
+## အဆင့်သတ်မှတ်ချက်
+
+| အဆင့်သတ်မှတ်ချက် | ထူးချွန်သော | လုံလောက်သော | တိုးတက်မှုလိုအပ်သော |
+| ----------------- | ------------ | ------------ | ------------------- |
+| GPS ဒေတာပိုမိုရယူခြင်း | GPS ဒေတာပိုမိုရယူပြီး၊ telemetry အဖြစ် သို့မဟုတ် IoT စက်ပစ္စည်းကို စနစ်တကျ ပြင်ဆင်နိုင်သည် | GPS ဒေတာပိုမိုရယူနိုင်သော်လည်း အသုံးပြုနိုင်မှုမရှိ | GPS ဒေတာပိုမိုရယူနိုင်မှုမရှိ |
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွဲအချော်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/3-transport/lessons/1-location-tracking/pi-gps-sensor.md b/translations/my/3-transport/lessons/1-location-tracking/pi-gps-sensor.md
new file mode 100644
index 00000000..c57bed40
--- /dev/null
+++ b/translations/my/3-transport/lessons/1-location-tracking/pi-gps-sensor.md
@@ -0,0 +1,193 @@
+
+# Raspberry Pi မှ GPS ဒေတာဖတ်ရန်
+
+ဒီသင်ခန်းစာအပိုင်းမှာ၊ သင့်ရဲ့ Raspberry Pi မှာ GPS ဆင်ဆာတစ်ခုထည့်သွင်းပြီး၊ ဒေတာများကိုဖတ်ရှုမည်ဖြစ်သည်။
+
+## ဟာ့ဒ်ဝဲ
+
+Raspberry Pi အတွက် GPS ဆင်ဆာတစ်ခုလိုအပ်ပါသည်။
+
+သင်အသုံးပြုမည့်ဆင်ဆာမှာ [Grove GPS Air530 sensor](https://www.seeedstudio.com/Grove-GPS-Air530-p-4584.html) ဖြစ်သည်။ ဒီဆင်ဆာသည် မြန်နှုန်းမြင့်ပြီး တိကျသော GPS စနစ်များစွာနှင့် ချိတ်ဆက်နိုင်သည်။ ဆင်ဆာသည် အစိတ်အပိုင်း ၂ ခုဖြင့်ဖွဲ့စည်းထားပြီး၊ ဆင်ဆာ၏ အဓိကအီလက်ထရွန်းနစ်နှင့် အပြင်ဘက်အင်တင်နာ (သေးငယ်သောကြိုးဖြင့် ချိတ်ဆက်ထားသည်) တို့ဖြင့် ဂြိုဟ်တုမှ ရေဒီယိုလှိုင်းများကို ဖမ်းယူသည်။
+
+ဒီဆင်ဆာသည် UART ဆင်ဆာဖြစ်ပြီး၊ GPS ဒေတာကို UART မှတဆင့်ပေးပို့သည်။
+
+## GPS ဆင်ဆာကို ချိတ်ဆက်ပါ
+
+Grove GPS ဆင်ဆာကို Raspberry Pi နှင့် ချိတ်ဆက်နိုင်ပါသည်။
+
+### လုပ်ဆောင်ရန် - GPS ဆင်ဆာကို ချိတ်ဆက်ပါ
+
+GPS ဆင်ဆာကို ချိတ်ဆက်ပါ။
+
+
+
+1. Grove ကေဘယ်လ်တစ်ဖက်ကို GPS ဆင်ဆာပေါ်ရှိ ဆော့ကက်ထဲသို့ ထည့်ပါ။ ၎င်းသည် တစ်ဖက်သာ အလွယ်တကူသွားပါမည်။
+
+1. Raspberry Pi ကို မီးပိတ်ထားသောအခြေအနေတွင် Grove ကေဘယ်လ်၏ အခြားဖက်ကို Pi တွင်တပ်ဆင်ထားသော Grove Base Hat ပေါ်ရှိ **UART** ဟုအမှတ်အသားပြုထားသော UART ဆော့ကက်ထဲသို့ ချိတ်ဆက်ပါ။ ဒီဆော့ကက်သည် အလယ်တန်းတန်းတွင်ရှိပြီး SD Card slot အနီး၊ USB port နှင့် ethernet socket ၏ အခြားဖက်တွင်ရှိသည်။
+
+ 
+
+1. GPS ဆင်ဆာကို အင်တင်နာတပ်ဆင်ထားသောနေရာမှ မိုးကောင်းကင်ကို မြင်နိုင်သောနေရာတွင်ထားပါ - အကောင်းဆုံးအနေဖြင့် ပြတင်းပေါက်အနီး သို့မဟုတ် အပြင်ဘက်တွင်ထားပါ။ အင်တင်နာကို အတားအဆီးမရှိဘဲထားခြင်းဖြင့် သင့်ရဲ့အချက်အလက်ကို ပိုမိုရှင်းလင်းစွာရယူနိုင်သည်။
+
+## GPS ဆင်ဆာကို အစီအစဉ်ရေးပါ
+
+ယခု Raspberry Pi သည် ချိတ်ဆက်ထားသော GPS ဆင်ဆာကို အသုံးပြုရန် အစီအစဉ်ရေးနိုင်ပါသည်။
+
+### လုပ်ဆောင်ရန် - GPS ဆင်ဆာကို အစီအစဉ်ရေးပါ
+
+ဒီစက်ကို အစီအစဉ်ရေးပါ။
+
+1. Pi ကို မီးဖွင့်ပြီး boot ပြုလုပ်ရန် စောင့်ပါ။
+
+1. GPS ဆင်ဆာတွင် LED ၂ ခုရှိသည် - အပြာရောင် LED သည် ဒေတာပေးပို့သောအခါတွင် လင်းပွင့်ပြီး၊ အစိမ်းရောင် LED သည် ဂြိုဟ်တုမှ ဒေတာရရှိသောအခါ တစ်စက္ကန့်တစ်ကြိမ် လင်းပွင့်သည်။ Pi ကို မီးဖွင့်သောအခါ အပြာရောင် LED လင်းပွင့်နေကြောင်း သေချာပါစေ။ မိနစ်အနည်းငယ်အကြာတွင် အစိမ်းရောင် LED လင်းပွင့်ပါမည် - မဟုတ်ပါက အင်တင်နာ၏နေရာကို ပြောင်းလဲရန် လိုအပ်နိုင်သည်။
+
+1. VS Code ကို Pi ပေါ်တွင် တိုက်ရိုက်ဖွင့်ပါ၊ သို့မဟုတ် Remote SSH extension ဖြင့် ချိတ်ဆက်ပါ။
+
+ > ⚠️ [VS Code ကို စတင်တပ်ဆင်ခြင်းနှင့် ဖွင့်ခြင်းအတွက် သင်ခန်းစာ ၁ တွင် ရှင်းပြထားသော လမ်းညွှန်ချက်များကို ပြန်လည်ကြည့်ရှုနိုင်ပါသည်](../../../1-getting-started/lessons/1-introduction-to-iot/pi.md)။
+
+1. Bluetooth ကို ပံ့ပိုးသော Raspberry Pi ၏ နောက်ဆုံးဗားရှင်းများတွင် Bluetooth သုံးသော serial port နှင့် Grove UART port သုံးသော serial port အကြား ပဋိပက္ခရှိသည်။ ၎င်းကို ဖြေရှင်းရန် အောက်ပါအတိုင်းလုပ်ဆောင်ပါ:
+
+ 1. VS Code terminal မှ `/boot/config.txt` ဖိုင်ကို `nano` ဖြင့် ပြင်ဆင်ပါ။ `nano` သည် terminal text editor တစ်ခုဖြစ်ပြီး အောက်ပါ command ကို အသုံးပြုပါ:
+
+ ```sh
+ sudo nano /boot/config.txt
+ ```
+
+ > ဒီဖိုင်ကို VS Code မှတဆင့် မပြင်နိုင်ပါ၊ အကြီးတန်းအခွင့်အာဏာ (`sudo` permissions) ဖြင့်သာ ပြင်နိုင်ပါသည်။ VS Code သည် ဒီအခွင့်အာဏာဖြင့် မလုပ်ဆောင်ပါ။
+
+ 1. Cursor key များကို အသုံးပြု၍ ဖိုင်၏ အဆုံးသို့သွားပါ။ အောက်ပါ code ကို ကူးယူပြီး ဖိုင်၏ အဆုံးတွင် ထည့်ပါ:
+
+ ```ini
+ dtoverlay=pi3-miniuart-bt
+ dtoverlay=pi3-disable-bt
+ enable_uart=1
+ ```
+
+ သင့်စက်အတွက် သင့်လျော်သော keyboard shortcut များဖြင့် paste လုပ်နိုင်ပါသည် (`Ctrl+v` Windows, Linux, Raspberry Pi OS တွင်၊ `Cmd+v` macOS တွင်)။
+
+ 1. ဒီဖိုင်ကို သိမ်းပြီး nano မှ ထွက်ရန် `Ctrl+x` ကိုနှိပ်ပါ။ ပြင်ဆင်ထားသော buffer ကို သိမ်းမည်လားဟု မေးလျှင် `y` ကိုနှိပ်ပြီး၊ `/boot/config.txt` ကို overwrite လုပ်ရန် အတည်ပြုရန် `enter` ကိုနှိပ်ပါ။
+
+ > မှားယွင်းမှုရှိပါက သိမ်းမလုပ်ဘဲ ထွက်နိုင်ပြီး၊ အဆင့်များကို ထပ်မံလုပ်ဆောင်နိုင်ပါသည်။
+
+ 1. `/boot/cmdline.txt` ဖိုင်ကို nano ဖြင့် ပြင်ဆင်ပါ၊ အောက်ပါ command ကို အသုံးပြုပါ:
+
+ ```sh
+ sudo nano /boot/cmdline.txt
+ ```
+
+ 1. ဒီဖိုင်တွင် key/value pair များစွာရှိပြီး၊ space ဖြင့် ခွဲထားသည်။ `console` ဟု အမည်ပေးထားသော key အတွက် key/value pair များကို ဖယ်ရှားပါ။ ၎င်းသည် အောက်ပါအတိုင်းဖြစ်နိုင်ပါသည်:
+
+ ```output
+ console=serial0,115200 console=tty1
+ ```
+
+ Cursor key များကို အသုံးပြု၍ entry များသို့သွားပြီး၊ `del` သို့မဟုတ် `backspace` key များဖြင့် ဖျက်ပါ။
+
+ ဥပမာအားဖြင့်၊ သင့်ရဲ့မူရင်းဖိုင်သည် အောက်ပါအတိုင်းဖြစ်ပါက:
+
+ ```output
+ console=serial0,115200 console=tty1 root=PARTUUID=058e2867-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
+ ```
+
+ အသစ်ပြင်ဆင်ထားသောဗားရှင်းမှာ:
+
+ ```output
+ root=PARTUUID=058e2867-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
+ ```
+
+ 1. အထက်ပါအဆင့်များကို လိုက်နာပြီး ဖိုင်ကို သိမ်းပြီး nano မှ ထွက်ပါ။
+
+ 1. သင့် Pi ကို ပြန်လည်စတင်ပါ၊ Pi ပြန်လည်စတင်ပြီးနောက် VS Code တွင် ပြန်လည်ချိတ်ဆက်ပါ။
+
+1. Terminal မှ `pi` အသုံးပြုသူ၏ home directory တွင် `gps-sensor` ဟု folder အသစ်တစ်ခုဖန်တီးပါ။ ဒီ folder တွင် `app.py` ဟု ဖိုင်တစ်ခုဖန်တီးပါ။
+
+1. ဒီ folder ကို VS Code တွင် ဖွင့်ပါ။
+
+1. GPS module သည် UART ဒေတာကို serial port မှတဆင့် ပေးပို့သည်။ Python code မှ serial port နှင့် ဆက်သွယ်ရန် `pyserial` Pip package ကို install လုပ်ပါ:
+
+ ```sh
+ pip3 install pyserial
+ ```
+
+1. `app.py` ဖိုင်တွင် အောက်ပါ code ကို ထည့်ပါ:
+
+ ```python
+ import time
+ import serial
+
+ serial = serial.Serial('/dev/ttyAMA0', 9600, timeout=1)
+ serial.reset_input_buffer()
+ serial.flush()
+
+ def print_gps_data(line):
+ print(line.rstrip())
+
+ while True:
+ line = serial.readline().decode('utf-8')
+
+ while len(line) > 0:
+ print_gps_data(line)
+ line = serial.readline().decode('utf-8')
+
+ time.sleep(1)
+ ```
+
+ ဒီ code သည် `pyserial` Pip package မှ `serial` module ကို import လုပ်သည်။ ထို့နောက် Grove Pi Base Hat ၏ UART port အတွက် serial port ၏ လိပ်စာဖြစ်သော `/dev/ttyAMA0` သို့ ချိတ်ဆက်သည်။ ထို့နောက် serial connection တွင် ရှိသော ဒေတာများကို ရှင်းလင်းသည်။
+
+ ထို့နောက် `print_gps_data` ဟုခေါ်သော function တစ်ခုကို သတ်မှတ်ပြီး၊ ၎င်းသို့ ပေးပို့သော line ကို console တွင် print လုပ်သည်။
+
+ ထို့နောက် code သည် အဆုံးမရှိ loop တစ်ခုဖြင့် serial port မှ text line များကို ဖတ်ပြီး၊ တစ်ခုချင်းစီအတွက် `print_gps_data` function ကို ခေါ်သည်။
+
+ ဒေတာအားလုံးကို ဖတ်ပြီးနောက် loop သည် ၁ စက္ကန့်အထိ sleep လုပ်ပြီး၊ ထို့နောက် ထပ်မံကြိုးစားသည်။
+
+1. ဒီ code ကို run လုပ်ပါ။ သင် GPS ဆင်ဆာမှ raw output ကို အောက်ပါအတိုင်းတွေ့ရမည်:
+
+ ```output
+ $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
+ $GPGSA,A,1,,,,,,,,,,,,,,,*1E
+ $BDGSA,A,1,,,,,,,,,,,,,,,*0F
+ $GPGSV,1,1,00*79
+ $BDGSV,1,1,00*68
+ ```
+
+ > သင့် code ကို ရပ်ပြီး ပြန်စတင်သောအခါ အောက်ပါ error များထဲမှ တစ်ခုခုရရှိပါက၊ သင့် while loop တွင် `try - except` block ထည့်ပါ။
+
+ ```output
+ UnicodeDecodeError: 'utf-8' codec can't decode byte 0x93 in position 0: invalid start byte
+ UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf1 in position 0: invalid continuation byte
+ ```
+
+ ```python
+ while True:
+ try:
+ line = serial.readline().decode('utf-8')
+
+ while len(line) > 0:
+ print_gps_data()
+ line = serial.readline().decode('utf-8')
+
+ # There's a random chance the first byte being read is part way through a character.
+ # Read another full line and continue.
+
+ except UnicodeDecodeError:
+ line = serial.readline().decode('utf-8')
+
+ time.sleep(1)
+ ```
+
+> 💁 ဒီ code ကို [code-gps/pi](../../../../../3-transport/lessons/1-location-tracking/code-gps/pi) folder တွင် ရှာဖွေနိုင်ပါသည်။
+
+😀 သင့်ရဲ့ GPS ဆင်ဆာအစီအစဉ်အောင်မြင်ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md b/translations/my/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md
new file mode 100644
index 00000000..82a641e7
--- /dev/null
+++ b/translations/my/3-transport/lessons/1-location-tracking/single-board-computer-gps-decode.md
@@ -0,0 +1,75 @@
+
+# GPS ဒေတာကို ဖော်ထုတ်ခြင်း - Virtual IoT Hardware နှင့် Raspberry Pi
+
+ဒီသင်ခန်းစာပိုင်းမှာတော့ Raspberry Pi သို့မဟုတ် Virtual IoT Device ကနေ GPS ဆင်ဆာမှ ဖတ်ရရှိတဲ့ NMEA မက်ဆေ့ဂျ်တွေကို ဖော်ထုတ်ပြီး latitude နဲ့ longitude ကို ထုတ်ယူပါမယ်။
+
+## GPS ဒေတာကို ဖော်ထုတ်ခြင်း
+
+Raw NMEA ဒေတာကို serial port ကနေ ဖတ်ပြီးတာနဲ့ open source NMEA library ကို အသုံးပြုပြီး ဖော်ထုတ်နိုင်ပါတယ်။
+
+### တာဝန် - GPS ဒေတာကို ဖော်ထုတ်ပါ
+
+ဒီဗိုင်းစကို GPS ဒေတာကို ဖော်ထုတ်နိုင်အောင် အစီအစဉ်ရေးပါ။
+
+1. `gps-sensor` app project ကို ဖွင့်ထားမဟုတ်ရင် ဖွင့်ပါ။
+
+1. `pynmea2` Pip package ကို install လုပ်ပါ။ ဒီ package မှာ NMEA မက်ဆေ့ဂျ်တွေကို ဖော်ထုတ်ဖို့အတွက် code ပါပါတယ်။
+
+ ```sh
+ pip3 install pynmea2
+ ```
+
+1. `app.py` ဖိုင်ထဲမှာ `pynmea2` module ကို import လုပ်ဖို့အတွက် အောက်ပါ code ကို imports မှာ ထည့်ပါ။
+
+ ```python
+ import pynmea2
+ ```
+
+1. `print_gps_data` function ရဲ့ အကြောင်းအရာကို အောက်ပါ code နဲ့ အစားထိုးပါ။
+
+ ```python
+ msg = pynmea2.parse(line)
+ if msg.sentence_type == 'GGA':
+ lat = pynmea2.dm_to_sd(msg.lat)
+ lon = pynmea2.dm_to_sd(msg.lon)
+
+ if msg.lat_dir == 'S':
+ lat = lat * -1
+
+ if msg.lon_dir == 'W':
+ lon = lon * -1
+
+ print(f'{lat},{lon} - from {msg.num_sats} satellites')
+ ```
+
+ ဒီ code က `pynmea2` library ကို အသုံးပြုပြီး UART serial port ကနေ ဖတ်ရရှိတဲ့ line ကို parse လုပ်ပါမယ်။
+
+ မက်ဆေ့ဂျ်ရဲ့ sentence type က `GGA` ဖြစ်ရင်၊ ဒါဟာ position fix မက်ဆေ့ဂျ်ဖြစ်ပြီး process လုပ်ပါမယ်။ Latitude နဲ့ longitude တန်ဖိုးတွေကို မက်ဆေ့ဂျ်ထဲကနေ ဖတ်ပြီး NMEA `(d)ddmm.mmmm` format ကနေ decimal degrees ကို ပြောင်းပါမယ်။ ဒီ conversion ကို `dm_to_sd` function က လုပ်ဆောင်ပါမယ်။
+
+ Latitude ရဲ့ direction ကို စစ်ဆေးပြီး latitude က south ဖြစ်ရင် တန်ဖိုးကို အနုတ်ဂဏန်းအဖြစ် ပြောင်းပါမယ်။ Longitude က west ဖြစ်ရင်လည်း အနုတ်ဂဏန်းအဖြစ် ပြောင်းပါမယ်။
+
+ နောက်ဆုံးမှာ coordinates တွေကို console မှာ print လုပ်ပြီး၊ location ရဖို့ အသုံးပြုထားတဲ့ satellites အရေအတွက်ကိုလည်း ပြပါမယ်။
+
+1. Code ကို run လုပ်ပါ။ Virtual IoT device ကို အသုံးပြုနေတယ်ဆိုရင် CounterFit app ကို run လုပ်ထားပြီး GPS ဒေတာကို ပေးပို့နေတဲ့အချိန်ဖြစ်ရမယ်။
+
+ ```output
+ pi@raspberrypi:~/gps-sensor $ python3 app.py
+ 47.6423109,-122.1390293 - from 3 satellites
+ ```
+
+> 💁 ဒီ code ကို [code-gps-decode/virtual-device](../../../../../3-transport/lessons/1-location-tracking/code-gps-decode/virtual-device) folder မှာ သို့မဟုတ် [code-gps-decode/pi](../../../../../3-transport/lessons/1-location-tracking/code-gps-decode/pi) folder မှာ ရှာနိုင်ပါတယ်။
+
+😀 သင့်ရဲ့ GPS ဆင်ဆာအစီအစဉ်ဟာ ဒေတာဖော်ထုတ်မှုအောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md b/translations/my/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md
new file mode 100644
index 00000000..12538dfd
--- /dev/null
+++ b/translations/my/3-transport/lessons/1-location-tracking/virtual-device-gps-sensor.md
@@ -0,0 +1,144 @@
+
+# GPS ဒေတာဖတ်ခြင်း - အိမ်စီး IoT ဟာ့ဒ်ဝဲ
+
+ဒီသင်ခန်းစာအပိုင်းမှာ သင့်ရဲ့ အိမ်စီး IoT စက်ပစ္စည်းမှာ GPS အာရုံခံကိရိယာတစ်ခု ထည့်သွင်းပြီး ဒေတာများကိုဖတ်ရှုမည်ဖြစ်သည်။
+
+## အိမ်စီး ဟာ့ဒ်ဝဲ
+
+အိမ်စီး IoT စက်ပစ္စည်းသည် UART မှတဆင့် serial port ကို အသုံးပြုနိုင်သော simulation GPS အာရုံခံကိရိယာကို အသုံးပြုမည်ဖြစ်သည်။
+
+ပစ္စည်းတစ်ခုဖြစ်သော GPS အာရုံခံကိရိယာတွင် GPS ဂြိုဟ်တုများမှ ရေဒီယိုလှိုင်းများကို ဖမ်းယူရန် အင်တင်နာတစ်ခုရှိပြီး GPS signals များကို GPS ဒေတာအဖြစ် ပြောင်းလဲပေးသည်။ အိမ်စီးဗားရှင်းသည် latitude နှင့် longitude ကို သတ်မှတ်ခြင်း၊ raw NMEA စာကြောင်းများပို့ခြင်း၊ သို့မဟုတ် GPX ဖိုင်တစ်ခုကို upload လုပ်ပြီး အဆက်မပြတ်နေရာများကို အလှည့်ကျပြန်ပေးခြင်းတို့ဖြင့် simulation လုပ်သည်။
+
+> 🎓 NMEA စာကြောင်းများကို ဒီသင်ခန်းစာတွင် နောက်ပိုင်းတွင် ရှင်းလင်းမည်
+
+### CounterFit တွင် အာရုံခံကိရိယာ ထည့်သွင်းခြင်း
+
+အိမ်စီး GPS အာရုံခံကိရိယာကို အသုံးပြုရန် CounterFit app တွင် ထည့်သွင်းရန်လိုအပ်သည်။
+
+#### လုပ်ငန်း - CounterFit တွင် အာရုံခံကိရိယာ ထည့်သွင်းခြင်း
+
+CounterFit app တွင် GPS အာရုံခံကိရိယာကို ထည့်သွင်းပါ။
+
+1. သင့်ကွန်ပျူတာတွင် `gps-sensor` ဟုခေါ်သော folder တစ်ခုတွင် Python app အသစ်တစ်ခုဖန်တီးပြီး `app.py` ဟုခေါ်သော ဖိုင်တစ်ခုနှင့် Python virtual environment တစ်ခုထည့်သွင်းပါ။ CounterFit pip packages များကို ထည့်သွင်းပါ။
+
+ > ⚠️ [သင်ခန်းစာ 1 တွင် CounterFit Python project ဖန်တီးခြင်းနှင့် စတင်ခြင်းဆိုင်ရာ လမ်းညွှန်ချက်များကို လိုအပ်ပါက ပြန်လည်ကြည့်ရှုနိုင်သည်](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md)။
+
+1. UART အခြေခံ sensor များနှင့် serial connection မှတဆင့် ဆက်သွယ်နိုင်သော CounterFit shim ကို ထည့်သွင်းရန် အပို Pip package တစ်ခုကို ထည့်သွင်းပါ။ virtual environment ကို active လုပ်ထားသော terminal မှာ ထည့်သွင်းရမည်ဖြစ်သည်။
+
+ ```sh
+ pip install counterfit-shims-serial
+ ```
+
+1. CounterFit web app ကို run လုပ်ထားပါ။
+
+1. GPS အာရုံခံကိရိယာကို ဖန်တီးပါ:
+
+ 1. *Sensors* pane တွင် *Create sensor* box မှ *Sensor type* box ကို drop down လုပ်ပြီး *UART GPS* ကို ရွေးပါ။
+
+ 1. *Port* ကို */dev/ttyAMA0* အတိုင်းထားပါ။
+
+ 1. **Add** button ကို ရွေးပြီး `/dev/ttyAMA0` port တွင် GPS အာရုံခံကိရိယာကို ဖန်တီးပါ။
+
+ 
+
+ GPS အာရုံခံကိရိယာကို ဖန်တီးပြီး sensor list တွင် ပေါ်လာမည်။
+
+ 
+
+## GPS အာရုံခံကိရိယာကို အစီအစဉ်ရေးဆွဲခြင်း
+
+အိမ်စီး IoT စက်ပစ္စည်းသည် အိမ်စီး GPS အာရုံခံကိရိယာကို အသုံးပြုရန် အစီအစဉ်ရေးဆွဲနိုင်ပါပြီ။
+
+### လုပ်ငန်း - GPS အာရုံခံကိရိယာကို အစီအစဉ်ရေးဆွဲခြင်း
+
+GPS အာရုံခံကိရိယာ app ကို အစီအစဉ်ရေးဆွဲပါ။
+
+1. `gps-sensor` app ကို VS Code တွင် ဖွင့်ထားပါ။
+
+1. `app.py` ဖိုင်ကို ဖွင့်ပါ။
+
+1. CounterFit app နှင့် ဆက်သွယ်ရန် `app.py` အပေါ်ပိုင်းတွင် အောက်ပါ code ကို ထည့်သွင်းပါ:
+
+ ```python
+ from counterfit_connection import CounterFitConnection
+ CounterFitConnection.init('127.0.0.1', 5000)
+ ```
+
+1. CounterFit serial port အပါအဝင် လိုအပ်သော libraries များကို import လုပ်ရန် အောက်ပါ code ကို ထည့်သွင်းပါ:
+
+ ```python
+ import time
+ import counterfit_shims_serial
+
+ serial = counterfit_shims_serial.Serial('/dev/ttyAMA0')
+ ```
+
+ ဒီ code သည် `counterfit_shims_serial` Pip package မှ `serial` module ကို import လုပ်သည်။ ထို့နောက် `/dev/ttyAMA0` serial port ကို ချိတ်ဆက်သည် - ဤသည်မှာ virtual GPS အာရုံခံကိရိယာ၏ UART port အတွက် serial port လိပ်စာဖြစ်သည်။
+
+1. Serial port မှ ဖတ်ပြီး console တွင် value များကို print လုပ်ရန် အောက်ပါ code ကို ထည့်သွင်းပါ:
+
+ ```python
+ def print_gps_data(line):
+ print(line.rstrip())
+
+ while True:
+ line = serial.readline().decode('utf-8')
+
+ while len(line) > 0:
+ print_gps_data(line)
+ line = serial.readline().decode('utf-8')
+
+ time.sleep(1)
+ ```
+
+ `print_gps_data` ဟုခေါ်သော function တစ်ခုကို ဖန်တီးပြီး console တွင် line passed to it ကို print လုပ်သည်။
+
+ ထို့နောက် code သည် အဆုံးမရှိ loop လုပ်ပြီး serial port မှ text line များကို loop တစ်ခုစီတွင် ဖတ်ရှုသည်။ loop တစ်ခုစီတွင် `print_gps_data` function ကို ခေါ်သည်။
+
+ ဒေတာအားလုံးကို ဖတ်ပြီးနောက် loop သည် 1 စက္ကန့်အနားယူပြီး ထပ်မံကြိုးစားသည်။
+
+1. ဒီ code ကို run လုပ်ပါ။ CounterFit app ကို run လုပ်ထားသော terminal ကို မပိတ်ဘဲ တစ်ခုခြား terminal မှ run လုပ်ပါ။
+
+1. CounterFit app မှ GPS အာရုံခံကိရိယာ၏ value ကို ပြောင်းလဲပါ။ အောက်ပါနည်းလမ်းများမှ တစ်ခုကို အသုံးပြုနိုင်သည်:
+
+ * **Source** ကို `Lat/Lon` သို့ ပြောင်းပြီး latitude, longitude နှင့် GPS fix ရရှိရန် satellites အရေအတွက်ကို သတ်မှတ်ပါ။ ဒီ value သည် တစ်ခါသာ ပို့မည်ဖြစ်သည်။ **Repeat** box ကို check လုပ်ပါက ဒေတာကို တစ်စက္ကန့်တိုင်း ထပ်ပို့မည်။
+
+ 
+
+ * **Source** ကို `NMEA` သို့ ပြောင်းပြီး NMEA စာကြောင်းများကို text box တွင် ထည့်ပါ။ ဒီ value များကို ပို့မည်ဖြစ်ပြီး တစ်စက္ကန့် delay ရှိပြီး position fix sentence တစ်ခုစီကို ဖတ်နိုင်သည်။
+
+ 
+
+ [nmeagen.org](https://www.nmeagen.org) ကဲ့သို့သော tool ကို အသုံးပြု၍ map ပေါ်တွင် ရေးဆွဲပြီး ဒီစာကြောင်းများကို ဖန်တီးနိုင်သည်။ ဒီ value များကို တစ်ခါသာ ပို့မည်ဖြစ်သည်။ **Repeat** box ကို check လုပ်ပါက ဒေတာကို တစ်စက္ကန့်အကြာတွင် ထပ်ပို့မည်။
+
+ * **Source** ကို GPX file သို့ ပြောင်းပြီး GPX ဖိုင်တစ်ခုကို upload လုပ်ပါ။ [AllTrails](https://www.alltrails.com/) ကဲ့သို့သော mapping နှင့် hiking site များမှ GPX ဖိုင်များကို download လုပ်နိုင်သည်။ ဒီဖိုင်များတွင် trail အနေဖြင့် GPS နေရာများစွာပါဝင်ပြီး GPS အာရုံခံကိရိယာသည် 1 စက္ကန့်အကြာတွင် နေရာအသစ်တစ်ခုကို ပြန်ပေးမည်။
+
+ 
+
+ ဒီ value များကို တစ်ခါသာ ပို့မည်ဖြစ်သည်။ **Repeat** box ကို check လုပ်ပါက ဒေတာကို တစ်စက္ကန့်အကြာတွင် ထပ်ပို့မည်။
+
+ GPS settings များကို configure ပြီးနောက် **Set** button ကို ရွေးပြီး sensor သို့ value များကို commit လုပ်ပါ။
+
+1. GPS အာရုံခံကိရိယာမှ raw output ကို အောက်ပါအတိုင်း မြင်ရမည်:
+
+ ```output
+ $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
+ $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
+ ```
+
+> 💁 ဒီ code ကို [code-gps/virtual-device](../../../../../3-transport/lessons/1-location-tracking/code-gps/virtual-device) folder တွင် ရှာနိုင်သည်။
+
+😀 သင့် GPS အာရုံခံကိရိယာ app အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားယူမှုမှားများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md b/translations/my/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md
new file mode 100644
index 00000000..c9a911f5
--- /dev/null
+++ b/translations/my/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md
@@ -0,0 +1,83 @@
+
+# GPS ဒေတာကို ဖော်ထုတ်ခြင်း - Wio Terminal
+
+ဒီသင်ခန်းပိုင်းမှာ Wio Terminal မှ GPS ဆင်ဆာကနေဖတ်ထားတဲ့ NMEA မက်ဆေ့ချ်တွေကို ဖော်ထုတ်ပြီး latitude နဲ့ longitude ကို ရယူပါမယ်။
+
+## GPS ဒေတာကို ဖော်ထုတ်ခြင်း
+
+Serial port ကနေ raw NMEA ဒေတာကို ဖတ်ပြီးရင် open source NMEA library ကို အသုံးပြုပြီး ဖော်ထုတ်နိုင်ပါတယ်။
+
+### အလုပ် - GPS ဒေတာကို ဖော်ထုတ်ခြင်း
+
+GPS ဒေတာကို ဖော်ထုတ်ဖို့ device ကို programming လုပ်ပါ။
+
+1. `gps-sensor` app project ကို မဖွင့်ထားရင် ဖွင့်ပါ။
+
+1. Project ရဲ့ `platformio.ini` ဖိုင်မှာ [TinyGPSPlus](https://github.com/mikalhart/TinyGPSPlus) library အတွက် library dependency ကို ထည့်ပါ။ ဒီ library မှာ NMEA ဒေတာကို ဖော်ထုတ်ဖို့ code ပါပါတယ်။
+
+ ```ini
+ lib_deps =
+ mikalhart/TinyGPSPlus @ 1.0.2
+ ```
+
+1. `main.cpp` မှာ TinyGPSPlus library အတွက် include directive ကို ထည့်ပါ:
+
+ ```cpp
+ #include
+ ```
+
+1. `Serial3` ရဲ့ ကြေညာချက်အောက်မှာ TinyGPSPlus object ကို NMEA sentences ကို process လုပ်ဖို့ ကြေညာပါ:
+
+ ```cpp
+ TinyGPSPlus gps;
+ ```
+
+1. `printGPSData` function ရဲ့ အကြောင်းအရာကို အောက်ပါအတိုင်း ပြောင်းပါ:
+
+ ```cpp
+ if (gps.encode(Serial3.read()))
+ {
+ if (gps.location.isValid())
+ {
+ Serial.print(gps.location.lat(), 6);
+ Serial.print(F(","));
+ Serial.print(gps.location.lng(), 6);
+ Serial.print(" - from ");
+ Serial.print(gps.satellites.value());
+ Serial.println(" satellites");
+ }
+ }
+ ```
+
+ ဒီ code က UART serial port ကနေ character တစ်ခုချင်းစီကို `gps` NMEA decoder ထဲကို ဖတ်ပါတယ်။ Character တစ်ခုချင်းစီဖတ်ပြီးရင် decoder က valid sentence ဖတ်ထားမထား စစ်ဆေးပြီး valid location ဖတ်ထားမထားကို စစ်ဆေးပါမယ်။ Location valid ဖြစ်ရင် serial monitor ကို satellites အရေအတွက်နဲ့ location data ကို ပို့ပါမယ်။
+
+1. Code ကို build လုပ်ပြီး Wio Terminal ထဲကို upload လုပ်ပါ။
+
+1. Upload ပြီးရင် serial monitor ကို အသုံးပြုပြီး GPS location data ကို ကြည့်နိုင်ပါမယ်။
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ 47.6423109,-122.1390293 - from 3 satellites
+ ```
+
+> 💁 ဒီ code ကို [code-gps-decode/wio-terminal](../../../../../3-transport/lessons/1-location-tracking/code-gps-decode/wio-terminal) folder မှာ ရှာနိုင်ပါတယ်။
+
+😀 GPS sensor program နဲ့ data decoding အောင်မြင်ပါတယ်!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှု ဝန်ဆောင်မှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားယူမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md b/translations/my/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md
new file mode 100644
index 00000000..0a8ba21d
--- /dev/null
+++ b/translations/my/3-transport/lessons/1-location-tracking/wio-terminal-gps-sensor.md
@@ -0,0 +1,154 @@
+
+# GPS ဒေတာဖတ်ရန် - Wio Terminal
+
+ဒီသင်ခန်းစာအပိုင်းမှာ၊ သင့် Wio Terminal တွင် GPS ဆင်ဆာတစ်ခုထည့်ပြီး၊ ဒေတာများကိုဖတ်မည်ဖြစ်သည်။
+
+## ဟာ့ဒ်ဝဲ
+
+Wio Terminal သည် GPS ဆင်ဆာတစ်ခုလိုအပ်သည်။
+
+သင်အသုံးပြုမည့်ဆင်ဆာမှာ [Grove GPS Air530 sensor](https://www.seeedstudio.com/Grove-GPS-Air530-p-4584.html) ဖြစ်သည်။ ဒီဆင်ဆာသည် GPS စနစ်အမျိုးမျိုးနှင့် ချိတ်ဆက်နိုင်ပြီး မြန်ဆန်ပြီး တိကျသော ဒေတာများကို ရယူနိုင်သည်။ ဆင်ဆာသည် အစိတ်အပိုင်း ၂ ခုဖြင့် ဖွဲ့စည်းထားပြီး - ဆင်ဆာ၏ အဓိကအီလက်ထရွန်းနစ်အစိတ်အပိုင်းနှင့် အင်တင်နာတစ်ခုကို ပါးလွှာသောဝါယာကြိုးဖြင့် ချိတ်ဆက်ထားသည်။ အင်တင်နာသည် ဂြိုလ်တုမှ ရေဒီယိုလှိုင်းများကို ဖမ်းဆီးရန်အတွက် အသုံးပြုသည်။
+
+ဒီဆင်ဆာသည် UART ဆင်ဆာဖြစ်ပြီး၊ GPS ဒေတာကို UART မှတဆင့် ပေးပို့သည်။
+
+### GPS ဆင်ဆာကို ချိတ်ဆက်ပါ
+
+Grove GPS ဆင်ဆာကို Wio Terminal နှင့် ချိတ်ဆက်နိုင်သည်။
+
+#### လုပ်ငန်းစဉ် - GPS ဆင်ဆာကို ချိတ်ဆက်ပါ
+
+GPS ဆင်ဆာကို ချိတ်ဆက်ပါ။
+
+
+
+1. Grove ကေဘယ်တစ်ခု၏ တစ်ဖက်အဆုံးကို GPS ဆင်ဆာရှိ ဆော့ကက်ထဲသို့ ထည့်ပါ။ ၎င်းသည် တစ်ဖက်ဘက်သာ အလွယ်တကူ ထည့်နိုင်ပါမည်။
+
+1. Wio Terminal ကို သင့်ကွန်ပျူတာ သို့မဟုတ် အခြားပါဝါထောက်ပံ့မှုမှ ဖြုတ်ထားပြီးဖြစ်ပါက၊ Grove ကေဘယ်၏ အခြားဖက်အဆုံးကို Wio Terminal ၏ ဘယ်ဖက်ရှိ Grove ဆော့ကက် (မော်နီတာကိုကြည့်နေစဉ်) တွင် ချိတ်ဆက်ပါ။ ၎င်းသည် ပါဝါခလုတ်အနီးရှိ ဆော့ကက်ဖြစ်သည်။
+
+ 
+
+1. GPS ဆင်ဆာကို အင်တင်နာတပ်ဆင်ထားသောနေရာသည် ကောင်းကင်ကို မြင်နိုင်သောနေရာတွင်ထားပါ - အကောင်းဆုံးအနေဖြင့် ပြတင်းပေါက်အနီး သို့မဟုတ် အပြင်ဘက်တွင်ထားပါ။ အင်တင်နာကို အတားအဆီးမရှိသောနေရာတွင်ထားခြင်းဖြင့် သင့်အတွက် ပိုမိုကောင်းမွန်သော သင်္ကေတကို ရယူနိုင်ပါမည်။
+
+1. ယခု Wio Terminal ကို သင့်ကွန်ပျူတာနှင့် ချိတ်ဆက်နိုင်ပါပြီ။
+
+1. GPS ဆင်ဆာတွင် LED ၂ ခုရှိသည် - ဒေတာပေးပို့နေစဉ် လင်းပွင့်သော အပြာရောင် LED တစ်ခုနှင့် ဂြိုလ်တုမှ ဒေတာလက်ခံနေစဉ် တစ်စက္ကန့်တစ်ကြိမ် လင်းပွင့်သော အစိမ်းရောင် LED တစ်ခု။ Wio Terminal ကို ဖွင့်လိုက်သောအခါ အပြာရောင် LED လင်းပွင့်နေကြောင်း သေချာပါ။ မိနစ်အနည်းငယ်အကြာတွင် အစိမ်းရောင် LED လင်းပွင့်ပါမည် - မဟုတ်ပါက အင်တင်နာ၏နေရာကို ပြောင်းရန် လိုအပ်နိုင်ပါသည်။
+
+## GPS ဆင်ဆာကို ပရိုဂရမ်ရေးရန်
+
+ယခု Wio Terminal ကို GPS ဆင်ဆာနှင့် အသုံးပြုရန် ပရိုဂရမ်ရေးနိုင်ပါပြီ။
+
+### လုပ်ငန်းစဉ် - GPS ဆင်ဆာကို ပရိုဂရမ်ရေးပါ
+
+စက်ကို ပရိုဂရမ်ရေးပါ။
+
+1. PlatformIO ကို အသုံးပြု၍ Wio Terminal စီမံကိန်းအသစ်တစ်ခု ဖန်တီးပါ။ ဒီစီမံကိန်းကို `gps-sensor` ဟု အမည်ပေးပါ။ `setup` ဖောင်ရှင်းတွင် serial port ကို ပြင်ဆင်ရန် ကုဒ်ထည့်ပါ။
+
+1. `main.cpp` ဖိုင်၏ အပေါ်ဆုံးတွင် အောက်ပါ include directive ကို ထည့်ပါ။ ၎င်းသည် UART အတွက် ဘယ်ဖက်ရှိ Grove ဆော့ကက်ကို ပြင်ဆင်ရန် လိုအပ်သော header ဖိုင်ကို ထည့်သွင်းသည်။
+
+ ```cpp
+ #include
+ ```
+
+1. ထို့နောက်၊ UART port နှင့် serial port ချိတ်ဆက်မှုကို ကြေငြာရန် အောက်ပါကုဒ်တစ်ကြောင်းကို ထည့်ပါ။
+
+ ```cpp
+ static Uart Serial3(&sercom3, PIN_WIRE_SCL, PIN_WIRE_SDA, SERCOM_RX_PAD_1, UART_TX_PAD_0);
+ ```
+
+1. Internal signal handlers အချို့ကို ဒီ serial port သို့ redirect လုပ်ရန် ကုဒ်တစ်ချို့ ထည့်ရန် လိုအပ်သည်။ `Serial3` ကြေငြာချက်အောက်တွင် အောက်ပါကုဒ်ကို ထည့်ပါ။
+
+ ```cpp
+ void SERCOM3_0_Handler()
+ {
+ Serial3.IrqHandler();
+ }
+
+ void SERCOM3_1_Handler()
+ {
+ Serial3.IrqHandler();
+ }
+
+ void SERCOM3_2_Handler()
+ {
+ Serial3.IrqHandler();
+ }
+
+ void SERCOM3_3_Handler()
+ {
+ Serial3.IrqHandler();
+ }
+ ```
+
+1. `setup` ဖောင်ရှင်းတွင် `Serial` port ကို ပြင်ဆင်ထားသောနေရာအောက်တွင်၊ UART serial port ကို အောက်ပါကုဒ်ဖြင့် ပြင်ဆင်ပါ။
+
+ ```cpp
+ Serial3.begin(9600);
+
+ while (!Serial3)
+ ; // Wait for Serial3 to be ready
+
+ delay(1000);
+ ```
+
+1. ဒီကုဒ်အောက်တွင် `setup` ဖောင်ရှင်းတွင် Grove pin ကို serial port နှင့် ချိတ်ဆက်ရန် အောက်ပါကုဒ်ကို ထည့်ပါ။
+
+ ```cpp
+ pinPeripheral(PIN_WIRE_SCL, PIO_SERCOM_ALT);
+ ```
+
+1. `loop` ဖောင်ရှင်းမတိုင်မီ အောက်ပါဖောင်ရှင်းကို ထည့်ပါ၊ GPS ဒေတာကို serial monitor သို့ ပေးပို့ရန် အသုံးပြုပါမည်။
+
+ ```cpp
+ void printGPSData()
+ {
+ Serial.println(Serial3.readStringUntil('\n'));
+ }
+ ```
+
+1. `loop` ဖောင်ရှင်းတွင် UART serial port မှ ဖတ်ပြီး serial monitor သို့ output ပေးရန် အောက်ပါကုဒ်ကို ထည့်ပါ။
+
+ ```cpp
+ while (Serial3.available() > 0)
+ {
+ printGPSData();
+ }
+
+ delay(1000);
+ ```
+
+ ဒီကုဒ်သည် UART serial port မှ ဖတ်သည်။ `readStringUntil` ဖောင်ရှင်းသည် terminator အက္ခရာ (ဒီအခါတွင် new line) အထိ ဖတ်သည်။ ၎င်းသည် တစ်ကြောင်းစာလုံးစုံသော NMEA စာကြောင်းကို ဖတ်မည်ဖြစ်သည် (NMEA စာကြောင်းများသည် new line အက္ခရာဖြင့် အဆုံးသတ်သည်။) UART serial port မှ ဒေတာများကို ဖတ်နိုင်သမျှ ဖတ်ပြီး၊ `printGPSData` ဖောင်ရှင်းမှတဆင့် serial monitor သို့ ပေးပို့သည်။ ဖတ်နိုင်သော ဒေတာမရှိတော့ပါက၊ `loop` သည် ၁ စက္ကန့် (၁,၀၀၀ms) ခေတ္တရပ်နေသည်။
+
+1. ကုဒ်ကို Wio Terminal သို့ Build နှင့် Upload လုပ်ပါ။
+
+1. Upload ပြီးပါက၊ serial monitor ကို အသုံးပြု၍ GPS ဒေတာကို ကြည့်နိုင်ပါသည်။
+
+ ```output
+ > Executing task: platformio device monitor <
+
+ --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
+ --- More details at http://bit.ly/pio-monitor-filters
+ --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 ---
+ --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+ $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
+ $GPGSA,A,1,,,,,,,,,,,,,,,*1E
+ $BDGSA,A,1,,,,,,,,,,,,,,,*0F
+ $GPGSV,1,1,00*79
+ $BDGSV,1,1,00*68
+ ```
+
+> 💁 ဒီကုဒ်ကို [code-gps/wio-terminal](../../../../../3-transport/lessons/1-location-tracking/code-gps/wio-terminal) ဖိုလ်ဒါတွင် ရှာနိုင်ပါသည်။
+
+😀 သင့် GPS ဆင်ဆာပရိုဂရမ်အောင်မြင်ခဲ့ပါပြီ!
+
+---
+
+**အကြောင်းကြားချက်**:
+ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားယူမှုမှားများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
\ No newline at end of file
diff --git a/translations/my/3-transport/lessons/2-store-location-data/README.md b/translations/my/3-transport/lessons/2-store-location-data/README.md
new file mode 100644
index 00000000..90863991
--- /dev/null
+++ b/translations/my/3-transport/lessons/2-store-location-data/README.md
@@ -0,0 +1,473 @@
+
+# Store location data
+
+
+
+> Sketchnote by [Nitya Narasimhan](https://github.com/nitya). Click the image for a larger version.
+
+## Pre-lecture quiz
+
+[Pre-lecture quiz](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/23)
+
+## အကျဉ်းချုပ်
+
+ပြီးခဲ့တဲ့ သင်ခန်းစာမှာ GPS sensor ကို အသုံးပြုပြီး တည်နေရာဒေတာကို ဖမ်းယူနည်းကို သင်ယူခဲ့ပါတယ်။ ဒီဒေတာကို အသုံးပြုပြီး အစားအစာတင်ဆောင်ထားတဲ့ ထရပ်ကားရဲ့ တည်နေရာနဲ့ ခရီးစဉ်ကို မြင်သာအောင် ဖော်ပြဖို့အတွက် ဒေတာကို cloud-based IoT service ကို ပို့ပြီး တစ်နေရာရာမှာ သိမ်းဆည်းဖို့ လိုအပ်ပါတယ်။
+
+ဒီသင်ခန်းစာမှာ IoT ဒေတာကို သိမ်းဆည်းနည်းများကို သင်ယူပြီး serverless code ကို အသုံးပြုပြီး IoT service မှ ဒေတာကို သိမ်းဆည်းနည်းကို လေ့လာပါမည်။
+
+ဒီသင်ခန်းစာမှာ အောက်ပါအကြောင်းအရာများကို လေ့လာပါမည်-
+
+* [Structured and unstructured data](../../../../../3-transport/lessons/2-store-location-data)
+* [Send GPS data to an IoT Hub](../../../../../3-transport/lessons/2-store-location-data)
+* [Hot, warm, and cold paths](../../../../../3-transport/lessons/2-store-location-data)
+* [Handle GPS events using serverless code](../../../../../3-transport/lessons/2-store-location-data)
+* [Azure Storage Accounts](../../../../../3-transport/lessons/2-store-location-data)
+* [Connect your serverless code to storage](../../../../../3-transport/lessons/2-store-location-data)
+
+## Structured and unstructured data
+
+ကွန်ပျူတာစနစ်များသည် ဒေတာနှင့် ဆက်နွယ်နေပြီး ဒေတာသည် အမျိုးမျိုးသော ပုံစံများနှင့် အရွယ်အစားများရှိနိုင်သည်။ ဒေတာသည် တစ်ခုတည်းသော နံပါတ်များမှ စ၍ စာသားများ၊ ဗီဒီယိုများ၊ ပုံများနှင့် IoT ဒေတာများအထိ အမျိုးမျိုးရှိနိုင်သည်။ ဒေတာကို အများအားဖြင့် *structured* ဒေတာနှင့် *unstructured* ဒေတာဟူ၍ အမျိုးအစားနှစ်မျိုးအနက် တစ်ခုခုအဖြစ် ခွဲခြားနိုင်သည်။
+
+* **Structured data** သည် အလွန်သေချာပြီး တင်းကျပ်သော ဖွဲ့စည်းမှုရှိသော ဒေတာဖြစ်ပြီး မပြောင်းလဲသော ဖွဲ့စည်းမှုကို လိုက်နာရသည်။ ဥပမာအားဖြင့် လူတစ်ဦး၏ အမည်၊ မွေးသက္ကရာဇ်နှင့် လိပ်စာတို့ပါဝင်သော ဒေတာ။
+
+* **Unstructured data** သည် သေချာပြီး တင်းကျပ်သော ဖွဲ့စည်းမှုမရှိသော ဒေတာဖြစ်ပြီး ဖွဲ့စည်းမှုကို မကြာခဏ ပြောင်းလဲနိုင်သည်။ ဥပမာအားဖြင့် စာရွက်စာတမ်းများ၊ စာရေးထားသော စာရွက်စာတမ်းများ သို့မဟုတ် စာရင်းဇယားများ။
+
+✅ သုတေသနလုပ်ပါ- Structured ဒေတာနှင့် Unstructured ဒေတာ၏ အခြားဥပမာများကို စဉ်းစားနိုင်ပါသလား။
+
+> 💁 Semi-structured data ဆိုတာ Structured ဖြစ်ပေမယ့် အတိအကျသော စာရင်းဇယားများတွင် မထည့်နိုင်သော ဒေတာဖြစ်သည်။
+
+IoT ဒေတာသည် အများအားဖြင့် Unstructured ဒေတာအဖြစ် သတ်မှတ်နိုင်သည်။
+
+သင်သည် စိုက်ပျိုးရေးလုပ်ငန်းကြီးတစ်ခု၏ ယာဉ်အုပ်စုများတွင် IoT စက်ပစ္စည်းများ ထည့်သွင်းနေသည်ဟု စဉ်းစားပါ။ ယာဉ်အမျိုးအစားအလိုက် ကွဲပြားသော စက်ပစ္စည်းများကို အသုံးပြုလိုနိုင်ပါသည်။ ဥပမာအားဖြင့်-
+
+* စိုက်ပျိုးရေးယာဉ်များ (ဥပမာ- ထရက်တာများ) အတွက် GPS ဒေတာကို အသုံးပြု၍ သင့်ယာဉ်များသည် သင့်လယ်ကွင်းများတွင် အလုပ်လုပ်နေကြောင်း သေချာစေပါသည်။
+* အစားအစာကို ဂိုဒေါင်များသို့ ပို့ဆောင်နေသော ထရပ်ကားများအတွက် GPS ဒေတာအပြင် ယာဉ်မောင်း၏ လုံခြုံမှုကို သေချာစေရန် အရှိန်နှင့် အရှိန်မြှင့်ဒေတာများ၊ ယာဉ်မောင်း၏ အမည်နှင့် စတင်/ရပ်တန့်ဒေတာများကို အသုံးပြုပါသည်။
+* အအေးခံထရပ်ကားများအတွက် အစားအစာများသည် အပူလွန်ကဲခြင်း သို့မဟုတ် အအေးလွန်ကဲခြင်းကြောင့် ပျက်စီးမသွားစေရန် အပူချိန်ဒေတာကို အသုံးပြုပါသည်။
+
+ဒီဒေတာသည် အမြဲပြောင်းလဲနေပါသည်။ ဥပမာအားဖြင့် IoT စက်ပစ္စည်းသည် ထရပ်ကား၏ ကုန်းတင်တွင်ရှိနေပါက အအေးခံကုန်းတင်ကို အသုံးပြုသောအခါတွင်သာ အပူချိန်ဒေတာကို ပေးပို့နိုင်ပါသည်။
+
+✅ IoT ဒေတာအခြားအမျိုးအစားများကို ဖမ်းယူနိုင်ပါသလား? ထရပ်ကားများ သယ်ဆောင်နိုင်သော အမျိုးမျိုးသော အလွှာများနှင့် ပြုပြင်ထိန်းသိမ်းမှုဒေတာများကို စဉ်းစားပါ။
+
+ဒီဒေတာသည် ယာဉ်အမျိုးအစားအလိုက် ကွဲပြားနေပါသည်။ သို့သော် ဒေတာအားလုံးကို တစ်နေရာတည်းရှိ IoT service သို့ ပေးပို့ပြီး အမျိုးမျိုးသော ဖွဲ့စည်းမှုများနှင့် အလုပ်လုပ်နိုင်သော နည်းလမ်းဖြင့် သိမ်းဆည်းရန် လိုအပ်ပါသည်။
+
+### SQL vs NoSQL storage
+
+Database ဆိုတာ ဒေတာကို သိမ်းဆည်းပြီး ရှာဖွေနိုင်စေသော service များဖြစ်သည်။ Database များကို SQL နှင့် NoSQL ဟူ၍ အမျိုးအစားနှစ်မျိုးခွဲခြားနိုင်သည်။
+
+#### SQL databases
+
+ပထမဆုံး Database များသည် Relational Database Management Systems (RDBMS) သို့မဟုတ် Relational Database များဖြစ်သည်။ SQL Database များဟုလည်း သိထားကြသည်။ SQL Database များသည် Structured Query Language (SQL) ကို အသုံးပြုပြီး ဒေတာကို ထည့်သွင်း၊ ဖယ်ရှား၊ ပြင်ဆင် သို့မဟုတ် ရှာဖွေနိုင်သည်။ Database များတွင် schema - စာရင်းဇယားများနှင့် ဆက်နွယ်မှုများပါဝင်သော ဖွဲ့စည်းမှုတစ်ခုရှိသည်။
+
+
+
+ဥပမာအားဖြင့် သင်သည် အသုံးပြုသူ၏ ကိုယ်ရေးအချက်အလက်များကို စာရင်းဇယားတစ်ခုတွင် သိမ်းဆည်းလိုပါက အသုံးပြုသူတစ်ဦးစီအတွက် ထူးခြားသော ID တစ်ခုရှိပြီး အမည်နှင့် လိပ်စာတို့ပါဝင်သော စာရင်းဇယားတစ်ခုတွင် ထည့်သွင်းထားသည်။ သင်သည် အသုံးပြုသူ၏ ဝယ်ယူမှုများကို သိမ်းဆည်းလိုပါက အသစ်သော စာရင်းဇယားတွင် အသုံးပြုသူ၏ ID ကို ထည့်သွင်းထားသော ကော်လံတစ်ခုရှိသည်။
+
+SQL Database များသည် Structured ဒေတာကို သိမ်းဆည်းရန် အကောင်းဆုံးဖြစ်ပြီး schema ကို လိုက်နာရန် လိုအပ်သည်။
+
+✅ SQL ကို မသုံးဖူးပါက [SQL page on Wikipedia](https://wikipedia.org/wiki/SQL) တွင် ဖတ်ရှုပါ။
+
+Microsoft SQL Server, MySQL, PostgreSQL တို့သည် SQL Database များဖြစ်သည်။
+
+✅ သုတေသနလုပ်ပါ- SQL Database များနှင့် ၎င်းတို့၏ စွမ်းဆောင်ရည်များကို ဖတ်ရှုပါ။
+
+#### NoSQL database
+
+NoSQL Database များသည် SQL Database များ၏ တင်းကျပ်သော ဖွဲ့စည်းမှုမရှိသောကြောင့် NoSQL ဟုခေါ်သည်။ Document Database များဟုလည်း သိထားကြသည်။
+
+> 💁 NoSQL Database များသည် ၎င်းတို့၏ နာမည်နှင့် မညီဘဲ SQL ကို အသုံးပြုပြီး ဒေတာကို ရှာဖွေနိုင်စေသည်။
+
+
+
+NoSQL Database များတွင် schema မရှိသောကြောင့် Unstructured ဒေတာကို သိမ်းဆည်းနိုင်သည်။ JSON document များကို အသုံးပြုပြီး သိမ်းဆည်းနိုင်သည်။
+
+ဥပမာအားဖြင့် စိုက်ပျိုးရေးယာဉ်များမှ IoT ဒေတာကို သိမ်းဆည်းလိုပါက အချို့တွင် accelerometer နှင့် အရှိန်ဒေတာများပါဝင်နိုင်ပြီး အချို့တွင် ကုန်းတင်၏ အပူချိန်ဒေတာများပါဝင်နိုင်သည်။
+
+Azure CosmosDB, MongoDB, CouchDB တို့သည် NoSQL Database များဖြစ်သည်။
+
+✅ သုတေသနလုပ်ပါ- NoSQL Database များနှင့် ၎င်းတို့၏ စွမ်းဆောင်ရည်များကို ဖတ်ရှုပါ။
+
+ဒီသင်ခန်းစာမှာ IoT ဒေတာကို သိမ်းဆည်းရန် NoSQL storage ကို အသုံးပြုပါမည်။
+
+## Send GPS data to an IoT Hub
+
+ပြီးခဲ့တဲ့ သင်ခန်းစာမှာ သင်သည် GPS sensor ကို အသုံးပြုပြီး GPS ဒေတာကို ဖမ်းယူခဲ့သည်။ Cloud-based IoT service တွင် ဒေတာကို သိမ်းဆည်းရန် IoT Hub သို့ ပေးပို့ရန် လိုအပ်သည်။
+
+
+
+### Task - send GPS data to an IoT Hub
+
+1. Free tier ကို အသုံးပြုပြီး IoT Hub အသစ်တစ်ခု ဖန်တီးပါ။
+
+ > ⚠️ [Project 2, lesson 4](../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md#create-an-iot-service-in-the-cloud) မှ IoT Hub ဖန်တီးနည်းကို လိုအပ်ပါက ပြန်လည်ကြည့်ပါ။
+
+ Resource Group အသစ်တစ်ခု ဖန်တီးပါ။ Resource Group ကို `gps-sensor` ဟု အမည်ပေးပါ။ IoT Hub ကို `gps-sensor-` အဖြစ် ထူးခြားသော အမည်ပေးပါ။
+
+ > 💁 Project 2 မှ IoT Hub ကို အသုံးပြုနေပါက ထပ်မံအသုံးပြုနိုင်သည်။
+
+1. IoT Hub တွင် `gps-sensor` ဟု အမည်ပေးပြီး device အသစ်တစ်ခု ထည့်သွင်းပါ။ Device connection string ကို ရယူပါ။
+
+1. Device code ကို update လုပ်ပြီး IoT Hub သို့ GPS ဒေတာကို ပေးပို့ပါ။
+
+ > ⚠️ [Project 2, lesson 4](../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md#connect-your-device-to-the-iot-service) မှ device ကို IoT service နှင့် ချိတ်ဆက်နည်းကို လိုအပ်ပါက ပြန်လည်ကြည့်ပါ။
+
+1. GPS ဒေတာကို JSON format ဖြင့် ပေးပို့ပါ-
+
+ ```json
+ {
+ "gps" :
+ {
+ "lat" : ,
+ "lon" :
+ }
+ }
+ ```
+
+1. GPS ဒေတာကို တစ်မိနစ်တစ်ကြိမ်ပေးပို့ပါ။
+
+Wio Terminal ကို အသုံးပြုပါက လိုအပ်သော libraries အားလုံးကို ထည့်သွင်းပြီး NTP server ကို အသုံးပြုပြီး အချိန်ကို သတ်မှတ်ပါ။
+
+```cpp
+DynamicJsonDocument doc(1024);
+doc["gps"]["lat"] = gps.location.lat();
+doc["gps"]["lon"] = gps.location.lng();
+```
+
+Virtual IoT device ကို အသုံးပြုပါက virtual environment ကို အသုံးပြုပါ။
+
+Raspberry Pi နှင့် Virtual IoT device နှစ်ခုစလုံးအတွက် ```python
+message_json = { "gps" : { "lat":lat, "lon":lon } }
+print("Sending telemetry", message_json)
+message = Message(json.dumps(message_json))
+``` ကို အသုံးပြုပါ။
+
+> 💁 [code/wio-terminal](../../../../../3-transport/lessons/2-store-location-data/code/wio-terminal), [code/pi](../../../../../3-transport/lessons/2-store-location-data/code/pi) သို့မဟုတ် [code/virtual-device](../../../../../3-transport/lessons/2-store-location-data/code/virtual-device) folder တွင် code ကို ရှာနိုင်သည်။
+
+Device code ကို run လုပ်ပြီး `az iot hub monitor-events` CLI command ကို အသုံးပြုပြီး IoT Hub သို့ message များရောက်ရှိနေကြောင်း သေချာပါ။
+
+## Hot, warm, and cold paths
+
+IoT device မှ cloud သို့ ဒေတာကို ပေးပို့သောအခါ ဒေတာအားလုံးကို real-time processing မလုပ်နိုင်ပါ။
+
+### Hot path
+
+Hot path သည် real-time သို့မဟုတ် near real-time processing လိုအပ်သော ဒေတာကို ရည်ညွှန်းသည်။
+
+### Warm path
+
+Warm path သည် ဒေတာကို အနည်းငယ်နောက်ကျပြီး process လုပ်နိုင်သည်။
+
+### Cold path
+
+Cold path သည် ရှေးဟောင်းဒေတာကို သိမ်းဆည်းပြီး အချိန်မရွေး process လုပ်နိုင်သည်။
+
+✅ သင်ဖမ်းယူထားသော ဒေတာသည် hot, warm သို့မဟုတ် cold path ဒေတာဖြစ်ပါသလား?
+
+## Handle GPS events using serverless code
+
+IoT Hub သို့ ဒေတာရောက်ရှိပြီးနောက် serverless code ကို အသုံးပြုပြီး event များကို လိုက်နာနိုင်သည်။
+
+
+
+### Task - handle GPS events using serverless code
+
+1. Azure Functions CLI ကို အသုံးပြုပြီး Azure Functions app တစ်ခု ဖန်တီးပါ။ Python runtime ကို အသုံးပြုပါ။ Folder ကို `gps-trigger` ဟု အမည်ပေးပါ။ Virtual environment ကို ဖန်တီးပါ။
+⚠️ သင်လိုအပ်ပါက [Azure Functions Project ကို project 2, lesson 5 မှ ဖန်တီးရန်အတွက် လမ်းညွှန်ချက်များ](../../../2-farm/lessons/5-migrate-application-to-the-cloud/README.md#create-a-serverless-application) ကို ကိုးကားနိုင်ပါသည်။
+1. IoT Hub ရဲ့ Event Hub အဆင့်ဆင် endpoint ကို အသုံးပြုတဲ့ IoT Hub event trigger ကို ထည့်ပါ။
+
+ > ⚠️ လိုအပ်ပါက [Project 2, Lesson 5 မှ IoT Hub event trigger တစ်ခုကို ဖန်တီးရန်အတွက် လမ်းညွှန်ချက်များ](../../../2-farm/lessons/5-migrate-application-to-the-cloud/README.md#create-an-iot-hub-event-trigger) ကို ရှာဖွေကြည့်နိုင်ပါသည်။
+
+1. `local.settings.json` ဖိုင်တွင် Event Hub အဆင့်ဆင် endpoint connection string ကို သတ်မှတ်ပြီး၊ `function.json` ဖိုင်တွင် အဲဒီ entry အတွက် key ကို အသုံးပြုပါ။
+
+1. Azurite app ကို ဒေသခံ storage emulator အဖြစ် အသုံးပြုပါ။
+
+1. သင့် functions app ကို run လုပ်ပြီး GPS device မှ event များကို လက်ခံနေကြောင်း သေချာပါစေ။ သင့် IoT device ကိုလည်း run လုပ်ပြီး GPS data ပေးပို့နေကြောင်း သေချာပါစေ။
+
+ ```output
+ Python EventHub trigger processed an event: {"gps": {"lat": 47.73481, "lon": -122.25701}}
+ ```
+
+## Azure Storage Accounts
+
+
+
+Azure Storage Accounts သည် အမျိုးမျိုးသောနည်းလမ်းများဖြင့် data ကို သိမ်းဆည်းနိုင်သော အထွေထွေ storage service ဖြစ်သည်။ Blob, queue, table, file အဖြစ် data ကို သိမ်းဆည်းနိုင်ပြီး တစ်ချိန်တည်းတွင် အားလုံးကို သိမ်းဆည်းနိုင်သည်။
+
+### Blob storage
+
+*Blob* ဆိုသည်မှာ binary large objects ကို ဆိုလိုသည်။ သို့သော် unstructured data အမျိုးအစားအားလုံးကို ဆိုလိုသော term ဖြစ်လာသည်။ JSON document များမှ image နှင့် movie ဖိုင်များအထိ data များကို blob storage တွင် သိမ်းဆည်းနိုင်သည်။ Blob storage တွင် *containers* ဆိုသော buckets ရှိပြီး၊ relational database တွင် tables များလို data ကို သိမ်းဆည်းနိုင်သည်။ Container များတွင် folder များရှိနိုင်ပြီး၊ folder တစ်ခုတွင် အခြား folder များပါရှိနိုင်သည်။ ဒါသည် သင့် computer hard disk တွင် file များကို သိမ်းဆည်းသည့် နည်းလမ်းနှင့် ဆင်တူသည်။
+
+ဒီ lesson တွင် IoT data ကို သိမ်းဆည်းရန် blob storage ကို အသုံးပြုမည်။
+
+✅ သုတေသနလုပ်ပါ: [Azure Blob Storage](https://docs.microsoft.com/azure/storage/blobs/storage-blobs-overview?WT.mc_id=academic-17441-jabenn) ကို ဖတ်ရှုပါ။
+
+### Table storage
+
+Table storage သည် semi-structured data ကို သိမ်းဆည်းရန် အထူးသင့်လျော်သည်။ Table storage သည် NoSQL database ဖြစ်ပြီး၊ အစပိုင်းတွင် table set များကို သတ်မှတ်ရန် မလိုအပ်ပါ။ သို့သော် data ကို table များတွင် သိမ်းဆည်းရန် အထူးဒီဇိုင်းလုပ်ထားသည်။
+
+✅ သုတေသနလုပ်ပါ: [Azure Table Storage](https://docs.microsoft.com/azure/storage/tables/table-storage-overview?WT.mc_id=academic-17441-jabenn) ကို ဖတ်ရှုပါ။
+
+### Queue storage
+
+Queue storage သည် 64KB အရွယ်အစားရှိသော message များကို queue တွင် သိမ်းဆည်းနိုင်သည်။ Message များကို queue ရဲ့ နောက်ဆုံးတွင် ထည့်ပြီး၊ ရှေ့ဆုံးမှ ဖတ်နိုင်သည်။ Queue တွင် storage နေရာလုံလုံလောက်လောက်ရှိသ zolang message များကို အချိန်မရွေး သိမ်းဆည်းထားနိုင်သည်။ ဥပမာအားဖြင့် GPS data ကို process လုပ်ရန် monthly job တစ်ခု run လုပ်လိုပါက၊ တစ်လတစ်လ message များကို queue တွင် သိမ်းဆည်းပြီး၊ လကုန်တွင် message များအားလုံးကို process လုပ်နိုင်သည်။
+
+✅ သုတေသနလုပ်ပါ: [Azure Queue Storage](https://docs.microsoft.com/azure/storage/queues/storage-queues-introduction?WT.mc_id=academic-17441-jabenn) ကို ဖတ်ရှုပါ။
+
+### File storage
+
+File storage သည် cloud တွင် file များကို သိမ်းဆည်းရန် ဖြစ်ပြီး၊ app များနှင့် device များသည် industry standard protocols အသုံးပြု၍ ချိတ်ဆက်နိုင်သည်။ File storage တွင် file များကို ရေးသားပြီး၊ PC သို့မဟုတ် Mac တွင် drive အဖြစ် mount လုပ်နိုင်သည်။
+
+✅ သုတေသနလုပ်ပါ: [Azure File Storage](https://docs.microsoft.com/azure/storage/files/storage-files-introduction?WT.mc_id=academic-17441-jabenn) ကို ဖတ်ရှုပါ။
+
+## Serverless code ကို storage နှင့် ချိတ်ဆက်ပါ
+
+သင့် function app သည် IoT Hub မှ message များကို blob storage တွင် သိမ်းဆည်းရန် ချိတ်ဆက်ရန် လိုအပ်သည်။ ဒါကိုလုပ်နိုင်သောနည်းလမ်း ၂ မျိုးရှိသည်-
+
+* Function code အတွင်းတွင် blob storage ကို Python SDK အသုံးပြု၍ data ကို blob အဖြစ်ရေးသားပါ။
+* Output function binding ကို အသုံးပြု၍ function ရဲ့ return value ကို blob storage နှင့် bind လုပ်ပြီး၊ blob ကို auto save လုပ်ပါ။
+
+ဒီ lesson တွင် Python SDK ကို အသုံးပြု၍ blob storage နှင့် အလုပ်လုပ်ပုံကို လေ့လာမည်။
+
+
+
+Data ကို JSON blob အဖြစ် သိမ်းဆည်းမည်၊ format သည် အောက်ပါအတိုင်းဖြစ်သည်-
+
+```json
+{
+ "device_id": ,
+ "timestamp" :