ارتباط بی سیم
در این بخش تیم الکترونیک و برنامه نویسی الکترونیک ۹۸, اقدام به طراحی و انتشار پروژه ای کاربردی و حرفه ای با عنوان, ارتباط بی سیم بین میکروکنترلرهای AVR با استفاده از ماژول فرستنده و گیرنده HM-TR, برای شما علاقه مندان به پروژه های میکروکنترلر AVR کرده است. ارتباط بی سیم (Wireless Communication)، به نوعی تکنولوژی ارتباطی اطلاق می گردد که در آن به جای سیم و کابل از امواج رادیویی (RF)، مادون قرمز یا مایکروویو (Microwave)، برای انتقال سیگنال بین دو دستگاه استفاده می شود. از میان این دستگاهها می توان تلفن های همراه، شبکه های کامپیوتری، دستگاههای مکان یاب، سیستم های ماهواره ای و… را نام برد. این تکنولوژی به سرعت در حال پیشرفت است و نقش عمده ای را در زندگی ما ایفا می کند. عمده بحث ما در این پروژه، ارتباط از طریق امواج رادیویی است.
شرح عملکرد پروژه
در این پروژه، مدار فرستنده مجهز به یک ال سی دی گرافیکی در ابعاد 64*128 به همراه یک تاچ اسکرین (صفحه لمسی) با ابعاد صفحه نمایش می باشد که بر روی LCD گرافیکی نصب شده است. که وظیفه آن دریافت یک عدد چهار رقمی از کاربر و ارسال آن به صورت بی سیم توسط ماژول فرستنده و گیرنده HM-TR می باشد.
مدار گیرنده نیز به یک صفحه نمایش هفت قسمتی مولتی پلکس 4 رقمه یا همان سون سگمنت مجهز شده است، که به محض دریافت دیتا از طریق ماژول فرستنده و گیرنده HM-TR عدد ارسال شده کاربر را بر روی سون سگمنت نمایش می دهد. لازم به ذکر است هدف اصلی از طراحی این پروژه نحوه راه اندازی ماژول های HM-TR – ال سی دی های گرافیکی و صفحات لمسی (تاچ اسکرین) با میکروکنترلرهای AVR می باشد.
سخت افزار پروژه
در پروژه قبلی (ارتباط بی سیم رادیویی با ماژول فرستنده و گیرنده HM-TR) در رابطه با ماژول HM-TR و ویژگی های آن بسیار کامل توضیح دادیم. به همین خاطر در این پروژه می خواهیم در رابطه با تراشه های مورد استفاده در ارتباط بی سیم صحبت کنیم.
طراحی مدارات RF، عملی بسیار حرفه ای و دشوار است، چراکه انجام آن در فرکانس های بالا به ملاحظاتی ویژه نیاز دارد و ارسال و دریافت سیگنال رادیویی در فضا نیز کاری پیچیده است. از این رو شرکت های بزرگ برای راحتی کار، تراشه های قدرتمندی را با قیمت مناسب عرضه کرده اند و کاربر می تواند به کمک آن ها بدون دگیر شدن با مسائلی مانند طراحی تقویت کننده، فیلتر، مدولاتور و… به راحتی اطلاعات را ارسال و دریافت کند. در این قسمت، چند نمونه از این تراشه ها را معرفی می نماییم:
تراشه های گیرنده و فرستنده
تراشه های گیرنده و فرستنده رادیویی، یکی از اعمال ارسال یا دریافت اطلاعات را انجام می دهند، بنابراین برای برقراری ارتباط باید از یک تراشه فرستنده و زوج گیرنده سازگار با آن استفاده کنیم. برای مثال تراشه فرستنده RF9901 و زوج گیرنده آن RF9902 نمونه ای پر کاربد، ساخت شرکت Micro Device است. همچنین می توان به عنوان نمونه ای دیگر به تراشه فرستنده PT2262 و زوج گیرنده آن یعنی PT2272 ساخت PTC اشاره کرد. این دو تراشه و تراشه های مشابه آن ها، بیشتر با عنوان انکدر و دیکدر شناخته می شوند و برای اعمال ساده کنترل ار راه دور مثل باز و بسته کردن در اتومبیل و روشن و خاموش کردن تجهیزات الکتریکی از راه دور به کار می روند.
تراشه های گیرنده – فرستنده، هم قابلیت ارسال و هم قابلیت دریافت اطلاعات را دارند. معمولا انتخاب حالت ارسال یا دریافت در این گونه تراشه ها با استفاده از مجموعه ای از رجیسترهای داخلی یا پایه های تراشه ممکن می شود. تراشه های CC1020، CC1100 و TRF6900 ساخت شرکت Texas Instruments نمونه هایی از تراشه های گیرنده – فرستنده به شمار می روند.
نقشه شماتیک مدار فرستنده پروژه
برنامه میکروکنترلر فرستنده به زبان بیسیک BASIC در نرم افزار BASCOM-AVR
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 |
$regfile = "m32def.dat" $crystal = 8000000 $baud = 9600 $hwstack = 64 $swstack = 64 $framesize = 64 $lib "glcdKS108.LBX" '$include "font16x16.font" 'Font Farsi _0 Alias Chr(128) _1 Alias Chr(129) _2 Alias Chr(130) _3 Alias Chr(131) _4 Alias Chr(132) _5 Alias Chr(133) _6 Alias Chr(134) _7 Alias Chr(135) _8 Alias Chr(136) _9 Alias Chr(137) Virgool Alias Chr(138) Khateh_chasban Alias Chr(139) Alamat_soal Alias Chr(140) A_ba_kolah Alias Chr(141) Hamzeh_chasban Alias Chr(142) Hamzeh_joda Alias Chr(143) Alef Alias Chr(144) Alef_chasbaan Alias Chr(145) Be_bozorg Alias Chr(146) Be_koochak Alias Chr(147) Pe_bozorg Alias Chr(148) Pe_koochak Alias Chr(149) Te_bozorg Alias Chr(150) Te_koochak Alias Chr(151) Se_bozorg Alias Chr(152) Se_koochak Alias Chr(153) Jim_bozorg Alias Chr(154) Jim_koochak Alias Chr(155) Che_bozorg Alias Chr(156) Che Koochak Alias Chr(157) He_jimi_bozorg Alias Chr(158) He_jimi_koochak Alias Chr(159) Khe_bozorg Alias Chr(160) Khe_koochak Alias Chr(161) Daal Alias Chr(162) Zaal Alias Chr(163) Re Alias Chr(164) Ze Alias Chr(165) Zhe Alias Chr(166) Sin_bozorg Alias Chr(167) Sin_koochak Alias Chr(168) Shin_bozorg Alias Chr(169) Shin_koochak Alias Chr(170) Saad_bozorg Alias Chr(171) Saad_koochak Alias Chr(172) Zaad_bozorg Alias Chr(173) Zaad_koochak Alias Chr(174) Taa Alias Chr(175) Zaa Alias Chr(176) Ein_bozorg Alias Chr(177) Ein_akhar_chasban Alias Chr(178) Ein_vasat Alias Chr(179) Ein_koochak Alias Chr(180) Ghein_bozorg Alias Chr(181) Ghein_akhar_chasban Alias Chr(182) Ghein_vasat Alias Chr(183) Ghein_koochak Alias Chr(184) Fe_bozorg Alias Chr(185) Fe_koochak Alias Chr(186) Ghaaf_bozorg Alias Chr(187) Ghaaf_koochak Alias Chr(188) Kaaf_bozorg Alias Chr(189) Kaaf_koochak Alias Chr(190) Gaaf_bozorg Alias Chr(191) Gaaf_koochak Alias Chr(192) Laam_bozorg Alias Chr(193) Laam_alef Alias Chr(194) Laam_koochak Alias Chr(195) Mim_bozorg Alias Chr(196) Mim_koochak Alias Chr(197) Noon_bozorg Alias Chr(198) Noon_koochak Alias Chr(199) Vav Alias Chr(200) He_koochak Alias Chr(201) He_vasat Alias Chr(202) He_chasbaan_avval Alias Chr(203) Ye_chasbaan Alias Chr(204) Ye_bozorg Alias Chr(205) Ye_koochak Alias Chr(206) 'End Font Farsi Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Portb , Ce = 1 , Ce2 = 2 , Cd = 5 , Rd = 4 , Reset = 0 , Enable = 3 Setfont Font8x8 Config Portb.6 = Output Config Portd.6 = Output Config Portd.7 = Output Led Alias Portb.6 Buzer Alias Portd.7 Led = 1 : Buzer = 0 Dim X As Word Dim Y As Word Dim X1 As Word Dim X2 As Word Dim Y1 As Word Dim Y2 As Word Dim Var As Word Dim Key As Byte Dim X_e As Single Dim Y_e As Single Dim Var1 As Single Dim Var3 As String * 4 Dim Var4 As String * 1 Dim Code As String * 16 Key = 100 : Var = 0 : Code = "" : Var3 = "" Gosub Calibration_x1_y1 Calibration_x1_y1: Cls Pset 0 , 0 , 255 Pset 1 , 0 , 255 Pset 0 , 1 , 255 Pset 1 , 1 , 255 Code = Alef + Re + " " + He_koochak + Daal + Shin_koochak + " " + Noon_bozorg + Ye_koochak + Ein_vasat + Te_koochak + " " + He_koochak + Taa + Ghaaf_koochak + Noon_koochak Lcdat 2 , 1 , Code , 0 Code = " " + Daal + Ye_koochak + Noon_koochak + Kaaf_koochak + " " + Sin_bozorg + Mim_koochak + Laam_koochak Lcdat 3 , 1 , Code , 0 Lcdat 4 , 1 , " electronics 98 " , 1 Code = _9 + _8 + Kaaf_bozorg + Ye_koochak + Noon_koochak + Vav + Re + Te_koochak + Kaaf_koochak + Laam_koochak + Alef Lcdat 5 , 1 , " " ; Code ; " " , 0 Do Gosub Scan If X > 50 Then Waitms 50 Gosub Scan X1 = X Y1 = Y Cls Lcdat 4 , 1 , " electronics 98 " , 1 Code = _9 + _8 + Kaaf_bozorg + Ye_koochak + Noon_koochak + Vav + Re + Te_koochak + Kaaf_koochak + Laam_koochak + Alef Lcdat 5 , 1 , " " ; Code ; " " , 0 Code = " " + Daal + Shin_koochak + " " + He_koochak + Re + Ye_koochak + Khe_koochak + Zaal + " " Lcdat 6 , 1 , Code , 1 Do Gosub Scan If X < 50 Then Gosub Calibration_x2 Loop End If Loop Return Calibration_x2: Cls Pset 126 , 0 , 255 Pset 127 , 0 , 255 Pset 126 , 1 , 255 Pset 127 , 1 , 255 Code = Alef + Re + " " + He_koochak + Daal + Shin_koochak + " " + Noon_bozorg + Ye_koochak + Ein_vasat + Te_koochak + " " + He_koochak + Taa + Ghaaf_koochak + Noon_koochak Lcdat 2 , 1 , Code , 0 Code = " " + Daal + Ye_koochak + Noon_koochak + Kaaf_koochak + " " + Sin_bozorg + Mim_koochak + Laam_koochak Lcdat 3 , 1 , Code , 0 Lcdat 4 , 1 , " electronics 98 " , 1 Code = _9 + _8 + Kaaf_bozorg + Ye_koochak + Noon_koochak + Vav + Re + Te_koochak + Kaaf_koochak + Laam_koochak + Alef Lcdat 5 , 1 , " " ; Code ; " " , 0 Do Gosub Scan If X > 50 Then Waitms 50 Gosub Scan X2 = X Cls Lcdat 4 , 1 , " electronics 98 " , 1 Code = _9 + _8 + Kaaf_bozorg + Ye_koochak + Noon_koochak + Vav + Re + Te_koochak + Kaaf_koochak + Laam_koochak + Alef Lcdat 5 , 1 , " " ; Code ; " " , 0 Code = " " + Daal + Shin_koochak + " " + He_koochak + Re + Ye_koochak + Khe_koochak + Zaal + " " Lcdat 6 , 1 , Code , 1 Do Gosub Scan If X < 50 Then Gosub Calibration_y2 Loop End If Loop Return Calibration_y2: Cls Pset 0 , 62 , 255 Pset 1 , 62 , 255 Pset 0 , 63 , 255 Pset 1 , 63 , 255 Code = Alef + Re + " " + He_koochak + Daal + Shin_koochak + " " + Noon_bozorg + Ye_koochak + Ein_vasat + Te_koochak + " " + He_koochak + Taa + Ghaaf_koochak + Noon_koochak Lcdat 2 , 1 , Code , 0 Code = " " + Daal + Ye_koochak + Noon_koochak + Kaaf_koochak + " " + Sin_bozorg + Mim_koochak + Laam_koochak Lcdat 3 , 1 , Code , 0 Lcdat 4 , 1 , " electronics 98 " , 1 Code = _9 + _8 + Kaaf_bozorg + Ye_koochak + Noon_koochak + Vav + Re + Te_koochak + Kaaf_koochak + Laam_koochak + Alef Lcdat 5 , 1 , " " ; Code ; " " , 0 Do Gosub Scan If Y > 50 Then Waitms 50 Gosub Scan Y2 = Y Cls Lcdat 4 , 1 , " electronics 98 " , 1 Code = _9 + _8 + Kaaf_bozorg + Ye_koochak + Noon_koochak + Vav + Re + Te_koochak + Kaaf_koochak + Laam_koochak + Alef Lcdat 5 , 1 , " " ; Code ; " " , 0 Code = " " + Daal + Shin_koochak + " " + He_koochak + Re + Ye_koochak + Khe_koochak + Zaal + " " Lcdat 6 , 1 , Code , 1 Do Gosub Scan If Y < 50 Then If X1 > X2 Then Var = X1 - X2 X_e = Var / 128 Else Var = X2 - X1 X_e = Var / 128 End If If Y1 > Y2 Then Var = Y1 - Y2 Y_e = Var / 64 Else Var = Y2 - Y1 Y_e = Var / 64 End If Gosub Main End If Loop End If Loop Return Main: Cls Showpic 64 , 0 , Keypad Do If Key >= 0 And Key <= 9 And Len(var3) < 4 Then Var3 = Var3 + Str(key) Key = 100 End If If Key = 10 Then Var3 = "" : Key = 100 End If If Key = 11 Then Print "S" Waitms 50 If Len(var3) >= 1 Then Var4 = Mid(var3 , 1 , 1) Print Var4 Waitms 50 End If If Len(var3) >= 2 Then Var4 = Mid(var3 , 2 , 1) Print Var4 Waitms 50 End If If Len(var3) >= 3 Then Var4 = Mid(var3 , 3 , 1) Print Var4 Waitms 50 End If If Len(var3) = 4 Then Var4 = Mid(var3 , 4 , 1) Print Var4 Waitms 50 End If Print "E" Key = 100 End If If Len(var3) = 4 Then Lcdat 1 , 1 , " " ; Var3 ; " " , 1 If Len(var3) = 3 Then Lcdat 1 , 1 , " " ; Var3 ; "* " , 1 If Len(var3) = 2 Then Lcdat 1 , 1 , " " ; Var3 ; "** " , 1 If Len(var3) = 1 Then Lcdat 1 , 1 , " " ; Var3 ; "*** " , 1 If Len(var3) = 0 Then Lcdat 1 , 1 , " **** " , 1 Gosub Calibration If Key = 200 Then Key = 20 Cls Graph Showpic 64 , 0 , Keypad End If If X > 64 And X < 85 And Y > 47 And Y < 63 And Key <> 10 And Key = 20 Then Key = 10 Cls Graph Showpic 64 , 0 , Cancel End If If X > 85 And X < 106 And Y > 47 And Y < 63 And Key <> 0 And Key = 20 Then Key = 0 Cls Graph Showpic 64 , 0 , 0 End If If X > 106 And X < 127 And Y > 47 And Y < 63 And Key <> 11 And Key = 20 Then Key = 11 Cls Graph Showpic 64 , 0 , Ok End If If X > 64 And X < 85 And Y > 31 And Y < 47 And Key <> 1 And Key = 20 Then Key = 1 Cls Graph Showpic 64 , 0 , 1 End If If X > 85 And X < 106 And Y > 31 And Y < 47 And Key <> 2 And Key = 20 Then Key = 2 Cls Graph Showpic 64 , 0 , 2 End If If X > 106 And X < 127 And Y > 31 And Y < 47 And Key <> 3 And Key = 20 Then Key = 3 Cls Graph Showpic 64 , 0 , 3 End If If X > 64 And X < 85 And Y > 15 And Y < 31 And Key <> 4 And Key = 20 Then Key = 4 Cls Graph Showpic 64 , 0 , 4 End If If X > 85 And X < 106 And Y > 15 And Y < 31 And Key <> 5 And Key = 20 Then Key = 5 Cls Graph Showpic 64 , 0 , 5 End If If X > 106 And X < 127 And Y > 15 And Y < 31 And Key <> 6 And Key = 20 Then Key = 6 Cls Graph Showpic 64 , 0 , 6 End If If X > 64 And X < 85 And Y > 0 And Y < 15 And Key <> 7 And Key = 20 Then Key = 7 Cls Graph Showpic 64 , 0 , 7 End If If X > 85 And X < 106 And Y > 0 And Y < 15 And Key <> 8 And Key = 20 Then Key = 8 Cls Graph Showpic 64 , 0 , 8 End If If X > 106 And X < 127 And Y > 0 And Y < 15 And Key <> 9 And Key = 20 Then Key = 9 Cls Graph Showpic 64 , 0 , 9 End If Loop Return Scan: Config Porta.0 = Output Config Pina.1 = Input Config Porta.2 = Output Config Pina.3 = Input Set Porta.0 Reset Porta.1 Reset Porta.2 Reset Porta.3 Config Adc = Single , Prescaler = Auto Start Adc X = Getadc(1) Waitms 10 Config Pina.0 = Input Config Porta.1 = Output Config Pina.2 = Input Config Porta.3 = Output Reset Porta.0 Set Porta.1 Reset Porta.2 Reset Porta.3 Config Adc = Single , Prescaler = Auto Start Adc Y = Getadc(2) Waitms 10 Return Calibration: Config Porta.0 = Output Config Pina.1 = Input Config Porta.2 = Output Config Pina.3 = Input Set Porta.0 Reset Porta.1 Reset Porta.2 Reset Porta.3 Config Adc = Single , Prescaler = Auto Start Adc X = Getadc(1) Waitms 10 Config Pina.0 = Input Config Porta.1 = Output Config Pina.2 = Input Config Porta.3 = Output Reset Porta.0 Set Porta.1 Reset Porta.2 Reset Porta.3 Config Adc = Single , Prescaler = Auto Start Adc Y = Getadc(2) Waitms 10 If X < 50 And Y < 50 And Key <> 20 Then Key = 200 End If If X1 < X2 Then Var = X - X1 Var1 = Var / X_e X = Var1 End If If X2 < X1 Then Var = X - X2 Var1 = Var / X_e X = Var1 X = 128 - X End If If Y1 < Y2 Then Var = Y - Y1 Var1 = Var / Y_e Y = Var1 End If If Y2 < Y1 Then Var = Y - Y2 Var1 = Var / Y_e Y = Var1 Y = 64 - Y End If Buzer = 0 If X > 64 And X < 128 And Y > 0 And Y < 64 And Key = 20 Then Buzer = 1 End If Return 0: $bgf "0.bgf" 1: $bgf "1.bgf" 2: $bgf "2.bgf" 3: $bgf "3.bgf" 4: $bgf "4.bgf" 5: $bgf "5.bgf" 6: $bgf "6.bgf" 7: $bgf "7.bgf" 8: $bgf "8.bgf" 9: $bgf "9.bgf" Ok: $bgf "Ok.bgf" Cancel: $bgf "Cancel.bgf" Keypad: $bgf "KeyPad.bgf" $include "font8x8.font" |
نقشه شماتیک مدار گیرنده پروژه
برنامه میکروکنترلر گیرنده به زبان بیسیک BASIC در نرم افزار BASCOM-AVR
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
$regfile = "m16def.dat" $crystal = 8000000 $baud = 9600 $hwstack = 128 $swstack = 128 $framesize = 128 '***************************************************************** Config Output Config Porta.0 = Output 'Anod Seven Segment Config Porta.1 = Output 'Anod Seven Segment Config Porta.2 = Output 'Anod Seven Segment Config Porta.3 = Output 'Anod Seven Segment Config Portb = Output 'A,B,C,D,E,F,G,DP, Seven Segment '**************************************************************** Dim Var As ... Dim Rxd As Byte Dim _start As Byte Dim Segment As Byte Dim _in As String * 1 Dim _data As String * 4 Dim _display As String * 4 Dim Segment1 As String * 1 Rxd = 0 : _start = 0 : Segment = 0 : _in = "" : _data = "" : _display = "0000" : Segment1 = "" Gosub Main '******************************************************************** Sub [Meno] Main: Do Rxd = Inkey() If Rxd = "S" Then Do _in = Inkey() If _in = "E" Then Exit Do If _in <> Chr(13) And _in <> Chr(26) And _in <> Chr(10) And _in <> Chr(34) Then _data = _data + _in End If Loop _display = _data Rxd = 0 : _start = 0 : Segment = 0 : _in = "" : _data = "" : Segment1 = "" If Len(_display) = 3 Then _display = "N" + _display End If If Len(_display) = 2 Then _display = "NN" + _display End If If Len(_display) = 1 Then _display = "NNN" + _display End If If Len(_display) = 0 Then _display = "NNNN" + _display End If Print _display End If Porta = &B0000 Portb = &B00000000 Waitus 100 Segment1 = Mid(_display , 1 , 1) If Segment1 = "N" Then Segment = 10 Else Segment = Val(segment1) End If Porta = &B0001 Portb = Lookup(segment , _data_table) Waitus 2500 Porta = &B0000 Portb = &B00000000 Waitus 100 Segment1 = Mid(_display , 2 , 1) If Segment1 = "N" Then Segment = 10 Else Segment = Val(segment1) End If Porta = &B0010 Portb = Lookup(segment , _data_table) Waitus 2500 Porta = &B0000 Portb = &B00000000 Waitus 100 Segment1 = Mid(_display , 3 , 1) If Segment1 = "N" Then Segment = 10 Else Segment = Val(segment1) End If Porta = &B0100 Portb = Lookup(segment , _data_table) Waitus 2500 Porta = &B0000 Portb = &B00000000 Waitus 100 Segment1 = Mid(_display , 4 , 1) If Segment1 = "N" Then Segment = 10 Else Segment = Val(segment1) End If Porta = &B1000 Portb = Lookup(segment , _data_table) Waitus 2500 Loop Return End '*********************************************************************START DATA _data_table: Data &B0111111 '0=0 Data &B0000110 '1=1 Data &B1011011 '2=2 Data &B1001111 '3=3 Data &B1100110 '4=4 Data &B1101101 '5=5 Data &B1111101 '6=6 Data &B0000111 '7=7 Data &B1111111 '8=8 Data &B1101111 '9=9 Data &B0000000 '10=OFF Data &B1110111 '11=A Data &B1111001 '12=C Data &B1111001 '13=E Data &B1110001 '14=F Data &B1110110 '15=H Data &B1110011 '16=P Data &B0111000 '17=L Data &B0110111 '18=UP Data &B0111110 '19=DOWN '***********************************END PROJECT********************************* |
ویدئو ضبط شده از عملکرد پروژه
در زیر یک ویدئو از نحوه عملکرد پروژه ارتباط بی سیم دو میکروکنترلر ATmega16 و میکروکنترلر ATmega32 با ماژول HM-TR ضبط شده است, که می توانید برای درک بیشتر از نحوه عملکرد پروژه به صورت آنلاین مشاهده و یا از انتهای همین پست دانلود نمائید.
سلام
در صورتی که از بیشتر از 2 ماژول استفاده شود، اگر دیتا از ماژول اول ارسال شود تمام ماژول ها دیتا را دریافت خواهند کرد؟
سلام دوست عزیز
اگر منظور شما این است که یک فرستنده داشته باشیم و چند گیرنده، پاسخ سوال شما بله است و تمام گیرنده ها دیتا را دریافت خواهند کرد.
سلام
ماژول های ask433 هم به rx و tx وصل میشن ؟
کد کدویژن رو دارین تست کنیم ؟
تشکر
سلام دوست عزیز
درباره ماژول ask433 اطلاعی ندارم لطفا دیتاشیت ماژول را مطالعه فرمایید.
همچنین این پروژه تنها به زبان بیسیک نوشته شده است.