Генеришите случајне бројеве користећи ЕСП32 и Ардуино ИДЕ

Generisite Slucajne Brojeve Koristeci Esp32 I Arduino Ide



Користећи ЕСП32 можемо креирати различите пројекте и направити јединствене производе који могу да реше више проблема. ЕСП32 је плоча микроконтролера тако да користећи Ардуино ИДЕ функције програмирања можемо креирати занимљив излаз. Ова лекција показује како се могу генерисати случајни бројеви помоћу ЕСП32 плоче.

Шта су случајни бројеви

Случајни бројеви играју главну улогу у безбедности и шифровању. Можда сте користили Гоогле предлоге за лозинку. Ради на принципу који је некако сличан генерисању случајних бројева.

Случајни бројеви су низ бројева који се не могу предвидети, а то је број који се бира из скупа бројева.







Зашто су нам потребни случајни бројеви

Случајни бројеви су важни за криптографске операције, савремено рачунарство и симулације. Случајни бројеви такође помажу да се побољша безбедност рачунара. Ево неколико главних примена случајних бројева:



  • Случајни бројеви који се користе у алгоритмима
  • Процедурално генерисани садржаји као што су насумичне слике, имена и многи други
  • За симулације које нису детерминистичке, као што су шаблон, мешање коцкица и временски обрасци

Како сада разумемо основне примене ЕСП32 генератора случајних бројева, омогућавамо вам да погледамо код и генеришемо неке случајне бројеве.



Функција за генерисање случајног броја у ЕСП32

ЕСП32 плоча садржи хардверски генератор случајних бројева који користи ову функцију есп_рандом() .





есп_рандом() не узима аргумент и даје нам вредност насумично генерисану од 0 до УИНТ32_МАКС (то је максимална вредност коју непотписани инт може да ускладишти у себи).

Белешка : Једна ствар коју треба запамтити је да ЕСП32 хардверски генератор случајних бројева ради користећи ВиФи и Блуетоотх. Истина случајни број се генерише само када су оба омогућена. Ако су ова два онемогућена, ЕСП32 може да генерише само а псеудо број . За више детаља, молимо вас да проверите Еспрессиф ЕСП32 Документација са случајним бројем .



Занимљиве информације : Занимљива информација о ЕСП32 хардверском генератору случајних бројева је да је ЕСП32 прошао Диехардер Рандом Нумбер Тестсуите када се узорак података од 2 ГБ узима помоћу ЕСП32 када је његов ВиФи омогућен. Умри теже је тест за генератор случајних бројева.

Синтакса
Ево синтаксе ЕСП32 функције за случајни број:

есп_рандом ( )

Повратак
Ова функција враћа насумичну вредност између 0 и УИНТ32_МАКС.

Код за генерисање случајног броја

Отворите Ардуино ИДЕ и отпремите дати код у ЕСП32 да бисте генерисали насумични број између 0 и 4294967295 (максимална вредност инт без предзнака).

празнина подешавања ( ) {
Сериал.бегин ( 115200 ) ; /* Дефинисана брзина преноса */
}
празнина петља ( ) {
Сериал.принтлн ( '**********' ) ;
Сериал.принт ( 'Случајни број = ' ) ;
Сериал.принтлн ( есп_рандом ( ) ) ; /* Одштампајте било који случајни број из 0 до највећег унсигнед инт */
кашњење ( 2000 ) ; /* одлагање од 2 сец */
}

Излаз
Након учитавања кода, можемо видети излаз на серијском монитору. Овде можемо видети да је ЕСП32 генерисао два различита случајна броја.

Код за генерисање случајног броја између одређеног опсега

Претпоставимо да ако ЕСП32 ВиФи није омогућен, онда постоји алтернатива за функцију есп_рандом() . Можемо користити Ардуино функцију генератора случајних бројева (случајно()) .

Користећи ову функцију, можемо генерисати било који случајни број у одређеном опсегу.

Отворите Ардуино ИДЕ и отпремите дати код који ће нам дати насумични број између 10-20.

празнина подешавања ( ) {
Сериал.бегин ( 115200 ) ; /* Дефинисана брзина преноса */
}
празнина петља ( ) {
Сериал.принтлн ( '**********' ) ;
Сериал.принт ( „Случајни број између 10 и 20=“ ) ; /* Одштампајте било који случајни број између 10 и двадесет */
Сериал.принтлн ( насумично ( 10 , двадесет ) ) ;
кашњење ( 2000 ) ; /* одлагање од 2 сец */
}

Излаз
Следећи излаз се може видети на серијском монитору: случајни број се генерише сваке 2 секунде.

Успешно смо покрили функције које је ЕСП32 користио за генерисање случајних бројева.

Закључак

Случајни бројеви играју главну улогу у вероватноћи и статистици. Такође је од помоћи у безбедносном шифровању и криптографским операцијама. Ова лекција ће вас водити у генерисању различитих случајних бројева. Такође можемо дефинисати опсег да бисмо добили случајни број.