در این مطلب، ویدئو منطق 003-Python برای کنترل و خواندن داده ها از میکروکنترلر برای STM32 یا Arduino MCU با استفاده از UART با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:30:08
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,240 –> 00:00:02,560
در آموزش قبلی
2
00:00:02,560 –> 00:00:03,760
ما به دنبال
3
00:00:03,760 –> 00:00:05,440
نحوه خواندن داده ها از
4
00:00:05,440 –> 00:00:07,600
میکروکنترلر با استفاده از پایتون و
5
00:00:07,600 –> 00:00:09,920
نحوه داشتن یک رابط گرافیکی بودیم، اما
6
00:00:09,920 –> 00:00:11,120
به طور کلی
7
00:00:11,120 –> 00:00:13,599
خواندن داده ها به این روش فقط
8
00:00:13,599 –> 00:00:15,679
بدون کنترل روی میکروکنترلر بود و
9
00:00:15,679 –> 00:00:16,160
10
00:00:16,160 –> 00:00:17,440
گاهی اوقات می تواند یک مشکل باشد. کمی
11
00:00:17,440 –> 00:00:19,920
خسته کننده است، بنابراین این بار
12
00:00:19,920 –> 00:00:20,800
از پایتون استفاده می کنیم
13
00:00:20,800 –> 00:00:24,080
تا um سیستماتیک یا کنترل بیشتری
14
00:00:24,080 –> 00:00:25,920
بر روی میکروکنترلر داشته باشیم، بنابراین اول از
15
00:00:25,920 –> 00:00:27,279
همه ما این
16
00:00:27,279 –> 00:00:28,880
گزینه را خواهیم داشت که فقط زمانی که اتصال را قرار دهیم ظاهر می شود
17
00:00:28,880 –> 00:00:31,679
و می توانید ببینید که ما می توانیم آن
18
00:00:31,679 –> 00:00:34,559
را تغییر دهیم. هر پین را پین کنید اما
19
00:00:34,559 –> 00:00:35,360
این
20
00:00:35,360 –> 00:00:37,920
فقط همان پین روی برد است و
21
00:00:37,920 –> 00:00:39,120
همچنین
22
00:00:39,120 –> 00:00:41,200
هنگام خواندن یا نه کنترل را انجام می دهد بنابراین در اینجا می توانید ببینید
23
00:00:41,200 –> 00:00:42,239
که من
24
00:00:42,239 –> 00:00:45,039
پتانسیومتر را حرکت می دهم اما هیچ
25
00:00:45,039 –> 00:00:45,760
اتفاقی نیفتاد
26
00:00:45,760 –> 00:00:48,239
و بعد از اینکه شروع به خواندن کردیم
27
00:00:48,239 –> 00:00:50,399
میکروکنترلر شروع به خواندن می کند
28
00:00:50,399 –> 00:00:52,879
و سپس می توانم توقف کنم، اما اگر
29
00:00:52,879 –> 00:00:54,879
دوست دارید نحوه استفاده از رابط کاربری
30
00:00:54,879 –> 00:00:57,680
و کنترل استفاده از پایتون و
31
00:00:57,680 –> 00:00:58,320
کنترل
32
00:00:58,320 –> 00:01:00,559
کنترلر من را یاد بگیرید، این آموزش مناسب
33
00:01:00,559 –> 00:01:02,000
برای شما عزیزان است،
34
00:01:02,000 –> 00:01:04,080
این یک چیز عجیب است. آموزش و
35
00:01:04,080 –> 00:01:05,680
برعکس ویدیوهای قبلی،
36
00:01:05,680 –> 00:01:08,880
این آموزش بر
37
00:01:08,880 –> 00:01:10,479
سازماندهی و ساختار
38
00:01:10,479 –> 00:01:11,520
ارتباط
39
00:01:11,520 –> 00:01:14,159
بین کامپیوتر و میکروکنترلر تمرکز دارد،
40
00:01:14,159 –> 00:01:15,600
بنابراین در دفعه قبل کاری که ما
41
00:01:15,600 –> 00:01:16,560
انجام دادیم فقط
42
00:01:16,560 –> 00:01:18,640
خواندن داده ها به طور مستقیم از
43
00:01:18,640 –> 00:01:20,479
میکروکنترلر به کامپیوتر
44
00:01:20,479 –> 00:01:22,720
بدون کنترل واقعی است. هیچ چیز دیگری نیست،
45
00:01:22,720 –> 00:01:24,479
بنابراین این بار از دو مثال استفاده
46
00:01:24,479 –> 00:01:25,280
47
00:01:25,280 –> 00:01:27,920
می کنیم که وضعیت پین را کنترل می کنید و همچنین
48
00:01:27,920 –> 00:01:30,400
یک داده را از adc می خوانید
49
00:01:30,400 –> 00:01:32,240
و طبق معمول کد در github موجود است،
50
00:01:32,240 –> 00:01:34,159
بنابراین فقط ویدیو را دنبال کنید و
51
00:01:34,159 –> 00:01:35,920
واقعاً نیازی به تایپ ندارید.
52
00:01:35,920 –> 00:01:37,680
همچنین زبانی که قرار است
53
00:01:37,680 –> 00:01:40,240
از آن استفاده کنیم c و python است، بنابراین
54
00:01:40,240 –> 00:01:41,280
از هر دو استفاده
55
00:01:41,280 –> 00:01:43,040
میکنیم حتی سطح کمی
56
00:01:43,040 –> 00:01:44,320
سطح متوسط است. او
57
00:01:44,320 –> 00:01:46,479
، جزئیات را بررسی میکنم و سع
58
00:01:46,479 –> 00:01:48,240
میکنم تا حد امکان کد را توضیح ده
59
00:01:48,240 –> 00:01:49,600
60
00:01:49,600 –> 00:01:51,520
. حتی اگر کمی کد پیشرفته را احساس کنید
61
00:01:51,520 –> 00:01:53,520
62
00:01:53,520 –> 00:01:55,960
خوب نیست، بنابراین برای سختافزار طبق معمول
63
00:01:55,960 –> 00:01:57,360
stm32f1
64
00:01:57,360 –> 00:02:00,240
یا bluepill مستعار، ما از ftdi برای
65
00:02:00,240 –> 00:02:01,600
66
00:02:01,600 –> 00:02:04,159
بارگیری شما یا um se استفاده میکنیم.
67
00:02:04,159 –> 00:02:05,840
ارتباط ریالی با کامپیوتر
68
00:02:05,840 –> 00:02:08,479
و در نهایت یک مقاومت متغیر یا یک
69
00:02:08,479 –> 00:02:09,598
70
00:02:09,598 –> 00:02:11,520
پتانسیومتر مثال بزنید و ببینید که چگونه
71
00:02:11,520 –> 00:02:13,680
تغییر ولتاژ
72
00:02:13,680 –> 00:02:15,680
خوب است بنابراین برای آموزش
73
00:02:15,680 –> 00:02:17,120
در ابتدا یک بررسی سریع داریم
74
00:02:17,120 –> 00:02:19,520
تا برای افرادی که فقط با دیدن
75
00:02:19,520 –> 00:02:20,400
این ویدیو
76
00:02:20,400 –> 00:02:21,920
حداقل به پس زمینه
77
00:02:21,920 –> 00:02:23,440
کدهایی را که در آموزش های قبلی ایجاد کرده ایم
78
00:02:23,440 –> 00:02:24,239
79
00:02:24,239 –> 00:02:25,760
بدانید و به سرعت متوجه
80
00:02:25,760 –> 00:02:27,920
خواهید شد که یک بررسی سریع خواهد بود، سپس ما می خواهیم
81
00:02:27,920 –> 00:02:29,920
کنترل را برای پین کردن کنترل تنظیم کنیم
82
00:02:29,920 –> 00:02:31,680
و بعد از آن در سطح پایتون
83
00:02:31,680 –> 00:02:33,440
یا رایانه شخصی خواهد بود.
84
00:02:33,440 –> 00:02:35,680
ما قرار است در
85
00:02:35,680 –> 00:02:37,200
سمت دیگر در mcu یا
86
00:02:37,200 –> 00:02:39,360
میکروکنترلر راهاندازی کنیم، بنابراین از کد c استفاده خواهیم کرد
87
00:02:39,360 –> 00:02:40,080
88
00:02:40,080 –> 00:02:42,160
و امیدوارم این را با جزئیات توضیح دهم،
89
00:02:42,160 –> 00:02:43,120
90
00:02:43,120 –> 00:02:45,920
سپس چهار و پنج نحوه
91
00:02:45,920 –> 00:02:47,280
تنظیم خواندن adc
92
00:02:47,280 –> 00:02:50,640
از سایت پایتون خواهد بود. و سمت mcu
93
00:02:50,640 –> 00:02:53,280
خوب است، بنابراین قبل از اینکه به کد بپردازیم و
94
00:02:53,280 –> 00:02:55,040
آن را توضیح دهیم، اجازه دهید یک
95
00:02:55,040 –> 00:02:56,800
بررسی سریع مدار داشته باشیم، بنابراین اول از همه
96
00:02:56,800 –> 00:02:58,640
ما میکروکنترلر را در اینجا خواهیم داشت این
97
00:02:58,640 –> 00:03:00,800
قرص آبی sdm h2 f1 است
98
00:03:00,800 –> 00:03:02,000
و به po وصل می شود.
99
00:03:02,000 –> 00:03:04,239
تنسیومتر بنابراین ما
100
00:03:04,239 –> 00:03:06,879
با پتانسیومتر بازی خواهیم کرد و همانطور که با پتانسیومتر بازی می کنیم
101
00:03:06,879 –> 00:03:07,920
،
102
00:03:07,920 –> 00:03:09,040
میکروکنترلر
103
00:03:09,040 –> 00:03:10,720
داده ها را از طریق یک
104
00:03:10,720 –> 00:03:12,640
سریال یا uart ftdi
105
00:03:12,640 –> 00:03:14,959
به کامپیوتر می فرستد،
106
00:03:14,959 –> 00:03:16,400
اما اگر یک آردوینو
107
00:03:16,400 –> 00:03:18,319
یا چیزی دارید که مدار دارید فقط یک یادداشت برای همه است.
108
00:03:18,319 –> 00:03:20,319
ftdi قبلاً گنجانده شده است، شما نیازی به
109
00:03:20,319 –> 00:03:22,480
اضافه کردن این عنصر ندارید،
110
00:03:22,480 –> 00:03:25,280
بنابراین از منظر کامپیوتر جایی
111
00:03:25,280 –> 00:03:27,200
که میخواهیم از پایتون استفاده کنیم، رشتههایی
112
00:03:27,200 –> 00:03:29,519
برای کنترل
113
00:03:29,519 –> 00:03:31,200
آن خواهیم داشت و در رشتههای پایتون
114
00:03:31,200 –> 00:03:33,599
که نوعی محاسبات موازی
115
00:03:33,599 –> 00:03:34,239
است، صرفاً یک محاسبات موازی نیست.
116
00:03:34,239 –> 00:03:36,159
یک موازی است اما یک نوع
117
00:03:36,159 –> 00:03:37,440
محاسبات موازی است
118
00:03:37,440 –> 00:03:39,680
زیرا ابتدا ما رشته اصلی خود را خواهیم داشت
119
00:03:39,680 –> 00:03:41,519
و این فقط با
120
00:03:41,519 –> 00:03:43,680
مدیریت رابط کاربری ما است و بعداً آن را خواهیم دید.
121
00:03:43,680 –> 00:03:45,280
نگران نباشید بنابراین
122
00:03:45,280 –> 00:03:47,040
وقتی نرمال خود را اجرا می کنید این موضوع
123
00:03:47,040 –> 00:03:48,879
عادی است. کد پایتون
124
00:03:48,879 –> 00:03:51,280
و این فقط
125
00:03:51,280 –> 00:03:53,120
پایین ظاهر رابط کاربری را کنترل می کند،
126
00:03:53,120 –> 00:03:55,760
اما بعد از آن برای خواندن داده ها
127
00:03:55,760 –> 00:03:57,920
از uat از یک رشته دوم
128
00:03:57,920 –> 00:03:58,560
129
00:03:58,560 –> 00:04:01,120
و چرا از یک رشته دوم استفاده می کنیم زیرا اگر
130
00:04:01,120 –> 00:04:03,760
فقط Readi را رد کنیم این موضوع بر
131
00:04:03,760 –> 00:04:05,680
روی تاپیک اصلی غلبه میکند
132
00:04:05,680 –> 00:04:08,480
و شما یک رابط گرافیکی ثابت خواهید داشت و نمیتوانید
133
00:04:08,480 –> 00:04:09,439
از چیزی استفاده کنید
134
00:04:09,439 –> 00:04:12,159
و بیشتر آن به علاوه در بالای آن
135
00:04:12,159 –> 00:04:13,200
رشته سوم
136
00:04:13,200 –> 00:04:15,439
که در آن میخواهیم رابط کاربری را بهروزرسانی کنیم،
137
00:04:15,439 –> 00:04:16,478
زیرا وقتی
138
00:04:16,478 –> 00:04:18,079
این کار را انجام دادیم در آموزش قبلی
139
00:04:18,079 –> 00:04:19,358
و شما می توانید نگاهی بیندازید، این واقعاً
140
00:04:19,358 –> 00:04:20,160
مفصل است
141
00:04:20,160 –> 00:04:21,918
وقتی می خواهیم پتانسیومتر را جابجا کنیم
142
00:04:21,918 –> 00:04:23,840
، کمی
143
00:04:23,840 –> 00:04:25,280
انیمیشن در رابط کاربری وجود خواهد داشت
144
00:04:25,280 –> 00:04:27,199
و این سومین موضوعی است که این موضوع
145
00:04:27,199 –> 00:04:28,560
را مدیریت می کند،
146
00:04:28,560 –> 00:04:30,639
بنابراین با دانستن همه اینها و درک
147
00:04:30,639 –> 00:04:31,600
اینکه ما هستیم در
148
00:04:31,600 –> 00:04:34,560
ادامه همه اینها را مرور کردیم، بیایید برویم و
149
00:04:34,560 –> 00:04:35,440
150
00:04:35,440 –> 00:04:37,840
به کدهایی که قبلاً نوشته ایم نگاهی بیندازیم،
151
00:04:37,840 –> 00:04:40,000
بنابراین در اینجا در کنار هر دو برنامه ای که
152
00:04:40,000 –> 00:04:41,440
در آموزش قبلی ایجاد کرده ایم،
153
00:04:41,440 –> 00:04:42,000
154
00:04:42,000 –> 00:04:44,720
بنابراین اولین موردی که در اینجا به رنگ سفید
155
00:04:44,720 –> 00:04:45,199
است،
156
00:04:45,199 –> 00:04:47,120
برنامه ای است که ما برای بارگذاری در
157
00:04:47,120 –> 00:04:49,199
میکروکنترلر استفاده کنید و با c نوشته شده است،
158
00:04:49,199 –> 00:04:50,960
بنابراین ما فقط به دو متغیر نیاز داریم،
159
00:04:50,960 –> 00:04:52,479
بنابراین قبل از آن
160
00:04:52,479 –> 00:04:54,160
سه کتابخانه ای که در آموزش قبلی ایجاد کرده ایم،
161
00:04:54,160 –> 00:04:55,919
بنابراین می توانید به آنها نگاهی بیندازید،
162
00:04:55,919 –> 00:04:57,759
من یک لینک
163
00:04:57,759 –> 00:04:59,919
و همچنین اینها را اضافه کردم. دو متغیر
164
00:04:59,919 –> 00:05:02,479
اولی آرایه ای از char یا چیزی است که ما آن را رشته می نامیم
165
00:05:02,479 –> 00:05:03,199
166
00:05:03,199 –> 00:05:05,280
و این این است که شما قرار است
167
00:05:05,280 –> 00:05:06,800
از آن برای تبدیل به یک
168
00:05:06,800 –> 00:05:10,080
عدد صحیح استفاده کنید و دومی یک
169
00:05:10,080 –> 00:05:12,960
مقدار صحیح است که
170
00:05:12,960 –> 00:05:15,199
ابتدا از adc می خوانیم. ما می خواهیم
171
00:05:15,199 –> 00:05:15,919
172
00:05:15,919 –> 00:05:19,039
مقدار adc را بخوانیم و سپس آن را به سرعت به آن تبدیل کنیم.
173
00:05:19,039 –> 00:05:19,840
174
00:05:19,840 –> 00:05:22,960
init systick همانی است
175
00:05:22,960 –> 00:05:25,680
که تابع تاخیر را آغاز می
176
00:05:25,680 –> 00:05:27,360
کند و این همان چیزی است که ما به آن
177
00:05:27,360 –> 00:05:30,240
در داخل توابع دیگر مانند uart و adc نیاز داریم
178
00:05:30,240 –> 00:05:32,080
، بنابراین
179
00:05:32,080 –> 00:05:35,199
تابع delay ms و
180
00:05:35,199 –> 00:05:37,120
تاخیر کمی ایجاد می کند
181
00:05:37,120 –> 00:05:39,680
و پس از آن ما uart را در آن داریم
182
00:05:39,680 –> 00:05:41,280
و این
183
00:05:41,280 –> 00:05:44,000
تابع شروع uart است، بنابراین
184
00:05:44,000 –> 00:05:46,560
شما را در شماره دو و نرخ باود
185
00:05:46,560 –> 00:05:50,320
115 200 راه اندازی می کند و پس از آن می خواهیم adc را
186
00:05:50,320 –> 00:05:52,240
راه اندازی کنیم. یا
187
00:05:52,240 –> 00:05:54,880
میخواهیم از adc one و
188
00:05:54,880 –> 00:05:55,440
189
00:05:55,440 –> 00:05:58,720
پین پورت a و پین شماره صفر
190
00:05:58,720 –> 00:06:01,680
خیلی سریع استفاده کنیم، سپس هر بار میخواهیم بررسی کنیم که آیا
191
00:06:01,680 –> 00:06:02,319
192
00:06:02,319 –> 00:06:04,160
این حلقه while
193
00:06:04,160 –> 00:06:05,520
برنامه اصلی ما است
194
00:06:05,520 –> 00:06:07,600
و میخواهیم بررسی کنیم که آیا ما ریدینگ داشته باشید
195
00:06:07,600 –> 00:06:09,120
یا ریدینگ بوده است
196
00:06:09,120 –> 00:06:09,919
197
00:06:09,919 –> 00:06:12,000
بنابراین در این برنامه،
198
00:06:12,000 –> 00:06:13,840
میکروکنترلر
199
00:06:13,840 –> 00:06:16,560
همیشه دادهها را میخواند،
200
00:06:16,560 –> 00:06:17,759
اما نوعی
201
00:06:17,759 –> 00:06:20,080
مانند در لایو یا در
202
00:06:20,080 –> 00:06:21,919
زمان خود میکروکنترلر وجود
203
00:06:21,919 –> 00:06:24,240
دارد که خواندن adc زمان زیادی میبرد،
204
00:06:24,240 –> 00:06:25,039
بنابراین
205
00:06:25,039 –> 00:06:26,639
چند میکروثانیه اما برای
206
00:06:26,639 –> 00:06:28,960
میکروکنترلر ممکن است ساعتها مانند
207
00:06:28,960 –> 00:06:30,720
داخل آن باشد، بنابراین اگر آن را به
208
00:06:30,720 –> 00:06:31,840
روشی نسبی
209
00:06:31,840 –> 00:06:34,479
بگیرید، وقت آن است که وارد حلقه نشوید
210
00:06:34,479 –> 00:06:35,600
و منتظر بمانید،
211
00:06:35,600 –> 00:06:37,759
بنابراین فقط اجرا میشود و هر بار
212
00:06:37,759 –> 00:06:39,520
که دادههای آماده
213
00:06:39,520 –> 00:06:42,000
دارم اول از همه باید
214
00:06:42,000 –> 00:06:42,560
215
00:06:42,560 –> 00:06:44,880
داده ها را بخوانم که داده ها را دریافت می
216
00:06:44,880 –> 00:06:46,800
کند یا داده های adc را
217
00:06:46,800 –> 00:06:49,919
پس از آن باید این داده ها را
218
00:06:49,919 –> 00:06:52,319
به یک رشته تبدیل کنیم بنابراین کاری که می خواهیم انجام دهیم
219
00:06:52,319 –> 00:06:54,720
این است که این مقدار صحیح را
220
00:06:54,720 –> 00:06:57,360
در داخل رشته قرار دهیم. رشته عددی
221
00:06:57,360 –> 00:06:58,400
222
00:06:58,400 –> 00:07:01,520
پس از آن ما می خواهیم از uat
223
00:07:01,520 –> 00:07:04,800
با استفاده از ur2 استفاده کنیم و رشته را
224
00:07:04,800 –> 00:07:06,639
خالی کنیم زیرا باید
225
00:07:06,639 –> 00:07:07,840
آن را خالی کنیم در
226
00:07:07,840 –> 00:07:10,639
غیر این صورت روی آن انباشته می شود و
227
00:07:10,639 –> 00:07:11,280
سپس
228
00:07:11,280 –> 00:07:13,840
خط انتهایی را که تمام
229
00:07:13,840 –> 00:07:14,479
خط جدید
230
00:07:14,479 –> 00:07:16,800
است ارسال می کنیم. سیگنال برای py thon برای گفتن
231
00:07:16,800 –> 00:07:18,639
خوب ما داده ها را ارسال کرده ایم، بنابراین می توانید
232
00:07:18,639 –> 00:07:19,759
نقش خود را شروع کنید
233
00:07:19,759 –> 00:07:22,080
که یک برنامه بسیار ساده است، بنابراین
234
00:07:22,080 –> 00:07:23,599
مرحله اول مقداردهی اولیه
235
00:07:23,599 –> 00:07:26,240
مرحله دوم خواندن داده ها زمانی که
236
00:07:26,240 –> 00:07:26,800
آماده شد
237
00:07:26,800 –> 00:07:30,000
و آن را به اینجا بفرستید این
238
00:07:30,000 –> 00:07:32,639
برنامه پایتون ما است و فقط برای اینکه کارها
239
00:07:32,639 –> 00:07:33,360
ساده تر شود
240
00:07:33,360 –> 00:07:36,720
بیایید کد را اجرا کنید تا
241
00:07:36,720 –> 00:07:38,960
زمانی که پایتون را اجرا
242
00:07:38,960 –> 00:07:40,880
می کنید این رابط کاربری ساده است و ما سعی می کنیم به سرعت به آن نگاهی بیندازیم،
243
00:07:40,880 –> 00:07:42,080
بنابراین
244
00:07:42,080 –> 00:07:44,800
این پایتون است و ما به بسیاری از توابع تقسیم می کنیم
245
00:07:44,800 –> 00:07:45,520
246
00:07:45,520 –> 00:07:47,840
بنابراین اولین کنترل
247
00:07:47,840 –> 00:07:49,120
کننده سیگنال این
248
00:07:49,120 –> 00:07:52,000
یکی فقط شما می توانید آنها را فراموش کنید،
249
00:07:52,000 –> 00:07:53,440
این واقعاً برای مدیریت
250
00:07:53,440 –> 00:07:56,879
رشته ای است که ما
251
00:07:56,879 –> 00:07:58,560
داریم، زیرا وقتی threading را
252
00:07:58,560 –> 00:08:01,039
در پایتون اجرا می کنید، می تواند
253
00:08:01,039 –> 00:08:03,120
مشکلاتی ایجاد کند یا بهتر است برای مدیریت این سیگنال قرار دهید
254
00:08:03,120 –> 00:08:05,120
255
00:08:05,120 –> 00:08:07,840
و سپس گرافیک یک کلاس یا یک شی است
256
00:08:07,840 –> 00:08:10,000
و که کلاس
257
00:08:10,000 –> 00:08:11,919
این انیمیشن را در اینجا مدیریت خواهد کرد که بعداً خواهیم دید
258
00:08:11,919 –> 00:08:13,840
259
00:08:13,840 –> 00:08:17,440
که منوی اتصال در آن وجود دارد، فقط
260
00:08:17,440 –> 00:08:20,720
این تابع فقط برای مقداردهی اولیه این
261
00:08:20,720 –> 00:08:23,199
منو است، بسیار ساده است که در آن
262
00:08:23,199 –> 00:08:23,919
263
00:08:23,919 –> 00:08:25,840
نام هر عنصر را قرار دهید. که شما به آن
264
00:08:25,840 –> 00:08:28,720
نیاز دارید و این یک مقداردهی اولیه است،
265
00:08:28,720 –> 00:08:31,680
پس این انتخاب نرخ باود فقط
266
00:08:31,680 –> 00:08:33,679
تابعی است که لیستی از نرخ باود ایجاد می کند،
267
00:08:33,679 –> 00:08:35,679
من قرار می دهم عملکردی ندارد
268
00:08:35,679 –> 00:08:37,039
، فقط می توان آن را
269
00:08:37,039 –> 00:08:39,279
با چیزی در آن قرار داد، اما فقط من قرار دادم
270
00:08:39,279 –> 00:08:41,919
در اینجا برای سهولت درک
271
00:08:41,919 –> 00:08:44,159
بعد از آن به روز رسانی com یک
272
00:08:44,159 –> 00:08:45,760
عملکرد بسیار جالب است زیرا این تابعی
273
00:08:45,760 –> 00:08:46,560
274
00:08:46,560 –> 00:08:49,440
است که تمام کام های متصل
275
00:08:49,440 –> 00:08:50,320
به رایانه را جستجو می کند
276
00:08:50,320 –> 00:08:53,040
و این یکی را پیدا می کند و اجازه دهید
277
00:08:53,040 –> 00:08:54,880
تا لحظه ای
278
00:08:54,880 –> 00:08:57,519
بعد آن را به این صورت نگه داریم. سریال خواندن را فعلاً
279
00:08:57,519 –> 00:08:59,120
این عملکرد را فراموش خواهیم کرد
280
00:08:59,120 –> 00:09:00,720
اما این تابعی است
281
00:09:00,720 –> 00:09:02,480
که داده ها را از
282
00:09:02,480 –> 00:09:03,839
میکروکنترلر
283
00:09:03,839 –> 00:09:06,959
پس از آن می خواند بنابراین ما اتصال را داریم
284
00:09:06,959 –> 00:09:09,920
و برای اتصال این
285
00:09:09,920 –> 00:09:10,720
تابع است
286
00:09:10,720 –> 00:09:13,440
که می بینید اینجا دکمه اتصال
287
00:09:13,440 –> 00:09:14,399
کار نمی کند
288
00:09:14,399 –> 00:09:17,680
و چون um غیرفعال است، بنابراین
289
00:09:17,680 –> 00:09:19,040
اگر این مورد
290
00:09:19,040 –> 00:09:21,839
را انتخاب کنم و نرخ باود را انتخاب کنم، می توانم
291
00:09:21,839 –> 00:09:23,360
روی اتصال کلیک کنم
292
00:09:23,360 –> 00:09:25,920
و این یک چیز بسیار مهم است
293
00:09:25,920 –> 00:09:27,600
بعد از آن برای
294
00:09:27,600 –> 00:09:30,240
اتصال زمانی است که این دکمه را فشار می دهم و وصل می
295
00:09:30,240 –> 00:09:30,959
شوم
296
00:09:30,959 –> 00:09:34,640
تابع tion سریالی را صدا میکند که در
297
00:09:34,640 –> 00:09:36,160
آن استریویی است
298
00:09:36,160 –> 00:09:39,680
که سریال میخواند وقتی این یکی را فشار میدهم،
299
00:09:39,680 –> 00:09:41,680
برنامه پایتون برنامه من شروع به
300
00:09:41,680 –> 00:09:43,279
خواندن میکند، بنابراین
301
00:09:43,279 –> 00:09:46,399
این کد است، بنابراین اجازه دهید ابتدا بله و ما آن را
302
00:09:46,399 –> 00:09:46,959
داشته باشیم
303
00:09:46,959 –> 00:09:49,440
، این میکروکنترلر ما است و
304
00:09:49,440 –> 00:09:51,360
این پتانسیومتر
305
00:09:51,360 –> 00:09:54,959
بیایید کد را بارگذاری کنیم، پس بیایید فقط
306
00:09:54,959 –> 00:09:59,200
ساخت و بارگذاری را ذخیره کنیم و بعد از آن،
307
00:09:59,200 –> 00:10:02,640
بیایید وصل شویم و ببینیم چه اتفاقی میافتد،
308
00:10:02,640 –> 00:10:06,079
بنابراین میتوانید ببینید که در اینجا مقداری از
309
00:10:06,079 –> 00:10:07,120
مقدار
310
00:10:07,120 –> 00:10:10,000
ظاهر میشود و مقداری موقعیت و وقتی
311
00:10:10,000 –> 00:10:10,480
شروع به
312
00:10:10,480 –> 00:10:12,720
حرکت میکنم، میتوانید ببینید که مطابق با آن حرکت میکند.
313
00:10:12,720 –> 00:10:13,920
314
00:10:13,920 –> 00:10:16,480
این برنامه اصلی ماست پس امیدوارم
315
00:10:16,480 –> 00:10:18,560
متوجه شده باشید پس
316
00:10:18,560 –> 00:10:21,279
این کدی است که در آموزش های قبلی ایجاد کردیم که در
317
00:10:21,279 –> 00:10:22,160
318
00:10:22,160 –> 00:10:24,720
آن می توانید یک انیمیشن ساده
319
00:10:24,720 –> 00:10:28,000
بر اساس مقدار پتانسیومتر داشته باشید
320
00:10:28,000 –> 00:10:29,680
بنابراین این قسمتی است که ما شروع به
321
00:10:29,680 –> 00:10:31,200
کنترل پین می کنیم. سطح
322
00:10:31,200 –> 00:10:33,920
بین کم و زیاد است و بنابراین ما می
323
00:10:33,920 –> 00:10:36,079
خواهیم داده ها را از کامپیوتر
324
00:10:36,079 –> 00:10:38,399
با استفاده از نخ اصلی از طریق sdi به mcu
325
00:10:38,399 –> 00:10:39,760
بفرستیم
326
00:10:39,760 –> 00:10:42,399
و در این قسمت در واقع
327
00:10:42,399 –> 00:10:43,440
پایتون
328
00:10:43,440 –> 00:10:45,839
یک پیام تولید کرده و ارسال می کند و
329
00:10:45,839 –> 00:10:48,320
ما قصد داریم این معیارها را ساختار
330
00:10:48,320 –> 00:10:51,440
دهیم تا بتوانیم این کار را به طور کامل انجام دهیم تا
331
00:10:51,440 –> 00:10:53,680
ساختار پیام مانند زیر باشد،
332
00:10:53,680 –> 00:10:56,320
بنابراین اول از همه می خواهیم یک
333
00:10:56,320 –> 00:10:56,720
صفر
334
00:10:56,720 –> 00:10:59,200
یا یک ارسال کنیم تا بگوییم
335
00:10:59,200 –> 00:11:00,000
سطح پین را
336
00:11:00,000 –> 00:11:04,000
به پایین تغییر می دهیم. یا high سپس نام پورت را ببینید
337
00:11:04,000 –> 00:11:06,880
و بعد از آن شماره پین
338
00:11:06,880 –> 00:11:07,600
ت را در
339
00:11:07,600 –> 00:11:10,079
هایت میخواهیم تر
340
00:11:10,079 –> 00:11:12,560
یناتور را که فیلم نیست و ا
341
00:11:12,560 –> 00:11:14,880
لش n یا خط جدید است به
342
00:11:14,880 –> 00:11:16,480
یکروکنترلر بر
343
00:11:16,480 –> 00:11:18,959
ساس آن اضافه کنیم. مق
344
00:11:18,959 –> 00:11:20,800
منطق در میکروکنترلر،
345
00:11:20,800 –> 00:11:24,880
بنابراین ما میتوانیم ببینیم این کد چگونه کار میکند،
346
00:11:24,880 –> 00:11:27,040
بنابراین بیایید نگاهی به نحوه تغییر این
347
00:11:27,040 –> 00:11:29,040
عملکرد بیندازیم،
348
00:11:29,040 –> 00:11:32,079
بنابراین در اینجا در سمت راست ما
349
00:11:32,079 –> 00:11:34,800
کد قدیمی و سمت چپ یک کد جدید است
350
00:11:34,800 –> 00:11:36,720
و اجازه دهید من شما را به تغییراتی که
351
00:11:36,720 –> 00:11:38,320
برای کد اعمال کردیم هدایت
352
00:11:38,320 –> 00:11:40,880
کنید تا این به روز رسانی را شروع کنید.
353
00:11:40,880 –> 00:11:42,320
ابتدا فقط آن را
354
00:11:42,320 –> 00:11:45,760
به شکل هندسه از 500 در 500 در اینجا به
355
00:11:45,760 –> 00:11:47,360
800 در 600 تغییر دهید
356
00:11:47,360 –> 00:11:49,360
زیرا به فضای کمی بیشتر نیاز
357
00:11:49,360 –> 00:11:51,600
داریم زیرا دکمه های بیشتری را بعد از آن اضافه می کنیم.
358
00:11:51,600 –> 00:11:54,480
اولین چیزی که کمی است
359
00:11:54,480 –> 00:11:55,360
360
00:11:55,360 –> 00:11:58,720
نکته مفیدتر این است
361
00:11:58,720 –> 00:12:01,839
که نمودار را حذف کنید بنابراین این شبکه برای
362
00:12:01,839 –> 00:12:04,240
نموداری که دارید یا
363
00:12:04,240 –> 00:12:05,519
بوم پویایی که ما استفاده
364
00:12:05,519 –> 00:12:07,519
می کنیم آن را واقعاً از حافظه حذف نمی کند
365
00:12:07,519 –> 00:12:08,959
اما آنها فقط
366
00:12:08,959 –> 00:12:11,279
آن را پنهان می کنند و خوبی این تابع این
367
00:12:11,279 –> 00:12:12,639
368
00:12:12,639 –> 00:12:15,920
است که این به خواندن
369
00:12:15,920 –> 00:12:18,800
ادامه می دهد و پارامترهای شبکه ای را
370
00:12:18,800 –> 00:12:19,200
که قبلاً آن را قرار داده
371
00:12:19,200 –> 00:12:22,240
بودیم حفظ می کند و بعد از آن، بنابراین
372
00:12:22,240 –> 00:12:24,880
اینجا قبلاً به توافق رسیده بودیم و این
373
00:12:24,880 –> 00:12:25,360
همه است
374
00:12:25,360 –> 00:12:28,079
و سپس می خواهیم اضافه کنیم و این همان
375
00:12:28,079 –> 00:12:28,639
چیزی است که
376
00:12:28,639 –> 00:12:30,800
کد قبلی ما در انتهای آن به پایان می رسد.
377
00:12:30,800 –> 00:12:32,880
کدی را که قرار است اضافه کنیم اجازه دهید
378
00:12:32,880 –> 00:12:33,200
379
00:12:33,200 –> 00:12:36,480
انتخابگر را در اینجا یک دکمه جدید ایجاد کنم که
380
00:12:36,480 –> 00:12:37,200
381
00:12:37,200 –> 00:12:40,000
پایین آن است و در داخل این دکمه که
382
00:12:40,000 –> 00:12:41,040
383
00:12:41,040 –> 00:12:43,600
در ابتدا پین آن بالا است و بعد از آن
384
00:12:43,600 –> 00:12:44,880
یک
385
00:12:44,880 –> 00:12:48,079
پین toggle فرمان را فراخوانی می کند و بعداً
386
00:12:48,079 –> 00:12:49,279
به دکمه ضامن نگاه می کنیم. پین کنید
387
00:12:49,279 –> 00:12:52,320
اما ما در اینجا یک پایین اضافه می کنیم و اجازه دهید
388
00:12:52,320 –> 00:12:52,639
من
389
00:12:52,639 –> 00:12:55,839
کد آن را اجرا کنم و نمودار را به شما نشان دهم،
390
00:12:55,839 –> 00:12:56,880
391
00:12:56,880 –> 00:13:01,120
بنابراین در حال حاضر چیزی نمی
392
00:13:01,200 –> 00:13:03,680
بینیم و کشف خواهیم کرد، اما می توانید ببینید که
393
00:13:03,680 –> 00:13:04,959
همه چیز در
394
00:13:04,959 –> 00:13:08,000
حالت پنهان در این نمودار پنهان است، خوب
395
00:13:08,000 –> 00:13:11,200
پس از آن اجازه بده دوباره برگردم n
396
00:13:11,200 –> 00:13:13,279
اگر به کد قبلی برای
397
00:13:13,279 –> 00:13:14,800
اتصال برویم، فقط
398
00:13:14,800 –> 00:13:17,519
با گفتن خوب شروع می کنیم اگر متن من
399
00:13:17,519 –> 00:13:18,480
قطع است
400
00:13:18,480 –> 00:13:19,920
، کاری انجام می دهیم که
401
00:13:19,920 –> 00:13:22,320
قطع می شود و در غیر این صورت اتصال را شروع می کنیم
402
00:13:22,320 –> 00:13:23,200
403
00:13:23,200 –> 00:13:25,839
و شروع به خواندن سریال می کنیم که فقط
404
00:13:25,839 –> 00:13:27,839
شروع به خواندن داده ها برای
405
00:13:27,839 –> 00:13:32,079
adc می کند. با این حال، اگر به اینجا
406
00:13:32,079 –> 00:13:34,480
برویم و نگاهی به وضعیت پیشرفته بیندازیم،
407
00:13:34,480 –> 00:13:35,120
408
00:13:35,120 –> 00:13:38,000
اما بخشی را که
409
00:13:38,000 –> 00:13:40,320
قرار است فوراً دادهها را بخوانیم، متوقف
410
00:13:40,320 –> 00:13:40,800
411
00:13:40,800 –> 00:13:43,199
کردهایم که چیزی نیست که ما نیاز داریم و کاری که
412
00:13:43,199 –> 00:13:44,560
میخواهیم انجام دهیم این
413
00:13:44,560 –> 00:13:47,600
است که در واقع همه چیز را نظر میدهیم
414
00:13:47,600 –> 00:13:50,880
و زمانی که من وصل میشوم، پین را نشان میدهیم،
415
00:13:50,880 –> 00:13:53,760
همانطور که میتوانید در اینجا
416
00:13:53,760 –> 00:13:55,040
وقتی اتصال را فشار میدهم،
417
00:13:55,040 –> 00:13:58,320
پین را در اینجا بالا
418
00:13:58,320 –> 00:14:01,440
میبینم و شما هم میتوانید دوباره ببینید اگر روی
419
00:14:01,440 –> 00:14:02,480
قطع اتصال کلیک
420
00:14:02,480 –> 00:14:05,839
کنم، باید پین را
421
00:14:05,839 –> 00:14:08,000
در دکمه تعویض پین ببینیم.
422
00:14:08,000 –> 00:14:09,760
ناپدید می شوند
423
00:14:09,760 –> 00:14:12,800
بسیار خوب، بنابراین این اولین قسمت بعد از آن است،
424
00:14:12,800 –> 00:14:15,760
اجازه دهید به تابع پین تعویض برویم
425
00:14:15,760 –> 00:14:18,160
که کمی اینجا در بالا است
426
00:14:18,160 –> 00:14:21,360
و در این کد وجود ندارد،
427
00:14:21,360 –> 00:14:24,000
بنابراین در داخل این پین ضامن آنچه می توانید