tag:blogger.com,1999:blog-22830130259816339952024-03-14T10:58:16.123+09:00uts佐藤恭一の近況佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comBlogger510125tag:blogger.com,1999:blog-2283013025981633995.post-69976332677912546392023-09-09T12:22:00.003+09:002023-09-09T12:29:16.576+09:00BloggerでGDPRメッセージが表示されるか確認する方法<p style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9IzL5RVIgvfQnUbloyosabNkyJoAhSaRoiCVcC-9qyilDOOKPM_rWVMhqAZmpwbWtk-VFS79iLRmDLSp1yLq2aa3go0HI8arM5psGbFZj_7V4PGjC87UabGv2qfVRGxYCeOfpHm5qHW02ou4U7JdHc0RmdZa30M25yg8X_A1PFwBDyqCxw1jti_GOnylN/s743/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-09-09%20122713.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="467" data-original-width="743" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9IzL5RVIgvfQnUbloyosabNkyJoAhSaRoiCVcC-9qyilDOOKPM_rWVMhqAZmpwbWtk-VFS79iLRmDLSp1yLq2aa3go0HI8arM5psGbFZj_7V4PGjC87UabGv2qfVRGxYCeOfpHm5qHW02ou4U7JdHc0RmdZa30M25yg8X_A1PFwBDyqCxw1jti_GOnylN/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-09-09%20122713.jpg" width="320" /></a></p><p>Bloggerで 欧州連合(EU)諸国の法律に対応するための GDPR同意メッセージが表示されるようになっているのかな? と思って日本国内から自分の Blogにアクセスしても確認できないのだけれども、URL の末尾に ?gl=[国コード] を追加して国コードを変更すれば GDPR同意メッセージが表示されました。(例: <a href="https://kyouichisato.blogspot.com/?gl=de">https://kyouichisato.blogspot.com/?gl=de</a>)</p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><p style="text-align: left;"><a href="https://support.google.com/blogger/answer/6253244?hl=ja">Bloggerヘルプ - 欧州連合(EU)諸国における Cookie に関する通知</a></p></blockquote><p> </p>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-34802138882525391112023-05-19T12:10:00.016+09:002023-05-23T15:06:20.944+09:00CD125K4 エンジンオーバーホール<p><a href="https://kyouichisato.blogspot.com/2020/10/cd125k4.html"> ホンダ CD125K4 目次</a></p><p style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5jjtX9xTS_c-HMFVkKUv0N1U6WC-cUbOZLuKa3iY_HlfqjUGzL8vthvERpnhBpBV_p-nKwgkzWjmvZUKxe7YAf1ydlENRDspY5k8XIFQ1Uvqs2BQGU5-gmMnJ33gwG7Ar42IsGrue8wz1GVE-tIt3RqEUA2isqHYCb0Af1iFUhT9_LcpEz0QPQ4oWoA/s2000/aDSCN2344.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5jjtX9xTS_c-HMFVkKUv0N1U6WC-cUbOZLuKa3iY_HlfqjUGzL8vthvERpnhBpBV_p-nKwgkzWjmvZUKxe7YAf1ydlENRDspY5k8XIFQ1Uvqs2BQGU5-gmMnJ33gwG7Ar42IsGrue8wz1GVE-tIt3RqEUA2isqHYCb0Af1iFUhT9_LcpEz0QPQ4oWoA/w400-h300/aDSCN2344.jpg" width="400" /></a></p><p style="clear: both; text-align: center;"></p><p style="text-align: left;">CD125のエンジンが調子悪くなったので分解して修理しました。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNnXuS46CE1WTMuVoYCs0RVaj_XT6mDyJL62s32KTVLT9j3bHv_7bRo3ZBjC5r-yx624-qc21HB-0hDM0o8l0FlSA-BsaE5KrjD-Y971a7CeLu2IjycC7XmCyBH1nbhG5kMMpxxNKNhwNYl5KnJYgGi1EOgU5-WWdnoVlH-4uJTLbg2qICBeW_n0Zk9g/s2000/aDSC_1498.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNnXuS46CE1WTMuVoYCs0RVaj_XT6mDyJL62s32KTVLT9j3bHv_7bRo3ZBjC5r-yx624-qc21HB-0hDM0o8l0FlSA-BsaE5KrjD-Y971a7CeLu2IjycC7XmCyBH1nbhG5kMMpxxNKNhwNYl5KnJYgGi1EOgU5-WWdnoVlH-4uJTLbg2qICBeW_n0Zk9g/w400-h300/aDSC_1498.JPG" width="400" /></a></div><span style="text-align: left;"><p style="text-align: left;">CD125で北海道を出発して日本一周していたら、四国くらいまで走ったところでだんだんエンジンが調子悪くなって、なかなか始動しないし、燃費も悪くなりました。日本一周ゴール間際にはエンジンの力が出なくて、速度が 50km/hくらいしか出なくなったりもしたのですが、なんとか家まで帰ってくることができました。</p></span><p style="text-align: left;">キックスターターを踏んだときにずいぶんとスカスカなので、圧縮が低下してしまったようです。</p><p style="text-align: left;"><br /></p><div style="margin-left: 1em; margin-right: 1em; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcZ9jhULM5MZAoRV4f6RARIy-BucshVm2gdI5kuCcoOaK-ZNvZOp4tHFrAC5DsacqttC6URiEiB3uXPEanzbE8vlI3vG8UGyqhf2pTK-GuNlxim3XCBvnIQKmPGdxK3-jBZrPPKf_sMyYzRUmtvxBp8awIn_rAe6JKR730VUt7ahkEAcZN1YlqSixOwA/s1920/a001.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcZ9jhULM5MZAoRV4f6RARIy-BucshVm2gdI5kuCcoOaK-ZNvZOp4tHFrAC5DsacqttC6URiEiB3uXPEanzbE8vlI3vG8UGyqhf2pTK-GuNlxim3XCBvnIQKmPGdxK3-jBZrPPKf_sMyYzRUmtvxBp8awIn_rAe6JKR730VUt7ahkEAcZN1YlqSixOwA/w400-h225/a001.jpg" width="400" /></a></div><p></p><p></p><p style="text-align: left;">どうやってエンジンを外すのかちょっと悩んだのですが、スターターモーターを先に外すとすんなりとエンジンを下ろすことができました。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha8JuG9EH0Y3aOJHZE5wMBI6QrQjDA-Ne80VWp09iLNfM7PqHd0n4DUcYtWzEtuIA1QcpMXHlXzRKcQ7Rm4NjLkwjU5IHLNHniDbVCzxcSGNLshPbB07LG7CPRpqV3-M9inrBZ51A_E71mixmDX4XrXcLt3WGM0lJHNazi-t8c_A-EvLJStmx73v7LCw/s2000/aDSCN2284.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha8JuG9EH0Y3aOJHZE5wMBI6QrQjDA-Ne80VWp09iLNfM7PqHd0n4DUcYtWzEtuIA1QcpMXHlXzRKcQ7Rm4NjLkwjU5IHLNHniDbVCzxcSGNLshPbB07LG7CPRpqV3-M9inrBZ51A_E71mixmDX4XrXcLt3WGM0lJHNazi-t8c_A-EvLJStmx73v7LCw/w400-h300/aDSCN2284.jpg" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUt_UlPTxcUCbPBHmbnGkuqJU5KVg-vs766ySLd5oQYEVAq48oozSsxclheukNNEzHOp1J3RVyAoM6xVtduruipRWJ09x8IyrAibRlTlVqh-rUOCCZ-VdsJ5WPD_N5rO61dHPSmAP5jLoSQ5cHrz9eToHE0wonBFVyMaSUxMFCxeUepmF0mjX_5dKj5g/s2000/aDSCN2288.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUt_UlPTxcUCbPBHmbnGkuqJU5KVg-vs766ySLd5oQYEVAq48oozSsxclheukNNEzHOp1J3RVyAoM6xVtduruipRWJ09x8IyrAibRlTlVqh-rUOCCZ-VdsJ5WPD_N5rO61dHPSmAP5jLoSQ5cHrz9eToHE0wonBFVyMaSUxMFCxeUepmF0mjX_5dKj5g/w400-h300/aDSCN2288.jpg" width="400" /></a></div><p style="text-align: left;">燃焼室、ピストン、シリンダーは特に異常ありませんでした。ススが多めですが古いエンジンですしこんなものでしょう。</p><p style="text-align: left;">シリンダーを締めている長いスタッドボルトが抜けなくて苦労しました。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf0KXfKS0KG_Nz0yTTumXmXiqojGPlvgLPQWWSfPtoQ4lGNvBR_obsITy1YxvA_z1L-ZaFoikVvJhus1TouhgB4Bk2ukUll_sdAl_ezPmKUGsp3criuZtYWFOPSyzVVyxCn9SUxeFNlbx6sQ_Xl7X8MCdBjuhOG4GXGBfWEf4Sxc7uKDiPtImwPj9o3w/s2000/aDSCN2317.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf0KXfKS0KG_Nz0yTTumXmXiqojGPlvgLPQWWSfPtoQ4lGNvBR_obsITy1YxvA_z1L-ZaFoikVvJhus1TouhgB4Bk2ukUll_sdAl_ezPmKUGsp3criuZtYWFOPSyzVVyxCn9SUxeFNlbx6sQ_Xl7X8MCdBjuhOG4GXGBfWEf4Sxc7uKDiPtImwPj9o3w/w400-h300/aDSCN2317.jpg" width="400" /></a></div><p style="text-align: left;">バルブを外してみてびっくり。カーボンがたっぷり付着していました。付着したカーボンが脱落してバルブに噛み込み、圧縮が低下したのだと思います。</p><p style="text-align: left;">バルブステムシールの劣化でオイルが侵入してこうなったのかな? 50年も昔のエンジンなのでしょうがありません。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrlOrW4WNjGYvzwKpgWVYat3ZownTTBzqenDZ-5Ia05-977ryLoZmFzz2vLv34mvKI5RiKoj5wRZk3GTpuFG7sjrMFp0EEnSRnLVKV4nDZxPADLRu9Yuh2HGGWBYGmETWg9sSOyBpXCq7k7Y7gles9anExp9ao6yjKXTzXnnyJ0F6HY7v6MbU6wz0jzA/s2000/aDSCN2318.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrlOrW4WNjGYvzwKpgWVYat3ZownTTBzqenDZ-5Ia05-977ryLoZmFzz2vLv34mvKI5RiKoj5wRZk3GTpuFG7sjrMFp0EEnSRnLVKV4nDZxPADLRu9Yuh2HGGWBYGmETWg9sSOyBpXCq7k7Y7gles9anExp9ao6yjKXTzXnnyJ0F6HY7v6MbU6wz0jzA/w400-h300/aDSCN2318.jpg" width="400" /></a></div><p style="text-align: left;">排気バルブはきれいでした。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitspkdgfv8Wf_4CV-Zo2wDAu89G1Q4BI5km1AjMXFjOyTUDqCeryvNIHkgLd1bAfRv53O2ndy8vpnxF7eSQBu9KDQ5kLfayFy4Alm6-Kdq9uSZk_MY-juUULA4-NHG259I0dR0bp3qEzdaKsu3NqcLLvNQew3fpkjEfx4DJUh1QvRBtEB6GYkLlg_9mg/s2000/aDSCN2360.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitspkdgfv8Wf_4CV-Zo2wDAu89G1Q4BI5km1AjMXFjOyTUDqCeryvNIHkgLd1bAfRv53O2ndy8vpnxF7eSQBu9KDQ5kLfayFy4Alm6-Kdq9uSZk_MY-juUULA4-NHG259I0dR0bp3qEzdaKsu3NqcLLvNQew3fpkjEfx4DJUh1QvRBtEB6GYkLlg_9mg/w400-h300/aDSCN2360.jpg" width="400" /></a></div><p style="text-align: left;">分解した部品はいつも通り、サンエスK1 で洗いました。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirnvr-PEsHCkL0lF-SoZp7sxcp12XAOV-stUhRJRXorM00XHpbXkZdceNbXrqR0VzTVz0-HGt5UCrsMX-IUk4BVGI4NrBeqg_bVJSUfjzZ4oZrdnETL4xO-Gs6ixu8YwZXTBIZRCKslYU4UuGqTNcTTgebUanui9w0Rv1Ek9i_rJ6YZuzFv1YMyAZy2w/s1920/001%20%E6%B4%97%E6%B5%84.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1920" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirnvr-PEsHCkL0lF-SoZp7sxcp12XAOV-stUhRJRXorM00XHpbXkZdceNbXrqR0VzTVz0-HGt5UCrsMX-IUk4BVGI4NrBeqg_bVJSUfjzZ4oZrdnETL4xO-Gs6ixu8YwZXTBIZRCKslYU4UuGqTNcTTgebUanui9w0Rv1Ek9i_rJ6YZuzFv1YMyAZy2w/w400-h225/001%20%E6%B4%97%E6%B5%84.jpg" width="400" /></a></div><p style="clear: both; text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLKqx1zFsmdcTC6ojE02cs40ehVLFUFBBUi4FphwBGxVISCJY5ElnPnMPjw6jVQLZBiVxZR6ZHDGzFhW0EGpHzraawgvuio4jKXXJWU6bN2MWdirhPKtAu7Ygke7Mpt3zZOJfvNDuEvZbJpNf-SznOYnqhD_nox9dYa54DFOpWZPIgGmeNT2-IaS9CeA/s2272/aDSCN2370.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1704" data-original-width="2272" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLKqx1zFsmdcTC6ojE02cs40ehVLFUFBBUi4FphwBGxVISCJY5ElnPnMPjw6jVQLZBiVxZR6ZHDGzFhW0EGpHzraawgvuio4jKXXJWU6bN2MWdirhPKtAu7Ygke7Mpt3zZOJfvNDuEvZbJpNf-SznOYnqhD_nox9dYa54DFOpWZPIgGmeNT2-IaS9CeA/w400-h300/aDSCN2370.jpg" width="400" /></a></div><p style="clear: both; text-align: left;">サンエスK1は、とてもきれいに汚れが落ちます。素手で扱うと指がひりひりするので手袋必要。</p><p style="clear: both; text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-NgWM0IkvNQB9KXINucNTVC816QHbFMPXGXrZt2HPR5HxNATMZkogUCqd1IfBpGPQWtXUjDKC-FEBmqzNDJG_ZfV0TAFMk_udBjxdBJ1bA9SndWljobHhA3gpz84Y18IxbCznD0HQ4eyv-cDYqt60nQRNxFf3i1qyI8m4rvHLcNSvvlf6pJ5ZEOitlg/s2000/aDSCN2435.jpg" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-NgWM0IkvNQB9KXINucNTVC816QHbFMPXGXrZt2HPR5HxNATMZkogUCqd1IfBpGPQWtXUjDKC-FEBmqzNDJG_ZfV0TAFMk_udBjxdBJ1bA9SndWljobHhA3gpz84Y18IxbCznD0HQ4eyv-cDYqt60nQRNxFf3i1qyI8m4rvHLcNSvvlf6pJ5ZEOitlg/w400-h300/aDSCN2435.jpg" width="400" /></a></div><p style="text-align: left;"></p><div><p style="text-align: left;">汚れがこびりついていないエンジン内の部品は、灯油で洗いました。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-ya_vFA1ElJ-B6b9U4KAYNTvOuRUVjasiVo-5-tFvbk50rgQummkpR5XlqIhvFdS9V1HhJdNfzyZ7O-Kwa7Rq0XYXVv0v-iNmo81ORhZaICrS1iuILhB6PBT2NVJ0ctqR0ufPRrBujkmaoHHrOa0grEF5Ok5eIMercD5m-4EJPNhEq_JupX4KE2yynA/s1471/aDSCN2385.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="887" data-original-width="1471" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-ya_vFA1ElJ-B6b9U4KAYNTvOuRUVjasiVo-5-tFvbk50rgQummkpR5XlqIhvFdS9V1HhJdNfzyZ7O-Kwa7Rq0XYXVv0v-iNmo81ORhZaICrS1iuILhB6PBT2NVJ0ctqR0ufPRrBujkmaoHHrOa0grEF5Ok5eIMercD5m-4EJPNhEq_JupX4KE2yynA/w400-h241/aDSCN2385.jpg" width="400" /></a></div><p style="text-align: left;">バルブを洗うと、排気バルブのバルブフェースがでこぼこになっていました。カーボンを噛み込むとこんなになってしまうんですね。</p><p style="text-align: left;">吸気バルブは問題ありませんでした。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwtXMllGjl1Qd1Pq5ZuSGO8at_ph86aqVa8trL5kqYBt93NdhkkEeCYpVWHCFCbjphgHika_g8-Zgw8sKDM4r-MFHAZ4QYxE89YHURcfmSG3P3F8QifrjmNCL-FzKoRm__STIdS70axq92qf4Wq7vwiyxNRDH0AsALqdIlQoeEfXFZ_jZxpus8KlybXQ/s1749/aDSCN2416.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1209" data-original-width="1749" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwtXMllGjl1Qd1Pq5ZuSGO8at_ph86aqVa8trL5kqYBt93NdhkkEeCYpVWHCFCbjphgHika_g8-Zgw8sKDM4r-MFHAZ4QYxE89YHURcfmSG3P3F8QifrjmNCL-FzKoRm__STIdS70axq92qf4Wq7vwiyxNRDH0AsALqdIlQoeEfXFZ_jZxpus8KlybXQ/w400-h276/aDSCN2416.jpg" width="400" /></a></div><p style="text-align: left;">でこぼこになった排気バルブを旋盤で軽く削りました。</p></div><div><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Kx76bRX5Mxub38y21tvJrAzv6tI6enIMSgeneIpAwqWwMWmU_HQkNXNsgDPNt-ko1tOT1zYOnjlJMNEXdhyvp9w44D59W8N84n98bKhFXd6MBU9GeiCgLoTnC7Ol6T3Jj9HUeaXpW_tbLP4qL6OGIlsDnrmebYofcsGrmzBLMpSfYbu2Spau3LFPyg/s2000/aDSCN2392.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Kx76bRX5Mxub38y21tvJrAzv6tI6enIMSgeneIpAwqWwMWmU_HQkNXNsgDPNt-ko1tOT1zYOnjlJMNEXdhyvp9w44D59W8N84n98bKhFXd6MBU9GeiCgLoTnC7Ol6T3Jj9HUeaXpW_tbLP4qL6OGIlsDnrmebYofcsGrmzBLMpSfYbu2Spau3LFPyg/w400-h300/aDSCN2392.jpg" width="400" /></a></div><p style="text-align: left;">バルブシートはそれほど傷んでいないので、このまますり合わせて使いました。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuBl7HiRQ8LCjiKRptXvV2qsxdgLnaJBTVAdAL2ajiZx-qkSeSVnkM0WnE9kpdZg6U52Q0_MVIGNBC_6ozhgTYyHE09HqdCaWGwQprB8m5Oei0RFVXTKMdqZe2mBDxQ6qWXhaJLEDr8xJEu8bXpqJb-GFll5y3bbIHJZnjNM3U1DrZyFLiaTTL4Egw0w/s2000/aDSCN2397.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuBl7HiRQ8LCjiKRptXvV2qsxdgLnaJBTVAdAL2ajiZx-qkSeSVnkM0WnE9kpdZg6U52Q0_MVIGNBC_6ozhgTYyHE09HqdCaWGwQprB8m5Oei0RFVXTKMdqZe2mBDxQ6qWXhaJLEDr8xJEu8bXpqJb-GFll5y3bbIHJZnjNM3U1DrZyFLiaTTL4Egw0w/w400-h300/aDSCN2397.jpg" width="400" /></a></div><p style="text-align: left;">燃焼室とピストンに傷がありました。カーボンを噛み込んでできた傷かな?</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Gu9tizx7rnYR29o4HfUSwKTHpS__i9--QTuhOgeqOjnV6oK6yo6zKmuazjYDxab_Eto2T8qx0_EmBSyo0OErGKq9WYUUZkJql5W7j_vfeVZGTmP4Rg4fz0CAtwpJ60CeOYMtWJYDyRMHyLysQGua4pYtrjISRcYREY5Ut4gmzUJa3zhGtui5jXgrrg/s2000/aDSCN2432.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Gu9tizx7rnYR29o4HfUSwKTHpS__i9--QTuhOgeqOjnV6oK6yo6zKmuazjYDxab_Eto2T8qx0_EmBSyo0OErGKq9WYUUZkJql5W7j_vfeVZGTmP4Rg4fz0CAtwpJ60CeOYMtWJYDyRMHyLysQGua4pYtrjISRcYREY5Ut4gmzUJa3zhGtui5jXgrrg/w400-h300/aDSCN2432.jpg" width="400" /></a></div><p style="text-align: left;">バルにコンパウンドをつけてすり合わせました。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYoo5TNrgvlApY27qBbIWKfaX1zIiZvAeWgAuZO-Br5s-i6qzY8kCVqmFLCp80Cf8Z0gqROPMkBJniw5LY_zmNCFfDM5MLMtJm7CuH35JZNP0SAsORAnqXMq_FuRtNyk0SwucoT8gn3JHMSLclfoGrvK2ezCUEwo2sxPB5wcDQgRiW4nyfjTVEE03JHQ/s2000/aDSCN2426.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYoo5TNrgvlApY27qBbIWKfaX1zIiZvAeWgAuZO-Br5s-i6qzY8kCVqmFLCp80Cf8Z0gqROPMkBJniw5LY_zmNCFfDM5MLMtJm7CuH35JZNP0SAsORAnqXMq_FuRtNyk0SwucoT8gn3JHMSLclfoGrvK2ezCUEwo2sxPB5wcDQgRiW4nyfjTVEE03JHQ/w400-h300/aDSCN2426.jpg" width="400" /></a></div><p style="text-align: left;">きれいになりました。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3XTy0hg96RLZyef6NPOPkhVjOaggipvWs18G9dqRbXc2ofO4NEZmJPp2QMxSxqzLgxDp-j5MimEwuuejgvS2hqe7mrqkZp5Z05Q6kd_JRnhFvd5SIBkiesUDbC3vThWBtoTdqOgrKcl-NKARmKtzYt5zbpI3lK744uJ_Y0gnRTj4-SHNKoUkseRwN7w/s2000/aDSCN2428.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3XTy0hg96RLZyef6NPOPkhVjOaggipvWs18G9dqRbXc2ofO4NEZmJPp2QMxSxqzLgxDp-j5MimEwuuejgvS2hqe7mrqkZp5Z05Q6kd_JRnhFvd5SIBkiesUDbC3vThWBtoTdqOgrKcl-NKARmKtzYt5zbpI3lK744uJ_Y0gnRTj4-SHNKoUkseRwN7w/w400-h300/aDSCN2428.jpg" width="400" /></a></div><p style="text-align: left;">灯油が漏れなくなるまですり合わせました。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB_Jyr0xuC4_MKO2WgqbSxuM8Bc-nCSKQgJTq_oR9G6XsMFrgR-LXO28migW8SyL40HDHglNvIPZEyTsLRbQRdPKcAJTRFSx_GQTJlYAv6aSYSHslLufBuu12F5jm3iQa7_3XEQh9IpilxiI-cSIsJxAwzc4KHn-ASkml53T2Qixp_nwx-nxjCRW_nzw/s2000/aDSCN2577.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB_Jyr0xuC4_MKO2WgqbSxuM8Bc-nCSKQgJTq_oR9G6XsMFrgR-LXO28migW8SyL40HDHglNvIPZEyTsLRbQRdPKcAJTRFSx_GQTJlYAv6aSYSHslLufBuu12F5jm3iQa7_3XEQh9IpilxiI-cSIsJxAwzc4KHn-ASkml53T2Qixp_nwx-nxjCRW_nzw/w400-h300/aDSCN2577.jpg" width="400" /></a></div><p style="text-align: left;">元通りに組み立てます。</p><p style="text-align: left;">バイクのエンジンを分解するのは初めてだったので、トランスミッションの動きをじっくり見たりして楽しみました。</p><p style="text-align: left;">サービスマニュアルを入手できなかったので、「HONDA 二輪整備ハンドブック」に載っている CD125Tの締め付けトルクを見ながら組み立てました。</p><p style="text-align: left;">オイルシールを入れるときに、シフトフォークが外れてしまったのに気付かず蓋を閉めてボルトを締めてしまって、あとで変速できないのに気付いて再度分解して組み立て直すハメになりました😆</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAiP85-1OLOBp9xTxh7efSveSlA2jVdjG-oe7upVj3SYKiWGAg7gEZKR3lmwIhnl8E0FTH1WR8sFNkdXSbkzrfsp12MvmHKdYVzBENNXt-7WwYq2uc6q3FWpxJBGZ3tb4mHdHnNC4VKRGNpZvHs_JJooamqM_LFU3MPhDpC9mivlSM6McOEZOvuhBq8g/s2000/aDSCN2579.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAiP85-1OLOBp9xTxh7efSveSlA2jVdjG-oe7upVj3SYKiWGAg7gEZKR3lmwIhnl8E0FTH1WR8sFNkdXSbkzrfsp12MvmHKdYVzBENNXt-7WwYq2uc6q3FWpxJBGZ3tb4mHdHnNC4VKRGNpZvHs_JJooamqM_LFU3MPhDpC9mivlSM6McOEZOvuhBq8g/w400-h300/aDSCN2579.jpg" width="400" /></a></div><p style="clear: both; text-align: left;">ピストンをシリンダーに入れるために、ピストンリングコンプレッサーが必要でした。単気筒と同じく指でピストンリングを押さえながら入れようとしたのですが、腕二本では不足でした。</p><p style="clear: both; text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8MJN_HMaDD_dtpLPuBnZwpCOSSc4WZWor7723G8mzVp_QQ3aL-_bqPAO4tYoLYvpLcbrBQcLzt1-lf_xsy5iI8J3I5ivKdl979ihiy1xtOgx8uNdYO0FRPU4AXDn2ESi7eQkAcXgthCeJ3ZbaswRRWnPEJ5SqrAMNVF-CQZwx5NhqxKRtgPCav7FNFg/s2000/aDSCN2529.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8MJN_HMaDD_dtpLPuBnZwpCOSSc4WZWor7723G8mzVp_QQ3aL-_bqPAO4tYoLYvpLcbrBQcLzt1-lf_xsy5iI8J3I5ivKdl979ihiy1xtOgx8uNdYO0FRPU4AXDn2ESi7eQkAcXgthCeJ3ZbaswRRWnPEJ5SqrAMNVF-CQZwx5NhqxKRtgPCav7FNFg/w400-h300/aDSCN2529.jpg" width="400" /></a></div><p style="text-align: left;">バルブステムシールは純正部品を購入することができたのですが、それ以外のガスケットとオイルシールは純正部品がもう入手できなくて、ヤフオクでタイ製の部品を購入しました。</p><p style="text-align: left;">部品代合計 12,000円くらいでした。バルブステムシールが一番高かった。</p><p style="text-align: left;"><br /></p></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb59M21xjYc6zB08ewq8soJpjoUNJAn4IZI29ziW6D0JM2HBOCvr_S7WFOd7fFft5RWZj_wpbbl-aRrtS8EDNXueJLr8j_m03Up3UkC9o4dhZopd0_u8o4vOpRHy2wFdDo2JTOKg52VZ-o1s8049HzlIZIxLXWMH6itv1xvNxiChWdlDuqDZ-VQ_AhZg/s2000/aDSCN2607.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1499" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb59M21xjYc6zB08ewq8soJpjoUNJAn4IZI29ziW6D0JM2HBOCvr_S7WFOd7fFft5RWZj_wpbbl-aRrtS8EDNXueJLr8j_m03Up3UkC9o4dhZopd0_u8o4vOpRHy2wFdDo2JTOKg52VZ-o1s8049HzlIZIxLXWMH6itv1xvNxiChWdlDuqDZ-VQ_AhZg/w400-h300/aDSCN2607.jpg" width="400" /></a></div><p style="text-align: left;">エンジンを車体に載せて、作業完了です。圧縮も回復して調子良くなりました。</p><p style="text-align: left;">エンジンを洗って見た目もきれいになりました。</p><p style="text-align: left;"><br /></p>
<p style="text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/eV-e0XjGCWw" title="YouTube video player" width="560"></iframe></p><p style="text-align: left;"><br /></p><p style="text-align: left;"><a href="https://kyouichisato.blogspot.com/2020/10/cd125k4.html">ホンダ CD125K4 目次</a></p></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-3397077542986541092023-05-15T11:12:00.003+09:002023-05-15T11:35:28.418+09:00中古 4Kモニタを購入 PHILIPS 288P6LJEB1/11<p></p><p style="text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVUzh83b5qP7d41xOIaa29Xd9dS-nfl9ty8e0DpxG9SV2Up5O09O3Z_y7LXlt0YJVOr2E3F89E1bPcBJhEiu4cmtQF7nLBA4ODR5QAeoKlPNqnEVtvnMpWAe_s-u1vwUQCXVYABdCR05IWrIPcy26uAut8h4LFihcFh1gehkAQug7BDLW4K7kDt0yM1A/s4608/aIMG_20230514_121311055.jpg" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="3456" data-original-width="4608" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVUzh83b5qP7d41xOIaa29Xd9dS-nfl9ty8e0DpxG9SV2Up5O09O3Z_y7LXlt0YJVOr2E3F89E1bPcBJhEiu4cmtQF7nLBA4ODR5QAeoKlPNqnEVtvnMpWAe_s-u1vwUQCXVYABdCR05IWrIPcy26uAut8h4LFihcFh1gehkAQug7BDLW4K7kDt0yM1A/w400-h300/aIMG_20230514_121311055.jpg" width="400" /></a></p>中古の 28型 4K (3840 x 2160) モニタを購入しました。送料込み 9,500円くらいでした。<p></p><p>外装は傷だらけですが、画面に傷は無く表示は綺麗でした。2015年ころ発売の機種のようです。画面の回転ができて、高さの調整範囲がかなり広い結構良いスタンドが付いています。</p><p>消費電力は</p><p></p><ul style="text-align: left;"><li>輝度最小 23W</li><li>輝度最大 46W</li></ul><p></p><p>で、FullHDのモニタより 5Wくらい大きいかなという程度でした。直射日光が当たらない屋内なら輝度最小でも明るすぎて眩しいので、コントラストも下げて暗くして使っています。</p><p>画面の面積、解像度とも、ちょうど FullHDのノートPCの画面を 4枚並べたのと同等で、とても広く使えます。良い買い物でした。</p><p>設定で HDMI 1.4 / HDMI 2.0 を選択できるのですが、初期設定で HDMI 1.4になっていて、4K解像度ではリフレッシュレートが 30FPSになってしまって、どうしてだろう? としばらく悩んだのですが、モニタの設定で HDMI 2.0に変更すると 60FPSで表示できて解決しました。</p><p><br /></p>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-51055248124087281252023-05-14T08:04:00.002+09:002023-05-14T08:21:41.446+09:00Lenovo ThinkCenter M73 Tiny 中古パソコンを購入<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzyDgzm3uFUaPbhdDL5tvb9jawZrb3C5nr2dcthtEbrkRbLc7CxO1x3VIGKv_XzJpZhwc-uZxjfVzZgQYOkBZeGRZVT0J-VIRPMMc8ajO8akg4qBSAYY0jafG5uZC1tDGnjIGt4AyoKuf92oSCqQaQ_AgMUbl2SJlCQms-stZC4UgqG4hWEe5N0yAsqw/s4608/aIMG_20230509_050605059.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3456" data-original-width="4608" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzyDgzm3uFUaPbhdDL5tvb9jawZrb3C5nr2dcthtEbrkRbLc7CxO1x3VIGKv_XzJpZhwc-uZxjfVzZgQYOkBZeGRZVT0J-VIRPMMc8ajO8akg4qBSAYY0jafG5uZC1tDGnjIGt4AyoKuf92oSCqQaQ_AgMUbl2SJlCQms-stZC4UgqG4hWEe5N0yAsqw/w400-h300/aIMG_20230509_050605059.jpg" width="400" /></a></div><p style="text-align: left;">小型の中古パソコンを購入しました。</p><p style="text-align: left;">Lenovo ThinkCenter M73 Tiny</p><p style="text-align: left;"></p><ul style="text-align: left;"><li>Core i3-4170T</li><li>メモリ 8GB</li><li>SSD 120GB</li><li>OS無し(データクリア済)</li><li>4,425円(送料込み)</li></ul><p style="text-align: left;">です。</p><p style="text-align: left;">OSは Windows 10 Proをインストールしたらそのまま認証されました。</p><p style="text-align: left;">Windows 8以降くらいのメーカー製PCなら、ハードウェアにライセンスが紐付けされているので OS無しの中古PCを購入しやすくなりました。</p><div><p></p><p style="text-align: left;"><br /></p><div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeX2AfiFxnpgligOwHfX2ygbBFtTjjU0XrvpsDdD1098TQN1eholl7XjwAGFPayjMT4VwTUyjD1zP9dU0nIxZCA41BvXK-CFxROjp9GlGrMlSdH5nFDpBstBo9rPi0Q8FdVikeqOp2X93SbHFbXIzeuZhxMC3vJDOGuxpllD6ueccHZoDvTteHWdfmyQ/s4608/aIMG_20230509_051054874.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3456" data-original-width="4608" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeX2AfiFxnpgligOwHfX2ygbBFtTjjU0XrvpsDdD1098TQN1eholl7XjwAGFPayjMT4VwTUyjD1zP9dU0nIxZCA41BvXK-CFxROjp9GlGrMlSdH5nFDpBstBo9rPi0Q8FdVikeqOp2X93SbHFbXIzeuZhxMC3vJDOGuxpllD6ueccHZoDvTteHWdfmyQ/w400-h300/aIMG_20230509_051054874.jpg" width="400" /></a></div><p style="text-align: left;">去年の秋に購入して、冬の間毎日台所PCとして使用していました。第7世代くらいまでのノートPC用の Core i5と同じくらいの性能なので、動画の書き出し以外の事務作業のような普通の用途には<a href="https://docs.google.com/spreadsheets/d/1ET0fiwofDUuiZML73IhU2rAnSz8LL1ysXCMlHHnn4Ec/edit?usp=sharing">十分な性能</a>でした。</p></div><p style="text-align: left;">冬の間は台所を温めておかないと水道が凍結してしまうので、ずっと台所で過ごさなきゃいけません😊</p></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-38908405669459641182023-05-13T10:31:00.009+09:002023-10-23T21:24:28.083+09:001円のRakuten Hand 5Gを購入 良い端末だった<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXzvIVLNrBwsNfQe_4Fs54ZxvQS7eUbaO9vQ4WVfp6fVE0CEv67JkwrsirUquDn6Fwk-vAh1eDK0OR3f-7c2vd0gwC2b9iGBFYnccIy1yQikumoZb4JCfuqHlJ3p-3t3X1sAyGP5f0WQDPteRB_27xhIqy8RiyD2Dg4P39MJZX6_UBY_r1Xc0Q4RObAQ/s6000/aDSC_3242.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="6000" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXzvIVLNrBwsNfQe_4Fs54ZxvQS7eUbaO9vQ4WVfp6fVE0CEv67JkwrsirUquDn6Fwk-vAh1eDK0OR3f-7c2vd0gwC2b9iGBFYnccIy1yQikumoZb4JCfuqHlJ3p-3t3X1sAyGP5f0WQDPteRB_27xhIqy8RiyD2Dg4P39MJZX6_UBY_r1Xc0Q4RObAQ/w400-h266/aDSC_3242.jpg" width="400" /></a></div>楽天モバイルで 1円の Rakuten Hand 5Gを購入しました。<p></p><p>楽天モバイルのサービスエリア地図を見ると、自宅が 5G Sub6エリア内なのですが、5G対応端末を持っていないので、モバイルルーター代わりに買ってみました。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8WiyABZhCGk2ltILLcBhA0TyfwFpJ6cFCGxi7jkQullAb-X8mEWI4cNNMwSbEfgkuQl8D-UUzj1_Zl3QIw_RGRYZ4xWBIq6WHnxzn2ODQ2CdKNMckVc7pttcPEjibzGx0sItCNmEt8KzMZABs4d7mN1jhP1qY7oF4-L_VAnqs_HhA1mISx7GOGIRqpQ/s5600/aDSC_3249.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="5600" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8WiyABZhCGk2ltILLcBhA0TyfwFpJ6cFCGxi7jkQullAb-X8mEWI4cNNMwSbEfgkuQl8D-UUzj1_Zl3QIw_RGRYZ4xWBIq6WHnxzn2ODQ2CdKNMckVc7pttcPEjibzGx0sItCNmEt8KzMZABs4d7mN1jhP1qY7oF4-L_VAnqs_HhA1mISx7GOGIRqpQ/w400-h286/aDSC_3249.jpg" width="400" /></a></div><p style="text-align: left;">1周間使ってみると、今まで使っていた AQUOS sense4 liteよりも小さくて軽く、持ちやすいので SIMを移して Rakuten Hand 5Gをずっと使うことにしました。Rakuten Handは SIMカードではなく eSIMなので、SIMの再発行手続きが必要なのですが、楽天モバイルは手数料無料でネットで簡単に手続きできました。数分で電話番号の移動完了です。</p><div><p></p><p>指紋センサーの読み取りも調子良くて、読み取りエラーが少なくとても快適です。AQUOS senseの指紋センサーはなかなか読み取ってくれなくて、PINを使用することが多かった。</p><p>Rakuten Handは大きさが小さい分バッテリー容量が少なく、AQUOS senseよりバッテリーの減りが早めなのですが、それでもyoutubeを4時間くらい見た日で寝るときにバッテリー残量が 40%くらいなので、十分かなという感じです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEFcUcdUb8njC1AwbhvVSkIPcVtqG7sDy7RarbmEHymnei_36v7CfpTn3nZSwOpbyFMJ-MvKiHdxoWJgZdpe5PbVT5uaPtYvB8HNNvieejKp01qTwVrQuIkcCzJiMP5-yRs2nwd5LIy8Qs3ptG2wd5Ok4Rb8EsmVlPZSa0kxCBY5zCVDakTK_83nMdbA/s5600/aDSC_3250.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="5600" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEFcUcdUb8njC1AwbhvVSkIPcVtqG7sDy7RarbmEHymnei_36v7CfpTn3nZSwOpbyFMJ-MvKiHdxoWJgZdpe5PbVT5uaPtYvB8HNNvieejKp01qTwVrQuIkcCzJiMP5-yRs2nwd5LIy8Qs3ptG2wd5Ok4Rb8EsmVlPZSa0kxCBY5zCVDakTK_83nMdbA/w400-h286/aDSC_3250.jpg" width="400" /></a></div>AQUOS senseはバッテリー容量が大きくて、一日中動画を見ても夜までバッテリーが持ちます。バイクで遠くに出かけるときには充電の心配をしなくて済むので便利でした。<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiy4O2hplR1TAmH3hNTynfgsp5-m-v62cJ9ACGfLyzob2C3rB8dZaR_ll1GSFd3D_E-ZcAHgnuabKQa0Uz9FSFDTz5Y3dDuMhnNez3WfRISyjRdt106qf2cd0V7SQR88M58UHPYWtdfsHdpc0GCfuZiCQ1yEENu8uIwL9y1Z-4wXxBq81jYD0dojNTug/s5847/aDSC_3246.jpg" style="margin-left: 1em; margin-right: 1em;"><br /><img border="0" data-original-height="3899" data-original-width="5847" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiy4O2hplR1TAmH3hNTynfgsp5-m-v62cJ9ACGfLyzob2C3rB8dZaR_ll1GSFd3D_E-ZcAHgnuabKQa0Uz9FSFDTz5Y3dDuMhnNez3WfRISyjRdt106qf2cd0V7SQR88M58UHPYWtdfsHdpc0GCfuZiCQ1yEENu8uIwL9y1Z-4wXxBq81jYD0dojNTug/w400-h266/aDSC_3246.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><google-sheets-html-origin style="text-align: start;"><table border="1" cellpadding="0" cellspacing="0" dir="ltr" style="border-collapse: collapse; border: none; font-family: Arial; font-size: 10pt; table-layout: fixed; width: 0px;" xmlns="http://www.w3.org/1999/xhtml"><colgroup><col width="143"></col><col width="184"></col><col width="184"></col></colgroup><tbody><tr style="height: 21px;"><td style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;"></td><td data-sheets-value="{"1":2,"2":"Rakuten Hand 5G"}" style="border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow-wrap: break-word; overflow: hidden; padding: 2px 3px; vertical-align: top;">Rakuten Hand 5G</td><td data-sheets-value="{"1":2,"2":"AQUOS sense4 lite"}" style="border: 1px solid rgb(204, 204, 204); font-weight: bold; overflow-wrap: break-word; overflow: hidden; padding: 2px 3px; vertical-align: top;">AQUOS sense4 lite</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"サイズ"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">サイズ</td><td data-sheets-value="{"1":2,"2":"138 x 63 x 9.5"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">138 x 63 x 9.5</td><td data-sheets-value="{"1":2,"2":"148 x 71 x 8.9"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">148 x 71 x 8.9</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"重量"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">重量</td><td data-sheets-value="{"1":2,"2":"134g"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">134g</td><td data-sheets-value="{"1":2,"2":"176g"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">176g</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"OS"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">OS</td><td data-sheets-value="{"1":2,"2":"Android 11"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">Android 11</td><td data-sheets-value="{"1":2,"2":"Android 10 (Android 11 アップデートあり)"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">Android 10 (Android 11 アップデートあり)</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"SoC"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">SoC</td><td data-sheets-value="{"1":2,"2":"Qualcomm Snapdragon 480"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">Qualcomm Snapdragon 480</td><td data-sheets-value="{"1":2,"2":"Qualcomm Snapdragon 720G"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">Qualcomm Snapdragon 720G</td></tr><tr style="height: 21px;"><td style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;"></td><td data-sheets-value="{"1":2,"2":"オクタコア 2.2GHz + 2.0GHz + 1.9GHz + 1.8GHz"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">オクタコア 2.2GHz + 2.0GHz + 1.9GHz + 1.8GHz</td><td data-sheets-value="{"1":2,"2":"オクタコア 2.3GHz+1.8GHz"}" style="border: 1px solid rgb(204, 204, 204); overflow-wrap: break-word; overflow: hidden; padding: 2px 3px; vertical-align: top;">オクタコア 2.3GHz+1.8GHz</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"ディスプレイ"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">ディスプレイ</td><td data-sheets-value="{"1":2,"2":"5.1インチ 1,520 × 720"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">5.1インチ 1,520 × 720</td><td data-sheets-value="{"1":2,"2":"5.8インチ 2,280 × 1,080"}" style="border: 1px solid rgb(204, 204, 204); overflow-wrap: break-word; overflow: hidden; padding: 2px 3px; vertical-align: top;">5.8インチ 2,280 × 1,080</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"カメラ"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">カメラ</td><td data-sheets-value="{"1":2,"2":"メイン 6,400万画素"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">メイン 6,400万画素</td><td data-sheets-value="{"1":2,"2":"広角 1,200万画素"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">広角 1,200万画素</td></tr><tr style="height: 21px;"><td style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;"></td><td data-sheets-value="{"1":2,"2":"深度用 200万画素"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">深度用 200万画素</td><td data-sheets-value="{"1":2,"2":"標準 約800万画素"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">標準 約800万画素</td></tr><tr style="height: 21px;"><td style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;"></td><td data-sheets-value="{"1":2,"2":"フロント 1,600万画素"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">フロント 1,600万画素</td><td data-sheets-value="{"1":2,"2":"フロント 800万画素"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">フロント 800万画素</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"カメラ手ぶれ補正"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">カメラ手ぶれ補正</td><td data-sheets-value="{"1":2,"2":"なし"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">なし</td><td data-sheets-value="{"1":2,"2":"あり"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">あり</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"RAM"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">RAM</td><td data-sheets-value="{"1":2,"2":"4GB"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">4GB</td><td data-sheets-value="{"1":2,"2":"4GB"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">4GB</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"内部ストレージ"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">内部ストレージ</td><td data-sheets-value="{"1":2,"2":"128GB"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">128GB</td><td data-sheets-value="{"1":2,"2":"64GB"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">64GB</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"外部ストレージ"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">外部ストレージ</td><td data-sheets-value="{"1":2,"2":"なし"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">なし</td><td data-sheets-value="{"1":2,"2":"microSDXC"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">microSDXC</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"バッテリー"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">バッテリー</td><td data-sheets-value="{"1":2,"2":"2,630mAh"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">2,630mAh</td><td data-sheets-value="{"1":2,"2":"4,570mAh"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">4,570mAh</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"充電端子"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">充電端子</td><td data-sheets-value="{"1":2,"2":"USB Type-C"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">USB Type-C</td><td data-sheets-value="{"1":2,"2":"USB Type-C"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">USB Type-C</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"連続通話時間"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">連続通話時間</td><td data-sheets-value="{"1":2,"2":"LTE : 26.6時間"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">LTE : 26.6時間</td><td data-sheets-value="{"1":2,"2":"VoLTE:63.3時間"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">VoLTE:63.3時間</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"連続待受時間"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">連続待受時間</td><td data-sheets-value="{"1":2,"2":"343時間"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">343時間</td><td data-sheets-value="{"1":2,"2":"LTE:1,020時間"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">LTE:1,020時間</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"LTE通信速度(最大)"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">LTE通信速度(最大)</td><td data-sheets-value="{"1":2,"2":"受信 400Mbps / 送信 102Mbps"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">受信 400Mbps / 送信 102Mbps</td><td data-sheets-value="{"1":2,"2":"受信 200Mbps / 送信 75Mbps"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">受信 200Mbps / 送信 75Mbps</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"Sub6(6G)通信速度(最大)"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">Sub6(5G)通信速度(最大)</td><td data-sheets-value="{"1":2,"2":"受信 2,200Mbps / 送信 142Mbps"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">受信 2,200Mbps / 送信 142Mbps</td><td data-sheets-value="{"1":2,"2":"非対応"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">非対応</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"おサイフケータイ"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">おサイフケータイ</td><td data-sheets-value="{"1":2,"2":"対応"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">対応</td><td data-sheets-value="{"1":2,"2":"対応"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">対応</td></tr><tr style="height: 21px;"><td data-sheets-value="{"1":2,"2":"防水"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">防水</td><td data-sheets-value="{"1":2,"2":"IPX8 / IP6X"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">IPX8 / IP6X</td><td data-sheets-value="{"1":2,"2":"IPX5 / IPX8 / IP6X"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: top;">IPX5 / IPX8 / IP6X</td></tr></tbody></table></google-sheets-html-origin></div><p style="clear: both; text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><p style="text-align: left;">処理速度はどちらも同じくらいです。画面解像度が低いのは画面自体が小さいので気になりませんでした。</p><p style="text-align: left;">重量の差は 40gくらいしかないのですが、実際に持ってみるとずいぶん差が大きく感じました。</p><p style="text-align: left;">Rakuten Handはスピーカーの音もけっこう良くて、低音がよく出て聞きやすいのが良い。</p><p style="text-align: left;">カメラは手ぶれ補正がないのですが、画質はそこそこ良くて十分使えます。</p><p style="text-align: left;">画面に指紋がつきにくい処理がしてあって、これも良い。</p><p style="text-align: left;">使用初日はびっくりするほどバッテリーの消費が早かったのですが、システムアップデートが複数回あったせいなのかな? 次の日からは普通で、バッテリーは十分1日持つ感じです。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv0RZnqweIQsrWSOKb3ToNUrvvZQNH3yHV0B35qW9JfGbcUxI0vtk7IWErJg9Ags32V5O1FiVD1r71xhJaIdXcgBW4hBpIecBPSadH7E8xZ5GdouZeapzaZEXn3Odlc_A7RlCGM7MqDnaSVG50hB7i6kTqGsQQTTH-nALVb7H8bNqfq9Ox1U78NbUqwg/s1074/aScreenshot_20230502-164538.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1074" data-original-width="720" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv0RZnqweIQsrWSOKb3ToNUrvvZQNH3yHV0B35qW9JfGbcUxI0vtk7IWErJg9Ags32V5O1FiVD1r71xhJaIdXcgBW4hBpIecBPSadH7E8xZ5GdouZeapzaZEXn3Odlc_A7RlCGM7MqDnaSVG50hB7i6kTqGsQQTTH-nALVb7H8bNqfq9Ox1U78NbUqwg/w269-h400/aScreenshot_20230502-164538.png" width="269" /></a></div><p style="text-align: left;">自宅が 5G (Sub6) のエリア内なので通信速度が速くなるのかなと思って、モバイルルーターとして使うつもりで Rakuten Handを買ったのですが、端末のアンテナピクトは 5Gで電波最大になっているのに、端末の設定で「5Gを有効化」を ONにしていると通信できませんでした。</p><p style="text-align: left;">基地局から 200~300mくらいなんだけど、物陰なのかな?</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfiFKHh1hFCC3nXWZDZNcXA9uPsSdPOBTCe2-DLtEpmtx4pdLNcN9st5omc7-bpXo90Ce72_eEHmWwkc7WK4dPrL7X4xQXeGceJwrU_-LuHXsVju4yZ-9Tj3NVlhOo41rQwbxknJ7C1yfG3psxexBdN9MpsX7q_zSqNVraMEDFTHQaOly1O1TvAINpVg/s2000/aIMG_20230519_093301499.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2000" data-original-width="1500" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfiFKHh1hFCC3nXWZDZNcXA9uPsSdPOBTCe2-DLtEpmtx4pdLNcN9st5omc7-bpXo90Ce72_eEHmWwkc7WK4dPrL7X4xQXeGceJwrU_-LuHXsVju4yZ-9Tj3NVlhOo41rQwbxknJ7C1yfG3psxexBdN9MpsX7q_zSqNVraMEDFTHQaOly1O1TvAINpVg/s320/aIMG_20230519_093301499.jpg" width="240" /></a></div><p style="text-align: left;">後日、基地局のすぐそばまで行って試してみたのですが、同じく 5Gではまったく通信できませんでした。なにか不具合が出ているのかな?</p><p style="text-align: left;"><br /></p></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF9wZXYC0GN98sZtO0f1BAVNDpAp9saCEP4bJY3KTdKzbCSpa0wnQumc7Is6VweF_UfqLChw1mlczmdxKTv3a4iwiQKH5ErBu-x-kMKNIElQEHXFK9coZyYP5h_uyIZe8eXbGHgDNf0Un_N7bRAs6ciZX3abpu6EjM7Nt8JTZtKSJ6Ut-hRFEbiscdBg/s1071/aScreenshot_20230502-164626.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1071" data-original-width="719" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF9wZXYC0GN98sZtO0f1BAVNDpAp9saCEP4bJY3KTdKzbCSpa0wnQumc7Is6VweF_UfqLChw1mlczmdxKTv3a4iwiQKH5ErBu-x-kMKNIElQEHXFK9coZyYP5h_uyIZe8eXbGHgDNf0Un_N7bRAs6ciZX3abpu6EjM7Nt8JTZtKSJ6Ut-hRFEbiscdBg/w269-h400/aScreenshot_20230502-164626.png" width="269" /></a></div>5Gを無効にしておけば、LTE (4G) で通信できます。通信速度が 50Mbpsくらい安定して出るのでLTEでも十分です。</div><div><br /></div><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipilaWCmUi1d5j3fTJZwtcn-vGdKqSlVyvK8tIDyv4Nb9AcUxr8GG_-fEXSKjxsNi-GeR2rMQ3crofEsTUsyAjYEbXFDLEtVq3rMeTxZgz_qyY9KKzlUYlIX4rDmfVY81eDInVviClq4wDRRCIc8KQJIUrbpPFu-i-UeWKOY1FscY78t6PRh_z6SBajIeZ/s1059/Screenshot_20231013-091036_s.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1059" data-original-width="720" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipilaWCmUi1d5j3fTJZwtcn-vGdKqSlVyvK8tIDyv4Nb9AcUxr8GG_-fEXSKjxsNi-GeR2rMQ3crofEsTUsyAjYEbXFDLEtVq3rMeTxZgz_qyY9KKzlUYlIX4rDmfVY81eDInVviClq4wDRRCIc8KQJIUrbpPFu-i-UeWKOY1FscY78t6PRh_z6SBajIeZ/w273-h400/Screenshot_20231013-091036_s.png" width="273" /></a></div>購入してから5ヶ月くらい経って、自宅でも 5Gで通信できるようになりました。めちゃくちゃ速い!<div>下り 380Mbps / 上り 90Mbps くらい出ています。<br /><div><br /></div><div><br /><span><!--more--></span><div><br /></div></div><div><p style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiejClpNEpwlPzz8agzQ24CxpIWawF1gVIM6JoXDXdHdGM7R-ufNqVxlVz3tNNweqDAwskVmzZG919Ty6SZ-N8aZBOagzjiFf5U840W1MK40OsQF894lv2O7jE307N0O-_LCFBL6MIFPwL_XC0cYk4X2UxN9C5STNcEVvxqICKcBuFA3dv_B7laqSo8Aw/s1516/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-05-20%20082520.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="884" data-original-width="1516" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiejClpNEpwlPzz8agzQ24CxpIWawF1gVIM6JoXDXdHdGM7R-ufNqVxlVz3tNNweqDAwskVmzZG919Ty6SZ-N8aZBOagzjiFf5U840W1MK40OsQF894lv2O7jE307N0O-_LCFBL6MIFPwL_XC0cYk4X2UxN9C5STNcEVvxqICKcBuFA3dv_B7laqSo8Aw/w400-h234/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-05-20%20082520.jpg" width="400" /></a></p><p style="text-align: left;">もともと自宅の固定回線代わりとスマホ用で楽天モバイルを 2回線使用していて、今回 3回線目なのですが、一人で3回線は多すぎなので 3週間くらい使ってから今回契約したぶんを解約しました。</p><p style="text-align: left;">楽天モバイルで解約手続きを行うのは初めてだったのですが、ネットで「my 楽天モバイル」の「契約プラン」から無料で簡単に手続きできました。</p><p style="text-align: left;"><br /></p><p style="text-align: left;"></p><p style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSVsfnt2FdYZUSetqbyqgXUDnuBCAIRFLBpI8hkPTgRe0BesPbTSF7m_yHtGMljuZq9bjG8RFXKRemsuwbsBcPNXWnhT9YbDhb6fjyJjFFAAmoXp920j_iIjJp_0I7z3UxVfG0Mc5J80wk4cfrQD_jLZnNmcVtTGehc0tLHLdC74Bb7nraNzjToU-9JA/s566/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-05-20%20082521.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="301" data-original-width="566" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSVsfnt2FdYZUSetqbyqgXUDnuBCAIRFLBpI8hkPTgRe0BesPbTSF7m_yHtGMljuZq9bjG8RFXKRemsuwbsBcPNXWnhT9YbDhb6fjyJjFFAAmoXp920j_iIjJp_0I7z3UxVfG0Mc5J80wk4cfrQD_jLZnNmcVtTGehc0tLHLdC74Bb7nraNzjToU-9JA/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-05-20%20082521.jpg" width="320" /></a></p>解約手続き後すぐに解約になりました。<p></p><p style="text-align: left;">一ヶ月分の通信料金 1,000円くらいで、新しいスマートフォンが手に入ったことになります。</p><p style="text-align: left;"><br /></p></div></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-62421309753800460602023-04-26T16:18:00.003+09:002023-04-27T02:22:32.989+09:00風呂ボイラーの修理 ノーリツ OTB-3101 AFF 「E 22」<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw5XaOSNH8UOCHsHPyFOluBVAIu40RiezohUoxo1GZXVqEd1frHdWXDi9mgMJdlBbZHVlcRZNoRgFLH8zhEvB-buCp2rnGKNlr_OAqc1aq2ReEUlQ4q2kDsoUmxAYV9iUPrBW7v9cKxr5_fRVfbX1IsbHFV5hUM0nFsGs5IsDnNHLHCF9Ceuk_1Av0oA/s3863/bDSC_0035.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2897" data-original-width="3863" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw5XaOSNH8UOCHsHPyFOluBVAIu40RiezohUoxo1GZXVqEd1frHdWXDi9mgMJdlBbZHVlcRZNoRgFLH8zhEvB-buCp2rnGKNlr_OAqc1aq2ReEUlQ4q2kDsoUmxAYV9iUPrBW7v9cKxr5_fRVfbX1IsbHFV5hUM0nFsGs5IsDnNHLHCF9Ceuk_1Av0oA/s320/bDSC_0035.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;">風呂ボイラーで自動お湯はりを行うと「E 22」エラーが出て止まってしまいます。手動でお湯はりすれば使えるので、しばらくこのまま使っていたのですが、ボイラー内から水漏れもするようになってしまったので修理することにします。</div><div class="separator" style="clear: both; text-align: left;">「E 22」は水位センサーの異常のようです。センサーの出力をテスターで測定してみると、値が一定せず良否がわかりません。デジタル出力なのかな? 面倒で詳しくは調べませんでした。</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTaHuXqIed184TZ9lBAtGDAYBRJ3kC845hmTI9RRksfAi2W0EXjtQTYtfiKAxjEN9qKBZJNLWqUU97cwsuGIYyViXzXk7Is96K44B4oerNuRzvH3R4BctIRsoEaVyT3JhGvW2TeCi-LGm66-FmFWTsFGMPY73QZplX5RCTa30vgmyHX_1liY-yRLd6tQ/s4000/bDSC_0040.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3000" data-original-width="4000" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTaHuXqIed184TZ9lBAtGDAYBRJ3kC845hmTI9RRksfAi2W0EXjtQTYtfiKAxjEN9qKBZJNLWqUU97cwsuGIYyViXzXk7Is96K44B4oerNuRzvH3R4BctIRsoEaVyT3JhGvW2TeCi-LGm66-FmFWTsFGMPY73QZplX5RCTa30vgmyHX_1liY-yRLd6tQ/s320/bDSC_0040.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;">分解してみます。</div><div class="separator" style="clear: both; text-align: left;">パイプが錆びて回らず、手持ちの工具では外せませんでした。</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoKDH27dPEjlF1y0Sq3vAx6oH07TI98Yrf3WM3yj5XMBsP8kqjywPI5dpQgUjwKCJ-c7XbeHp1LmZUMZCHHDfQYLcwiNEpnawJGcpNkziLKtbk1tesygNwyjfp1bQxdVvnwFUYvxNt_uQ5En8eb9f6nlxZoFvL-l3P9mOP-839mM0ygahxzAatNb_jcA/s4000/bDSC_0045.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3000" data-original-width="4000" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoKDH27dPEjlF1y0Sq3vAx6oH07TI98Yrf3WM3yj5XMBsP8kqjywPI5dpQgUjwKCJ-c7XbeHp1LmZUMZCHHDfQYLcwiNEpnawJGcpNkziLKtbk1tesygNwyjfp1bQxdVvnwFUYvxNt_uQ5En8eb9f6nlxZoFvL-l3P9mOP-839mM0ygahxzAatNb_jcA/s320/bDSC_0045.jpg" width="320" /></a></div>ホームセンターで一番安かった、1,500円くらいのパイプレンチを買ってきました。無事に外れました。<p></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaZEqhetJu-Y0djPyjOEQNZ_KKkB9gSnqozw0YNsaSmvhmfzVn3BfZ9lnDbv_IgrEHdg8bWTA2s9lWUrVsf3ZD_X_EIIHw9rOhPS5QV6rbRUNZ-wArkZIOokL-2EBT0ljfGk5oC5NtVaGtRNiDXh4uHHcyvI37IeTdmJQqKUPcijNiTuh1txnlJxpxQA/s4000/bDSC_0055.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaZEqhetJu-Y0djPyjOEQNZ_KKkB9gSnqozw0YNsaSmvhmfzVn3BfZ9lnDbv_IgrEHdg8bWTA2s9lWUrVsf3ZD_X_EIIHw9rOhPS5QV6rbRUNZ-wArkZIOokL-2EBT0ljfGk5oC5NtVaGtRNiDXh4uHHcyvI37IeTdmJQqKUPcijNiTuh1txnlJxpxQA/s320/bDSC_0055.jpg" width="240" /></a></div>水位センサーは奥まった場所に付いていて外すのが面倒でした。<p></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiERyvOKgPymVuUxBeMBZAWvyrtIMz2UXo70UtosyjjMHyor4MBSIKlIGf9SnMJKeJrCPRoY0a-lW7PJJIsYKM-av6BxgtmKGxibL2jA1U2D_vn8NM6uA7Ps9FWRkl-smn4uh9xVYJ82OotoLv7mmYHc9dgMMMn2_AVb-V1z9ZnvnZ-RYTIqIUSOSEdWw/s4000/bDSC_0060.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3000" data-original-width="4000" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiERyvOKgPymVuUxBeMBZAWvyrtIMz2UXo70UtosyjjMHyor4MBSIKlIGf9SnMJKeJrCPRoY0a-lW7PJJIsYKM-av6BxgtmKGxibL2jA1U2D_vn8NM6uA7Ps9FWRkl-smn4uh9xVYJ82OotoLv7mmYHc9dgMMMn2_AVb-V1z9ZnvnZ-RYTIqIUSOSEdWw/s320/bDSC_0060.jpg" width="320" /></a></div>水位センサー(圧力センサー)が外れました。<p></p><p>水位センサーが機械的に壊れて水が漏れていました。</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOpom-EWD1gMkaP8tWvX1EV1MckegQlvOYG7l506OUiXau_iACiemZYUqnCjNsOf5K9qZZBR9M3ciYAVrIeupBVrSgnuo3DL8m6D8oBBmFIPVnPHo1r1nr9eQtN3Yle4X-kG7mgl00EEmxTqbfkZEN22fnT9MdUSrzRgiBSM9pxDSDmEjcKZ5pRWrT5g/s4000/bDSC_0065.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3000" data-original-width="4000" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOpom-EWD1gMkaP8tWvX1EV1MckegQlvOYG7l506OUiXau_iACiemZYUqnCjNsOf5K9qZZBR9M3ciYAVrIeupBVrSgnuo3DL8m6D8oBBmFIPVnPHo1r1nr9eQtN3Yle4X-kG7mgl00EEmxTqbfkZEN22fnT9MdUSrzRgiBSM9pxDSDmEjcKZ5pRWrT5g/s320/bDSC_0065.jpg" width="320" /></a></div>同じセンサーは手にはいらないので、センサー入り口の穴をネジで塞いでしまって水漏れだけ修理しました。<p></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglOn1j1cwJvUDg2AvXwpiiq4rolt9WLosFTcVfSi50t98syqUnvAOzPOWHRH8kLirX0ZRi6VuHPFFRGDZthLCVyFaqDUitj7MENH73O0lYLZbtZ-dKb9N5jsOftq66-dFT5cwcsTa2vojD6AfFXBLSz_2rGo0Y5W4f5QI_F_eEJyOUjncROowBmE-5bw/s4000/bDSC_0068.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglOn1j1cwJvUDg2AvXwpiiq4rolt9WLosFTcVfSi50t98syqUnvAOzPOWHRH8kLirX0ZRi6VuHPFFRGDZthLCVyFaqDUitj7MENH73O0lYLZbtZ-dKb9N5jsOftq66-dFT5cwcsTa2vojD6AfFXBLSz_2rGo0Y5W4f5QI_F_eEJyOUjncROowBmE-5bw/s320/bDSC_0068.jpg" width="240" /></a></div>組み立て。<p></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaoBsVl7IHtBlRHaEUBPyrn61w9H9koTj0-J6iYwkddrZN_p1UG3taos2WTXxLyIE9Bf1X12Aw9qDkJG957bxZSElQjBxRSzeBhi91w5bQDpYlTY6RmSDBKXjFL9JOG_0jiTnnUtRf1aMjWkb_bSdVzs7wYbyREm75in_tszaP0XJZs1yvE_-4WqnqKg/s4000/bDSC_0070.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaoBsVl7IHtBlRHaEUBPyrn61w9H9koTj0-J6iYwkddrZN_p1UG3taos2WTXxLyIE9Bf1X12Aw9qDkJG957bxZSElQjBxRSzeBhi91w5bQDpYlTY6RmSDBKXjFL9JOG_0jiTnnUtRf1aMjWkb_bSdVzs7wYbyREm75in_tszaP0XJZs1yvE_-4WqnqKg/s320/bDSC_0070.jpg" width="240" /></a></div>組み立てたら小さいネジが一本余りました。どこのネジかわからない😊<p></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuLlEIiK97Zkw8udJoBrRxCiCOiK1dR93wozbt3GnQshmDMtxB_eT-OBJ_N7HHhSRFS8HALSX5w536OEa1ph8epYA60vGWo0UvfTFrhz9O7UIQiiVIxuP8oGcU4EUmqiubA-eVDIbWUZ71-aEwdCqJfTG3CvWgg-w10ALW2xuZGVlIBGkr82ft6eEdhg/s4000/bDSC_0073.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuLlEIiK97Zkw8udJoBrRxCiCOiK1dR93wozbt3GnQshmDMtxB_eT-OBJ_N7HHhSRFS8HALSX5w536OEa1ph8epYA60vGWo0UvfTFrhz9O7UIQiiVIxuP8oGcU4EUmqiubA-eVDIbWUZ71-aEwdCqJfTG3CvWgg-w10ALW2xuZGVlIBGkr82ft6eEdhg/s320/bDSC_0073.jpg" width="240" /></a></div>元に戻しました。水を抜いてもボイラーが重いので作業が大変です。<p></p><p>水位センサーが動作しない状態ですが、水漏れは直りました。20年以上昔の古いボイラーですが、お湯が出なくなるまでまだまだ使います。<br /></p><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-77976436636755304032023-04-26T15:35:00.000+09:002023-04-26T15:35:35.992+09:00ハードオフで200円のテーブルと800円の黒電話を買ってきた<p> 釧路に行ったついでにハードオフで買い物してきました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRgHur3-McWiIxGRAOPNVV4p8LJRkzy274BEANeuYDdVyfSiFo_lBzaQcFzS1e-21lYT0zBZZfj7sC9CTbC7a4wyBfznNjW49oijpMciFNDMjZbaO8UvE3YsXnjjqNVWXCIu3-BWeBe5o4V7aTbx-c2kTCMPCIzU79ccaKjrY0DVr8Dm-oFBJHgcgkAA/s4000/aDSC_0011.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3000" data-original-width="4000" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRgHur3-McWiIxGRAOPNVV4p8LJRkzy274BEANeuYDdVyfSiFo_lBzaQcFzS1e-21lYT0zBZZfj7sC9CTbC7a4wyBfznNjW49oijpMciFNDMjZbaO8UvE3YsXnjjqNVWXCIu3-BWeBe5o4V7aTbx-c2kTCMPCIzU79ccaKjrY0DVr8Dm-oFBJHgcgkAA/s320/aDSC_0011.jpg" width="320" /></a></div><p></p><ul style="text-align: left;"><li>200円のテーブル。足が錆びて汚いのでとても安く売っていました。作業台にします</li><li>800円の東芝製 600-A1型黒電話</li><li>100円のシールドケーブル</li></ul><br /><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5w3fOJwKJ3FhC6NF_HrGKd1CzWBqNU6SkWYC5fNw9qbLCuRiC4WfckMXdhI71svAit9HI6VRb_C7DoJaKXr2-YvGV8Z02qV096_NyFZ3jBIOPbiktnvDP4ZTSi05QYrlotlIB2CZLipo8l_Za51Mk6ahk8AWzmXOenPZ5RvNN3LPupr2k1UE_OWhCkA/s4000/aDSC_0015.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5w3fOJwKJ3FhC6NF_HrGKd1CzWBqNU6SkWYC5fNw9qbLCuRiC4WfckMXdhI71svAit9HI6VRb_C7DoJaKXr2-YvGV8Z02qV096_NyFZ3jBIOPbiktnvDP4ZTSi05QYrlotlIB2CZLipo8l_Za51Mk6ahk8AWzmXOenPZ5RvNN3LPupr2k1UE_OWhCkA/s320/aDSC_0015.jpg" width="240" /></a></div><p>黒電話は分解して</p><p><br /></p><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi64wIcv9spVYvxEKfAqlWElbWPbyD-3tpM1boL9VkcrQSynk3MFwH0lYp5ajDqMtixhmRbY8b_pXSX6fwDNMUNmZB94vDOcSgstJKI1mGCkpryWY2ZyYFsuC_4vvWixoPlQDHVVhlAMZRN3p6zpF7xs_yElVvz9qv26xCqy284ZpNbRZKna0bkjqtM3A/s4000/aDSC_0018.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi64wIcv9spVYvxEKfAqlWElbWPbyD-3tpM1boL9VkcrQSynk3MFwH0lYp5ajDqMtixhmRbY8b_pXSX6fwDNMUNmZB94vDOcSgstJKI1mGCkpryWY2ZyYFsuC_4vvWixoPlQDHVVhlAMZRN3p6zpF7xs_yElVvz9qv26xCqy284ZpNbRZKna0bkjqtM3A/s320/aDSC_0018.jpg" width="240" /></a></div>洗っておきました。<p></p><p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6qP0HZcbx2r_ZJtKg-hAQb750QrQDz_2iOTSqf5_oxGRpYDEqkGN1s5RyLDW75PExOV-2DyGcDvLz-MG7bq5RQJ6HsCFtp8_0hYwMZ9fHrGYF9HHJ4cHHjYY3TMl_xvTUR2YF83J2XcFqW_qhUl5-TMia3RcCZVWOouBZkUaHsAKzBD2yEMAjlAqFFA/s4000/aDSC_0024.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6qP0HZcbx2r_ZJtKg-hAQb750QrQDz_2iOTSqf5_oxGRpYDEqkGN1s5RyLDW75PExOV-2DyGcDvLz-MG7bq5RQJ6HsCFtp8_0hYwMZ9fHrGYF9HHJ4cHHjYY3TMl_xvTUR2YF83J2XcFqW_qhUl5-TMia3RcCZVWOouBZkUaHsAKzBD2yEMAjlAqFFA/s320/aDSC_0024.jpg" width="240" /></a></div>モジュラーケーブルがついているので、現代でもそのまま使えます。<p></p><p><br /></p>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-8541518317027122692022-06-27T14:24:00.004+09:002022-06-27T14:27:12.315+09:00MicroPythonで使うWio Terminal - gc<p><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></p><p>ガーベージコレクションを制御するモジュールですが、mem_alloc() と mem_free() で使用メモリ/空きメモリを知ることができて便利です。</p><p>MicroPythonの公式ドキュメント <a href="https://micropython-docs-ja.readthedocs.io/ja/latest/library/gc.html">gc -- ガベージコレクションの制御</a></p><p><br /></p>
<code><div>>>> import gc</div><div>>>> help(gc)</div><div>object <module 'gc'> is of type module</div><div> __name__ -- gc</div><div> collect -- <function></div><div> disable -- <function></div><div> enable -- <function></div><div> isenabled -- <function></div><div> mem_free -- <function></div><div> mem_alloc -- <function></div><div> threshold -- <function></div><div>>>> gc.mem_free()</div><div>162736</div><div>>>> gc.mem_alloc()</div><div>13152</div><div>>>> </div></code><p><br /></p><p><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></p>
佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-26897987469604580242022-06-27T13:46:00.012+09:002022-06-27T18:22:48.971+09:00MicroPythonで使うWio Terminal - ファイルの読み書き<a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a>
<h2 style="text-align: left;">簡単なファイルの読み書き例</h2>
<div style="border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; height: 45em; line-height: 19px; overflow: scroll; padding: 1em; white-space: pre;"><div><span style="color: #6a9955;"># Wio Terminal io, osのサンプル</span></div><div><span style="color: #6a9955;"># MicroPythonの公式ドキュメントに説明がある</span></div><div><span style="color: #6a9955;"># https://micropython-docs-ja.readthedocs.io/ja/latest/library/io.html</span></div><div><span style="color: #6a9955;"># https://micropython-docs-ja.readthedocs.io/ja/latest/library/os.html</span></div><div><span style="color: #6a9955;"># This code is provided under a CC0 Public Domain License.</span></div><div><span style="color: #6a9955;"># http://creativecommons.org/publicdomain/zero/1.0/</span></div><div><span style="color: #6a9955;"># 2022年6月27日 佐藤恭一 https://kyoutan.jpn.org</span></div><div><br /></div><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">os</span></div><br /><div><span style="color: #9cdcfe;">f</span> = <span style="color: #dcdcaa;">open</span>(<span style="color: #ce9178;">"myfile.txt"</span>, <span style="color: #ce9178;">"w"</span>, <span style="color: #9cdcfe;">encoding</span>=<span style="color: #ce9178;">"utf-8"</span>) <span style="color: #6a9955;"># 書き込むファイルを作成する</span></div><div><span style="color: #9cdcfe;">f</span>.<span style="color: #dcdcaa;">write</span>(<span style="color: #ce9178;">"1:abcdefg</span><span style="color: #d7ba7d;">\r\n</span><span style="color: #ce9178;">"</span>) <span style="color: #6a9955;"># 何か書き込んでみる</span></div><div><span style="color: #9cdcfe;">f</span>.<span style="color: #dcdcaa;">write</span>(<span style="color: #ce9178;">"2:0123456789</span><span style="color: #d7ba7d;">\r\n</span><span style="color: #ce9178;">"</span>)</div><div><span style="color: #9cdcfe;">f</span>.<span style="color: #dcdcaa;">write</span>(<span style="color: #ce9178;">"3:hijklmn</span><span style="color: #d7ba7d;">\r\n</span><span style="color: #ce9178;">"</span>)</div><div><span style="color: #9cdcfe;">f</span>.<span style="color: #dcdcaa;">write</span>(<span style="color: #ce9178;">"4:opqrstu</span><span style="color: #d7ba7d;">\r\n</span><span style="color: #ce9178;">"</span>)</div><div><span style="color: #9cdcfe;">f</span>.<span style="color: #dcdcaa;">close</span>() <span style="color: #6a9955;"># ファイルクローズ</span></div><br /><div><span style="color: #dcdcaa;">print</span>(<span style="color: #4ec9b0;">os</span>.<span style="color: #dcdcaa;">listdir</span>()) <span style="color: #6a9955;"># ファイル一覧表示</span></div><br /><div><span style="color: #9cdcfe;">f</span> = <span style="color: #dcdcaa;">open</span>(<span style="color: #ce9178;">"myfile.txt"</span>, <span style="color: #ce9178;">"r"</span>, <span style="color: #9cdcfe;">encoding</span>=<span style="color: #ce9178;">"utf-8"</span>) <span style="color: #6a9955;"># 読み取るファイルを開く</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">f</span>.<span style="color: #dcdcaa;">readline</span>()) <span style="color: #6a9955;"># 一行読んで表示</span></div><div><span style="color: #9cdcfe;">f</span>.<span style="color: #dcdcaa;">seek</span>(<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># ファイル先頭にシーク</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">f</span>.<span style="color: #dcdcaa;">readline</span>()) <span style="color: #6a9955;"># 一行ずつ読んで表示</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">f</span>.<span style="color: #dcdcaa;">readline</span>())</div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">f</span>.<span style="color: #dcdcaa;">readline</span>())</div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">f</span>.<span style="color: #dcdcaa;">readline</span>())</div><div><span style="color: #9cdcfe;">f</span>.<span style="color: #dcdcaa;">close</span>() <span style="color: #6a9955;"># ファイルクローズ</span></div><br /><div><span style="color: #4ec9b0;">os</span>.<span style="color: #dcdcaa;">remove</span>(<span style="color: #ce9178;">"myfile.txt"</span>) <span style="color: #6a9955;"># ファイル削除</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #4ec9b0;">os</span>.<span style="color: #dcdcaa;">listdir</span>()) <span style="color: #6a9955;"># ファイル一覧表示 "mytext.txt" が消えているのが確認できる</span></div><br /><div><span style="color: #ce9178;">"""</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">import io,os</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(io)</span></div><div><span style="color: #ce9178;">object <module 'uio'> is of type module</span></div><div><span style="color: #ce9178;"> __name__ -- uio</span></div><div><span style="color: #ce9178;"> open -- <function></span></div><div><span style="color: #ce9178;"> FileIO -- <class 'FileIO'></span></div><div><span style="color: #ce9178;"> StringIO -- <class 'StringIO'></span></div><div><span style="color: #ce9178;"> BytesIO -- <class 'BytesIO'></span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(io.FileIO)</span></div><div><span style="color: #ce9178;">object <class 'FileIO'> is of type type</span></div><div><span style="color: #ce9178;"> read -- <function></span></div><div><span style="color: #ce9178;"> readinto -- <function></span></div><div><span style="color: #ce9178;"> readline -- <function></span></div><div><span style="color: #ce9178;"> readlines -- <function></span></div><div><span style="color: #ce9178;"> write -- <function></span></div><div><span style="color: #ce9178;"> flush -- <function></span></div><div><span style="color: #ce9178;"> close -- <function></span></div><div><span style="color: #ce9178;"> seek -- <function></span></div><div><span style="color: #ce9178;"> tell -- <function></span></div><div><span style="color: #ce9178;"> __del__ -- <function></span></div><div><span style="color: #ce9178;"> __enter__ -- <function></span></div><div><span style="color: #ce9178;"> __exit__ -- <function></span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(io.StringIO)myfiletxtobject <class 'StringIO'> is of type type</span></div><div><span style="color: #ce9178;"> read -- <function></span></div><div><span style="color: #ce9178;"> readinto -- <function></span></div><div><span style="color: #ce9178;"> readline -- <function></span></div><div><span style="color: #ce9178;"> write -- <function></span></div><div><span style="color: #ce9178;"> seek -- <function></span></div><div><span style="color: #ce9178;"> flush -- <function></span></div><div><span style="color: #ce9178;"> close -- <function></span></div><div><span style="color: #ce9178;"> getvalue -- <function></span></div><div><span style="color: #ce9178;"> __enter__ -- <function></span></div><div><span style="color: #ce9178;"> __exit__ -- <function></span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(io.BytesIO)</span></div><div><span style="color: #ce9178;">object <class 'BytesIO'> is of type type</span></div><div><span style="color: #ce9178;"> read -- <function></span></div><div><span style="color: #ce9178;"> readinto -- <function></span></div><div><span style="color: #ce9178;"> readline -- <function></span></div><div><span style="color: #ce9178;"> write -- <function></span></div><div><span style="color: #ce9178;"> seek -- <function></span></div><div><span style="color: #ce9178;"> flush -- <function></span></div><div><span style="color: #ce9178;"> close -- <function></span></div><div><span style="color: #ce9178;"> getvalue -- <function></span></div><div><span style="color: #ce9178;"> __enter__ -- <function></span></div><div><span style="color: #ce9178;"> __exit__ -- <function></span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(os)</span></div><div><span style="color: #ce9178;">object <module 'uos'> is of type module</span></div><div><span style="color: #ce9178;"> __name__ -- uos</span></div><div><span style="color: #ce9178;"> uname -- <function></span></div><div><span style="color: #ce9178;"> chdir -- <function></span></div><div><span style="color: #ce9178;"> getcwd -- <function></span></div><div><span style="color: #ce9178;"> ilistdir -- <function></span></div><div><span style="color: #ce9178;"> listdir -- <function></span></div><div><span style="color: #ce9178;"> mkdir -- <function></span></div><div><span style="color: #ce9178;"> remove -- <function></span></div><div><span style="color: #ce9178;"> rename -- <function></span></div><div><span style="color: #ce9178;"> rmdir -- <function></span></div><div><span style="color: #ce9178;"> stat -- <function></span></div><div><span style="color: #ce9178;"> statvfs -- <function></span></div><div><span style="color: #ce9178;"> unlink -- <function></span></div><div><span style="color: #ce9178;"> sync -- <function></span></div><div><span style="color: #ce9178;"> sep -- /</span></div><div><span style="color: #ce9178;"> mount -- <function></span></div><div><span style="color: #ce9178;"> umount -- <function></span></div><div><span style="color: #ce9178;"> VfsFat -- <class 'VfsFat'></span></div><div><span style="color: #ce9178;">"""</span></div><br /></div>
<p style="text-align: left;">Wio Terminalの内蔵フラッシュメモリ上にファイルシステムが用意されていて、ファイルを読んだり書いたりできます。マイコンではファイルシステムを使うことができないことも多いのですが、ファイルシステムがあるとデータを保存したりできて便利。</p>
<p style="text-align: left;"><br /></p>
<div><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-83963671072155268382022-06-21T01:05:00.001+09:002022-06-21T01:21:35.313+09:00MicroPythonで使うWio Terminal - time<div style="text-align: left;"><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html" style="font-size: medium; font-weight: 400;">MicroPythonで使うWio Terminal - 目次</a></div>
<h2>time 時間関連の関数使用例</h2>
<code style="border: 1px solid; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #6a9955;"># Wio Terminal timeのサンプル</span></div><div><span style="color: #6a9955;"># MicroPythonの公式ドキュメントに説明がある</span></div><div><span style="color: #6a9955;"># https://micropython-docs-ja.readthedocs.io/ja/latest/library/time.html</span></div><div><span style="color: #6a9955;"># This code is provided under a CC0 Public Domain License.</span></div><div><span style="color: #6a9955;"># http://creativecommons.org/publicdomain/zero/1.0/</span></div><div><span style="color: #6a9955;"># 2022年6月20日 佐藤恭一 https://kyoutan.jpn.org</span></div><br /><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">time</span></div><br /><div><span style="color: #6a9955;"># 遅延</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #b5cea8;">5</span>) <span style="color: #6a9955;"># 5s 時間待ち</span></div><div><span style="color: #4ec9b0;">time</span>.sleep_ms(<span style="color: #b5cea8;">500</span>) <span style="color: #6a9955;"># 500ms 時間待ち</span></div><div><span style="color: #4ec9b0;">time</span>.sleep_us(<span style="color: #b5cea8;">500</span>) <span style="color: #6a9955;"># 500us 時間待ち</span></div><br /><div><span style="color: #6a9955;"># 経過時間 (値は多分符号付き32bit整数 最大 0x3fffffffを超えると 0に戻る)</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"ticks_ms </span><span style="color: #569cd6;">{}</span><span style="color: #ce9178;">"</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #4ec9b0;">time</span>.ticks_ms())) <span style="color: #6a9955;"># 稼働時間 ms</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"ticks_cpu </span><span style="color: #569cd6;">{}</span><span style="color: #ce9178;">"</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #4ec9b0;">time</span>.ticks_cpu())) <span style="color: #6a9955;"># 稼働時間 cpuクロックではなく msと同じ値</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"ticks_us </span><span style="color: #569cd6;">{}</span><span style="color: #ce9178;">"</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #4ec9b0;">time</span>.ticks_us())) <span style="color: #6a9955;"># 稼働時間 us</span></div><br /><div><span style="color: #6a9955;"># 経過時間の計算</span></div><div><span style="color: #9cdcfe;">start</span> = <span style="color: #4ec9b0;">time</span>.ticks_us() <span style="color: #6a9955;"># 1000ミリ秒時間待ちする間をマイクロ秒単位で計測する</span></div><div><span style="color: #4ec9b0;">time</span>.sleep_ms(<span style="color: #b5cea8;">1000</span>)</div><div><span style="color: #6a9955;"># 2つのticks値の差を求める。値が最大値を跨いでも正しく計算する</span></div><div><span style="color: #6a9955;"># 経過時間を計算できる</span></div><div><span style="color: #9cdcfe;">elapse</span> = <span style="color: #4ec9b0;">time</span>.ticks_diff(<span style="color: #4ec9b0;">time</span>.ticks_us(), <span style="color: #9cdcfe;">start</span>)</div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"ticks_diff </span><span style="color: #569cd6;">{}</span><span style="color: #ce9178;"> us"</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #9cdcfe;">elapse</span>))</div><br /><div><span style="color: #6a9955;"># 現在のticks_us値から1000us後のticks値を計算する</span></div><div><span style="color: #6a9955;"># 最大値を跨いでも正しく計算する</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"ticks_add </span><span style="color: #569cd6;">{}</span><span style="color: #ce9178;">"</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #4ec9b0;">time</span>.ticks_add(<span style="color: #4ec9b0;">time</span>.ticks_us(), <span style="color: #b5cea8;">1000</span>)))</div><br /><div><span style="color: #6a9955;"># time.localtime() # No rtc エラーで使えない</span></div><div><span style="color: #6a9955;"># time.time() # No rtc エラーで使えない</span></div><div><span style="color: #6a9955;"># time.mktime()</span></div><br /><div><span style="color: #ce9178;">"""</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(time)</span></div><div><span style="color: #ce9178;">object <module 'utime'> is of type module</span></div><div><span style="color: #ce9178;"> __name__ -- utime</span></div><div><span style="color: #ce9178;"> localtime -- <function></span></div><div><span style="color: #ce9178;"> mktime -- <function></span></div><div><span style="color: #ce9178;"> time -- <function></span></div><div><span style="color: #ce9178;"> sleep -- <function></span></div><div><span style="color: #ce9178;"> sleep_ms -- <function></span></div><div><span style="color: #ce9178;"> sleep_us -- <function></span></div><div><span style="color: #ce9178;"> ticks_ms -- <function></span></div><div><span style="color: #ce9178;"> ticks_us -- <function></span></div><div><span style="color: #ce9178;"> ticks_cpu -- <function></span></div><div><span style="color: #ce9178;"> ticks_add -- <function></span></div><div><span style="color: #ce9178;"> ticks_diff -- <function></span></div><div><span style="color: #ce9178;">"""</span></div><br /></code>
<p>標準関数なので、<a href="https://micropython-docs-ja.readthedocs.io/ja/latest/library/time.html">MicroPythonのドキュメンテーション</a>に説明があります。</p><p>Wio Terminalでは <kbd>ticks_cpu</kbd> がCPUクロックではなくて、<kbd>ticks_ms</kbd> と同じ値でした。</p><p><br /></p>
<div style="text-align: left;"><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-15871645330811620042022-06-20T10:00:00.010+09:002022-08-10T00:13:57.146+09:00MicroPythonで使うWio Terminal - machine.UART<a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a>
<h2 style="text-align: left;">machine.UART の使用例</h2>
<code style="border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #6a9955;"># Wio Terminal machine.UARTのサンプル</span></div><div><span style="color: #6a9955;"># This code is provided under a CC0 Public Domain License.</span></div><div><span style="color: #6a9955;"># http://creativecommons.org/publicdomain/zero/1.0/</span></div><div><span style="color: #6a9955;"># 2022年6月20日 佐藤恭一 https://kyoutan.jpn.org</span></div><br /><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">time</span></div><div><span style="color: #c586c0;">from</span> machine <span style="color: #c586c0;">import</span> UART, Pin, Map</div><br /><div><span style="color: #6a9955;"># UART1とUART2があるけど、40ピンコネクタに接続されているのはUART1</span></div><div><span style="color: #6a9955;"># TXD(pin 8)とRXD(pin 10)をジャンパー線で接続して通信テストした(ループバック)</span></div><div><span style="color: #9cdcfe;">uart</span> = UART(Map.UART1, <span style="color: #b5cea8;">115200</span>, UART.config.SERIAL_8N1) <span style="color: #6a9955;"># 初期化</span></div><div><span style="color: #9cdcfe;">uart</span> = UART(Map.UART1, <span style="color: #b5cea8;">115200</span>) <span style="color: #6a9955;"># これでもよい</span></div><br /><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"write test"</span>)</div><div><span style="color: #9cdcfe;">uart</span>.write(<span style="color: #ce9178;">'hello world!'</span>) <span style="color: #6a9955;"># 書き込む。戻り値は書き込んだ数</span></div><br /><div><span style="color: #9cdcfe;">txdata</span> = <span style="color: #4ec9b0;">bytearray</span>(<span style="color: #569cd6;">b</span><span style="color: #ce9178;">"0123456789"</span>) <span style="color: #6a9955;"># メモ:bytearray 値の変更可能 / bytes 値の変更不可能</span></div><div><span style="color: #9cdcfe;">uart</span>.write(<span style="color: #9cdcfe;">txdata</span>, <span style="color: #b5cea8;">3</span>) <span style="color: #6a9955;"># バッファの先頭から3バイト書き込む。戻り値は書き込んだ数</span></div><div><span style="color: #9cdcfe;">uart</span>.write(<span style="color: #9cdcfe;">txdata</span>, <span style="color: #b5cea8;">5</span>, <span style="color: #b5cea8;">4</span>) <span style="color: #6a9955;"># バッファの5番目から4バイト書き込む。戻り値は書き込んだ数</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #b5cea8;">1</span>) <span style="color: #6a9955;"># UARTの送信が完了するまで待つ</span></div><br /><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"rxdata </span><span style="color: #569cd6;">{}</span><span style="color: #ce9178;">"</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #9cdcfe;">uart</span>.any())) <span style="color: #6a9955;"># 受信バッファにあるデータ数</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">uart</span>.read()) <span style="color: #6a9955;"># バッファのデータをタイムアウトするまで全て読んで表示する</span></div><div><span style="color: #6a9955;"># 受信バッファは 255バイト</span></div><div><span style="color: #6a9955;"># タイムアウトは 1~2秒くらい? 変更方法がわからない</span></div><br /><br /><div><span style="color: #dcdcaa;">print</span>()</div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"read test"</span>)</div><div><span style="color: #9cdcfe;">txdata</span> = <span style="color: #4ec9b0;">bytearray</span>(<span style="color: #4ec9b0;">range</span>(<span style="color: #dcdcaa;">ord</span>(<span style="color: #ce9178;">"0"</span>), <span style="color: #dcdcaa;">ord</span>(<span style="color: #ce9178;">"z"</span>)))</div><div><span style="color: #9cdcfe;">rxdata</span> = <span style="color: #4ec9b0;">bytearray</span>(<span style="color: #b5cea8;">127</span>)</div><div><span style="color: #9cdcfe;">uart</span>.write(<span style="color: #9cdcfe;">txdata</span>) <span style="color: #6a9955;"># バッファにデータを貯める</span></div><div><span style="color: #9cdcfe;">uart</span>.write(<span style="color: #9cdcfe;">txdata</span>)</div><div><span style="color: #9cdcfe;">uart</span>.write(<span style="color: #9cdcfe;">txdata</span>)</div><div><span style="color: #9cdcfe;">uart</span>.write(<span style="color: #9cdcfe;">txdata</span>)</div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #b5cea8;">1</span>)</div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"rxdata </span><span style="color: #569cd6;">{}</span><span style="color: #ce9178;">"</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #9cdcfe;">uart</span>.any()))</div><br /><div><span style="color: #6a9955;"># 読み込みは指定したバイト数に満たなくてもタイムアウトで終了する場合がある</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"10 byte : </span><span style="color: #569cd6;">{}</span><span style="color: #ce9178;">"</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #9cdcfe;">uart</span>.read(<span style="color: #b5cea8;">10</span>))) <span style="color: #6a9955;"># 10byte読み込む</span></div><br /><div><span style="color: #9cdcfe;">uart</span>.readinto(<span style="color: #9cdcfe;">rxdata</span>,<span style="color: #b5cea8;">20</span>) <span style="color: #6a9955;"># 20byte読み込んでバッファに格納</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"20 byte : </span><span style="color: #569cd6;">{}</span><span style="color: #ce9178;">"</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #9cdcfe;">rxdata</span>))</div><div><span style="color: #dcdcaa;">print</span>()</div><div><span style="color: #9cdcfe;">uart</span>.readinto(<span style="color: #9cdcfe;">rxdata</span>) <span style="color: #6a9955;"># 受信バッファをrxdataのサイズ分読み込んでバッファに格納</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">rxdata</span>)</div><br /><div><span style="color: #dcdcaa;">print</span>()</div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">uart</span>.read(<span style="color: #9cdcfe;">uart</span>.any())) <span style="color: #6a9955;"># 受信バッファを全部読む</span></div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"empty"</span>) <span style="color: #6a9955;"># サイズを指定すればタイムアウトしないので素早く終了する</span></div><br /><div><span style="color: #9cdcfe;">uart</span>.write(<span style="color: #ce9178;">"line 1</span><span style="color: #d7ba7d;">\r\n</span><span style="color: #ce9178;">line 2</span><span style="color: #d7ba7d;">\r\n</span><span style="color: #ce9178;">line 3</span><span style="color: #d7ba7d;">\r\n</span><span style="color: #ce9178;">"</span>) <span style="color: #6a9955;"># 3行書き込む</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #b5cea8;">1</span>)</div><br /><div><span style="color: #dcdcaa;">print</span>()</div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #ce9178;">"1 line : </span><span style="color: #569cd6;">{}</span><span style="color: #ce9178;">"</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #9cdcfe;">uart</span>.readline())) <span style="color: #6a9955;"># 1行読む</span></div><div><span style="color: #dcdcaa;">print</span>()</div><div><span style="color: #dcdcaa;">print</span>(<span style="color: #9cdcfe;">uart</span>.read(<span style="color: #9cdcfe;">uart</span>.any())) <span style="color: #6a9955;"># 受信バッファを全部読む</span></div><br /></code>
<p><br /></p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPpY28MFgi8iptobDpLDPe7v1h1HGz0jFrM0mj3A_rCbeCWBHGAHn7uSSsbu4DvT7PZoeWoP56ohvSW3cd_2yt1UvKRUXyMslTNlZhlqZep9PXXhXpR7TF6AYGznWk1q6msoldclZi_9dHO_rhmksXpPTVOlFFyz_I5UcemPKFhgs0sLnb8174xYzyrg/s724/UART1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="724" height="263" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPpY28MFgi8iptobDpLDPe7v1h1HGz0jFrM0mj3A_rCbeCWBHGAHn7uSSsbu4DvT7PZoeWoP56ohvSW3cd_2yt1UvKRUXyMslTNlZhlqZep9PXXhXpR7TF6AYGznWk1q6msoldclZi_9dHO_rhmksXpPTVOlFFyz_I5UcemPKFhgs0sLnb8174xYzyrg/w400-h263/UART1.jpg" width="400" /></a></div><p style="text-align: left;">UARTも簡単に使えました。</p><p style="text-align: left;">送信はDMAか割り込みで処理されているようで、書き込みを行うと送信が完了する前にすぐ処理が戻ってきます。</p><p style="text-align: left;">受信バッファは 255バイトありました。バッファにデータが何バイトあるのかを調べる関数もあって便利に使えます。受信タイムアウトが 1~2秒くらいに設定されているようなのですが、変更の方法がわかりませんでした。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikZ49_KxqFr5_VqrNpGCAJwNQi8ELvvIt6f8Zhj3RV_DeT9MAhD8l7ZcVrXO5mmWYmk2FcZ2f9N3-Gy8ZWRjWWRtO7PJ8zJJ898BgIn8aYFDmEp-UfoPDmRZYyBCa9baPrbWn54-OkKrfmYRr7yra7IoHwD6U1KMapiDsVlOx9S9FZqvuSp7X2npJtGA/s1000/aDSCN6219.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="1000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikZ49_KxqFr5_VqrNpGCAJwNQi8ELvvIt6f8Zhj3RV_DeT9MAhD8l7ZcVrXO5mmWYmk2FcZ2f9N3-Gy8ZWRjWWRtO7PJ8zJJ898BgIn8aYFDmEp-UfoPDmRZYyBCa9baPrbWn54-OkKrfmYRr7yra7IoHwD6U1KMapiDsVlOx9S9FZqvuSp7X2npJtGA/w400-h300/aDSCN6219.jpg" width="400" /></a></div><p style="text-align: left;">動作テストで、TXD (pin8) と RXD (pin10) をジャンパー線で接続して Wio Terminalで送信したデータを Wio Terminal自身で受信させました。</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx48cNrNMkPzIC1Bhwb6gK4yy0lwUJz_XZx9Km-p9gGbcRnJ8DlIzVDjbMSIuBVktBoz79nzV2CKnGOKTdInbkzsqdGpcxdfJyHkaPF8YW_RattTe1C7sMX_dot4lNEsULJBY_RzeBqwaIT02QeDwwWHekwx_PWgRLaOXLsR5LcY2O9vyrZowBiTOtfA/s1920/WioT-Pinout.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1560" data-original-width="1920" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx48cNrNMkPzIC1Bhwb6gK4yy0lwUJz_XZx9Km-p9gGbcRnJ8DlIzVDjbMSIuBVktBoz79nzV2CKnGOKTdInbkzsqdGpcxdfJyHkaPF8YW_RattTe1C7sMX_dot4lNEsULJBY_RzeBqwaIT02QeDwwWHekwx_PWgRLaOXLsR5LcY2O9vyrZowBiTOtfA/w400-h325/WioT-Pinout.jpg" width="400" /></a></div><p style="text-align: left;">UARTで使うピンは TXD (pin8) と RXD (pin10) です。</p><p style="text-align: left;"><br /></p><div><div><h3 style="text-align: left;">関数と通信フォーマット一覧</h3>
<code style="color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(UART)</span></div><div><span style="color: #ce9178;">object <class 'UART'> is of type type</span></div><div><span style="color: #ce9178;"> deinit -- <function></span></div><div><span style="color: #ce9178;"> __enter__ -- <function></span></div><div><span style="color: #ce9178;"> __exit__ -- <function></span></div><div><span style="color: #ce9178;"> any -- <function></span></div><div><span style="color: #ce9178;"> read -- <function></span></div><div><span style="color: #ce9178;"> readline -- <function></span></div><div><span style="color: #ce9178;"> readinto -- <function></span></div><div><span style="color: #ce9178;"> write -- <function></span></div><div><span style="color: #ce9178;"> config -- <class 'config'></span></div><br /><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(uart.config)</span></div><div><span style="color: #ce9178;">object <class 'config'> is of type type</span></div><div><span style="color: #ce9178;"> SERIAL_5N1 -- 275</span></div><div><span style="color: #ce9178;"> SERIAL_6N1 -- 531</span></div><div><span style="color: #ce9178;"> SERIAL_7N1 -- 787</span></div><div><span style="color: #ce9178;"> SERIAL_8N1 -- 1043</span></div><div><span style="color: #ce9178;"> SERIAL_5N2 -- 307</span></div><div><span style="color: #ce9178;"> SERIAL_5N1 -- 563</span></div><div><span style="color: #ce9178;"> SERIAL_7N2 -- 819</span></div><div><span style="color: #ce9178;"> SERIAL_8N2 -- 1075</span></div><div><span style="color: #ce9178;"> SERIAL_5E1 -- 273</span></div><div><span style="color: #ce9178;"> SERIAL_6E1 -- 529</span></div><div><span style="color: #ce9178;"> SERIAL_7E1 -- 785</span></div><div><span style="color: #ce9178;"> SERIAL_8E1 -- 1041</span></div><div><span style="color: #ce9178;"> SERIAL_5E2 -- 305</span></div><div><span style="color: #ce9178;"> SERIAL_6E2 -- 561</span></div><div><span style="color: #ce9178;"> SERIAL_7E2 -- 817</span></div><div><span style="color: #ce9178;"> SERIAL_8E2 -- 1073</span></div><div><span style="color: #ce9178;"> SERIAL_5O1 -- 275</span></div><div><span style="color: #ce9178;"> SERIAL_6O1 -- 530</span></div><div><span style="color: #ce9178;"> SERIAL_7O1 -- 786</span></div><div><span style="color: #ce9178;"> SERIAL_8O1 -- 1042</span></div><div><span style="color: #ce9178;"> SERIAL_5O2 -- 306</span></div><div><span style="color: #ce9178;"> SERIAL_6O2 -- 562</span></div><div><span style="color: #ce9178;"> SERIAL_7O2 -- 818</span></div><div><span style="color: #ce9178;"> SERIAL_8O2 -- 1074</span></div></code>
<p style="text-align: left;"><br /></p>
<div><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></div><div><br /></div></div></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-91297507512884513532022-06-19T23:41:00.008+09:002022-06-21T01:26:40.487+09:00MicroPythonで使うWio Terminal - machine.PWM<a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a>
<h2 style="text-align: left;">machine.PWM の使用例</h2>
<code style="overflow: scroll; border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #6a9955;"># Wio Terminal machine.PWMのサンプル</span></div><div><span style="color: #6a9955;"># This code is provided under a CC0 Public Domain License.</span></div><div><span style="color: #6a9955;"># http://creativecommons.org/publicdomain/zero/1.0/</span></div><div><span style="color: #6a9955;"># 2022年6月19日 佐藤恭一 https://kyoutan.jpn.org</span></div><br /><div><span style="color: #c586c0;">from</span> machine <span style="color: #c586c0;">import</span> PWM, Pin</div><br /><div><span style="color: #9cdcfe;">pwm0</span> = PWM(Pin(<span style="color: #b5cea8;">13</span>)) <span style="color: #6a9955;"># pin13 PWM0</span></div><div><span style="color: #6a9955;"># PWM以外のピンでは使用できない。エラーは出ず動かないだけ</span></div><div><span style="color: #6a9955;"># 設定できる周波数は 460, 1830, 7330, 29300, 58600, 117000, 234000, 470000 [Hz]</span></div><div><span style="color: #9cdcfe;">pwm0</span>.freq(<span style="color: #b5cea8;">7330</span>)</div><div><span style="color: #9cdcfe;">pwm0</span>.duty(<span style="color: #b5cea8;">511</span>) <span style="color: #6a9955;"># デューティ比は 0-1023</span></div><br /><div><span style="color: #9cdcfe;">pwm1</span> = PWM(Pin(<span style="color: #b5cea8;">16</span>), <span style="color: #9cdcfe;">freq</span>=<span style="color: #b5cea8;">1830</span>, <span style="color: #9cdcfe;">duty</span>=<span style="color: #b5cea8;">200</span>) <span style="color: #6a9955;"># 一行で書くこともできる</span></div><br /><div><span style="color: #ce9178;">"""</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(pwm0)</span></div><div><span style="color: #ce9178;">object PWM(Arduino Pin(13), freq=1000, duty=512) is of type PWM</span></div><div><span style="color: #ce9178;"> init -- <function></span></div><div><span style="color: #ce9178;"> deinit -- <function></span></div><div><span style="color: #ce9178;"> freq -- <function></span></div><div><span style="color: #ce9178;"> duty -- <function></span></div><div><span style="color: #ce9178;">"""</span></div><br /></code>
<p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWHZwNgpvZpxJ16Ej2B1Rc6ld2mo6-QKFG0ON9Lk24LeVY2u1OzQ7sI97i_VbHePUCwtxiSEJii2SFVjPwwpV3G45D0rHh3G8qeyVwCuU7pbdbu-dDopxOOBuX4KQEUSXw0mRn8aHlenfXn-1qF5gVPB_HGLErM3tiW9DSmA8gl64czK2ZJuWjNbM8Iw/s679/PWM0.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="679" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWHZwNgpvZpxJ16Ej2B1Rc6ld2mo6-QKFG0ON9Lk24LeVY2u1OzQ7sI97i_VbHePUCwtxiSEJii2SFVjPwwpV3G45D0rHh3G8qeyVwCuU7pbdbu-dDopxOOBuX4KQEUSXw0mRn8aHlenfXn-1qF5gVPB_HGLErM3tiW9DSmA8gl64czK2ZJuWjNbM8Iw/w400-h280/PWM0.jpg" width="400" /></a></div><p style="text-align: left;">周波数とディユーティ比を指定すれば PWMピンから波形が出てきます。</p><p style="text-align: left;">いろいろな数値を指定して波形を観測してみたところ、設定できる周波数の段階が荒くて、460, 1830, 7330, 29300, 58600, 117000, 234000, 470000 [Hz] の8段階でした(数値はおよその値)。この数値から外れた値を指定した場合、低い方の値に設定されます。</p><p style="text-align: left;">デューティ比は 0~1023で指定します。</p><p></p>
<p style="text-align: left;"><br /></p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK0KIw6YV4b8p0Qhk08fRsOkjTSrHo-Na5pKefCva-_N2bmuKeqwYyui1XNddjkx1pKIrTQ_5B4uiSKYaox9Cq3hRZcqgVGOuk3JZRJs9mBacR20Pa1aZSbUQlGV_n7CCCp9DGleOV8fpLu5cNmKLUjpqgEyevLsfE54pqsYR0eU9JWhhfJZvSvxbdDA/s1920/WioT-Pinout.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1560" data-original-width="1920" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK0KIw6YV4b8p0Qhk08fRsOkjTSrHo-Na5pKefCva-_N2bmuKeqwYyui1XNddjkx1pKIrTQ_5B4uiSKYaox9Cq3hRZcqgVGOuk3JZRJs9mBacR20Pa1aZSbUQlGV_n7CCCp9DGleOV8fpLu5cNmKLUjpqgEyevLsfE54pqsYR0eU9JWhhfJZvSvxbdDA/w400-h325/WioT-Pinout.jpg" width="400" /></a></div><p style="text-align: left;">PWMで使用できるピンは、13, 16, 23, 33, 37の PWM0~PWM4ピンです。</p><p></p><p style="text-align: left;"><br /></p>
<div><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></div><div><br /></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-64682111213386505922022-06-19T11:28:00.002+09:002022-06-21T01:25:26.734+09:00MicroPythonで使うWio Terminal - machine.DAC<a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a>
<h2 style="text-align: left;">machine.DAC (D/Aコンバータ)の使用例</h2>
<code style="overflow: scroll; border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #6a9955;"># Wio Terminal machine.DACのサンプル</span></div><div><span style="color: #6a9955;"># This code is provided under a CC0 Public Domain License.</span></div><div><span style="color: #6a9955;"># http://creativecommons.org/publicdomain/zero/1.0/</span></div><div><span style="color: #6a9955;"># 2022年6月19日 佐藤恭一 https://kyoutan.jpn.org</span></div><br /><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">time</span></div><div><span style="color: #c586c0;">from</span> machine <span style="color: #c586c0;">import</span> DAC, ADC, Pin, Map, LCD</div><br /><div><span style="color: #9cdcfe;">lcd</span> = LCD()</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">lcd</span>.color.BLACK)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">lcd</span>.color.WHITE)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextFont(<span style="color: #b5cea8;">6</span>)</div><div><span style="color: #9cdcfe;">adc</span> = ADC(Pin(Map.A0))</div><br /><div><span style="color: #6a9955;"># DACを使用したアナログ出力</span></div><div><span style="color: #9cdcfe;">dac</span> = DAC(Pin(Map.DAC0)) <span style="color: #6a9955;"># DAC0 と DAC1 ふたつのDACがある</span></div><div><span style="color: #9cdcfe;">dac</span>.resolution(<span style="color: #b5cea8;">12</span>) <span style="color: #6a9955;"># resolutionで分解能を指定できる。初期値=最大値 12bit</span></div><div><span style="color: #9cdcfe;">dac</span>.resolution(<span style="color: #b5cea8;">10</span>) <span style="color: #6a9955;"># ADCと同じ 10bitに設定</span></div><div><span style="color: #6a9955;"># dac.reference(0) # 0 初期値。値を増やすと出力電圧が上がるのだけど、法則がわからない。</span></div><br /><div><span style="color: #9cdcfe;">dac</span> = DAC(Pin(Map.DAC0), <span style="color: #9cdcfe;">resolution</span>=<span style="color: #b5cea8;">10</span>, <span style="color: #9cdcfe;">reference</span>=<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># 一行でも設定できる</span></div><div><span style="color: #6a9955;"># DAC0の出力をADC0で読み取ってみる</span></div><div><span style="color: #6a9955;"># DAC0(pin11)とADC0(pin13)をジャンパ線で接続する</span></div><div><span style="color: #c586c0;">for</span> <span style="color: #9cdcfe;">output</span> <span style="color: #c586c0;">in</span> <span style="color: #4ec9b0;">range</span>(<span style="color: #b5cea8;">0</span>, <span style="color: #b5cea8;">1023</span>, <span style="color: #b5cea8;">20</span>):</div><div> <span style="color: #9cdcfe;">dac</span>.write(<span style="color: #9cdcfe;">output</span>) <span style="color: #6a9955;"># アナログ出力</span></div><div> <span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">" </span><span style="color: #569cd6;">{0:>04d}</span><span style="color: #ce9178;"> "</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #9cdcfe;">adc</span>.read()), <span style="color: #b5cea8;">0</span>, <span style="color: #b5cea8;">5</span>) <span style="color: #6a9955;"># 上段計測値</span></div><div> <span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">" </span><span style="color: #569cd6;">{0:>04d}</span><span style="color: #ce9178;"> "</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #9cdcfe;">output</span>), <span style="color: #b5cea8;">0</span>, <span style="color: #b5cea8;">48</span>) <span style="color: #6a9955;"># 下段出力値</span></div><div> <span style="color: #4ec9b0;">time</span>.sleep_ms(<span style="color: #b5cea8;">100</span>)</div><br /><br /><div><span style="color: #6a9955;"># PWMを使用したアナログ出力</span></div><div><span style="color: #6a9955;"># 分解能は 8bit (0 - 255)のみ。resolutionを指定しても無視される</span></div><div><span style="color: #9cdcfe;">dac0</span> = DAC(Pin(<span style="color: #b5cea8;">13</span>)) <span style="color: #6a9955;"># PWM0</span></div><div><span style="color: #9cdcfe;">dac1</span> = DAC(Pin(<span style="color: #b5cea8;">16</span>)) <span style="color: #6a9955;"># PWM1</span></div><div><span style="color: #9cdcfe;">dac2</span> = DAC(Pin(<span style="color: #b5cea8;">23</span>)) <span style="color: #6a9955;"># PWM2</span></div><div><span style="color: #9cdcfe;">dac3</span> = DAC(Pin(<span style="color: #b5cea8;">33</span>)) <span style="color: #6a9955;"># PWM3</span></div><div><span style="color: #9cdcfe;">dac4</span> = DAC(Pin(<span style="color: #b5cea8;">37</span>)) <span style="color: #6a9955;"># PWM4</span></div><div><span style="color: #9cdcfe;">dac5</span> = DAC(Pin(<span style="color: #b5cea8;">3</span>)) <span style="color: #6a9955;"># PWMピン以外では使えない(エラーにはならない)</span></div><div><span style="color: #9cdcfe;">dac0</span>.write(<span style="color: #b5cea8;">127</span>)</div><div><span style="color: #9cdcfe;">dac1</span>.write(<span style="color: #b5cea8;">127</span>)</div><div><span style="color: #9cdcfe;">dac2</span>.write(<span style="color: #b5cea8;">127</span>)</div><div><span style="color: #9cdcfe;">dac3</span>.write(<span style="color: #b5cea8;">127</span>)</div><div><span style="color: #9cdcfe;">dac4</span>.write(<span style="color: #b5cea8;">127</span>)</div><div><span style="color: #9cdcfe;">dac5</span>.write(<span style="color: #b5cea8;">127</span>)</div><div><span style="color: #6a9955;"># PWM出力なので、波形はオシロかロジアナで観測する</span></div><div><span style="color: #6a9955;"># アナログ値として使用するなら、ローパスフィルタを通す</span></div><br /><div><span style="color: #ce9178;">"""</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(DAC)</span></div><div><span style="color: #ce9178;">object <class 'DAC'> is of type type</span></div><div><span style="color: #ce9178;"> write -- <function></span></div><div><span style="color: #ce9178;"> resolution -- <function></span></div><div><span style="color: #ce9178;"> reference -- <function></span></div><div><span style="color: #ce9178;">"""</span></div><br /></code>
<p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZGL4v6vQ8qjWMepW0l-YdFWJavceZ8WoNHlyjBl-EmOGVS30llsVKhSd2ouQGc9szj5E5Ui5PTcsty_ssKc_91l153eb_7220GNLaXgFL2tHy1pnnWr58KnZb6tVJ472O7iI6FIT-1OH5-asITd_c-Ua4AL-0KfwJA3l7QOktD80nZ5vWfNYCVtKViQ/s1920/WioT-Pinout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1560" data-original-width="1920" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZGL4v6vQ8qjWMepW0l-YdFWJavceZ8WoNHlyjBl-EmOGVS30llsVKhSd2ouQGc9szj5E5Ui5PTcsty_ssKc_91l153eb_7220GNLaXgFL2tHy1pnnWr58KnZb6tVJ472O7iI6FIT-1OH5-asITd_c-Ua4AL-0KfwJA3l7QOktD80nZ5vWfNYCVtKViQ/w400-h325/WioT-Pinout.jpg" width="400" /></a></div><p style="text-align: left;">DAC0, DAC1を使用したアナログ出力と、PWM0~PWM4を使用したアナログ出力が使用できます。</p><p style="text-align: left;">値を書き込むだけで簡単に使用できました。</p><br /><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKHAElRM2rYBakdkDrkplPbKQRCdOSHWmBxwL07EaVnzjgxYsgLf5tlBsy-xsgQ-xqHCt1gVCpuFnTWP2X5s1qh61sh7naM15m2E5Ce4CuJQoEZqvdqKjiLdyhExDHVUSr1pbwmFFnfQ85BK-fRLTK6vZshoQnv_rRjsiXRdikbVRw3iYHkYjFhj1d9Q/s679/DAC2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="527" data-original-width="679" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKHAElRM2rYBakdkDrkplPbKQRCdOSHWmBxwL07EaVnzjgxYsgLf5tlBsy-xsgQ-xqHCt1gVCpuFnTWP2X5s1qh61sh7naM15m2E5Ce4CuJQoEZqvdqKjiLdyhExDHVUSr1pbwmFFnfQ85BK-fRLTK6vZshoQnv_rRjsiXRdikbVRw3iYHkYjFhj1d9Q/w400-h310/DAC2.jpg" width="400" /></a></div><p style="text-align: left;">PWMを使用したアナログ出力では、周期が 1.8kHzくらいでした。</p><div><br /></div><div><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></div><div><br /></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-88256174149122985312022-06-19T06:58:00.002+09:002022-06-21T01:24:45.062+09:00MicroPythonで使うWio Terminal - machine.ADC<a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a>
<h2 style="text-align: left;">machine.ADC (A/Dコンバータ)の使用例</h2>
<code style="overflow: scroll; border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #6a9955;"># Wio Terminal machine.ADCのサンプル</span></div><div><span style="color: #6a9955;"># This code is provided under a CC0 Public Domain License.</span></div><div><span style="color: #6a9955;"># http://creativecommons.org/publicdomain/zero/1.0/</span></div><div><span style="color: #6a9955;"># 2022年6月19日 佐藤恭一 https://kyoutan.jpn.org</span></div><br /><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">time</span></div><div><span style="color: #c586c0;">from</span> machine <span style="color: #c586c0;">import</span> ADC, Pin, Map, LCD</div><br /><div><span style="color: #9cdcfe;">lcd</span> = LCD()</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">lcd</span>.color.BLACK)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">lcd</span>.color.WHITE)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextFont(<span style="color: #b5cea8;">6</span>)</div><br /><div><span style="color: #c586c0;">while</span> <span style="color: #569cd6;">True</span>:</div><div> <span style="color: #9cdcfe;">adc</span> = ADC(Pin(<span style="color: #b5cea8;">13</span>)) <span style="color: #6a9955;"># pin13 : A0</span></div><div> <span style="color: #9cdcfe;">adc</span> = ADC(Pin(Map.A0)) <span style="color: #6a9955;"># ピン番号は Mapで指定することもできる</span></div><div> <span style="color: #6a9955;"># ピン番号はコネクタのピン番号 1 ~ 40</span></div><div> <span style="color: #6a9955;"># アナログ入力は A0 ~ A8 まである</span></div><div> <span style="color: #6a9955;"># adc.read()でアナログ値を読むことができる (10bit 0V:0 ~ 3.3V:1023)</span></div><div> <span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">" </span><span style="color: #569cd6;">{0:>04d}</span><span style="color: #ce9178;"> "</span>.<span style="color: #dcdcaa;">format</span>(<span style="color: #9cdcfe;">adc</span>.read()), <span style="color: #b5cea8;">0</span>, <span style="color: #b5cea8;">5</span>)</div><div> <span style="color: #4ec9b0;">time</span>.sleep_ms(<span style="color: #b5cea8;">100</span>)</div><br /><div><span style="color: #ce9178;">"""</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(machine.ADC)</span></div><div><span style="color: #ce9178;">object <class 'ADC'> is of type type</span></div><div><span style="color: #ce9178;"> read -- <function></span></div><div><span style="color: #ce9178;">"""</span></div><br /></code>
<p style="text-align: left;">ADCは値を読み取るだけなので簡単に使えます。</p><p style="text-align: left;">得られる値は 10bit 0~1023、0~3.3Vの電圧を計測することができます。</p><p style="text-align: left;"><br /></p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXX1JRABkz4g8HjEUu-qM1ICkYj_eZHGjZCEWTA8cJawpeCu8ZpQCHvmZfM2ketNs3IPoWeBDmxnSYF2StV3U61ajlevddhR3neuEr0U4MarvV9P81P3jDPqIV2cURQEw7xdSAB1TmviDO6BUrUtKRHIP_YDKrG3ZdEDiQ1D627cmkZim0II3L7KnMwA/s1920/WioT-Pinout.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1560" data-original-width="1920" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXX1JRABkz4g8HjEUu-qM1ICkYj_eZHGjZCEWTA8cJawpeCu8ZpQCHvmZfM2ketNs3IPoWeBDmxnSYF2StV3U61ajlevddhR3neuEr0U4MarvV9P81P3jDPqIV2cURQEw7xdSAB1TmviDO6BUrUtKRHIP_YDKrG3ZdEDiQ1D627cmkZim0II3L7KnMwA/w400-h325/WioT-Pinout.jpg" width="400" /></a></div>ピン番号はコネクタのピン番号(1~40)を使用します。<div><br /><p style="text-align: left;"><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></p></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-55817644842445776232022-06-19T03:36:00.007+09:002022-06-19T07:28:52.439+09:00MicroPythonで使うWio Terminal - machine.Pin (GPIO)<div style="text-align: left;"><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html" style="font-size: medium; font-weight: 400;">MicroPythonで使うWio Terminal - 目次</a></div><div style="text-align: left;"><br /></div><h2 style="text-align: left;">machine.Pin (GPIO) の使用例</h2>
<code style="border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #6a9955;"># Wio Terminal machine.Pin (GPIO)のサンプル</span></div><div><span style="color: #6a9955;"># This code is provided under a CC0 Public Domain License.</span></div><div><span style="color: #6a9955;"># http://creativecommons.org/publicdomain/zero/1.0/</span></div><div><span style="color: #6a9955;"># 2022年6月19日 佐藤恭一 https://kyoutan.jpn.org</span></div><br /><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">time</span></div><div><span style="color: #c586c0;">from</span> machine <span style="color: #c586c0;">import</span> Pin, Map</div><br /><div><span style="color: #6a9955;"># 出力</span></div><div><span style="color: #9cdcfe;">led</span> = Pin(<span style="color: #b5cea8;">50</span>, Pin.OUT) <span style="color: #6a9955;"># 内蔵LEDが接続されている50番のGPIOを出力に設定</span></div><div><span style="color: #9cdcfe;">led</span> = Pin(Map.LED_BUILTIN, Pin.OUT) <span style="color: #6a9955;"># 内蔵デバイスは machine.Mapで定義されているので、こう書くとらくちん</span></div><div><span style="color: #9cdcfe;">led</span> = Pin(Map.LED_BUILTIN, <span style="color: #9cdcfe;">value</span>=<span style="color: #b5cea8;">1</span>) <span style="color: #6a9955;"># 初期化と同時に出力値を指定することもできる</span></div><div><span style="color: #9cdcfe;">led</span>.init(Pin.IN, Pin.PULL_UP) <span style="color: #6a9955;"># ピンの設定を変更する。入力出力を切り替えたりとか</span></div><div><span style="color: #9cdcfe;">led</span>.init(Pin.OUT)</div><br /><div><span style="color: #9cdcfe;">led</span>.on() <span style="color: #6a9955;"># on / offでGPIOを操作できる</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #b5cea8;">1</span>)</div><div><span style="color: #9cdcfe;">led</span>.off()</div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #b5cea8;">1</span>)</div><br /><div><span style="color: #9cdcfe;">led</span>.value(<span style="color: #b5cea8;">1</span>) <span style="color: #6a9955;"># valueでもGPIOを操作できる</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #b5cea8;">1</span>)</div><div><span style="color: #9cdcfe;">led</span>.value(<span style="color: #b5cea8;">0</span>)</div><br /><div><span style="color: #6a9955;"># 入力</span></div><div><span style="color: #9cdcfe;">buttonC</span> = Pin(Map.WIO_KEY_C, Pin.IN) <span style="color: #6a9955;"># GPIOを入力に設定(KEY_Cは左側のボタン)</span></div><div><span style="color: #9cdcfe;">buttonC</span> = Pin(Map.WIO_KEY_C, Pin.IN, Pin.PULL_DOWN) <span style="color: #6a9955;"># プルダウンを指定することができる</span></div><div><span style="color: #9cdcfe;">buttonC</span> = Pin(Map.WIO_KEY_C, Pin.IN, Pin.PULL_UP) <span style="color: #6a9955;"># プルアップを指定することもできる</span></div><br /><div><span style="color: #9cdcfe;">count</span> = <span style="color: #b5cea8;">0</span></div><div><span style="color: #c586c0;">while</span> <span style="color: #569cd6;">True</span>: <span style="color: #6a9955;"># ボタンが押されてる時LEDを点灯させる。10回押したら次へ進む</span></div><div> <span style="color: #6a9955;"># led.value(buttonC.value()) # ボタンが押されている時にLEDを点灯させるだけならこの一行で良い</span></div><div> <span style="color: #c586c0;">if</span> <span style="color: #9cdcfe;">buttonC</span>.value() == <span style="color: #b5cea8;">0</span>: <span style="color: #6a9955;"># ボタンが押されたらLED点灯</span></div><div> <span style="color: #9cdcfe;">led</span>.on()</div><div> <span style="color: #9cdcfe;">count</span> += <span style="color: #b5cea8;">1</span></div><div> <span style="color: #c586c0;">while</span> <span style="color: #9cdcfe;">buttonC</span>.value() == <span style="color: #b5cea8;">0</span>: <span style="color: #6a9955;"># ボタンが離されるまで待つ</span></div><div> <span style="color: #c586c0;">pass</span></div><div> <span style="color: #c586c0;">else</span>:</div><div> <span style="color: #9cdcfe;">led</span>.off() <span style="color: #6a9955;"># ボタンが離されたらLED消灯</span></div><br /><div> <span style="color: #c586c0;">if</span> <span style="color: #9cdcfe;">count</span> > <span style="color: #b5cea8;">9</span>:</div><div> <span style="color: #c586c0;">break</span></div><div> <span style="color: #4ec9b0;">time</span>.sleep_ms(<span style="color: #b5cea8;">50</span>)</div><div> <span style="color: #6a9955;"># print(count)</span></div><div><span style="color: #9cdcfe;">led</span>.off()</div></code>
<p>上のように簡単に使えます。</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitObgLg88E_eSwQjMo0EKL7HpYB-11IYkAZmFh2NuyQeWEDwOi33LBK9trboKpiQH1KdN6qHMHq8rDUgKifIO0qmLAPiGLe_LLt0zS9C8py2n-zUHL-YI10S3_DR_bTLf2xnjNokQV4mm5M9JbSti6o1KMXBqYLVxLdV4gQwdLK3Jm_AFLjzkUU2kTsw/s1920/WioT-Pinout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1560" data-original-width="1920" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitObgLg88E_eSwQjMo0EKL7HpYB-11IYkAZmFh2NuyQeWEDwOi33LBK9trboKpiQH1KdN6qHMHq8rDUgKifIO0qmLAPiGLe_LLt0zS9C8py2n-zUHL-YI10S3_DR_bTLf2xnjNokQV4mm5M9JbSti6o1KMXBqYLVxLdV4gQwdLK3Jm_AFLjzkUU2kTsw/w400-h325/WioT-Pinout.jpg" width="400" /></a></div><p>ピン番号はコネクタのピン番号(1~40)を使用します。</p><p><br /></p><p>micropythonの標準ライブラリにある割り込み機能が Wio Terminalの ArduPyにはありませんでした。残念。</p><p>割り込みが使えないと、用途がけっこう限定されちゃう。</p><p><br /></p><h3 style="text-align: left;">machine.Pinの関数一覧</h3>
<code style="color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">import machine</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(machine.Pin)</span></div><div><span style="color: #ce9178;">object <class 'Pin'> is of type type</span></div><div><span style="color: #ce9178;"> init -- <function></span></div><div><span style="color: #ce9178;"> value -- <function></span></div><div><span style="color: #ce9178;"> off -- <function></span></div><div><span style="color: #ce9178;"> on -- <function></span></div><div><span style="color: #ce9178;"> IN -- 0</span></div><div><span style="color: #ce9178;"> OUT -- 1</span></div><div><span style="color: #ce9178;"> PULL_UP -- 2</span></div><div><span style="color: #ce9178;"> PULL_DOWN -- 3</span></div><div><span style="color: #ce9178;"> IRQ_RISING -- 4</span></div><div><span style="color: #ce9178;"> IRQ_FALLING -- 3</span></div><div><span style="color: #ce9178;"> IRQ_CHANGE -- 2</span></div><br /><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(machine.Map)</span></div><div><span style="color: #ce9178;">object <class 'Map'> is of type type</span></div><div><span style="color: #ce9178;"> LED_BUILTIN -- 50</span></div><div><span style="color: #ce9178;"> WIO_BUZZER -- 51</span></div><div><span style="color: #ce9178;"> WIO_LIGHT -- 52</span></div><div><span style="color: #ce9178;"> WIO_MIC -- 53</span></div><div><span style="color: #ce9178;"> WIO_IR -- 54</span></div><div><span style="color: #ce9178;"> WIO_KEY_A -- 55</span></div><div><span style="color: #ce9178;"> WIO_KEY_B -- 56</span></div><div><span style="color: #ce9178;"> WIO_KEY_C -- 57</span></div><div><span style="color: #ce9178;"> WIO_5S_UP -- 58</span></div><div><span style="color: #ce9178;"> WIO_5S_DOWN -- 61</span></div><div><span style="color: #ce9178;"> WIO_5S_LEFT -- 59</span></div><div><span style="color: #ce9178;"> WIO_5S_RIGHT -- 60</span></div><div><span style="color: #ce9178;"> WIO_5S_PRESS -- 62</span></div><div><span style="color: #ce9178;"> A0 -- 13</span></div><div><span style="color: #ce9178;"> A1 -- 15</span></div><div><span style="color: #ce9178;"> A2 -- 16</span></div><div><span style="color: #ce9178;"> A3 -- 18</span></div><div><span style="color: #ce9178;"> A4 -- 22</span></div><div><span style="color: #ce9178;"> A5 -- 32</span></div><div><span style="color: #ce9178;"> A6 -- 33</span></div><div><span style="color: #ce9178;"> A7 -- 36</span></div><div><span style="color: #ce9178;"> A8 -- 37</span></div><div><span style="color: #ce9178;"> DAC0 -- 11</span></div><div><span style="color: #ce9178;"> DAC1 -- 26</span></div><div><span style="color: #ce9178;"> WIRE -- 0</span></div><div><span style="color: #ce9178;"> WIRE1 -- 1</span></div><div><span style="color: #ce9178;"> SPI -- 0</span></div><div><span style="color: #ce9178;"> SPI1 -- 1</span></div><div><span style="color: #ce9178;"> SPI2 -- 2</span></div><div><span style="color: #ce9178;"> SPI3 -- 3</span></div><div><span style="color: #ce9178;"> UART1 -- 1</span></div><div><span style="color: #ce9178;"> UART2 -- 2</span></div></code>
<div><br /></div><div><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-19903152403757050532022-06-18T07:14:00.006+09:002022-07-02T19:20:28.338+09:00MicroPythonで使うWio Terminal - machine.Sprite<a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a>
<div><br /></div>
<h2 style="text-align: left;">machine.Spriteの使用例</h2><p style="text-align: left;">RAM上にスクリーンバッファ(仮想画面)を確保して描画処理を行った後、一気にLCDへ転送します。</p>
<code style="border: 1px solid; overflow: scroll;"><div style="color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #6a9955;"># Wio Terminal machine.Spriteのサンプル</span></div><div><span style="color: #6a9955;"># This code is provided under a CC0 Public Domain License.</span></div><div><span style="color: #6a9955;"># http://creativecommons.org/publicdomain/zero/1.0/</span></div><div><span style="color: #6a9955;"># 2022年6月18日 佐藤恭一 https://kyoutan.jpn.org</span></div><div><span style="color: #6a9955;">#</span></div><div><span style="color: #6a9955;"># 透明色の指定はあり。拡大・回転する関数は無いようだった。</span></div><div><span style="color: #6a9955;"># 文字や図形の描画関数は machine.LCDと同じ https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html</span></div><br /><div><span style="color: #c586c0;">from</span> machine <span style="color: #c586c0;">import</span> LCD</div><div><span style="color: #c586c0;">from</span> machine <span style="color: #c586c0;">import</span> Sprite</div><br /><div><span style="color: #9cdcfe;">lcd</span> = LCD()</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">lcd</span>.color.BLUE)</div><br /><div><span style="color: #9cdcfe;">sprite</span> = Sprite(<span style="color: #9cdcfe;">lcd</span>) <span style="color: #6a9955;"># Spriteの描画先を指定する(引数間違っているかもしれない)</span></div><div><span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span> = <span style="color: #b5cea8;">32</span>, <span style="color: #b5cea8;">32</span></div><div><span style="color: #9cdcfe;">sprite</span>.createSprite(<span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span>) <span style="color: #6a9955;"># サイズを指定してSpriteを作成</span></div><div><span style="color: #9cdcfe;">sprite</span>.fillScreen(<span style="color: #9cdcfe;">sprite</span>.color.GREEN) <span style="color: #6a9955;"># Spriteを塗りつぶし</span></div><div><span style="color: #9cdcfe;">sprite</span>.fillSprite(<span style="color: #9cdcfe;">sprite</span>.color.BLACK) <span style="color: #6a9955;"># fillScreenも fillSpriteも同じ動作のようだった</span></div><div><span style="color: #9cdcfe;">x</span> = <span style="color: #9cdcfe;">sprite</span>.width // <span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">sprite</span>.height // <span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">r</span> = <span style="color: #9cdcfe;">sprite</span>.width // <span style="color: #b5cea8;">3</span></div><div><span style="color: #9cdcfe;">color</span> = <span style="color: #9cdcfe;">sprite</span>.color.RED</div><div><span style="color: #9cdcfe;">sprite</span>.fillCircle(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 円を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">0</span>, <span style="color: #b5cea8;">0</span></div><div><span style="color: #9cdcfe;">sprite</span>.pushSprite(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>) <span style="color: #6a9955;"># そのままLCDに転送</span></div><br /><div><span style="color: #9cdcfe;">x</span> = <span style="color: #9cdcfe;">sprite</span>.width</div><div><span style="color: #9cdcfe;">transparent</span> = <span style="color: #9cdcfe;">sprite</span>.color.BLACK</div><div><span style="color: #9cdcfe;">sprite</span>.pushSprite(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">transparent</span>) <span style="color: #6a9955;"># 透明色を指定して転送</span></div><br /><div><span style="color: #9cdcfe;">sprite</span>.deleteSprite() <span style="color: #6a9955;"># Spriteを削除(メモリ解放)</span></div><div><span style="color: #9cdcfe;">x</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">sprite</span>.createSprite(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>) <span style="color: #6a9955;"># 再度Spriteを作成して使用できる</span></div><div><span style="color: #9cdcfe;">sprite</span>.fillSprite(<span style="color: #9cdcfe;">sprite</span>.color.BLACK)</div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">0</span>, <span style="color: #b5cea8;">0</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">sprite</span>.setTextColor(Sprite.color.WHITE)</div><div><span style="color: #9cdcfe;">sprite</span>.drawString(<span style="color: #ce9178;">"ABCDE01234"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># machine.LCDと同じく文字や図形の描画ができる</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">16</span></div><div><span style="color: #9cdcfe;">sprite</span>.drawString(<span style="color: #ce9178;">"FGHIJ56789"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>)</div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">16</span></div><div><span style="color: #9cdcfe;">sprite</span>.drawString(<span style="color: #ce9178;">"KLMNO01234"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>)</div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">16</span></div><div><span style="color: #9cdcfe;">sprite</span>.drawString(<span style="color: #ce9178;">"PQRST56789"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>)</div><div><span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">0</span></div><div><span style="color: #9cdcfe;">sprite</span>.pushSprite(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">transparent</span>)</div><div><span style="color: #9cdcfe;">x</span> += <span style="color: #b5cea8;">32</span>-<span style="color: #b5cea8;">8</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">32</span>-<span style="color: #b5cea8;">8</span></div><div><span style="color: #9cdcfe;">sprite</span>.pushSprite(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">transparent</span>)</div><div><span style="color: #9cdcfe;">x</span> += <span style="color: #b5cea8;">64</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">64</span></div><div><span style="color: #9cdcfe;">sprite</span>.pushSprite(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">transparent</span>)</div><br /><div><span style="color: #9cdcfe;">sprite</span>.deleteSprite()</div><div><span style="color: #9cdcfe;">sprite</span>.createSprite(<span style="color: #9cdcfe;">lcd</span>.width, <span style="color: #9cdcfe;">lcd</span>.height)</div><div><span style="color: #9cdcfe;">sprite</span>.fillSprite(<span style="color: #9cdcfe;">sprite</span>.color.BLUE)</div><div><span style="color: #9cdcfe;">sprite2</span> = Sprite(<span style="color: #9cdcfe;">sprite</span>) <span style="color: #6a9955;"># 描画先を別のspriteに指定しようとしてもLCDに描画されてしまう</span></div><div><span style="color: #9cdcfe;">sprite2</span>.createSprite(<span style="color: #b5cea8;">32</span>, <span style="color: #b5cea8;">32</span>)</div><div><span style="color: #9cdcfe;">sprite2</span>.fillSprite(<span style="color: #9cdcfe;">sprite</span>.color.BLACK)</div><div><span style="color: #9cdcfe;">sprite2</span>.fillCircle(<span style="color: #b5cea8;">16</span>, <span style="color: #b5cea8;">16</span>, <span style="color: #b5cea8;">10</span>, <span style="color: #9cdcfe;">sprite</span>.color.RED)</div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">0</span>, <span style="color: #b5cea8;">0</span></div><div><span style="color: #9cdcfe;">sprite2</span>.pushSprite(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">transparent</span>) <span style="color: #6a9955;"># spriteに描画してほしいけどLCDに描画されてしまう</span></div><div><span style="color: #6a9955;">#sprite.pushSprite(0, 0)</span></div><br /></div></code>
<p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5XpcbPnDU3cHU1mhLU9-xWZp54rXPIvNFKDo8j26H8_SEBywWSyo6aT8-MuN-SRSNXiMMOFKe_72_ZDVNdWmmviFAeevbsVZvWfD7v4RcYEMkzPS1kRMJIIoDke44OHdZlJcPsKUzYt2nJvyT_QuUnlKxui501hsU1X8IopX3Z8xPRyuldvYcvXo7Fw/s1000/aDSC_3106.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="790" data-original-width="1000" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5XpcbPnDU3cHU1mhLU9-xWZp54rXPIvNFKDo8j26H8_SEBywWSyo6aT8-MuN-SRSNXiMMOFKe_72_ZDVNdWmmviFAeevbsVZvWfD7v4RcYEMkzPS1kRMJIIoDke44OHdZlJcPsKUzYt2nJvyT_QuUnlKxui501hsU1X8IopX3Z8xPRyuldvYcvXo7Fw/w400-h316/aDSC_3106.jpg" width="400" /></a></div><p style="text-align: left;">透明色を指定して描画することができる。黒字に赤の丸の画像で、黒を透明色として描画すると、赤丸だけを表示することができる。</p><p style="text-align: left;"><br /></p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbUh2kiJ0VgIQFmoiFf_hd0YOqv373N5lp3nGH1nz6pxlhL6tpEyhXk719CbYJURNdHR2ijZx2_UN9RFHi1aXResma6XnIBju5rS_Lavovlw_rP3tL4VBXTGB4Yg3u1HfnfaYFN_i0TQs7p7ZCQkO_CXnTLFBBj6JOCDdP_M8LUflgOMoTmjSj_xzYOw/s1000/aDSC_3110.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="790" data-original-width="1000" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbUh2kiJ0VgIQFmoiFf_hd0YOqv373N5lp3nGH1nz6pxlhL6tpEyhXk719CbYJURNdHR2ijZx2_UN9RFHi1aXResma6XnIBju5rS_Lavovlw_rP3tL4VBXTGB4Yg3u1HfnfaYFN_i0TQs7p7ZCQkO_CXnTLFBBj6JOCDdP_M8LUflgOMoTmjSj_xzYOw/w400-h316/aDSC_3110.jpg" width="400" /></a></div><p style="text-align: left;">表示の重ね合わせができる。書き換え処理をSpriteに対して行ってから、一気にLCDへ転送することで、書き換え時のチラツキをなくす事もできる。</p><p></p>
<p style="text-align: left;">LCDの描画関数をそのままSpriteでも使うことができる。</p><p style="text-align: left;"><br /></p>
<h3 style="text-align: left;">Spriteの描画関数一覧</h3>
<code style="border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(machine.Sprite)</span></div><div><span style="color: #ce9178;">object <class 'eSprite'> is of type type</span></div><div><span style="color: #ce9178;"> deinit -- <function></span></div><div><span style="color: #ce9178;"> __enter__ -- <function></span></div><div><span style="color: #ce9178;"> __exit__ -- <function></span></div><div><span style="color: #ce9178;"> fillScreen -- <function></span></div><div><span style="color: #ce9178;"> fillSprite -- <function></span></div><div><span style="color: #ce9178;"> createSprite -- <function></span></div><div><span style="color: #ce9178;"> pushSprite -- <function></span></div><div><span style="color: #ce9178;"> deleteSprite -- <function></span></div><div><span style="color: #ce9178;"> setRotation -- <function></span></div><div><span style="color: #ce9178;"> getRotation -- <function></span></div><div><span style="color: #ce9178;"> invertDisplay -- <function></span></div><div><span style="color: #ce9178;"> drawRightString -- <function></span></div><div><span style="color: #ce9178;"> drawChar -- <function></span></div><div><span style="color: #ce9178;"> drawString -- <function></span></div><div><span style="color: #ce9178;"> drawCentreString -- <function></span></div><div><span style="color: #ce9178;"> setTextFont -- <function></span></div><div><span style="color: #ce9178;"> drawPixel -- <function></span></div><div><span style="color: #ce9178;"> fontHeight -- <function></span></div><div><span style="color: #ce9178;"> textWidth -- <function></span></div><div><span style="color: #ce9178;"> drawNumber -- <function></span></div><div><span style="color: #ce9178;"> drawFloat -- <function></span></div><div><span style="color: #ce9178;"> setTextColor -- <function></span></div><div><span style="color: #ce9178;"> setTextSize -- <function></span></div><div><span style="color: #ce9178;"> setTextWrap -- <function></span></div><div><span style="color: #ce9178;"> setTextDatum -- <function></span></div><div><span style="color: #ce9178;"> getTextDatum -- <function></span></div><div><span style="color: #ce9178;"> setTextPadding -- <function></span></div><div><span style="color: #ce9178;"> drawLine -- <function></span></div><div><span style="color: #ce9178;"> drawFastVLine -- <function></span></div><div><span style="color: #ce9178;"> drawFastHLine -- <function></span></div><div><span style="color: #ce9178;"> drawRect -- <function></span></div><div><span style="color: #ce9178;"> fillRect -- <function></span></div><div><span style="color: #ce9178;"> drawRoundRect -- <function></span></div><div><span style="color: #ce9178;"> fillRoundRect -- <function></span></div><div><span style="color: #ce9178;"> drawCircle -- <function></span></div><div><span style="color: #ce9178;"> drawCircleHelper -- <function></span></div><div><span style="color: #ce9178;"> fillCircle -- <function></span></div><div><span style="color: #ce9178;"> fillCircleHelper -- <function></span></div><div><span style="color: #ce9178;"> drawEllipse -- <function></span></div><div><span style="color: #ce9178;"> fillEllipse -- <function></span></div><div><span style="color: #ce9178;"> drawTriangle -- <function></span></div><div><span style="color: #ce9178;"> fillTriangle -- <function></span></div><div><span style="color: #ce9178;"> getCursorX -- <function></span></div><div><span style="color: #ce9178;"> getCursorY -- <function></span></div><div><span style="color: #ce9178;"> getPivotX -- <function></span></div><div><span style="color: #ce9178;"> getPivotY -- <function></span></div><div><span style="color: #ce9178;"> color16to8 -- <function></span></div><div><span style="color: #ce9178;"> color565 -- <function></span></div><div><span style="color: #ce9178;"> getPivotX -- <function></span></div><div><span style="color: #ce9178;"> setCursor -- <function></span></div><div><span style="color: #ce9178;"> setPivot -- <function></span></div><div><span style="color: #ce9178;"> pushImage -- <function></span></div><div><span style="color: #ce9178;"> color -- <class 'color'></span></div><div><span style="color: #ce9178;"> datum -- <class 'datum'></span></div><div><span style="color: #ce9178;"><br /></span></div><div style="line-height: 19px;"><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">dir(sprite)</span></div></div><div><span style="color: #ce9178;"><span>['__enter__', '__exit__', 'color', 'color16to8', 'color565', 'createSprite'
, 'datum', 'deinit', 'deleteSprite', 'drawCentreString', 'drawChar', 'drawCircle'
, 'drawCircleHelper', 'drawEllipse', 'drawFastHLine', 'drawFastVLine', 'drawFloat'
, 'drawLine', 'drawNumber', 'drawPixel', 'drawRect', 'drawRightString', 'drawRoundRect'
, 'drawString', 'drawTriangle', 'fillCircle', 'fillCircleHelper', 'fillEllipse'
, 'fillRect', 'fillRoundRect', 'fillScreen', 'fillSprite', 'fillTriangle', 'fontHeight'
, 'getCursorX', 'getCursorY', 'getPivotX', 'getPivotY', 'getRotation', 'getTextDatum'
, 'height', 'invertDisplay', 'pushImage', 'pushSprite', 'setCursor', 'setPivot'
, 'setRotation', 'setTextColor', 'setTextDatum', 'setTextFont', 'setTextPadding'
, 'setTextSize', 'setTextWrap', 'textWidth', 'width']</span></span></div></code>
<div><p style="text-align: left;"><br /></p><div><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></div></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-73580863457869093712022-06-16T05:48:00.014+09:002022-06-27T15:16:42.584+09:00MicroPythonで使うWio Terminal - MicroPython (ArduPy) を使う準備<p style="text-align: left;"><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></p><p style="text-align: left;"><br /></p><h2 style="text-align: left;">MicroPythonの良いところ</h2><p>MicroPythonはインタプリタなので、マイコンにファームウェアを書き込んでしまえば、あとはテキストエディタだけがあればプログラムを書いて実行できます。開発環境をインストールする手間がないのでちょっと使ってみるような場合に便利で、手軽に試してみることができます。</p><p>ちょうど 8bitパソコン(ホビーパソコン)の BASICのような感じで使うことができます。ソースコードをテキストファイルに書いて実行することもできるし、対話モード (REPL) で一行ずつ入力して実行することもできる。ちょっと関数の動作を確かめてみるために1行だけ書いて実行してみることもできる。</p><p>最近のマイコンは1,000円以下で買えるような安価なものでも、32bitで 100MHz以上の速度で動作してとても高速なので、インタプリタでも速度が遅くて困ることは少なくなりました。</p><p>ESP32や Raspberry Pi Picoでも MicroPythonが使えるので、一度覚えるとほかのマイコンでも同じように利用できるのも良い。</p><p><br /></p><h2 style="text-align: left;">MicroPython のインストール</h2><p style="text-align: left;">seeed studioの <a href="https://wiki.seeedstudio.com/ArduPy/">ArduPy Get Started</a>にガイドがあるので、これを見ながら作業しました。Wio Terminalは、PCにUSBで接続するとUSBメモリとして認識するので、ファームウェアをドラッグ&ドロップするだけの簡単な作業です。</p><p style="text-align: left;"><br /></p><h3 style="text-align: left;">
STEP.1 ブートローダーに入る
</h3><ul>
<li>USBケーブルで Wio TerminalをPCに接続する</li>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFZBxr9RgQO0yk2f3eedT-OFeK7aXo7srFe7gFurXRkVhcbXdhIOGdnYMVox1lZTn4nU86-ezQBujqWy_ve7xR6IF43wGtKfLGVn0vOWQcoYtvC6NPX-aM_LGTAA_Wu7fBe_vw1bVeXcoukJabpcl44Y351cHGbmyxi_5tH3-LCbq8-H0BTomogFOPlw/s1500/aDSCN2712.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1125" data-original-width="1500" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFZBxr9RgQO0yk2f3eedT-OFeK7aXo7srFe7gFurXRkVhcbXdhIOGdnYMVox1lZTn4nU86-ezQBujqWy_ve7xR6IF43wGtKfLGVn0vOWQcoYtvC6NPX-aM_LGTAA_Wu7fBe_vw1bVeXcoukJabpcl44Y351cHGbmyxi_5tH3-LCbq8-H0BTomogFOPlw/s320/aDSCN2712.jpg" width="320" /></a></div>
<li>Wio Terminalを「ちょんちょん」と素早く2回リセットしてブートローダに入る</li>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmvZrT-tum99K_TYgL0xL53iq9nbQicYV_ETEv4XxRjehmcdGeT3Oa9uzOxrRgB2adUikBO_Dg-gUrAtyeeRhREyuhixIB8d9Av14VJXvsweOR32YKNZCA75QUUbwDcXgjl6zGRLeqDTMylvkbkZuHN2KjkaqwjLP53A66anFixVSkrwygZUDHXYIwxw/s353/a001.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="252" data-original-width="353" height="229" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmvZrT-tum99K_TYgL0xL53iq9nbQicYV_ETEv4XxRjehmcdGeT3Oa9uzOxrRgB2adUikBO_Dg-gUrAtyeeRhREyuhixIB8d9Av14VJXvsweOR32YKNZCA75QUUbwDcXgjl6zGRLeqDTMylvkbkZuHN2KjkaqwjLP53A66anFixVSkrwygZUDHXYIwxw/w320-h229/a001.jpg" width="320" /></a></div><li>Wio Terminalが「Arduino」という名前のUSBメモリとして認識される</li>
</ul><p style="text-align: left;"><br /></p><h3 style="text-align: left;">
STEP.2 ArduPy UF2 ファームウェアをダウンロードする
</h3><ul>
<li><a href="https://wiki.seeedstudio.com/ArduPy/">ArduPy Get Started</a> STEP.2 Download ArduPy UF2 Firmwareの <b>For Wio Terminal</b>のリンクからファームウェアをダウンロードする</li>
</ul><p style="text-align: left;"><br /></p><h3 style="text-align: left;">
STEP.3 ArduPy ファームウェアを Wio Terminalに書き込む
</h3><ul>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3wXv7FbCSSRYWU6tmpSbRFYyA6PhbxQY-XQjgKTuP02UOTX7nI3Kx0jlyOUuDXOrVnceuCy1L-ZXzZ8OWu4pRDmsd0lpm-V_Gq-Cc46ItUnzP4Z9D3GlmDWolW6WksHyFSrOP1wnSPgVXBmlnv-7Eg8-e07-EbJH4tKXceFqRWh7eN6y120rnr5vPqA/s353/002.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="272" data-original-width="353" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3wXv7FbCSSRYWU6tmpSbRFYyA6PhbxQY-XQjgKTuP02UOTX7nI3Kx0jlyOUuDXOrVnceuCy1L-ZXzZ8OWu4pRDmsd0lpm-V_Gq-Cc46ItUnzP4Z9D3GlmDWolW6WksHyFSrOP1wnSPgVXBmlnv-7Eg8-e07-EbJH4tKXceFqRWh7eN6y120rnr5vPqA/s320/002.jpg" width="320" /></a></div>
<li>Wio Terminalが「Arduino」という名前のドライブとして認識されているので、ダウンロードしたファームウェアをドラッグ&ドロップして書き込む(コピーする)</li>
<li>自動的にWio Terminalがリセットされ、MicroPythonが走り出す</li>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0KwPSUGZ7JAC4QTUmML71xhvIKFNVzTTKR3vERiCCMgBp25l04VZru3bKSdDYdOCSG0LuSnrKBdDmW-33POlOmfXT8LkmS3yV0zRMnUqA_AX5XR0AKQNNwEG9VmrXWR25EOl10Lb9e_jvgf31gdII6MCHN4U7xVD25EM3MXr6Y-61_A6VQdDw48FFEA/s353/003.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="252" data-original-width="353" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0KwPSUGZ7JAC4QTUmML71xhvIKFNVzTTKR3vERiCCMgBp25l04VZru3bKSdDYdOCSG0LuSnrKBdDmW-33POlOmfXT8LkmS3yV0zRMnUqA_AX5XR0AKQNNwEG9VmrXWR25EOl10Lb9e_jvgf31gdII6MCHN4U7xVD25EM3MXr6Y-61_A6VQdDw48FFEA/s320/003.jpg" width="320" /></a></div>
<li>Wio TerminalのUSBドライブの名前が「ARDUPY」に変わる</li>
</ul><p style="text-align: left;"><br /></p><h3 style="text-align: left;">
STEP.4 簡単なプログラムを動かしてみる(Lチカ)
</h3>
<code>
<div style="color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #c586c0;">from</span> machine <span style="color: #c586c0;">import</span> Pin, Map</div><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">time</span></div><div> </div><div><span style="color: #4fc1ff;">LED</span> = Pin(Map.LED_BUILTIN, Pin.OUT)</div><div> </div><div><span style="color: #c586c0;">while</span> <span style="color: #569cd6;">True</span>:</div><div> <span style="color: #4fc1ff;">LED</span>.on()</div><div> <span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #b5cea8;">1</span>)</div><div> <span style="color: #4fc1ff;">LED</span>.off()</div><div> <span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #b5cea8;">1</span>)</div></div>
</code>
<p>動作テストでLEDを点滅させるだけの簡単なプログラムを動かしてみます。</p><p>上のコードを好きなテキストエディタで入力(コピペ)して Wio TerminalのUSBドライブに <kbd>main.py</kbd> というファイル名で保存します。</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOw7VwJnYT409Oiswlx1GdsG3VFzInlXZ5NJCOS_HG9U0SrnCvDhLe88Q4u_uakiclA0fmbD2tnbaq3JK5I08_DN-z4QT2NXMjM7K4OtrNimq8V8H1b1MZgKT9l74fi9U_7P_oCN6REAFH6sGBLNqwOMuaHmsAXa0yrPkTV_7AVbyBS5_Ukb8kp18r7w/s1000/aDSCN6217.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="1000" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOw7VwJnYT409Oiswlx1GdsG3VFzInlXZ5NJCOS_HG9U0SrnCvDhLe88Q4u_uakiclA0fmbD2tnbaq3JK5I08_DN-z4QT2NXMjM7K4OtrNimq8V8H1b1MZgKT9l74fi9U_7P_oCN6REAFH6sGBLNqwOMuaHmsAXa0yrPkTV_7AVbyBS5_Ukb8kp18r7w/s320/aDSCN6217.jpg" width="320" /></a></div><p style="text-align: left;">すると、Wio TerminalのUSBコネクタ右側にある青色LEDが点滅します。</p><p>動作確認OKです。これで Wio Terminalで MicroPythonを使う準備は完了です。</p><div><br /></div><h2 style="text-align: left;">便利に使う</h2><h3 style="text-align: left;">ファイル名</h3><p style="text-align: left;">main.py というファイル名にしておくとファイルが更新(保存)されたときに、自動的にプログラムを実行してくれるので IDEを使わない場合に便利です。</p><p style="text-align: left;">boot.py というファイル名にしておけば、Wio Terminalの電源を入れた時に自動的にプログラムが実行されます。</p><p style="text-align: left;"><br /></p><h3 style="text-align: left;">対話モード (REPL)</h3><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIQhPgQlh-QLG77SR1_jjMzv62APxv5e0ojaVD-DBdMH0Ylv3TfpH69d2q4nbso29YfgmU39w_cTLSUcIZBe4cAGwc0rSHxo2xUKs9-AlJyMlK_PmuQWy1GiNw6Qz-UjoCni9gjoaQkomNkf3FhofD4W2xQ_T09IOngXBg8poGfE4U7FGsddgz1WL-lg/s659/001.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="486" data-original-width="659" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIQhPgQlh-QLG77SR1_jjMzv62APxv5e0ojaVD-DBdMH0Ylv3TfpH69d2q4nbso29YfgmU39w_cTLSUcIZBe4cAGwc0rSHxo2xUKs9-AlJyMlK_PmuQWy1GiNw6Qz-UjoCni9gjoaQkomNkf3FhofD4W2xQ_T09IOngXBg8poGfE4U7FGsddgz1WL-lg/s320/001.jpg" width="320" /></a></div><p style="text-align: left;">Wio Terminalの comポートにターミナルで接続すると、対話モード (REPL) で MicroPythonを使うこともできます。</p><p><br /></p><h3 style="text-align: left;">Thonny</h3><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHpeheBRv3dKmpSyx1VzO1oZ3qx4t-rF3O4kJ1uPYgj77jAINSGmc6jI27dzUi8-LcLio8grOEnEfXghaJq_iu97TVEFNMnxFNvTxr01wwJ8xNaZBXomCzVXlq4DQY707W9SBfsRJIYlzIjKfyUXzyrUiN2VxoKAVClXRohMNfLWwgKgnmQm4b9uLctg/s987/002.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="789" data-original-width="987" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHpeheBRv3dKmpSyx1VzO1oZ3qx4t-rF3O4kJ1uPYgj77jAINSGmc6jI27dzUi8-LcLio8grOEnEfXghaJq_iu97TVEFNMnxFNvTxr01wwJ8xNaZBXomCzVXlq4DQY707W9SBfsRJIYlzIjKfyUXzyrUiN2VxoKAVClXRohMNfLWwgKgnmQm4b9uLctg/s320/002.jpg" width="320" /></a></div><p>Python IDEの <a href="https://thonny.org/">Thonny</a>を使うと、Wio Terminalにファイルを転送したり、プログラムを実行したり停止させたり、REPLで使ったりできて便利です。</p><p><br /></p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEUJguFfFm1u5vB14M3PqMOBuvvEK6GmXFkNsX-O22ifccQ-9QRHr1n3dB6nevVpcZqK9Ca_jPEU_ZS0-qKlIdzGy2VocCoCQVH_UKm6JKMMW1K1wxyMmzMY6PL3IePkxR784YK4zw_CAQ_uAstp4F5nw0jof_mAcJ4QuaToiA-jt6zdQz8es7piDCdw/s592/003.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="462" data-original-width="592" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEUJguFfFm1u5vB14M3PqMOBuvvEK6GmXFkNsX-O22ifccQ-9QRHr1n3dB6nevVpcZqK9Ca_jPEU_ZS0-qKlIdzGy2VocCoCQVH_UKm6JKMMW1K1wxyMmzMY6PL3IePkxR784YK4zw_CAQ_uAstp4F5nw0jof_mAcJ4QuaToiA-jt6zdQz8es7piDCdw/s320/003.jpg" width="320" /></a></div><p style="text-align: left;">設定では、インタプリタ(MicroPython (generic))と Portだけ指定しておけばうまく動いています。</p><p style="text-align: left;">Visual Studio Codeもエディタとして便利に使えるのですが、自分の環境では Wio Terminal用の拡張がうまく動かなくてデバッグはできませんでした。</p><div><p><br /></p>
<h3 style="text-align: left;">wio Terminalで使えるモジュールの調べ方</h3>
<code>>>> help("modules")<br />__init_ gc os uhashlib<br />__main__ hashlib random uheapq<br />arduino heapq select uio<br />ardupy io sys ujson<br />array json time uselect<br />binascii machine ubinascii uzlib<br />builtins math ucollections zlib<br />collections micropython uctypes<br />Plus any modules on the filesystem</code>
<p>help("modules") でimportできるモジュール一覧</p><p><br /></p>
<code><div>>>> import io</div><div><div>>>> help(io)</div><div>object <module 'uio'> is of type module</div><div> __name__ -- uio</div><div> open -- <function></div><div> FileIO -- <class 'FileIO'></div><div> StringIO -- <class 'StringIO'></div><div> BytesIO -- <class 'BytesIO'></div></div></code>
<p><br /></p>
<code><div>>>> help(io.FileIO)</div><div>object <class 'FileIO'> is of type type</div><div> read -- <function></div><div> readinto -- <function></div><div> readline -- <function></div><div> readlines -- <function></div><div> write -- <function></div><div> flush -- <function></div><div> close -- <function></div><div> seek -- <function></div><div> tell -- <function></div><div> __del__ -- <function></div><div> __enter__ -- <function></div><div> __exit__ -- <function></div></code>
<p>help(io.FileIO) とすればFileIO内をさらに表示できる</p><p><br /></p>
<code><pre>>>> from machine import LCD
>>> lcd = LCD()
>>> dir(lcd)
['__enter__', '__exit__', 'color', 'color16to8', 'color565', 'datum', 'deinit'
, 'drawCentreString', 'drawChar', 'drawCircle', 'drawCircleHelper', 'drawEllipse'
, 'drawFastHLine', 'drawFastVLine', 'drawFloat', 'drawLine', 'drawNumber', 'drawPixel'
, 'drawRect', 'drawRightString', 'drawRoundRect', 'drawString', 'drawTriangle'
, 'fillCircle', 'fillCircleHelper', 'fillEllipse', 'fillRect', 'fillRoundRect'
, 'fillScreen', 'fillTriangle', 'fontHeight', 'getCursorX', 'getCursorY', 'getPivotX'
, 'getPivotY', 'getRotation', 'getTextDatum', 'height', 'invertDisplay', 'pushImage'
, 'setCursor', 'setPivot', 'setRotation', 'setTextColor', 'setTextDatum', 'setTextFont'
, 'setTextPadding', 'setTextSize', 'setTextWrap', 'textWidth', 'width']</pre></code>
<p>dir(lcd)のようにすれば、help()では出て来ない変数(lcd.heightとか lcd.width)も出てくる。</p><p><br /></p>
<h3 style="text-align: left;">役立つ資料</h3><p></p><ul style="text-align: left;"><li>ArduPy Get Started <a href="https://wiki.seeedstudio.com/ArduPy/">https://wiki.seeedstudio.com/ArduPy/</a></li><li>ArduPyのソースコード <a href="https://github.com/Seeed-Studio/ArduPy">https://github.com/Seeed-Studio/ArduPy</a></li><li>Wio Terminal (Arduino) <a href="https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/">https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/</a></li><li>Arduinoのライブラリとサンプルスケッチ <kbd>C:\Users\<USER>\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.2\libraries</kbd></li>
<li>MicroPython <a href="https://micropython.org/">https://micropython.org/</a></li><li>MicroPython ドキュメンテーション <a href="https://micropython-docs-ja.readthedocs.io/ja/latest/index.html">https://micropython-docs-ja.readthedocs.io/ja/latest/index.html</a></li><li>Python チュートリアル <a href="https://docs.python.org/ja/3/tutorial/index.html">https://docs.python.org/ja/3/tutorial/index.html</a></li><li>Python 言語リファレンス <a href="https://docs.python.org/ja/3/reference/index.html">https://docs.python.org/ja/3/reference/index.html</a></li></ul><p></p><p style="text-align: left;"><br /></p><h2 style="text-align: left;">ArduPy-aip</h2><p style="text-align: left;"><a href="https://wiki.seeedstudio.com/ArduPy/">ArduPy Get Started</a>に、Arduinoのライブラリを MicroPythonで使えるようにしたり、プログラムのデバッグに使ったりする aipをインストールするように書いてあるのですが、自分の環境では Windows 10でも、Ubuntuでもうまく動きませんでした。</p><p style="text-align: left;"><br /></p><h2 style="text-align: left;">MicroPython本家のファームウェア</h2><p style="text-align: left;"><a href="https://micropython.org/download/">MicroPython本家のダウンロードページ</a>にも、Wio Terminal用の MicroPythonがあって、頻繁に更新されているので ArduPyよりも新しいのですが、2022年6月時点ではサポートしている内蔵ハードウェアが少なくて ArduPyのほうが便利に使えました。</p><p style="text-align: left;"><br /></p><h2 style="text-align: left;">CircuitPython もあるよ</h2><p style="text-align: left;">MicroPythonの使い方を調べていたら、Wio Terminal用の CircuitPythonがあるのを見つけました。<a href="https://circuitpython.org/downloads">CircuitPythonのダウンロードページ</a>で入手できます。</p><p style="text-align: left;">CircuitPythonは ArduPyよりも使える内臓ハードウェアが多くておすすめです。</p><p style="text-align: left;"><br /></p><p><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></p></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-68470337708280899852022-06-07T21:51:00.011+09:002022-06-12T18:28:33.963+09:00ESP32ラインナップメモ<p><a href="https://www.espressif.com/en">メーカーwebサイト https://www.espressif.com/en</a></p><p></p><ul style="text-align: left;"><li><b>ESP32-WROOM</b> 基本製品</li><li><b>ESP32-WROVER</b> WROOMにPSRAMを追加</li><li><b>ESP32-MINI</b> フラッシュメモリを統合した製品</li><li><b>ESP32-S2</b> USB-OTG付き、BluetoothLE無し</li><li><b>ESP32-S3</b> USB-OTG付き、BluetoothLE有り、PSRAM付き</li><li><b>ESP32-C3</b> CPUコアにRISC-Vを採用した製品、ESP-WROOM-02に近い性能</li></ul>
<p>いろいろ種類があって買うときに迷うので作ったメモ。</p>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-73974964274299433852022-05-21T05:52:00.009+09:002022-06-16T05:53:43.896+09:00MicroPythonで使うWio Terminal - LCD 図形描画<p style="text-align: left;"><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></p><p style="text-align: left;"><br /></p>
<p style="text-align: left;">Wio Terminalの <a href="https://wiki.seeedstudio.com/ArduPy/">ArduPy</a>で使える、LCD描画関数の利用例と実行結果一覧を作りました。</p><p style="text-align: left;">サンプルコード全体。コピペして実行してみてください。</p>
<div style="background-color: #1e1e1e; border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; height: 20em; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #6a9955;"># Wio Terminal 液晶画面表示のサンプル</span></div><div><span style="color: #6a9955;"># This code is provided under a CC0 Public Domain License.</span></div><div><span style="color: #6a9955;"># http://creativecommons.org/publicdomain/zero/1.0/</span></div><div><span style="color: #6a9955;"># 2022年5月21日 佐藤恭一 https://kyoutan.jpn.org</span></div><br /><div><span style="color: #6a9955;"># LCDへの図形描画関数一覧</span></div><div><span style="color: #6a9955;">#</span></div><div><span style="color: #6a9955;"># color16to8(color) # 16bitカラーから8bitカラーへ変換 (RRRGGGBB)</span></div><div><span style="color: #6a9955;"># color565(R, G, B) # 24bitカラーから16bitカラーへ変換 (RRRRRGGGGGGBBBBB)</span></div><div><span style="color: #6a9955;"># fillScreen(color) # 画面の塗りつぶし</span></div><div><span style="color: #6a9955;"># drawPixel(x, y, color) # 1pixelの点を描く</span></div><div><span style="color: #6a9955;"># drawLine(x1, y1, x2, y2, color) # 直線を描く</span></div><div><span style="color: #6a9955;"># drawFastVLine(x, y, height, color) # 垂直線を描く</span></div><div><span style="color: #6a9955;"># drawFastHLine(x, y, width, color) # 水平線を描く</span></div><div><span style="color: #6a9955;"># drawRect(x, y, width, height, color) # 四角形を描く</span></div><div><span style="color: #6a9955;"># fillRect(x, y, width, height, color) # 塗りつぶした四角形を描く</span></div><div><span style="color: #6a9955;"># drawRoundRect(x, y, width, height, r, color) # 角が丸い四角形を描く</span></div><div><span style="color: #6a9955;"># fillRoundRect(x, y, width, height, r, color) # 角が丸い塗りつぶした四角形を描く</span></div><div><span style="color: #6a9955;"># drawCircle(x, y, r, color) # 円を描く</span></div><div><span style="color: #6a9955;"># drawCircleHelper(x, y, r, cornername, color) # 円の一部を描く cornernameでどこを描くかを指定(1~15)</span></div><div><span style="color: #6a9955;"># fillCircle(x, y, r, color) # 塗りつぶした円を描く</span></div><div><span style="color: #6a9955;"># fillCircleHelper(x, y, r, cornername, color, 0) # 塗りつぶした円の一部を描く</span></div><div><span style="color: #6a9955;"># drawEllipse(x, y, rx, ry, color) # 楕円を描く</span></div><div><span style="color: #6a9955;"># fillEllipse(x, y, rx, ry, color) # 塗りつぶした楕円を描く</span></div><div><span style="color: #6a9955;"># drawTriangle(x1, y1, x2, y2, x3, y3, color) # 三角形を描く</span></div><div><span style="color: #6a9955;"># fillTriangle(x1, y1, x2, y2, x3, y3, color) # 塗りつぶした三角形を描く</span></div><div><span style="color: #6a9955;"># pushImage(x, y, width, height, data) # 矩形の画像を描画する</span></div><div><span style="color: #6a9955;">#</span></div><div><span style="color: #6a9955;"># setPivot(0,0) # イメージを回転させるときの中心座標を設定したり、取得する関数だけど</span></div><div><span style="color: #6a9955;"># getPivotX() # ArduPyに pushRotateZoom() のような回転させる関数がないので使い道がない</span></div><div><span style="color: #6a9955;"># getPivotY()</span></div><div><span style="color: #6a9955;">#</span></div><div><span style="color: #6a9955;"># 役立つ資料</span></div><div><span style="color: #6a9955;"># ArduPy Get Started https://wiki.seeedstudio.com/ArduPy/#pin-and-gpio</span></div><div><span style="color: #6a9955;"># ArduPyのソースコード https://github.com/Seeed-Studio/ArduPy</span></div><div><span style="color: #6a9955;"># Wio Terminal (Arduino) https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/</span></div><div><span style="color: #6a9955;"># Arduinoのライブラリとサンプルスケッチ C:\Users\<USER>\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.2\libraries</span></div><div><span style="color: #6a9955;"># MicroPython ドキュメンテーション https://micropython-docs-ja.readthedocs.io/ja/latest/index.html</span></div><div><span style="color: #6a9955;"># Python チュートリアル https://docs.python.org/ja/3/tutorial/index.html</span></div><div><span style="color: #6a9955;"># Python 言語リファレンス https://docs.python.org/ja/3/reference/index.html</span></div><div><span style="color: #6a9955;"># ArduinoのTFT_eSPIを呼び出すようになっているので、関数の引数がわからない時は TFT_eSPIを見ると良い</span></div><div><span style="color: #6a9955;"># TFT_eSPI https://github.com/Bodmer/TFT_eSPI</span></div><div><span style="color: #6a9955;"># M5StickCと同じくTFT_eSPI ライブラリが使われている様子 https://lang-ship.com/reference/M5StickC/latest/class_t_f_t__e_s_p_i.html</span></div><br /><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">time</span></div><div><span style="color: #c586c0;">from</span> machine <span style="color: #c586c0;">import</span> LCD</div><div><span style="color: #9cdcfe;">wait</span> = <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">lcd</span> = LCD() <span style="color: #6a9955;"># LCDを初期化してバックライト点灯</span></div><div><span style="color: #9cdcfe;">color</span> = <span style="color: #9cdcfe;">lcd</span>.color.BLUE <span style="color: #6a9955;"># 色は 16bitカラー RGB565</span></div><div> <span style="color: #6a9955;"># 色の別名一覧は >>> help(lcd.color)</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 画面の塗りつぶし</span></div><div> <span style="color: #6a9955;"># LCDの関数など一覧は >>> help(lcd)</span></div><div> <span style="color: #6a9955;"># >>> dir(lcd)</span></div><div><span style="color: #9cdcfe;">color</span> = <span style="color: #9cdcfe;">lcd</span>.color16to8(<span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 16bitカラーから8bitカラーへ変換</span></div><div><span style="color: #4fc1ff;">R</span>, <span style="color: #4fc1ff;">G</span>, <span style="color: #4fc1ff;">B</span> = <span style="color: #b5cea8;">255</span>, <span style="color: #b5cea8;">255</span>, <span style="color: #b5cea8;">255</span></div><div><span style="color: #9cdcfe;">color</span> = <span style="color: #9cdcfe;">lcd</span>.color565(<span style="color: #4fc1ff;">R</span>, <span style="color: #4fc1ff;">G</span>, <span style="color: #4fc1ff;">B</span>) <span style="color: #6a9955;"># 24bitカラーから16bitカラーへ変換</span></div><br /><br /><div><span style="color: #9cdcfe;">x</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">4</span> <span style="color: #6a9955;"># "//"は結果を整数で返す割り算</span></div><div><span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">color</span> = <span style="color: #9cdcfe;">lcd</span>.color.WHITE</div><div><span style="color: #9cdcfe;">lcd</span>.drawPixel(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 1pixelの点を描く</span></div><br /><div><span style="color: #9cdcfe;">x1</span> , <span style="color: #9cdcfe;">y1</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span> + <span style="color: #b5cea8;">20</span>, <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">x2</span> , <span style="color: #9cdcfe;">y2</span> = <span style="color: #9cdcfe;">lcd</span>.width - <span style="color: #b5cea8;">20</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> - <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawLine(<span style="color: #9cdcfe;">x1</span>, <span style="color: #9cdcfe;">y1</span>, <span style="color: #9cdcfe;">x2</span>, <span style="color: #9cdcfe;">y2</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 直線を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">4</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> + <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">height</span> = <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> - <span style="color: #b5cea8;">40</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawFastVLine(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">height</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 垂直線を描く データ転送の都合で drawLineより高速</span></div><br /><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span> + <span style="color: #b5cea8;">20</span> , <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span> * <span style="color: #b5cea8;">3</span></div><div><span style="color: #9cdcfe;">width</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span> - <span style="color: #b5cea8;">40</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawFastHLine(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 水平線を描く データ転送の都合で drawLineより高速</span></div><br /><br /><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">lcd</span>.color.BLUE)</div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">10</span>, <span style="color: #b5cea8;">10</span></div><div><span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span> - <span style="color: #b5cea8;">40</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> - <span style="color: #b5cea8;">40</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawRect(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 四角形を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span> + <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillRect(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 塗りつぶした四角形を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">10</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> + <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">r</span> = <span style="color: #b5cea8;">10</span> <span style="color: #6a9955;"># 角の半径</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawRoundRect(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 角が丸い四角形を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span>+ <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillRoundRect(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 角が丸い塗りつぶした四角形を描く</span></div><br /><br /><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">lcd</span>.color.BLUE)</div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">4</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">r</span> = <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span> - <span style="color: #b5cea8;">10</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawCircle(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 円を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span> *= <span style="color: #b5cea8;">3</span></div><div><span style="color: #9cdcfe;">cornername</span> = <span style="color: #b5cea8;">5</span> <span style="color: #6a9955;"># 1=左上 2=右上 3=左右上 4=右下 5=左上右下 6=右上下 7=左上右上右下 8=左下</span></div><div> <span style="color: #6a9955;"># 9=左上下 10=右上左下 12=左上下右上 13=左上下右下 14=左右下右上 15=全周</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawCircleHelper(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">cornername</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 円の一部を描く cornernameでどこを描くかを指定(1~15)</span></div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">4</span>, <span style="color: #9cdcfe;">y</span> * <span style="color: #b5cea8;">3</span></div><br /><div><span style="color: #9cdcfe;">lcd</span>.fillCircle(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 塗りつぶした円を描く</span></div><div><span style="color: #9cdcfe;">x</span> *= <span style="color: #b5cea8;">3</span></div><div><span style="color: #9cdcfe;">r</span>=<span style="color: #9cdcfe;">r</span>//<span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">cornername</span> = <span style="color: #b5cea8;">1</span> <span style="color: #6a9955;"># 1=下 2=上 3=上下</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillCircleHelper(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">cornername</span>, <span style="color: #9cdcfe;">color</span>, <span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># 塗りつぶした円の一部を描く</span></div><div> <span style="color: #6a9955;"># 引数が6個必要だけど、6番目の引数の用途が不明</span></div><br /><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">lcd</span>.color.BLUE)</div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">4</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">rx</span> = <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">ry</span> = <span style="color: #9cdcfe;">rx</span> // <span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawEllipse(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">rx</span>, <span style="color: #9cdcfe;">ry</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 楕円を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span> *= <span style="color: #b5cea8;">3</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillEllipse(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">rx</span>, <span style="color: #9cdcfe;">ry</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 塗りつぶした楕円を描く</span></div><br /><div><span style="color: #9cdcfe;">x1</span>, <span style="color: #9cdcfe;">y1</span> = <span style="color: #b5cea8;">20</span>, <span style="color: #9cdcfe;">lcd</span>.height - <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">x2</span>, <span style="color: #9cdcfe;">y2</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">3</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> + <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">x3</span>, <span style="color: #9cdcfe;">y3</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span> -<span style="color: #b5cea8;">20</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span> * <span style="color: #b5cea8;">3</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawTriangle(<span style="color: #9cdcfe;">x1</span>, <span style="color: #9cdcfe;">y1</span>, <span style="color: #9cdcfe;">x2</span>, <span style="color: #9cdcfe;">y2</span>, <span style="color: #9cdcfe;">x3</span>, <span style="color: #9cdcfe;">y3</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 三角形を描く</span></div><br /><div><span style="color: #9cdcfe;">x1</span> += <span style="color: #9cdcfe;">lcd</span>.width //<span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">x2</span> += <span style="color: #9cdcfe;">lcd</span>.width //<span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">x3</span> += <span style="color: #9cdcfe;">lcd</span>.width //<span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillTriangle(<span style="color: #9cdcfe;">x1</span>, <span style="color: #9cdcfe;">y1</span>, <span style="color: #9cdcfe;">x2</span>, <span style="color: #9cdcfe;">y2</span>, <span style="color: #9cdcfe;">x3</span>, <span style="color: #9cdcfe;">y3</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 塗りつぶした三角形を描く</span></div><br /><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">random</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">lcd</span>.color.BLUE)</div><div><span style="color: #9cdcfe;">data</span> = <span style="color: #4ec9b0;">bytes</span>([</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span></div><div>])</div><div><span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span> = <span style="color: #b5cea8;">16</span>, <span style="color: #b5cea8;">16</span></div><div><span style="color: #c586c0;">for</span> <span style="color: #9cdcfe;">count</span> <span style="color: #c586c0;">in</span> <span style="color: #4ec9b0;">range</span>(<span style="color: #b5cea8;">500</span>):</div><div> <span style="color: #9cdcfe;">x</span> = <span style="color: #4ec9b0;">random</span>.<span style="color: #9cdcfe;">randrange</span>(<span style="color: #9cdcfe;">lcd</span>.width - <span style="color: #b5cea8;">16</span>)</div><div> <span style="color: #9cdcfe;">y</span> = <span style="color: #4ec9b0;">random</span>.<span style="color: #9cdcfe;">randrange</span>(<span style="color: #9cdcfe;">lcd</span>.height - <span style="color: #b5cea8;">16</span>)</div><div> <span style="color: #9cdcfe;">lcd</span>.pushImage(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span>, <span style="color: #9cdcfe;">data</span>) <span style="color: #6a9955;"># 矩形の画像を描画する</span></div><div> <span style="color: #6a9955;"># dataは 8bitカラー</span></div><br /><div><span style="color: #ce9178;">"""</span></div><div><span style="color: #ce9178;">transparent = 0x00</span></div><div><span style="color: #ce9178;">for count in range(200):</span></div><div><span style="color: #ce9178;"> x = random.randrange(lcd.width - 16)</span></div><div><span style="color: #ce9178;"> y = random.randrange(lcd.height // 2, lcd.height - 16)</span></div><div><span style="color: #ce9178;"> lcd.pushImage(x, y, width, height, data, transparent) # 透明色の指定はできなかった</span></div><div><span style="color: #ce9178;">"""</span></div><br /><div><span style="color: #ce9178;">"""</span></div><div><span style="color: #ce9178;">lcd.setPivot(0,0) # イメージを回転させるときの中心座標を設定したり、取得する関数だけど</span></div><div><span style="color: #ce9178;">PivotX = lcd.getPivotX() # ArduPyに pushRotateZoom() のような回転させる関数がないので使い道がない</span></div><div><span style="color: #ce9178;">PivotY = lcd.getPivotY()</span></div><div><span style="color: #ce9178;">"""</span></div><br /><div><span style="color: #ce9178;">"""</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">from machine import LCD</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">lcd = LCD()</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(lcd)</span></div><div><span style="color: #ce9178;">object <LCD> is of type LCD</span></div><div><span style="color: #ce9178;"> deinit -- <function></span></div><div><span style="color: #ce9178;"> __enter__ -- <function></span></div><div><span style="color: #ce9178;"> __exit__ -- <function></span></div><div><span style="color: #ce9178;">G fillScreen -- <function></span></div><div><span style="color: #ce9178;">TG setRotation -- <function></span></div><div><span style="color: #ce9178;">TG getRotation -- <function></span></div><div><span style="color: #ce9178;">TG invertDisplay -- <function></span></div><div><span style="color: #ce9178;">T drawRightString -- <function></span></div><div><span style="color: #ce9178;">T drawChar -- <function></span></div><div><span style="color: #ce9178;">T drawString -- <function></span></div><div><span style="color: #ce9178;">T drawCentreString -- <function></span></div><div><span style="color: #ce9178;">T setTextFont -- <function></span></div><div><span style="color: #ce9178;">G drawPixel -- <function></span></div><div><span style="color: #ce9178;">T fontHeight -- <function></span></div><div><span style="color: #ce9178;">T textWidth -- <function></span></div><div><span style="color: #ce9178;">T drawNumber -- <function></span></div><div><span style="color: #ce9178;">T drawFloat -- <function></span></div><div><span style="color: #ce9178;">T setTextColor -- <function></span></div><div><span style="color: #ce9178;">T setTextSize -- <function></span></div><div><span style="color: #ce9178;">T setTextWrap -- <function></span></div><div><span style="color: #ce9178;">T setTextDatum -- <function></span></div><div><span style="color: #ce9178;">T getTextDatum -- <function></span></div><div><span style="color: #ce9178;">T setTextPadding -- <function></span></div><div><span style="color: #ce9178;">G drawLine -- <function></span></div><div><span style="color: #ce9178;">G drawFastVLine -- <function></span></div><div><span style="color: #ce9178;">G drawFastHLine -- <function></span></div><div><span style="color: #ce9178;">G drawRect -- <function></span></div><div><span style="color: #ce9178;">G fillRect -- <function></span></div><div><span style="color: #ce9178;">G drawRoundRect -- <function></span></div><div><span style="color: #ce9178;">G fillRoundRect -- <function></span></div><div><span style="color: #ce9178;">G drawCircle -- <function></span></div><div><span style="color: #ce9178;">G drawCircleHelper -- <function></span></div><div><span style="color: #ce9178;">G fillCircle -- <function></span></div><div><span style="color: #ce9178;">G fillCircleHelper -- <function></span></div><div><span style="color: #ce9178;">G drawEllipse -- <function></span></div><div><span style="color: #ce9178;">G fillEllipse -- <function></span></div><div><span style="color: #ce9178;">G drawTriangle -- <function></span></div><div><span style="color: #ce9178;">G fillTriangle -- <function></span></div><div><span style="color: #ce9178;">T getCursorX -- <function></span></div><div><span style="color: #ce9178;">T getCursorY -- <function></span></div><div><span style="color: #ce9178;">G getPivotX -- <function></span></div><div><span style="color: #ce9178;">G getPivotY -- <function></span></div><div><span style="color: #ce9178;">TG color16to8 -- <function></span></div><div><span style="color: #ce9178;">TG color565 -- <function></span></div><div><span style="color: #ce9178;">G getPivotX -- <function></span></div><div><span style="color: #ce9178;">T setCursor -- <function></span></div><div><span style="color: #ce9178;">G setPivot -- <function></span></div><div><span style="color: #ce9178;">G pushImage -- <function></span></div><div><span style="color: #ce9178;">TG color -- <class 'color'></span></div><div><span style="color: #ce9178;">T datum -- <class 'datum'></span></div><div><span style="color: #ce9178;">>>></span></div><br /><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(lcd.color)</span></div><div><span style="color: #ce9178;">object <class 'color'> is of type type</span></div><div><span style="color: #ce9178;"> BLACK -- 0</span></div><div><span style="color: #ce9178;"> NAVY -- 15</span></div><div><span style="color: #ce9178;"> DARKGREEN -- 992</span></div><div><span style="color: #ce9178;"> DARKCYAN -- 1007</span></div><div><span style="color: #ce9178;"> MAROON -- 30720</span></div><div><span style="color: #ce9178;"> PURPLE -- 30735</span></div><div><span style="color: #ce9178;"> OLIVE -- 31712</span></div><div><span style="color: #ce9178;"> LIGHTGREY -- 50712</span></div><div><span style="color: #ce9178;"> DARKGREY -- 31727</span></div><div><span style="color: #ce9178;"> BLUE -- 31</span></div><div><span style="color: #ce9178;"> GREEN -- 2016</span></div><div><span style="color: #ce9178;"> CYAN -- 2047</span></div><div><span style="color: #ce9178;"> RED -- 63488</span></div><div><span style="color: #ce9178;"> MAGENTA -- 63519</span></div><div><span style="color: #ce9178;"> YELLOW -- 65504</span></div><div><span style="color: #ce9178;"> WHITE -- 65535</span></div><div><span style="color: #ce9178;"> ORANGE -- 64928</span></div><div><span style="color: #ce9178;"> GREENYELLOW -- 47072</span></div><div><span style="color: #ce9178;"> BLACK -- 0</span></div><div><span style="color: #ce9178;"> PINK -- 64671</span></div><br /><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(lcd.datum)</span></div><div><span style="color: #ce9178;">object <class 'datum'> is of type type</span></div><div><span style="color: #ce9178;"> TL_DATUM -- 0</span></div><div><span style="color: #ce9178;"> TC_DATUM -- 1</span></div><div><span style="color: #ce9178;"> TR_DATUM -- 2</span></div><div><span style="color: #ce9178;"> ML_DATUM -- 3</span></div><div><span style="color: #ce9178;"> CL_DATUM -- 3</span></div><div><span style="color: #ce9178;"> MC_DATUM -- 4</span></div><div><span style="color: #ce9178;"> CC_DATUM -- 4</span></div><div><span style="color: #ce9178;"> MR_DATUM -- 5</span></div><div><span style="color: #ce9178;"> CR_DATUM -- 5</span></div><div><span style="color: #ce9178;"> BL_DATUM -- 6</span></div><div><span style="color: #ce9178;"> BC_DATUM -- 7</span></div><div><span style="color: #ce9178;"> BR_DATUM -- 8</span></div><div><span style="color: #ce9178;"> L_BASELINE -- 9</span></div><div><span style="color: #ce9178;"> C_BASELINE -- 10</span></div><div><span style="color: #ce9178;"> R_BASELINE -- 11</span></div><div><span style="color: #ce9178;">>>> </span></div><div><span style="color: #ce9178;">"""</span></div><br /></div>
<p style="text-align: left;"><br /></p><h2 style="text-align: left;">点と直線の描画</h2>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4rKwQj8ZA75DKiXMz1-URXwfTblU1Y1jv-vYuYVBgfNb4somq3LQnI_uuNMyxbMjO3_tLLt2Ql8Y80zZggQNJRvbWcnCrw8aGury5aiUBv8fGjGYkUGbxkU-T4OOs3-YKUMCu6VZj2yoh5ekNvruRKHAr814AHEoLCCnrcaL53AEP2quRA5a13zeERg/s2000/aDSC_3078.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1590" data-original-width="2000" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4rKwQj8ZA75DKiXMz1-URXwfTblU1Y1jv-vYuYVBgfNb4somq3LQnI_uuNMyxbMjO3_tLLt2Ql8Y80zZggQNJRvbWcnCrw8aGury5aiUBv8fGjGYkUGbxkU-T4OOs3-YKUMCu6VZj2yoh5ekNvruRKHAr814AHEoLCCnrcaL53AEP2quRA5a13zeERg/w400-h318/aDSC_3078.jpg" width="400" /></a></div>
<div style="background-color: #1e1e1e; border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; height: 20em; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #9cdcfe;">x</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">4</span> <span style="color: #6a9955;"># "//"は結果を整数で返す割り算</span></div><div><span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">color</span> = <span style="color: #9cdcfe;">lcd</span>.color.WHITE</div><div><span style="color: #9cdcfe;">lcd</span>.drawPixel(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 1pixelの点を描く</span></div><br /><div><span style="color: #9cdcfe;">x1</span> , <span style="color: #9cdcfe;">y1</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span> + <span style="color: #b5cea8;">20</span>, <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">x2</span> , <span style="color: #9cdcfe;">y2</span> = <span style="color: #9cdcfe;">lcd</span>.width - <span style="color: #b5cea8;">20</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> - <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawLine(<span style="color: #9cdcfe;">x1</span>, <span style="color: #9cdcfe;">y1</span>, <span style="color: #9cdcfe;">x2</span>, <span style="color: #9cdcfe;">y2</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 直線を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">4</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> + <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">height</span> = <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> - <span style="color: #b5cea8;">40</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawFastVLine(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">height</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 垂直線を描く データ転送の都合で drawLineより高速</span></div><br /><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span> + <span style="color: #b5cea8;">20</span> , <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span> * <span style="color: #b5cea8;">3</span></div><div><span style="color: #9cdcfe;">width</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span> - <span style="color: #b5cea8;">40</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawFastHLine(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 水平線を描く データ転送の都合で drawLineより高速</span></div><br /></div><p style="text-align: left;"><br /></p>
<h2 style="text-align: left;">四角形の描画</h2><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF6lDpZh4tf_PQKd6E0wnn7bhBURbJ0sEWOhK8zbTuj0poenHNZxvrUjc5ud6GzO_P11q9H3ciY7wzb-VWXgjKOPlFg6TXH06Ilbq5nd64_HBnRVFtPtkfaXZyyBE7z1d4FTdg51H3QRybzp1AdGu_f_PVnlc4O25IR9kzMIGl9EBFSvza-VTXyYmAAQ/s2000/aDSC_3080.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1590" data-original-width="2000" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF6lDpZh4tf_PQKd6E0wnn7bhBURbJ0sEWOhK8zbTuj0poenHNZxvrUjc5ud6GzO_P11q9H3ciY7wzb-VWXgjKOPlFg6TXH06Ilbq5nd64_HBnRVFtPtkfaXZyyBE7z1d4FTdg51H3QRybzp1AdGu_f_PVnlc4O25IR9kzMIGl9EBFSvza-VTXyYmAAQ/w400-h318/aDSC_3080.jpg" width="400" /></a></div>
<div style="background-color: #1e1e1e; border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; height: 20em; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">10</span>, <span style="color: #b5cea8;">10</span></div><div><span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span> - <span style="color: #b5cea8;">40</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> - <span style="color: #b5cea8;">40</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawRect(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 四角形を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span> + <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillRect(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 塗りつぶした四角形を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">10</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> + <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">r</span> = <span style="color: #b5cea8;">10</span> <span style="color: #6a9955;"># 角の半径</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawRoundRect(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 角が丸い四角形を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span>+ <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillRoundRect(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 角が丸い塗りつぶした四角形を描く</span></div><br /></div><p style="text-align: left;"><br /></p>
<h2>円の描画</h2><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfDc0TnGfdvxXC6UgYeYLd12uE9BSXOxqWwwz41t4ccpPPwO3uHW7B9Q8lnOhMK9RKgK1rZUNX_9MmvFzHMZvyEPIDMTgmyXorrGLV5H9qOTsFXWoo3KE2RqhGzskV8ZBm8lwPSfjC-mVia2DIhwi0lU6WecWQRo_4AZmlZ70JoiJv5HT-teF5Vn0leg/s2000/aDSC_3082.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1574" data-original-width="2000" height="315" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfDc0TnGfdvxXC6UgYeYLd12uE9BSXOxqWwwz41t4ccpPPwO3uHW7B9Q8lnOhMK9RKgK1rZUNX_9MmvFzHMZvyEPIDMTgmyXorrGLV5H9qOTsFXWoo3KE2RqhGzskV8ZBm8lwPSfjC-mVia2DIhwi0lU6WecWQRo_4AZmlZ70JoiJv5HT-teF5Vn0leg/w400-h315/aDSC_3082.jpg" width="400" /></a></div>
<div style="background-color: #1e1e1e; border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; height: 20em; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">4</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">r</span> = <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span> - <span style="color: #b5cea8;">10</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawCircle(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 円を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span> *= <span style="color: #b5cea8;">3</span></div><div><span style="color: #9cdcfe;">cornername</span> = <span style="color: #b5cea8;">5</span> <span style="color: #6a9955;"># 1=左上 2=右上 3=左右上 4=右下 5=左上右下 6=右上下 7=左上右上右下 8=左下</span></div><div> <span style="color: #6a9955;"># 9=左上下 10=右上左下 12=左上下右上 13=左上下右下 14=左右下右上 15=全周</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawCircleHelper(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">cornername</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 円の一部を描く cornernameでどこを描くかを指定(1~15)</span></div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">4</span>, <span style="color: #9cdcfe;">y</span> * <span style="color: #b5cea8;">3</span></div><br /><div><span style="color: #9cdcfe;">lcd</span>.fillCircle(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 塗りつぶした円を描く</span></div><div><span style="color: #9cdcfe;">x</span> *= <span style="color: #b5cea8;">3</span></div><div><span style="color: #9cdcfe;">r</span>=<span style="color: #9cdcfe;">r</span>//<span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">cornername</span> = <span style="color: #b5cea8;">1</span> <span style="color: #6a9955;"># 1=下 2=上 3=上下</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillCircleHelper(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">r</span>, <span style="color: #9cdcfe;">cornername</span>, <span style="color: #9cdcfe;">color</span>, <span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># 塗りつぶした円の一部を描く</span></div><div> <span style="color: #6a9955;"># 引数が6個必要だけど、6番目の引数の用途が不明</span></div><br /></div><p style="text-align: left;"><br /></p>
<h2>楕円と三角形の描画</h2><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXgSRu0d9vFqsLnI7u2U0rn0qstMwvRo61v1RPrFBXKZ5zycf9S4yyDQA4Wg4TArp8ZIRwywViUpvTwamuqYQlQxR5AL6ay99Ct28H66UnR1-SzO9VmCqftelp6sVM8MGvWDeLfpra2UVaixxw6zcqF7MeiRWq94N6HmRXfxTpEAIA7XJKJjJcGSjwUw/s2000/aDSC_3084.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1582" data-original-width="2000" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXgSRu0d9vFqsLnI7u2U0rn0qstMwvRo61v1RPrFBXKZ5zycf9S4yyDQA4Wg4TArp8ZIRwywViUpvTwamuqYQlQxR5AL6ay99Ct28H66UnR1-SzO9VmCqftelp6sVM8MGvWDeLfpra2UVaixxw6zcqF7MeiRWq94N6HmRXfxTpEAIA7XJKJjJcGSjwUw/w400-h316/aDSC_3084.jpg" width="400" /></a></div>
<div style="background-color: #1e1e1e; border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; height: 20em; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">4</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">rx</span> = <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">ry</span> = <span style="color: #9cdcfe;">rx</span> // <span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawEllipse(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">rx</span>, <span style="color: #9cdcfe;">ry</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 楕円を描く</span></div><br /><div><span style="color: #9cdcfe;">x</span> *= <span style="color: #b5cea8;">3</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillEllipse(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">rx</span>, <span style="color: #9cdcfe;">ry</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 塗りつぶした楕円を描く</span></div><br /><div><span style="color: #9cdcfe;">x1</span>, <span style="color: #9cdcfe;">y1</span> = <span style="color: #b5cea8;">20</span>, <span style="color: #9cdcfe;">lcd</span>.height - <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">x2</span>, <span style="color: #9cdcfe;">y2</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">3</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> + <span style="color: #b5cea8;">20</span></div><div><span style="color: #9cdcfe;">x3</span>, <span style="color: #9cdcfe;">y3</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span> -<span style="color: #b5cea8;">20</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">4</span> * <span style="color: #b5cea8;">3</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawTriangle(<span style="color: #9cdcfe;">x1</span>, <span style="color: #9cdcfe;">y1</span>, <span style="color: #9cdcfe;">x2</span>, <span style="color: #9cdcfe;">y2</span>, <span style="color: #9cdcfe;">x3</span>, <span style="color: #9cdcfe;">y3</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 三角形を描く</span></div><br /><div><span style="color: #9cdcfe;">x1</span> += <span style="color: #9cdcfe;">lcd</span>.width //<span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">x2</span> += <span style="color: #9cdcfe;">lcd</span>.width //<span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">x3</span> += <span style="color: #9cdcfe;">lcd</span>.width //<span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillTriangle(<span style="color: #9cdcfe;">x1</span>, <span style="color: #9cdcfe;">y1</span>, <span style="color: #9cdcfe;">x2</span>, <span style="color: #9cdcfe;">y2</span>, <span style="color: #9cdcfe;">x3</span>, <span style="color: #9cdcfe;">y3</span>, <span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 塗りつぶした三角形を描く</span></div><br /></div><p style="text-align: left;"><br /></p>
<h2>矩形画像の描画</h2><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbtMe0jEqL5EpsrsmOZPlyFUkemwQ3FVEnLS28ZMVn9kw4Db79jAW99T_C0DsH03lrhAI--p-7iUh9XGpzlTqp6TfJx3AVCWujA5WoWfVgFt87FS9XBewbupm4Hd_RbE2HFyyuesm6nNYDsD9PJpJjBXrTK_p6071zQZOF05T6iCPNR5x0UtA8yvTVHg/s2000/aDSC_3086.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1587" data-original-width="2000" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbtMe0jEqL5EpsrsmOZPlyFUkemwQ3FVEnLS28ZMVn9kw4Db79jAW99T_C0DsH03lrhAI--p-7iUh9XGpzlTqp6TfJx3AVCWujA5WoWfVgFt87FS9XBewbupm4Hd_RbE2HFyyuesm6nNYDsD9PJpJjBXrTK_p6071zQZOF05T6iCPNR5x0UtA8yvTVHg/w400-h318/aDSC_3086.jpg" width="400" /></a></div>
<div style="background-color: #1e1e1e; border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; height: 20em; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #9cdcfe;">data</span> = <span style="color: #4ec9b0;">bytes</span>([</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">E0</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>,</div><div> <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">FF</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">1C</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span>, <span style="color: #569cd6;">0x</span><span style="color: #b5cea8;">00</span></div><div>])</div><div><span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span> = <span style="color: #b5cea8;">16</span>, <span style="color: #b5cea8;">16</span></div><div><span style="color: #c586c0;">for</span> <span style="color: #9cdcfe;">count</span> <span style="color: #c586c0;">in</span> <span style="color: #4ec9b0;">range</span>(<span style="color: #b5cea8;">500</span>):</div><div> <span style="color: #9cdcfe;">x</span> = <span style="color: #4ec9b0;">random</span>.<span style="color: #9cdcfe;">randrange</span>(<span style="color: #9cdcfe;">lcd</span>.width - <span style="color: #b5cea8;">16</span>)</div><div> <span style="color: #9cdcfe;">y</span> = <span style="color: #4ec9b0;">random</span>.<span style="color: #9cdcfe;">randrange</span>(<span style="color: #9cdcfe;">lcd</span>.height - <span style="color: #b5cea8;">16</span>)</div><div> <span style="color: #9cdcfe;">lcd</span>.pushImage(<span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">width</span>, <span style="color: #9cdcfe;">height</span>, <span style="color: #9cdcfe;">data</span>) <span style="color: #6a9955;"># 矩形の画像を描画する</span></div><div> <span style="color: #6a9955;"># dataは 8bitカラー</span></div><br /></div><p style="text-align: left;"><br /></p>
<p style="text-align: left;"><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></p><div><br /></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-13176724039457207752022-05-20T08:19:00.029+09:002022-06-27T14:29:23.495+09:00MicroPythonで使うWio Terminal - 目次<h2 style="text-align: left;">MicroPython (ArduPy) で使うWio Terminal</h2>
<p></p>
<ul>
<li><a href="https://kyouichisato.blogspot.com/2022/06/micropythonwio-terminal-micropython.html">MicroPythonを使う準備</a></li>
<li>Wio Terminal固有関数の使用例</li>
<ul>
<li><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal-lcd.html">machine.LCD 文字表示</a></li>
<li><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal-lcd_21.html">machine.LCD 図形描画</a></li>
<li><a href="https://kyouichisato.blogspot.com/2022/06/micropythonwio-terminal-machinesprite.html">machine.Sprite</a></li>
<li><a href="https://kyouichisato.blogspot.com/2022/06/micropythonwio-terminal-machinepin-gpio.html">machine.Pin (GPIO)</a></li>
<li><a href="https://kyouichisato.blogspot.com/2022/06/micropythonwio-terminal-machineadc.html">machine.ADC</a></li>
<li><a href="https://kyouichisato.blogspot.com/2022/06/micropythonwio-terminal-machinedac.html">machine.DAC</a></li>
<li><a href="https://kyouichisato.blogspot.com/2022/06/micropythonwio-terminal-machinepwm.html">machine.PWM</a></li>
<li><a href="https://kyouichisato.blogspot.com/2022/06/micropythonwio-terminal-machineuart.html">machine.UART</a></li>
</ul>
<li>Wio Terminalで使える Python標準関数の使用例</li>
<ul>
<li><a href="https://kyouichisato.blogspot.com/2022/06/micropythonwio-terminal-time.html">time 時間関連の関数</a></li>
<li><a href="https://kyouichisato.blogspot.com/2022/06/micropythonwio-terminal-io-os.html">io, os 簡単なファイルの読み書き例</a></li><li><a href="https://kyouichisato.blogspot.com/2022/06/micropythonwio-terminal-gc.html">gc 使用メモリ/空きメモリ</a></li>
<li>math</li><li>random</li>
</ul>
</ul>
<p><br /></p><p>Wio Terminal の MicroPython (ArduPy) の使い方を調べてみたら、割り込み、SPI、I2C が使えないようでした。リアルタイム性の高い用途にはちょっと使いにくいので、そういうような用途では Arduinoで書いたほうが良いかな。</p>
<p></p>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-53590643071740865002022-05-19T02:40:00.009+09:002022-05-21T02:37:19.250+09:00Bloggerでシンタックスハイライト<p>Visual Studio Codeから Bloggerの「作成ビュー」にコピペすれば、書式ごと色がついた状態でペーストされるので簡単で良い。</p><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.invertDisplay(<span style="color: #569cd6;">True</span>) <span style="color: #6a9955;"># 画面の色を反転する。表示内容は消えない。</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #b5cea8;">1</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.invertDisplay(<span style="color: #569cd6;">False</span>) <span style="color: #6a9955;"># 色反転を元に戻す</span></div></div><p><br /></p><p>ソースコードが長くてスクロールバーを出したいときには、Visual Studio Codeからペーストした後で、Bloggerの「HTML ビュー」にして、ペーストしたコードを</p><p>
<code><code style="height: 20em; overflow: scroll; border: 1px solid; "></code></code> </p><p> なんかで囲んでしまえば良い。<kbd><code></kbd> じゃなくて <kbd><div></kbd> でも良い。</p><p><br /></p>
<code style="height: 20em; overflow: scroll; border: 1px solid;">
<div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #9cdcfe;">lcd</span> = LCD() <span style="color: #6a9955;"># LCDを初期化してバックライト点灯</span></div><div><span style="color: #9cdcfe;">color</span> = <span style="color: #9cdcfe;">lcd</span>.color.BLACK</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 画面の塗りつぶし</span></div><br /><div><span style="color: #9cdcfe;">wait</span> = <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">0</span>, <span style="color: #b5cea8;">0</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font test テスト"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>) <span style="color: #6a9955;"># 日本語は表示できない</span></div><br /><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># fontHeightで現在設定されているフォントの高さが得られる。引数が何なのか不明</span></div><div> <span style="color: #6a9955;"># 引数に何を指定しても結果は変わらないようにみえる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"0123456789"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><br /><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">1</span> <span style="color: #6a9955;"># Font 1は 6x8ドットフォント</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font 1 0123456789"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">8</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">2</span> <span style="color: #6a9955;"># Font 2は 16ドットフォント</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font 2 0123456789"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">16</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">4</span> <span style="color: #6a9955;"># Font 4は 26ドットフォント</span></div><div><span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color.BLACK, <span style="color: #9cdcfe;">lcd</span>.color.GREEN</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span>) <span style="color: #6a9955;"># 文字色の設定 文字色, 背景色</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font 4 01234"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">26</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">6</span> <span style="color: #6a9955;"># Font 6は数字だけ表示 48ドットフォント</span></div><div><span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color.WHITE, <span style="color: #9cdcfe;">lcd</span>.color.BLUE</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font 6 01234"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">48</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">7</span> <span style="color: #6a9955;"># Font 7は 7セグ風フォント 数字だけ表示 48ドット</span></div><div><span style="color: #9cdcfe;">color</span>=<span style="color: #9cdcfe;">lcd</span>.color.GREEN</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"7 01234"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #b5cea8;">48</span></div><div><span style="color: #9cdcfe;">font</span>=<span style="color: #b5cea8;">8</span> <span style="color: #6a9955;"># Font 8は数字だけ表示 高さ75ドットくらい 8が最大</span></div><div><span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color565(<span style="color: #b5cea8;">255</span>, <span style="color: #b5cea8;">120</span>, <span style="color: #b5cea8;">100</span>), <span style="color: #9cdcfe;">lcd</span>.color.GREEN <span style="color: #6a9955;"># color565で24bitカラーから16bitカラーへ変換できる</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"8 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div> <span style="color: #6a9955;"># Font 0, 3, 5は表示されない</span></div><br /><div><span style="color: #6a9955;"># setTextSize(倍率) 文字サイズの設定</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color.WHITE, <span style="color: #9cdcfe;">lcd</span>.color.BLACK</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">bgcolor</span>)</div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">3</span>, <span style="color: #b5cea8;">1</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">0</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextFont(<span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 描画時にフォントを指定しないときのフォントを設定する</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font0 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>) <span style="color: #6a9955;"># フォントの指定は省略できる</span></div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">2</span>) <span style="color: #6a9955;"># 文字サイズの設定 2倍になる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font0 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># fontHeightは TextSizeの倍率も反映される</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextFont(<span style="color: #b5cea8;">2</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">1</span>) <span style="color: #6a9955;"># 文字サイズの設定 1倍になる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font2 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">2</span>) <span style="color: #6a9955;"># 文字サイズの設定 2倍になる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font2 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">3</span>) <span style="color: #6a9955;"># 文字サイズの設定 3倍になる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font2 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><br /><div><span style="color: #6a9955;"># setRotation(向き) 描画向きの設定(画面の回転)</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">lcd</span>.color.BLACK)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">1</span>)</div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">0</span>, <span style="color: #b5cea8;">0</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextFont(<span style="color: #b5cea8;">4</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># 描画向きの設定(画面の回転) 0~7</span></div><div> <span style="color: #6a9955;"># 向きの設定を変えても表示内容は保持する</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(0) 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">1</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(1) 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">2</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(2) 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">3</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(3) 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">x</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">4</span>) <span style="color: #6a9955;"># 鏡像にもできる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(4) 01"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">5</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(5) 01"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">6</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(6) 01"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">7</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(7) 01"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">3</span>) <span style="color: #6a9955;"># 描画向きを元に戻す</span></div><div><span style="color: #9cdcfe;">rotation</span> = <span style="color: #9cdcfe;">lcd</span>.getRotation() <span style="color: #6a9955;"># getRotation()で現在のRotationを取得できる</span></div><br /><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> <span style="color: #6a9955;"># heightと widthで画面サイズを取得できる</span></div><div> <span style="color: #6a9955;"># "//"は結果を整数で返す割り算</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextDatum(<span style="color: #9cdcfe;">lcd</span>.datum.CC_DATUM) <span style="color: #6a9955;"># 文字位置を指定する基準の設定 CC_DATUM(中央)を指定して</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation "</span> + <span style="color: #4ec9b0;">str</span>(<span style="color: #9cdcfe;">rotation</span>), <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>) <span style="color: #6a9955;"># 画面中央の座標に文字を表示すると、ど真ん中に表示される</span></div><div><span style="color: #9cdcfe;">datum</span> = <span style="color: #9cdcfe;">lcd</span>.getTextDatum() <span style="color: #6a9955;"># getTextDatum()で現在のDatumを取得できる</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Datum "</span> + <span style="color: #4ec9b0;">str</span>(<span style="color: #9cdcfe;">datum</span>), <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextDatum(<span style="color: #9cdcfe;">lcd</span>.datum.TL_DATUM) <span style="color: #6a9955;"># 基準点を左上に戻す</span></div><br /><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.invertDisplay(<span style="color: #569cd6;">True</span>) <span style="color: #6a9955;"># 画面の色を反転する。表示内容は消えない。</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #b5cea8;">1</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.invertDisplay(<span style="color: #569cd6;">False</span>) <span style="color: #6a9955;"># 色反転を元に戻す</span></div><br /><div><span style="color: #6a9955;"># 文字表示関数いろいろ fontは省略できる</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">lcd</span>.color.BLACK)</div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span>, <span style="color: #b5cea8;">0</span></div><div><span style="color: #6a9955;">#color, bgcolor = lcd.color.WHITE, lcd.color.BLACK</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawChar(<span style="color: #dcdcaa;">ord</span>(<span style="color: #ce9178;">"a"</span>), <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 一文字表示</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"drawString"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 文字列表示</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawRightString(<span style="color: #ce9178;">"RightString"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 文字列の右端を基準に表示</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawCentreString(<span style="color: #ce9178;">"CentreString"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 文字列と中心を基準に表示</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawFastVLine(<span style="color: #9cdcfe;">x</span>, <span style="color: #b5cea8;">0</span>, <span style="color: #9cdcfe;">lcd</span>.height, <span style="color: #9cdcfe;">lcd</span>.color.RED) <span style="color: #6a9955;"># 基準位置に線を引く</span></div><br /></div>
</code>
<p>こんな感じになります。</p>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-49411558913199747932022-05-19T01:59:00.044+09:002022-05-21T06:01:17.191+09:00MicroPythonで使うWio Terminal - LCD 文字表示<p style="text-align: left;"><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></p><p style="text-align: left;">Wio Terminalの <a href="https://wiki.seeedstudio.com/ArduPy/">ArduPy</a>で使える、LCD描画関数の利用例と実行結果一覧を作りました。</p><p style="text-align: left;">サンプルコード全体。コピペして実行してみてください。</p>
<div style="background-color: #1e1e1e; border-width: 1px; border: 1px solid; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; height: 20em; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #6a9955;"># Wio Terminal 液晶画面表示のサンプル</span></div><div><span style="color: #6a9955;"># This code is provided under a CC0 Public Domain License.</span></div><div><span style="color: #6a9955;"># http://creativecommons.org/publicdomain/zero/1.0/</span></div><div><span style="color: #6a9955;"># 2022年5月20日 佐藤恭一 https://kyoutan.jpn.org</span></div><br /><div><span style="color: #6a9955;"># LCDへの文字表示関数一覧</span></div><div><span style="color: #6a9955;">#</span></div><div><span style="color: #6a9955;"># drawString("文字列", x, y[, font]) 文字列表示</span></div><div><span style="color: #6a9955;"># drawRightString("文字列", x, y[, font]) 文字列の右上を原点に表示</span></div><div><span style="color: #6a9955;"># drawCentreString("文字列", x, y[, font]) 文字列の中心を原点に表示</span></div><div><span style="color: #6a9955;"># drawNumber(整数, x, y[, font]) 整数の表示 </span></div><div><span style="color: #6a9955;"># drawFloat(小数, 桁数, x, y[, font]) 小数の表示 小数点以下何桁で表示するか指定する</span></div><div><span style="color: #6a9955;"># drawChar(code, x, y[, font]) 一文字表示</span></div><div><span style="color: #6a9955;"># font は 1, 2, 4, 6, 7, 8 が選べる (初期値 1)</span></div><div><span style="color: #6a9955;"># 表示関数では、フォントの指定は省略できる</span></div><div><span style="color: #6a9955;">#</span></div><div><span style="color: #6a9955;"># setTextPadding(width) 文字背景の幅を設定する</span></div><div><span style="color: #6a9955;"># textWidth("文字列") 文字列の幅 (pixel) を求める</span></div><div><span style="color: #6a9955;"># setTextSize(magnification) 文字サイズ(倍率)の設定</span></div><div><span style="color: #6a9955;"># setTextDatum(Datum) 文字位置を指定する原点の設定 0~11 (初期値 0)</span></div><div><span style="color: #6a9955;"># getTextDatum() 現在のDatumを取得する</span></div><div><span style="color: #6a9955;"># setTextFont(font) フォント指定省略時のフォントを設定する</span></div><div><span style="color: #6a9955;"># fontHeight(0) 現在設定されているフォントの高さ (pixel) を取得する</span></div><div><span style="color: #6a9955;"># setTextColor(color[, bgcolor]) 文字色の設定 背景色は省略できる</span></div><div><span style="color: #6a9955;"># color565(R, G, B) R,G,B 24bitカラーから16bitカラーへ変換</span></div><div><span style="color: #6a9955;"># fillScreen(color) 画面の塗りつぶし</span></div><div><span style="color: #6a9955;"># setRotation(Direction) 描画方向の設定(画面の回転) 0~7 (初期値 3)</span></div><div><span style="color: #6a9955;"># getRotation() 現在の描画方向を取得する</span></div><div><span style="color: #6a9955;"># invertDisplay(bool) 画面の色を反転する。表示内容は消えない。 True=反転 False=非反転</span></div><div><span style="color: #6a9955;"># width 画面幅 (pixel)</span></div><div><span style="color: #6a9955;"># height 画面高さ (pixel)</span></div><div><span style="color: #6a9955;">#</span></div><div><span style="color: #6a9955;"># setCursor(x, y) カーソル位置の設定 ArduPyに lcd.print()が無いので意味無し?</span></div><div><span style="color: #6a9955;"># getCursorX() 現在のカーソル位置を得る ArduPyに lcd.print()が無いので意味無し?</span></div><div><span style="color: #6a9955;"># getCursorY() 現在のカーソル位置を得る ArduPyに lcd.print()が無いので意味無し?</span></div><div><span style="color: #6a9955;"># setTextWrap(True) 長い文字列を画面の端で折り返すかの設定だけど効果が無いみたい。ArduPyに lcd.print()が無いからかも</span></div><div><span style="color: #6a9955;"># drawString("TextWrap TextWrap TextWrap TextWrap", x, y, font)</span></div><div><span style="color: #6a9955;"># バックライトは GPIOの 72番で on / off できるようなんだけど、BACKLIGHT = Pin(72, Pin.OUT) で invalid pin エラーになる</span></div><div><span style="color: #6a9955;"># バックライト制御は seeed-ardupy-WTbacklightライブラリを使う必要があるみたい</span></div><div><span style="color: #6a9955;">#</span></div><div><span style="color: #6a9955;"># 役立つ資料</span></div><div><span style="color: #6a9955;"># ArduPy Get Started https://wiki.seeedstudio.com/ArduPy/#pin-and-gpio</span></div><div><span style="color: #6a9955;"># ArduPyのソースコード https://github.com/Seeed-Studio/ArduPy</span></div><div><span style="color: #6a9955;"># Wio Terminal (Arduino) https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/</span></div><div><span style="color: #6a9955;"># Arduinoのライブラリとサンプルスケッチ C:\Users\<USER>\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.2\libraries</span></div><div><span style="color: #6a9955;"># MicroPython ドキュメンテーション https://micropython-docs-ja.readthedocs.io/ja/latest/index.html</span></div><div><span style="color: #6a9955;"># Python チュートリアル https://docs.python.org/ja/3/tutorial/index.html</span></div><div><span style="color: #6a9955;"># Python 言語リファレンス https://docs.python.org/ja/3/reference/index.html</span></div><div><span style="color: #6a9955;"># ArduinoのTFT_eSPIを呼び出すようになっているので、関数の引数がわからない時は TFT_eSPIを見ると良い</span></div><div><span style="color: #6a9955;"># TFT_eSPI https://github.com/Bodmer/TFT_eSPI</span></div><div><span style="color: #6a9955;"># M5StickCと同じくTFT_eSPI ライブラリが使われている様子 https://lang-ship.com/reference/M5StickC/latest/class_t_f_t__e_s_p_i.html</span></div><br /><div><span style="color: #c586c0;">import</span> <span style="color: #4ec9b0;">time</span></div><div><span style="color: #c586c0;">from</span> machine <span style="color: #c586c0;">import</span> LCD</div><br /><div><span style="color: #9cdcfe;">lcd</span> = LCD() <span style="color: #6a9955;"># LCDを初期化してバックライト点灯</span></div><div><span style="color: #9cdcfe;">color</span> = <span style="color: #9cdcfe;">lcd</span>.color.BLACK <span style="color: #6a9955;"># 色は 16bitカラー RGB565</span></div><div> <span style="color: #6a9955;"># 色の別名一覧は >>> help(lcd.color)</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">color</span>) <span style="color: #6a9955;"># 画面の塗りつぶし</span></div><div> <span style="color: #6a9955;"># LCDの関数など一覧は >>> help(lcd)</span></div><div> <span style="color: #6a9955;"># >>> dir(lcd)</span></div><br /><br /><div><span style="color: #6a9955;"># いろいろなフォント</span></div><div><span style="color: #9cdcfe;">wait</span> = <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">0</span>, <span style="color: #b5cea8;">0</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font test テスト"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>) <span style="color: #6a9955;"># 日本語は表示できない</span></div><br /><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># fontHeightで現在設定されているフォントの高さを得られる。引数が何なのか不明</span></div><div> <span style="color: #6a9955;"># 引数に何を指定しても結果は変わらないようにみえる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"0123456789"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><br /><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">1</span> <span style="color: #6a9955;"># Font 1は 6x8ドットフォント</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font 1 0123456789"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">8</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">2</span> <span style="color: #6a9955;"># Font 2は 16ドットフォント</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font 2 0123456789"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">16</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">4</span> <span style="color: #6a9955;"># Font 4は 26ドットフォント</span></div><div><span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color.BLACK, <span style="color: #9cdcfe;">lcd</span>.color.GREEN</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span>) <span style="color: #6a9955;"># 文字色の設定 文字色, 背景色</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font 4 01234"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">26</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">6</span> <span style="color: #6a9955;"># Font 6は数字だけ表示 48ドットフォント</span></div><div><span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color.WHITE, <span style="color: #9cdcfe;">lcd</span>.color.BLUE</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font 6 01234"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">48</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">7</span> <span style="color: #6a9955;"># Font 7は 7セグ風フォント 数字だけ表示 48ドット</span></div><div><span style="color: #9cdcfe;">color</span> = <span style="color: #9cdcfe;">lcd</span>.color.GREEN</div><div><span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color565(<span style="color: #b5cea8;">100</span>, <span style="color: #b5cea8;">100</span>, <span style="color: #b5cea8;">100</span>) <span style="color: #6a9955;"># color565で24bitカラーから16bitカラーへ変換できる</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"7 01234"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">48</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">8</span> <span style="color: #6a9955;"># Font 8は数字だけ表示 高さ75ドットくらい Font 8が最大</span></div><div><span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color565(<span style="color: #b5cea8;">255</span>, <span style="color: #b5cea8;">120</span>, <span style="color: #b5cea8;">100</span>), <span style="color: #9cdcfe;">lcd</span>.color.GREEN</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"8 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div> <span style="color: #6a9955;"># Font 0, 3, 5は表示されない</span></div><br /><br /><div><span style="color: #6a9955;"># setTextSize(倍率) 文字サイズの設定</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color.WHITE, <span style="color: #9cdcfe;">lcd</span>.color.BLACK</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">bgcolor</span>)</div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">3</span>, <span style="color: #b5cea8;">1</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">0</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextFont(<span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># フォント指定省略時のフォントを設定する</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font0 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>) <span style="color: #6a9955;"># フォントの指定は省略できる</span></div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">2</span>) <span style="color: #6a9955;"># 文字サイズの設定 2倍になる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font0 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># fontHeightは setTextSizeの倍率も反映される</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextFont(<span style="color: #b5cea8;">2</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">1</span>) <span style="color: #6a9955;"># 文字サイズの設定 1倍になる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font2 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">2</span>) <span style="color: #6a9955;"># 文字サイズの設定 2倍になる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font2 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">3</span>) <span style="color: #6a9955;"># 文字サイズの設定 3倍になる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font2 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextFont(<span style="color: #b5cea8;">4</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">1</span>) </div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font4 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">2</span>) </div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font4 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><br /><br /><div><span style="color: #6a9955;"># setRotation(方向) 描画方向の設定(画面の回転)</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">lcd</span>.color.BLACK)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">1</span>)</div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #b5cea8;">0</span>, <span style="color: #b5cea8;">0</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextFont(<span style="color: #b5cea8;">4</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># 描画方向の設定(画面の回転) 0~7</span></div><div> <span style="color: #6a9955;"># 方向の設定を変えても表示内容は保持する</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(0) 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">1</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(1) 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">2</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(2) 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">3</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(3) 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">x</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">4</span>) <span style="color: #6a9955;"># 鏡像にもできる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(4) 01"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">5</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(5) 01"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">6</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(6) 01"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">7</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(7) 01"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">3</span>) <span style="color: #6a9955;"># 描画方向を元に戻す</span></div><div><span style="color: #9cdcfe;">rotation</span> = <span style="color: #9cdcfe;">lcd</span>.getRotation() <span style="color: #6a9955;"># getRotation()で現在のRotationを取得できる</span></div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> <span style="color: #6a9955;"># heightと widthで画面サイズを取得できる</span></div><div> <span style="color: #6a9955;"># "//"は結果を整数で返す割り算</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextDatum(<span style="color: #9cdcfe;">lcd</span>.datum.CC_DATUM) <span style="color: #6a9955;"># 文字位置を指定する原点の設定 CC_DATUM(中央)を指定して</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation "</span> + <span style="color: #4ec9b0;">str</span>(<span style="color: #9cdcfe;">rotation</span>), <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>) <span style="color: #6a9955;"># 画面中央の座標に文字を表示すると、ど真ん中に表示される</span></div><div> <span style="color: #6a9955;"># +-----+</span></div><div> <span style="color: #6a9955;"># |0 1 2| 左上から 012...</span></div><div> <span style="color: #6a9955;"># |3 4 5| >>> help(lcd.datum) で CC_DATUMなど別名の一覧</span></div><div> <span style="color: #6a9955;"># |6 7 8|</span></div><div> <span style="color: #6a9955;"># +-----+</span></div><br /><div><span style="color: #9cdcfe;">datum</span> = <span style="color: #9cdcfe;">lcd</span>.getTextDatum() <span style="color: #6a9955;"># getTextDatum()で現在のDatumを取得できる</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Datum "</span> + <span style="color: #4ec9b0;">str</span>(<span style="color: #9cdcfe;">datum</span>), <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextDatum(<span style="color: #9cdcfe;">lcd</span>.datum.TL_DATUM) <span style="color: #6a9955;"># 原点を左上に戻す</span></div><br /><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.invertDisplay(<span style="color: #569cd6;">True</span>) <span style="color: #6a9955;"># 画面の色を反転する。表示内容は消えない。</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.invertDisplay(<span style="color: #569cd6;">False</span>) <span style="color: #6a9955;"># 色反転を元に戻す</span></div><br /><br /><div><span style="color: #6a9955;"># 文字表示関数いろいろ fontは省略できる</span></div><div><span style="color: #9cdcfe;">lcd</span>.fillScreen(<span style="color: #9cdcfe;">lcd</span>.color.BLACK)</div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span>, <span style="color: #b5cea8;">0</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawChar(<span style="color: #dcdcaa;">ord</span>(<span style="color: #ce9178;">"a"</span>), <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 一文字表示</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"drawString"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 文字列の左上を原点に表示</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawRightString(<span style="color: #ce9178;">"RightString"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 文字列の右上を原点に表示</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawCentreString(<span style="color: #ce9178;">"CentreString"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 文字列の中心を原点に表示</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">lcd</span>.color.WHITE, <span style="color: #9cdcfe;">lcd</span>.color.BLUE)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextPadding(<span style="color: #b5cea8;">280</span>) <span style="color: #6a9955;"># TextPaddingは文字背景の幅を設定する</span></div><div> <span style="color: #6a9955;"># 文字列の幅より大きい値にしないと効果は見えない</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawCentreString(<span style="color: #ce9178;">"TextPadding 280"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">lcd</span>.setTextPadding(<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># TextPaddingの初期値 0に戻す</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>) + <span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">lcd</span>.color.WHITE, <span style="color: #9cdcfe;">lcd</span>.color.BLACK)</div><div><span style="color: #9cdcfe;">text</span> = <span style="color: #ce9178;">"abcde"</span></div><div><span style="color: #9cdcfe;">textWidth</span> = <span style="color: #9cdcfe;">lcd</span>.textWidth(<span style="color: #9cdcfe;">text</span>) <span style="color: #6a9955;"># textWidth 文字列の幅 (pixel) を求める</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawCentreString(<span style="color: #9cdcfe;">text</span> + <span style="color: #ce9178;">" textWidth "</span> + <span style="color: #4ec9b0;">str</span>(<span style="color: #9cdcfe;">textWidth</span>), <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextPadding(<span style="color: #b5cea8;">140</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">lcd</span>.color.WHITE, <span style="color: #9cdcfe;">lcd</span>.color.RED)</div><div><span style="color: #9cdcfe;">i</span> = <span style="color: #b5cea8;">123</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawNumber(<span style="color: #9cdcfe;">i</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 整数の表示 </span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">f</span> = <span style="color: #b5cea8;">123.45</span></div><div><span style="color: #9cdcfe;">decimalPlaces</span> = <span style="color: #b5cea8;">3</span> <span style="color: #6a9955;"># 小数点以下の桁数</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawFloat(<span style="color: #9cdcfe;">f</span>, <span style="color: #9cdcfe;">decimalPlaces</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 小数の表示</span></div><br /><div><span style="color: #9cdcfe;">lcd</span>.drawFastVLine(<span style="color: #9cdcfe;">x</span>, <span style="color: #b5cea8;">0</span>, <span style="color: #9cdcfe;">lcd</span>.height, <span style="color: #9cdcfe;">lcd</span>.color.RED) <span style="color: #6a9955;"># 基準位置に線を引く</span></div><br /><div><span style="color: #ce9178;">"""</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">from machine import LCD</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">lcd = LCD()</span></div><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(lcd)</span></div><div><span style="color: #ce9178;">object <LCD> is of type LCD</span></div><div><span style="color: #ce9178;"> deinit -- <function></span></div><div><span style="color: #ce9178;"> __enter__ -- <function></span></div><div><span style="color: #ce9178;"> __exit__ -- <function></span></div><div><span style="color: #ce9178;">T fillScreen -- <function></span></div><div><span style="color: #ce9178;">T setRotation -- <function></span></div><div><span style="color: #ce9178;">T getRotation -- <function></span></div><div><span style="color: #ce9178;">T invertDisplay -- <function></span></div><div><span style="color: #ce9178;">T drawRightString -- <function></span></div><div><span style="color: #ce9178;">T drawChar -- <function></span></div><div><span style="color: #ce9178;">T drawString -- <function></span></div><div><span style="color: #ce9178;">T drawCentreString -- <function></span></div><div><span style="color: #ce9178;">T setTextFont -- <function></span></div><div><span style="color: #ce9178;"> drawPixel -- <function></span></div><div><span style="color: #ce9178;">T fontHeight -- <function></span></div><div><span style="color: #ce9178;">T textWidth -- <function></span></div><div><span style="color: #ce9178;">T drawNumber -- <function></span></div><div><span style="color: #ce9178;">T drawFloat -- <function></span></div><div><span style="color: #ce9178;">T setTextColor -- <function></span></div><div><span style="color: #ce9178;">T setTextSize -- <function></span></div><div><span style="color: #ce9178;">T setTextWrap -- <function></span></div><div><span style="color: #ce9178;">T setTextDatum -- <function></span></div><div><span style="color: #ce9178;">T getTextDatum -- <function></span></div><div><span style="color: #ce9178;">T setTextPadding -- <function></span></div><div><span style="color: #ce9178;"> drawLine -- <function></span></div><div><span style="color: #ce9178;"> drawFastVLine -- <function></span></div><div><span style="color: #ce9178;"> drawFastHLine -- <function></span></div><div><span style="color: #ce9178;"> drawRect -- <function></span></div><div><span style="color: #ce9178;"> fillRect -- <function></span></div><div><span style="color: #ce9178;"> drawRoundRect -- <function></span></div><div><span style="color: #ce9178;"> fillRoundRect -- <function></span></div><div><span style="color: #ce9178;"> drawCircle -- <function></span></div><div><span style="color: #ce9178;"> drawCircleHelper -- <function></span></div><div><span style="color: #ce9178;"> fillCircle -- <function></span></div><div><span style="color: #ce9178;"> fillCircleHelper -- <function></span></div><div><span style="color: #ce9178;"> drawEllipse -- <function></span></div><div><span style="color: #ce9178;"> fillEllipse -- <function></span></div><div><span style="color: #ce9178;"> drawTriangle -- <function></span></div><div><span style="color: #ce9178;"> fillTriangle -- <function></span></div><div><span style="color: #ce9178;">T getCursorX -- <function></span></div><div><span style="color: #ce9178;">T getCursorY -- <function></span></div><div><span style="color: #ce9178;"> getPivotX -- <function></span></div><div><span style="color: #ce9178;"> getPivotY -- <function></span></div><div><span style="color: #ce9178;"> color16to8 -- <function></span></div><div><span style="color: #ce9178;">TG color565 -- <function></span></div><div><span style="color: #ce9178;"> getPivotX -- <function></span></div><div><span style="color: #ce9178;">T setCursor -- <function></span></div><div><span style="color: #ce9178;"> setPivot -- <function></span></div><div><span style="color: #ce9178;"> pushImage -- <function></span></div><div><span style="color: #ce9178;"> color -- <class 'color'></span></div><div><span style="color: #ce9178;"> datum -- <class 'datum'></span></div><div><span style="color: #ce9178;">>>></span></div><br /><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(lcd.color)</span></div><div><span style="color: #ce9178;">object <class 'color'> is of type type</span></div><div><span style="color: #ce9178;"> BLACK -- 0</span></div><div><span style="color: #ce9178;"> NAVY -- 15</span></div><div><span style="color: #ce9178;"> DARKGREEN -- 992</span></div><div><span style="color: #ce9178;"> DARKCYAN -- 1007</span></div><div><span style="color: #ce9178;"> MAROON -- 30720</span></div><div><span style="color: #ce9178;"> PURPLE -- 30735</span></div><div><span style="color: #ce9178;"> OLIVE -- 31712</span></div><div><span style="color: #ce9178;"> LIGHTGREY -- 50712</span></div><div><span style="color: #ce9178;"> DARKGREY -- 31727</span></div><div><span style="color: #ce9178;"> BLUE -- 31</span></div><div><span style="color: #ce9178;"> GREEN -- 2016</span></div><div><span style="color: #ce9178;"> CYAN -- 2047</span></div><div><span style="color: #ce9178;"> RED -- 63488</span></div><div><span style="color: #ce9178;"> MAGENTA -- 63519</span></div><div><span style="color: #ce9178;"> YELLOW -- 65504</span></div><div><span style="color: #ce9178;"> WHITE -- 65535</span></div><div><span style="color: #ce9178;"> ORANGE -- 64928</span></div><div><span style="color: #ce9178;"> GREENYELLOW -- 47072</span></div><div><span style="color: #ce9178;"> BLACK -- 0</span></div><div><span style="color: #ce9178;"> PINK -- 64671</span></div><br /><div><span style="color: #c586c0;">>>> </span><span style="color: #ce9178;">help(lcd.datum)</span></div><div><span style="color: #ce9178;">object <class 'datum'> is of type type</span></div><div><span style="color: #ce9178;"> TL_DATUM -- 0</span></div><div><span style="color: #ce9178;"> TC_DATUM -- 1</span></div><div><span style="color: #ce9178;"> TR_DATUM -- 2</span></div><div><span style="color: #ce9178;"> ML_DATUM -- 3</span></div><div><span style="color: #ce9178;"> CL_DATUM -- 3</span></div><div><span style="color: #ce9178;"> MC_DATUM -- 4</span></div><div><span style="color: #ce9178;"> CC_DATUM -- 4</span></div><div><span style="color: #ce9178;"> MR_DATUM -- 5</span></div><div><span style="color: #ce9178;"> CR_DATUM -- 5</span></div><div><span style="color: #ce9178;"> BL_DATUM -- 6</span></div><div><span style="color: #ce9178;"> BC_DATUM -- 7</span></div><div><span style="color: #ce9178;"> BR_DATUM -- 8</span></div><div><span style="color: #ce9178;"> L_BASELINE -- 9</span></div><div><span style="color: #ce9178;"> C_BASELINE -- 10</span></div><div><span style="color: #ce9178;"> R_BASELINE -- 11</span></div><div><span style="color: #ce9178;">>>> </span></div><div><span style="color: #ce9178;">"""</span></div><br /><div><span style="color: #ce9178;">"""</span></div><div><span style="color: #ce9178;">from machine import Pin, Map</span></div><div><span style="color: #ce9178;">LED = Pin(Map.LED_BUILTIN, Pin.OUT)</span></div><br /><br /><div><span style="color: #ce9178;">while True:</span></div><div><span style="color: #ce9178;"> LED.on()</span></div><div><span style="color: #ce9178;"> time.sleep(1)</span></div><div><span style="color: #ce9178;"> LED.off()</span></div><div><span style="color: #ce9178;"> time.sleep(1)</span></div><div><span style="color: #ce9178;">"""</span> </div></div><p style="text-align: left;"><br /></p>
<h2 style="text-align: left;">いろいろなフォント</h2>
<p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4EfoebF71NQ7eMP8Ua3XxAt2mY0Q2AqMecZj-SfG8XCDFYcO1Wj80BgvC8hhPbxusIHgL8fBSEO-50qhZ4TKuwJJMiwbvqfNQVL97aMhra0VbecxOYYtdPcDvwo0sOsp3BFAp6hqHbvshAgPCy3JNsQUWYRY1cnLvKvP_wgjXGgawOfbHEVEwks46Pw/s2000/aDSC_3064.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1579" data-original-width="2000" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4EfoebF71NQ7eMP8Ua3XxAt2mY0Q2AqMecZj-SfG8XCDFYcO1Wj80BgvC8hhPbxusIHgL8fBSEO-50qhZ4TKuwJJMiwbvqfNQVL97aMhra0VbecxOYYtdPcDvwo0sOsp3BFAp6hqHbvshAgPCy3JNsQUWYRY1cnLvKvP_wgjXGgawOfbHEVEwks46Pw/w400-h316/aDSC_3064.jpg" width="400" /></a></div>
<div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; height: 20em; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font test テスト"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>) <span style="color: #6a9955;"># 日本語は表示できない</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># fontHeightで現在設定されているフォントの高さを得られる。引数が何なのか不明</span></div><div> <span style="color: #6a9955;"># 引数に何を指定しても結果は変わらないようにみえる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"0123456789"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><br /><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">1</span> <span style="color: #6a9955;"># Font 1は 6x8ドットフォント</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font 1 0123456789"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">8</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">2</span> <span style="color: #6a9955;"># Font 2は 16ドットフォント</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font 2 0123456789"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">16</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">4</span> <span style="color: #6a9955;"># Font 4は 26ドットフォント</span></div><div><span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color.BLACK, <span style="color: #9cdcfe;">lcd</span>.color.GREEN</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span>) <span style="color: #6a9955;"># 文字色の設定 文字色, 背景色</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font 4 01234"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">26</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">6</span> <span style="color: #6a9955;"># Font 6は数字だけ表示 48ドットフォント</span></div><div><span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color.WHITE, <span style="color: #9cdcfe;">lcd</span>.color.BLUE</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font 6 01234"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">48</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">7</span> <span style="color: #6a9955;"># Font 7は 7セグ風フォント 数字だけ表示 48ドット</span></div><div><span style="color: #9cdcfe;">color</span> = <span style="color: #9cdcfe;">lcd</span>.color.GREEN</div><div><span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color565(<span style="color: #b5cea8;">100</span>, <span style="color: #b5cea8;">100</span>, <span style="color: #b5cea8;">100</span>) <span style="color: #6a9955;"># color565で24bitカラーから16bitカラーへ変換できる</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"7 01234"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #b5cea8;">48</span></div><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">8</span> <span style="color: #6a9955;"># Font 8は数字だけ表示 高さ75ドットくらい Font 8が最大</span></div><div><span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span> = <span style="color: #9cdcfe;">lcd</span>.color565(<span style="color: #b5cea8;">255</span>, <span style="color: #b5cea8;">120</span>, <span style="color: #b5cea8;">100</span>), <span style="color: #9cdcfe;">lcd</span>.color.GREEN</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">color</span>, <span style="color: #9cdcfe;">bgcolor</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"8 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div> <span style="color: #6a9955;"># Font 0, 3, 5は表示されない</span></div><br /></div>
<p><br /></p>
<h2 style="text-align: left;">フォントサイズ</h2>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfVejHF-7weO6oQ6BPCKjU1gkcG0FKYU4vcoCMVqa-aG13rUlXSVXg5IkxaSkUGnkqTVVuAlcSq-p8mcqJuQIJDsvCbs4cQMpSLdEwhOAphiBw1LpqXj4BglYclTwerY_qV94EHx7HViUNgheDYP4VdFyhju_-amPOnroqeCNj7gMuwvLJtABcU_cUwA/s2000/aDSC_3067.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1579" data-original-width="2000" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfVejHF-7weO6oQ6BPCKjU1gkcG0FKYU4vcoCMVqa-aG13rUlXSVXg5IkxaSkUGnkqTVVuAlcSq-p8mcqJuQIJDsvCbs4cQMpSLdEwhOAphiBw1LpqXj4BglYclTwerY_qV94EHx7HViUNgheDYP4VdFyhju_-amPOnroqeCNj7gMuwvLJtABcU_cUwA/w400-h316/aDSC_3067.jpg" width="400" /></a></div>
<div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; height: 20em; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">0</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextFont(<span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># フォント指定省略時のフォントを設定する</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font0 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>) <span style="color: #6a9955;"># フォントの指定は省略できる</span></div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">2</span>) <span style="color: #6a9955;"># 文字サイズの設定 2倍になる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font0 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># fontHeightは setTextSizeの倍率も反映される</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextFont(<span style="color: #b5cea8;">2</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">1</span>) <span style="color: #6a9955;"># 文字サイズの設定 1倍になる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font2 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">2</span>) <span style="color: #6a9955;"># 文字サイズの設定 2倍になる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font2 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">3</span>) <span style="color: #6a9955;"># 文字サイズの設定 3倍になる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font2 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextFont(<span style="color: #b5cea8;">4</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">1</span>) </div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font4 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span>+=<span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextSize(<span style="color: #b5cea8;">2</span>) </div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Font4 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><br /></div>
<p style="text-align: left;"><br /></p>
<h2 style="text-align: left;">描画方向の設定(画面の回転)</h2>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxTAT1Zk4qd7eMrOYemC_kfD1Vyy6u11TNeXO42Z483HmPzeUcrSQUwANunxLEwLImTAyupnkDQBmlm6LCz_XGrv2N6uy_BJrazABH3StJt0RTO3plgxEjvv01qxBeH1EFUfPpgLIU1ft3IswZ0sIX0gNb4FE4dx7oWITXx40vAqoBcJ2re6GVNmA6CA/s2000/aDSC_3069.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1579" data-original-width="2000" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxTAT1Zk4qd7eMrOYemC_kfD1Vyy6u11TNeXO42Z483HmPzeUcrSQUwANunxLEwLImTAyupnkDQBmlm6LCz_XGrv2N6uy_BJrazABH3StJt0RTO3plgxEjvv01qxBeH1EFUfPpgLIU1ft3IswZ0sIX0gNb4FE4dx7oWITXx40vAqoBcJ2re6GVNmA6CA/w400-h316/aDSC_3069.jpg" width="400" /></a></div>
<div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; height: 20em; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># 描画方向の設定(画面の回転) 0~7</span></div><div> <span style="color: #6a9955;"># 方向の設定を変えても表示内容は保持する</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(0) 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">1</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(1) 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">2</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(2) 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">3</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(3) 0123"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">x</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">4</span>) <span style="color: #6a9955;"># 鏡像にもできる</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(4) 01"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">5</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(5) 01"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">6</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(6) 01"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">7</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation(7) 01"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setRotation(<span style="color: #b5cea8;">3</span>) <span style="color: #6a9955;"># 描画方向を元に戻す</span></div><div><span style="color: #9cdcfe;">rotation</span> = <span style="color: #9cdcfe;">lcd</span>.getRotation() <span style="color: #6a9955;"># getRotation()で現在のRotationを取得できる</span></div><div><span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span> = <span style="color: #9cdcfe;">lcd</span>.width // <span style="color: #b5cea8;">2</span>, <span style="color: #9cdcfe;">lcd</span>.height // <span style="color: #b5cea8;">2</span> <span style="color: #6a9955;"># heightと widthで画面サイズを取得できる</span></div><div> <span style="color: #6a9955;"># "//"は結果を整数で返す割り算</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextDatum(<span style="color: #9cdcfe;">lcd</span>.datum.CC_DATUM) <span style="color: #6a9955;"># 文字位置を指定する原点の設定 CC_DATUM(中央)を指定して</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Rotation "</span> + <span style="color: #4ec9b0;">str</span>(<span style="color: #9cdcfe;">rotation</span>), <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>) <span style="color: #6a9955;"># 画面中央の座標に文字を表示すると、ど真ん中に表示される</span></div><div> <span style="color: #6a9955;"># +-----+</span></div><div> <span style="color: #6a9955;"># |0 1 2| 左上から 012...</span></div><div> <span style="color: #6a9955;"># |3 4 5| >>> help(lcd.datum) で CC_DATUMなど別名の一覧</span></div><div> <span style="color: #6a9955;"># |6 7 8|</span></div><div> <span style="color: #6a9955;"># +-----+</span></div><br /><div><span style="color: #9cdcfe;">datum</span> = <span style="color: #9cdcfe;">lcd</span>.getTextDatum() <span style="color: #6a9955;"># getTextDatum()で現在のDatumを取得できる</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"Datum "</span> + <span style="color: #4ec9b0;">str</span>(<span style="color: #9cdcfe;">datum</span>), <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextDatum(<span style="color: #9cdcfe;">lcd</span>.datum.TL_DATUM) <span style="color: #6a9955;"># 原点を左上に戻す</span></div></div>
<p style="text-align: left;"><br /></p>
<h2 style="text-align: left;">画面の色反転</h2>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTESkicgJsU8cR-UK-pbWyb0kcHd-D9Sj-Nu8yY6hnEH3Kg3B-UsIyqAhYNZCbaTguMc5UXhmRqBAgBGyd4juHMtH51EOH-QmAcqZAjvouK0W_WQmrswrt2liEgtLlPHkTfUwwmBKbWm1R7RLlAsxCOItKFsoSPnmzawqu8joHnpPtNrpNbrbmzoh0yQ/s2000/aDSC_3072.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1579" data-original-width="2000" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTESkicgJsU8cR-UK-pbWyb0kcHd-D9Sj-Nu8yY6hnEH3Kg3B-UsIyqAhYNZCbaTguMc5UXhmRqBAgBGyd4juHMtH51EOH-QmAcqZAjvouK0W_WQmrswrt2liEgtLlPHkTfUwwmBKbWm1R7RLlAsxCOItKFsoSPnmzawqu8joHnpPtNrpNbrbmzoh0yQ/w400-h316/aDSC_3072.jpg" width="400" /></a></div>
<div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #9cdcfe;">lcd</span>.invertDisplay(<span style="color: #569cd6;">True</span>) <span style="color: #6a9955;"># 画面の色を反転する。表示内容は消えない。</span></div><div><span style="color: #4ec9b0;">time</span>.<span style="color: #dcdcaa;">sleep</span>(<span style="color: #9cdcfe;">wait</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.invertDisplay(<span style="color: #569cd6;">False</span>) <span style="color: #6a9955;"># 色反転を元に戻す</span></div></div>
<p style="text-align: left;"><br /></p>
<h2 style="text-align: left;">文字表示いろいろ</h2>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWqY8mSE0HZfseGg9XI84yz7ctfYC8dUTUOPAV0IN9DWVFSedg8cyr6I1a5_9cAanH1NvorSOXa1DoDnMvUfRoeiyd5hZi8BS7oDF6MIk1us2NcqtvBpk-h0ScWwCjKNCiBpYfUEz35NhXpS-eW4wAr0TK8TTmuCtegKQ60nvzyt46mCk5-arCU2LKxw/s2000/aDSC_3073.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1579" data-original-width="2000" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWqY8mSE0HZfseGg9XI84yz7ctfYC8dUTUOPAV0IN9DWVFSedg8cyr6I1a5_9cAanH1NvorSOXa1DoDnMvUfRoeiyd5hZi8BS7oDF6MIk1us2NcqtvBpk-h0ScWwCjKNCiBpYfUEz35NhXpS-eW4wAr0TK8TTmuCtegKQ60nvzyt46mCk5-arCU2LKxw/w400-h316/aDSC_3073.jpg" width="400" /></a></div>
<div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; height: 20em; line-height: 19px; overflow: scroll; white-space: pre;"><div><span style="color: #9cdcfe;">font</span> = <span style="color: #b5cea8;">4</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawChar(<span style="color: #dcdcaa;">ord</span>(<span style="color: #ce9178;">"a"</span>), <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 一文字表示</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawString(<span style="color: #ce9178;">"drawString"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 文字列の左上を原点に表示</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawRightString(<span style="color: #ce9178;">"RightString"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 文字列の右上を原点に表示</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.drawCentreString(<span style="color: #ce9178;">"CentreString"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 文字列の中心を原点に表示</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">lcd</span>.color.WHITE, <span style="color: #9cdcfe;">lcd</span>.color.BLUE)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextPadding(<span style="color: #b5cea8;">280</span>) <span style="color: #6a9955;"># TextPaddingは文字背景の幅を設定する</span></div><div> <span style="color: #6a9955;"># 文字列の幅より大きい値にしないと効果は見えない</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawCentreString(<span style="color: #ce9178;">"TextPadding 280"</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">lcd</span>.setTextPadding(<span style="color: #b5cea8;">0</span>) <span style="color: #6a9955;"># TextPaddingの初期値 0に戻す</span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>) + <span style="color: #b5cea8;">2</span></div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">lcd</span>.color.WHITE, <span style="color: #9cdcfe;">lcd</span>.color.BLACK)</div><div><span style="color: #9cdcfe;">text</span> = <span style="color: #ce9178;">"abcde"</span></div><div><span style="color: #9cdcfe;">textWidth</span> = <span style="color: #9cdcfe;">lcd</span>.textWidth(<span style="color: #9cdcfe;">text</span>) <span style="color: #6a9955;"># textWidth 文字列の幅 (pixel) を求める</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawCentreString(<span style="color: #9cdcfe;">text</span> + <span style="color: #ce9178;">" textWidth "</span> + <span style="color: #4ec9b0;">str</span>(<span style="color: #9cdcfe;">textWidth</span>), <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) </div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextPadding(<span style="color: #b5cea8;">140</span>)</div><div><span style="color: #9cdcfe;">lcd</span>.setTextColor(<span style="color: #9cdcfe;">lcd</span>.color.WHITE, <span style="color: #9cdcfe;">lcd</span>.color.RED)</div><div><span style="color: #9cdcfe;">i</span> = <span style="color: #b5cea8;">123</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawNumber(<span style="color: #9cdcfe;">i</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 整数の表示 </span></div><div><span style="color: #9cdcfe;">y</span> += <span style="color: #9cdcfe;">lcd</span>.fontHeight(<span style="color: #b5cea8;">0</span>)</div><div><span style="color: #9cdcfe;">f</span> = <span style="color: #b5cea8;">123.45</span></div><div><span style="color: #9cdcfe;">decimalPlaces</span> = <span style="color: #b5cea8;">3</span> <span style="color: #6a9955;"># 小数点以下の桁数</span></div><div><span style="color: #9cdcfe;">lcd</span>.drawFloat(<span style="color: #9cdcfe;">f</span>, <span style="color: #9cdcfe;">decimalPlaces</span>, <span style="color: #9cdcfe;">x</span>, <span style="color: #9cdcfe;">y</span>, <span style="color: #9cdcfe;">font</span>) <span style="color: #6a9955;"># 小数の表示</span></div><br /></div>
<p style="text-align: left;"><br /></p>
<p style="text-align: left;">関数の使い方をすぐに忘れるので、関数の使い方と表示例の一覧を作りました。</p><p style="text-align: left;"><br /></p>
<p style="text-align: left;"><a href="https://kyouichisato.blogspot.com/2022/05/micropythonwio-terminal.html">MicroPythonで使うWio Terminal - 目次</a></p>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-63215159160587209502022-05-15T02:36:00.009+09:002022-06-18T20:01:24.857+09:00中古デスクトップパソコンを購入 RYZEN 5 PRO 2400G<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCO1VP6gfpysjZbWy8CSuVkS7t2SjR0Vgef68c-eTx1ab_7fQOeOHezjyXx4I8Pg_T167Zm2-NbuaimReNcBks63wCym6aToBS2s0uNTlWtd1WiI2eaqJ0LkZXgF12tKvFPhIqFLacaixDFdVcd-ErI3scP1CQKoFD1OgZNc2o0Cg6Jbosa-zHyxHM5Q/s1500/aDSCN2612.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1125" data-original-width="1500" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCO1VP6gfpysjZbWy8CSuVkS7t2SjR0Vgef68c-eTx1ab_7fQOeOHezjyXx4I8Pg_T167Zm2-NbuaimReNcBks63wCym6aToBS2s0uNTlWtd1WiI2eaqJ0LkZXgF12tKvFPhIqFLacaixDFdVcd-ErI3scP1CQKoFD1OgZNc2o0Cg6Jbosa-zHyxHM5Q/w400-h300/aDSCN2612.jpg" width="400" /></a></div><p style="text-align: left;">中古のデスクトップパソコンを購入しました。hp EliteDesk 705 G4 SFFで、HPの小スペースデスクトップです。今まで使っていたレノボのやつと入れ替えです。だいぶ小さくなりました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKX4nXh6I7HzJIM1aRgN8_vop7rd3MGLvlkq0wQFd_2IrG7wzKdXox5yILcIALFg1SQPuTXJ-feU6qYfHzLcGHUveNrgS2y_gVu37oCdK2QPLZlzSjjRuZtmySvVMyQrWdsyu-X_mKpnc4wIFV-BBhOmJ5lEDpf92cxuptA9gqWfArEuFm8lBGlDjUIg/s1500/aDSC_0039.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1125" data-original-width="1500" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKX4nXh6I7HzJIM1aRgN8_vop7rd3MGLvlkq0wQFd_2IrG7wzKdXox5yILcIALFg1SQPuTXJ-feU6qYfHzLcGHUveNrgS2y_gVu37oCdK2QPLZlzSjjRuZtmySvVMyQrWdsyu-X_mKpnc4wIFV-BBhOmJ5lEDpf92cxuptA9gqWfArEuFm8lBGlDjUIg/w400-h300/aDSC_0039.jpg" width="400" /></a></div><ul style="text-align: left;"><li>CPU RYZEN 5 PRO 2400G</li><li>RAM 4GB</li><li>HDD 500GB</li><li>OSなし</li></ul><p></p><p style="text-align: left;">というスペックで、送料込 22,000円くらいでした。2019年11月製造でそれほど古くないのですが、CPUが Windows 11サポート外です。これにメモリ 8GB 2枚と手持ちのSSD 500GBを付けて、データ用に HDDも手持ちの 3TBに交換しました。</p><p style="text-align: left;">Windows 10 proをインストールして調子良く動いています。Windows 8くらいから、Windowsのライセンスがハードウェアに紐づけされるようになって、中古パソコンに Windowsをインストールするのが楽になって助かります。 OSプリインストールのパソコンの場合、普通はOSのライセンスを別のPCに移行することができないので、OSなしの中古パソコンを買っても Windowsをクリーンインストールすれば正常にライセンス認証が行われます。</p><p style="text-align: left;"><br /></p><h2 style="text-align: left;">M.2コネクタは NVMeのみ対応</h2><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifOgXWAYAhH3gx_zioaSpfEYh9rWRC_sv6HlU8d3X23lUBtqv8wN4S6TdIc-rNfJs56kBIm45t6BzCj5G_Bnr942_VbzBO7gug6XL5szUmpqFu8lrgg96BCHZ249FJkIHlJ7ZpJJleGhmphUDq57VYiDof4njTtELYzYNunxIcABDE_bU8mumVC6kN8w/s1500/aDSC_0012.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1125" data-original-width="1500" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifOgXWAYAhH3gx_zioaSpfEYh9rWRC_sv6HlU8d3X23lUBtqv8wN4S6TdIc-rNfJs56kBIm45t6BzCj5G_Bnr942_VbzBO7gug6XL5szUmpqFu8lrgg96BCHZ249FJkIHlJ7ZpJJleGhmphUDq57VYiDof4njTtELYzYNunxIcABDE_bU8mumVC6kN8w/w400-h300/aDSC_0012.jpg" width="400" /></a></div><p style="text-align: left;">マザーボード上の M.2コネクタに M.2 SATAを挿しても認識してくれませんでした。</p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5N--t-gy_3oHJtDJQ9dH0jP1RuWHsQothDWkaFuqUgJx5a17EjcC_mtiv8gLP6LDfLvkJkoFjExDUt3rTLk1g3tIdJ2c5KsfPB87CpWunp7mYjybJ99nUvgI8M_1naoM_Ik_VAGfIbl04BHbePkwCz4JBEY17KAzQo2skzsCS1wuqOclKB5VrPPXfow/s486/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-03-22%20163038.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="265" data-original-width="486" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5N--t-gy_3oHJtDJQ9dH0jP1RuWHsQothDWkaFuqUgJx5a17EjcC_mtiv8gLP6LDfLvkJkoFjExDUt3rTLk1g3tIdJ2c5KsfPB87CpWunp7mYjybJ99nUvgI8M_1naoM_Ik_VAGfIbl04BHbePkwCz4JBEY17KAzQo2skzsCS1wuqOclKB5VrPPXfow/w400-h217/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-03-22%20163038.png" width="400" /></a></div>M.2 NVMeのみ対応のようです。<p></p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWcHrpnR-CjWbuC1DpArbEzXozKoh-ntUcZKRdIqAkSw_YctwIYuEDfvsYQ9VsNswIOpcKCl_e36xm02KvniM-kmWZpwfcwq-gP6x48gOP6VzxE-YCk5_-_hjjZKzjFtLY2dlkylVjULx794WgL1ZWbelNGR4GFA1qsYDyk4ZeoUbCqR9-F97GrzTr5A/s1500/aDSC_0033.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1125" data-original-width="1500" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWcHrpnR-CjWbuC1DpArbEzXozKoh-ntUcZKRdIqAkSw_YctwIYuEDfvsYQ9VsNswIOpcKCl_e36xm02KvniM-kmWZpwfcwq-gP6x48gOP6VzxE-YCk5_-_hjjZKzjFtLY2dlkylVjULx794WgL1ZWbelNGR4GFA1qsYDyk4ZeoUbCqR9-F97GrzTr5A/w400-h300/aDSC_0033.jpg" width="400" /></a></div>しょうがないので、変換基板経由でSATAコネクタに接続しました。HDDとSATA SSDを同時使用するには電源コネクタが足りなかったので、ハンダ付けして二股にしました。<p></p><p style="text-align: left;"><br /></p><h2 style="text-align: left;">i7-3770 と RYZEN 2400Gの比較</h2><p style="text-align: left;">i7-3770 から RYZEN 5 2400Gへの入れ替えで、両方 4コア 8スレッドなので新しいぶん RYZENのほうが少し速いかな? と思っていたのですが、動画のエンコードで比べてみると i7-3770のほうが 10%くらい速かったのが意外でした。</p><p style="text-align: left;">ただ、RYZENでは CPU使用率が 75%くらいまでしか上がらなかったので、エンコーダーのソフトが古いとか、なにかあるのかもしれません。CPU-Zのベンチでは CPU使用率が 100%になるのでソフトウェアの問題なんじゃないかと思います。</p><p style="text-align: left;">RYZENは内蔵GPUの性能が良くて、外付けGPUを付けなくてもゲームが結構動きます。</p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZreW2Pxt7aOA56fzlK6tca6jgXSWVJJULyx_LDlUti6vxUALC_TYttpWKXpI8lRaigekv1OSsc8pH3Cv9gtTKd5hzYb6iGVJ8pKWjhTFQ1awC2H-Qu9Wf0bLSc8E1km-s_2u0lXA428uY_dWd6JRWgAlcUyp87ZqWLEmL2hHwkdbS1nnR4gx7PutnpA/s1543/aRX550.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1080" data-original-width="1543" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZreW2Pxt7aOA56fzlK6tca6jgXSWVJJULyx_LDlUti6vxUALC_TYttpWKXpI8lRaigekv1OSsc8pH3Cv9gtTKd5hzYb6iGVJ8pKWjhTFQ1awC2H-Qu9Wf0bLSc8E1km-s_2u0lXA428uY_dWd6JRWgAlcUyp87ZqWLEmL2hHwkdbS1nnR4gx7PutnpA/w400-h280/aRX550.png" width="400" /></a></div><br />Forza7のベンチマークの「グラフィック中 1920 x 1080」で <a href="https://docs.google.com/spreadsheets/d/1ET0fiwofDUuiZML73IhU2rAnSz8LL1ysXCMlHHnn4Ec/edit?usp=sharing">50fpsくらい出る</a>ので内蔵GPUで十分快適に遊べます。消費電力も低くて<p></p><p style="text-align: left;"></p><ul style="text-align: left;"><li>ゲーム中 85W</li><li>動画エンコード 65W</li><li>アイドル 16W</li></ul><p></p><p style="text-align: left;">くらいで、電気代節約になります。消費電力が少ない分、冷却ファンの音も静か。</p><p style="text-align: left;">なかなか良い買い物でした。</p><p style="text-align: left;">次にメインPCを入れ替える時は、GPU内蔵 RYZENのミニPCで十分な性能を得られそう。</p><p></p>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-65959015586420103812022-05-14T17:55:00.003+09:002023-05-23T15:04:43.477+09:00CD125K4 キャブレターセッティング(メインジェット交換) PZ27<p><a href="https://kyouichisato.blogspot.com/2020/10/cd125k4.html">ホンダ CD125K4 目次</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqX1DWFIda7iwr1Fkoiny8Ida05lKJrrb8MENSeCVj5mELEPQafl73NDbY3FXUN8YaEZdy-BM1IV2hfaM1Q6q3vFdBh_VJ6LrKHYzGkfs7C_R0IDNkWUey-kFz6D_HRSwfyyzCQM4mYrVVWh27_SLa9b7sFQM4eTMF0_o-QcqBlQLseswWPmXiHjHdGg/s2000/aDSCN2646.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqX1DWFIda7iwr1Fkoiny8Ida05lKJrrb8MENSeCVj5mELEPQafl73NDbY3FXUN8YaEZdy-BM1IV2hfaM1Q6q3vFdBh_VJ6LrKHYzGkfs7C_R0IDNkWUey-kFz6D_HRSwfyyzCQM4mYrVVWh27_SLa9b7sFQM4eTMF0_o-QcqBlQLseswWPmXiHjHdGg/w400-h300/aDSCN2646.jpg" width="400" /></a></div><p style="text-align: left;">CD125Kのキャブレター内の部品が入手不可能なので、以前<a href="https://kyouichisato.blogspot.com/2021/11/cd125k4_72.html">キャブレターを交換</a>しました。その後、低速・中速は調子良いのですがスロットル全開付近でゴボゴボして吹けないので、キャブレターのメインジェットを交換しました。</p><p style="text-align: left;">50年も昔のバイクなので、純正部品が入手できないのは仕方ありません。</p><p style="text-align: left;">キャブレターは amazonで 2,500円くらいで売っていた PZ27という正体不明のキャブレターです。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmxqNsoEU6mkj3fDlJL9XN8lCFRW8akdyKmSZWaz27NmWHeEIgHAZ6FDSt4WEy0ECyRJGkxqlmZJkc_k2VsrRKEzdpzoux0vgz-aKuUqZ98ZBZ9knGztfKfFPLuJOXmObk3Pcq7UMK3axHcrk1j61tyFy3kUZ1bD92uroaZq-xR4l471-IzzBCmGddzg/s2000/aDSCN2617.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmxqNsoEU6mkj3fDlJL9XN8lCFRW8akdyKmSZWaz27NmWHeEIgHAZ6FDSt4WEy0ECyRJGkxqlmZJkc_k2VsrRKEzdpzoux0vgz-aKuUqZ98ZBZ9knGztfKfFPLuJOXmObk3Pcq7UMK3axHcrk1j61tyFy3kUZ1bD92uroaZq-xR4l471-IzzBCmGddzg/w400-h300/aDSCN2617.jpg" width="400" /></a></div><p style="text-align: left;">PZ27に適合するメインジェットがあるのを知らずに、そのまま 1年間くらい乗っていたのですが、amazonで「<a href="https://amzn.to/3MhfBXQ">PZ27 メインジェット</a>」で検索したら使えそうなメインジェットのセットを見つけたので買ってみました。「ケーヒン 丸大」という型が適合するようです。</p><p style="text-align: left;">メインジェット 10種、スロージェット 10種のセットで 1,000円弱でした。すごく安かったけどちゃんと使えました。</p><p style="text-align: left;">低速は調子良いのでスロージェットは交換しません。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ru4eIKyjSb7pzwZ83RkSi0Pp4x9bOrWlGIDGRLKxqfDf08i-OiiUyPePEsepdzGcjkuv2tSPQlsm6IZ3Z2UFip_2vEkbm6SHrKZoNRtgEU9yK7eOlfiEtAkunesq76XDxkcl11JN3bWDpS6nfMHeLQ1S9o6NMF1k0NHbH74eRPHw_P0HSKwL7y3yNA/s2000/aDSCN2631.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ru4eIKyjSb7pzwZ83RkSi0Pp4x9bOrWlGIDGRLKxqfDf08i-OiiUyPePEsepdzGcjkuv2tSPQlsm6IZ3Z2UFip_2vEkbm6SHrKZoNRtgEU9yK7eOlfiEtAkunesq76XDxkcl11JN3bWDpS6nfMHeLQ1S9o6NMF1k0NHbH74eRPHw_P0HSKwL7y3yNA/w400-h300/aDSCN2631.jpg" width="400" /></a></div><p style="text-align: left;">短いドライバーがあれば、キャブレターを車体から外さずにジェットの交換ができました。らくちん。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuX-bPokclvUwLLGrwoXAghaE4pQSV1fqUXcFWnIp1P-nOp-H78bp-RkMk9GgU9zCDAH6PiMSnbJrWtySRm0GfEFG5mwGcA0zZLzMdXTPubnQ7ttX9XKaiXYKzv4bUbOT_rhmPdbFW0WhAgLiT_0O8kr46BBWTKie9HtKrWybB3jQdU9cwVnHtVhCHnQ/s2000/aDSCN2632.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuX-bPokclvUwLLGrwoXAghaE4pQSV1fqUXcFWnIp1P-nOp-H78bp-RkMk9GgU9zCDAH6PiMSnbJrWtySRm0GfEFG5mwGcA0zZLzMdXTPubnQ7ttX9XKaiXYKzv4bUbOT_rhmPdbFW0WhAgLiT_0O8kr46BBWTKie9HtKrWybB3jQdU9cwVnHtVhCHnQ/w400-h300/aDSCN2632.jpg" width="400" /></a></div><p style="text-align: left;">キャブレターに最初から付いていたメインジェットは 98番でした。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2s4M6ZGc06UVRagamTbXkQEhjGuMUiXKGNZaaaH6Qoo3k-o0DsFQPwSozNejH_vzyYBtK6Vp-yvoSmzuDmGjuKBqChkMKQA5wf98tc9BCvvlr4W2jOT09j-g-qIwqBKlzohELrGCnKUV5sSgQ_4rnHkh2blPelEBwvYmpfK0M_ZWaA1TlXyycer1_Iw/s2000/aDSCN2637.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2s4M6ZGc06UVRagamTbXkQEhjGuMUiXKGNZaaaH6Qoo3k-o0DsFQPwSozNejH_vzyYBtK6Vp-yvoSmzuDmGjuKBqChkMKQA5wf98tc9BCvvlr4W2jOT09j-g-qIwqBKlzohELrGCnKUV5sSgQ_4rnHkh2blPelEBwvYmpfK0M_ZWaA1TlXyycer1_Iw/w400-h300/aDSCN2637.jpg" width="400" /></a></div><p style="text-align: left;">燃料を濃くするために、とりあえず 105番を付けてみました。</p><p style="text-align: left;">走ってみるとスロットル全開でもよく吹け上がるようになりました。調子良いです。しばらく走ってみて燃費が悪くなっていなければ、これで良しとします。</p><p style="text-align: left;"><a href="https://kyouichisato.blogspot.com/2020/10/cd125k4.html">ホンダ CD125K4 目次</a></p>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.comtag:blogger.com,1999:blog-2283013025981633995.post-86052672557732030422022-05-14T14:45:00.006+09:002022-05-14T16:34:08.013+09:00固定回線代わりの WiMAXを解約して、楽天モバイルを契約<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgoEBUAzZWaXsh8Zcgh86VuVhfTAVBSNJduCwxv_fqslMIFuNPtbgO81OVxksLokJF7sVMVZdRgYL5vcPgPoJLgg0l3OyUIV8SDkNJV6GjSZMJLTBJGSW6bNYuolVTEu1wg2D65YTHEyQQZ0kvqJpZ1YIN9eDsC4yKQRps511uCHMktQYgAUnSvjbZjqw=s1080" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="727" data-original-width="1080" height="270" src="https://blogger.googleusercontent.com/img/a/AVvXsEgoEBUAzZWaXsh8Zcgh86VuVhfTAVBSNJduCwxv_fqslMIFuNPtbgO81OVxksLokJF7sVMVZdRgYL5vcPgPoJLgg0l3OyUIV8SDkNJV6GjSZMJLTBJGSW6bNYuolVTEu1wg2D65YTHEyQQZ0kvqJpZ1YIN9eDsC4yKQRps511uCHMktQYgAUnSvjbZjqw=w400-h270" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p>このあいだ3年縛りの更新月で WiMAXを契約し直したばかりなのですが、それから一週間くらいしたら自宅が<a href="https://network.mobile.rakuten.co.jp/">楽天モバイル</a>のエリアに入ったので、WiMAXを解約して楽天モバイルを契約しました。すでにスマートフォンで楽天モバイルを使用していたので、今回が固定回線代わりの二回線目です。</p><p>WiMAXの解約は解約手数料が 1,000円かかっただけでした。オンラインでは手続きできなくて、電話する必要があったんだけど簡単に解約できました。</p><p><br /></p><h2 style="text-align: left;">楽天モバイルの料金</h2><p>楽天モバイルの契約は、機器を Rakuten WiFi Pocket 2B で申し込んで、かかった費用は 1円だけでした。事務手数料とかもなし。料金プランも一種類しかないので悩むところはありません。</p><p>月額料金は</p><p></p><ul style="text-align: left;"><li>3GBまで 980円(税込 1,078円)</li><li>20GBまで 1,980円(税込 2,178円)</li><li>20GB以上 2,980円(税込 3,278円)</li></ul><p></p><p>です。通信量が少ないならもう少し安い事業者もあるのですが、容量無制限で使った場合の料金で比べると楽天モバイルが一番安く使えるようなので、楽天モバイルに決めました。今まで使っていた UQ WiMAX が月額 4,268円だったので、楽天モバイルにすると、月々 1,000円くらい安くなります。</p><p>光回線だと、一戸建てでひと月 5,000~6,000円くらいかかってしまうので、モバイル回線の速度で間に合うならモバイル回線を使っておくほうが金額が安く済みます。</p><p><br /></p><h2 style="text-align: left;">通信速度と速度制限</h2><p>以前からスマートフォンで楽天モバイルを利用していたので、二回線目を申し込む前にスマートフォンのテザリングでパソコンを使ってみて、回線速度やたくさん使ったときの通信速度制限の様子を確かめました。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAbuuLNv3wxnrer6pkVr8xwVDupdF9E38gnWyVw9HIJ5hKH704msCyiqPBbJdLvmt28Liw3tihnm5-drv8r34JRt3DQQ_AViZ58kePL2_TLg2-HIHNdIqUcJWuCkVG94TYZvbF-5EFh9n78eV2FZjTxa3OY1kqElrWK8XauIB3tj3tfomrcHtvjCuU7Q/s1080/aScreenshot_20220119-213249.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1071" data-original-width="1080" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAbuuLNv3wxnrer6pkVr8xwVDupdF9E38gnWyVw9HIJ5hKH704msCyiqPBbJdLvmt28Liw3tihnm5-drv8r34JRt3DQQ_AViZ58kePL2_TLg2-HIHNdIqUcJWuCkVG94TYZvbF-5EFh9n78eV2FZjTxa3OY1kqElrWK8XauIB3tj3tfomrcHtvjCuU7Q/w400-h396/aScreenshot_20220119-213249.png" width="400" /></a></div>自宅での通信速度は、下り 10~20Mbps、上り 10Mbps前後くらいでした。今まで使っていた WiMAXでは、下り 100Mbps超、上り 8Mbps前後と下りがかなり速かったので、大きなファイルをダウンロードするときには WiMAXと比べて遅さが気になりますが、普通に webを見たり動画を見たりするぶんにはストレスなく利用できました。<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPuTpzYXcXa3uNcrDkFJpW-h3WrcOjw0nuk7yn-z27Fg7s9DqKbI-hGfQIfY4MtxeyFlfbNnTuVNgHwYHQgA1HpfNkUpmQ31JRcJZbqYbNqJJBiC6Bbp_LfHqa7mRah0q-YjMPGfa5Qfx_R1sGMCLCG-G920wLemh8Uh9E2n7DK0Mc1OL2b4yxRys6pA/s1080/aScreenshot_20220121-221355.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1076" data-original-width="1080" height="399" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPuTpzYXcXa3uNcrDkFJpW-h3WrcOjw0nuk7yn-z27Fg7s9DqKbI-hGfQIfY4MtxeyFlfbNnTuVNgHwYHQgA1HpfNkUpmQ31JRcJZbqYbNqJJBiC6Bbp_LfHqa7mRah0q-YjMPGfa5Qfx_R1sGMCLCG-G920wLemh8Uh9E2n7DK0Mc1OL2b4yxRys6pA/w400-h399/aScreenshot_20220121-221355.png" width="400" /></a></div>速度制限の基準は明示されていないのですが、たくさん通信して確かめてみると、一日 10GB以上使用すると速度が 3Mbpsに制限されるようです。3Mbpsでも、ちょっと遅いなーと感じるくらいでけっこう普通に使えました。日にちが変わると速度制限が解除されるので不便はありません。<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7gWlmjXNhYFyvlAs7o9dKkXtqhYro2T-fpA9f8B1f4elOFbV9nwHZ73lirALDrCheuBpWa77AK4q4sz7gDnJCrLmEkepVq08szFcUxDa0AiaRDhOCleM1jASE9AuDU-HngklcdmrPxm5DZApv3kArYXB_78c3ZfX8SNUfimzIejoeIjIvix0s-PFW0A/s1268/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-05-13%20234129.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="396" data-original-width="1268" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7gWlmjXNhYFyvlAs7o9dKkXtqhYro2T-fpA9f8B1f4elOFbV9nwHZ73lirALDrCheuBpWa77AK4q4sz7gDnJCrLmEkepVq08szFcUxDa0AiaRDhOCleM1jASE9AuDU-HngklcdmrPxm5DZApv3kArYXB_78c3ZfX8SNUfimzIejoeIjIvix0s-PFW0A/w400-h125/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-05-13%20234129.png" width="400" /></a></div><p style="text-align: left;">自分の場合、固定回線代わりにパソコンで使って、一日 6~8GBくらい、たくさん使ったなーという日で 10GBをちょっと超える感じの通信量なので、速度制限は時々しかかかりません。オンラインストレージの同期で24時間通信しっぱなしにすると、30GBちょっとダウンロードできました。いっぱいいっぱい使ってこのくらい通信できます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyfAf9r4piXaLg53YEi6zFTHo1wAfxZ_imWUP3tBN3qSJzNxHBC-knmv_ldWb7i1C_MTx6xU9zmciekOLKfIf8UDccQFSPNJw-N2o74cu5CjZle0sdGRZxZIT1-dBxBYOwYxVPwrm4rr5nkKhXe33LfStbGFn4ijAK1kOTIFqZrwLtdBB6YC8GRQMzsg/s440/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-05-14%20162715.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="440" data-original-width="400" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyfAf9r4piXaLg53YEi6zFTHo1wAfxZ_imWUP3tBN3qSJzNxHBC-knmv_ldWb7i1C_MTx6xU9zmciekOLKfIf8UDccQFSPNJw-N2o74cu5CjZle0sdGRZxZIT1-dBxBYOwYxVPwrm4rr5nkKhXe33LfStbGFn4ijAK1kOTIFqZrwLtdBB6YC8GRQMzsg/w364-h400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-05-14%20162715.png" width="364" /></a></div><p style="text-align: left;">パソコンを新しくしたので、楽天モバイルの回線でオンラインストレージの全同期をおこないました。一ヶ月間で 900GBも通信しましたが、極端に多い通信量にもかかわらず追加のペナルティもなく普通に使えました。</p><p style="text-align: left;">普段は、こんなに使うことはなくて、月 200~300GBくらいの通信量です。</p><div><h3 style="text-align: left;">WiMAXと楽天モバイルの比較</h3><p>WiMAXだと、3日間で 10GB使用すると、18時~3時くらいの間 1Mbpsに速度が制限されます。1Mbpsだとニコニコ動画をスムーズに見ることができない程度に遅いですが、YoutubeならSD解像度にすればストレスなく動画を見ることができます。</p><p>常に速度制限がかかるような使い方をしていたのですが、それでも早朝から夕方までは速度制限無しで利用できたので、WiMAXと楽天モバイルそれぞれ良いところがあって、どちらが良いかは決めづらいです。(自分が解約しああと WiMAXの速度制限が緩和されたようです。緩和は WiMAX+5G だけかも。)</p><h3 style="text-align: left;">楽天エリア外での制限</h3><p>楽天エリア外でも、auの回線(パートナー回線)で通信できるのですが、パートナー回線の場合、一ヶ月 5GB以上使うと 1Mbpsの速度制限がかかるので、申込み前にサービスエリアの確認をしておきます。</p><p><br /></p><h2 style="text-align: left;">Rakuten WiFi Pocket 2B</h2><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Z3unaajldDB50-8_JpjaLFkNNjUSrksbz8XRybIYOE-UuTl3_CJbnAuWjRPfVhfIgSO2SW8POeLScERPniEqQPzQhip8wiAPNJebnIdBXpNjj9Wio5tknk18A453ZcTw6SSIHyHZD8Q--esRyPoBlQuFBSNoiuKsb9Esew8_B1a2hMse5SnqmMpshw/s2000/aDSC_0003.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1500" data-original-width="2000" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Z3unaajldDB50-8_JpjaLFkNNjUSrksbz8XRybIYOE-UuTl3_CJbnAuWjRPfVhfIgSO2SW8POeLScERPniEqQPzQhip8wiAPNJebnIdBXpNjj9Wio5tknk18A453ZcTw6SSIHyHZD8Q--esRyPoBlQuFBSNoiuKsb9Esew8_B1a2hMse5SnqmMpshw/w400-h300/aDSC_0003.jpg" width="400" /></a></div><h3 style="text-align: left;">USBテザリング</h3><p>Rakuten WiFi Pocket 2B の取扱説明書にはUSBテザリングで利用できるとも利用できないとも書いてなかったのですが、試しにパソコンへUSBケーブルで接続すると、USBテザリングで使えました。</p><p>USBテザリングに対応したルーターを使って有線LANで使うことができるので、自宅で固定回線代わりに使うのに便利です。有線LANで使えるLTEルーターを買わなきゃならないかな?と思っていたのですが、買わずに済んで助かりました。</p><p><br /></p><h2 style="text-align: left;">楽天モバイルの 0円枠</h2><p>余談です。</p><p>楽天モバイルで 2022年6月までは 1GB未満なら 0円で利用できるんだけど、7月1日からの新料金プランで 0円枠が廃止されます。0円で使っているひとが結構いて負担だったんだろうなぁ。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNnHIPRJPKmjN62Bg7LqokG4FRg5PA8TpXi81rVp65FtvsbuYZTC-ULIAUjHi0WDtHHu8X9al0eUdtAPXDnHxxuaY5jqNkLx_g3I9vG3AtgDAvOyTl0IQs9-Sc4VWxT61QxZcwEWlZAOB9nTnvNYEnJeogf723Cy6mueJwrK5n6IiUffIR8gFljWzYWQ/s785/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-05-13%20233729.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="785" data-original-width="509" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNnHIPRJPKmjN62Bg7LqokG4FRg5PA8TpXi81rVp65FtvsbuYZTC-ULIAUjHi0WDtHHu8X9al0eUdtAPXDnHxxuaY5jqNkLx_g3I9vG3AtgDAvOyTl0IQs9-Sc4VWxT61QxZcwEWlZAOB9nTnvNYEnJeogf723Cy6mueJwrK5n6IiUffIR8gFljWzYWQ/w259-h400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202022-05-13%20233729.png" width="259" /></a></div>自分も通勤しなくなってからは、スマホを外で使うのは時々ナビに使ったり買い物メモに使うくらいだし、家では無線LANで通信するしで、スマホで使っている楽天モバイルでは、一ヶ月 1GB未満の 0円で利用しています。<p></p><p>0円枠がなくなって、3GB 980円になっても十分安いなと思います。</p></div>佐藤恭一http://www.blogger.com/profile/00294978023277101807noreply@blogger.com