Мазмұны:

Годот машинасы: 4 қадам (суреттермен)
Годот машинасы: 4 қадам (суреттермен)

Бейне: Годот машинасы: 4 қадам (суреттермен)

Бейне: Годот машинасы: 4 қадам (суреттермен)
Бейне: Тигр😂 #семья #жаналиевтертеатры 2024, Қараша
Anonim
Годот машинасы
Годот машинасы

Godot машинасы дегеніміз не?

Адамзат тәжірибесінің бір бөлігі, біз ұзақ уақыт күткеннен кейін немесе мүлде болмайтын нәрсені күту жағдайында бола аламыз.

Годот машинасы-бұл күн сәулесінен қуат алатын электротехника, ол мағынасыз күтуге әкелетін үмітсіз эмоцияны түсіруге тырысады.

Бұл атау Сэмюэл Бекеттің әйгілі Годотты күту пьесасынан алынған, онда екі адам белгілі бір Годоттың келуін күтеді, олар ертең, келесі күні немесе ешқашан келуі мүмкін.

Годот машинасы не істейді?

  1. 1. Күн сәулесі аз болғандықтан, Джоуль ұры тізбегі конденсаторлар банкін зарядтай бастайды.
  2. 2. 5 В шамасында зарядталғаннан кейін, Arduino Nano қуат алады.
  3. 3. Arduino 4 биттік жарықдиодты жолақта көрсетілетін 20 биттік шынайы кездейсоқ санды шығарады.
  4. 4. Бұл сан барлық кездейсоқ басқа кездейсоқ санмен салыстырылады, ол тізбек бірінші рет жүктелген кезде eeprom -да сақталған.
  5. 5. Егер тең болса, күту аяқталды, машина бұл фактіні eeprom -да сақтайды және бұдан былай жасыл жарық диоды мен пьезо сигналын қосады (егер энергия жеткілікті болса).
  6. 6. Егер тең болмаса, үміт, үмітсіздік, қайталау.

… Сонымен қатар, анда -санда дыбыстық сигнал беріледі, сондықтан сізде Godot машинасы бар екенін ұмытпаңыз.

Годот нөміріне соғу ықтималдығы 2^20 -дан 1 -ге немесе миллионнан бірге жуық екенін және машина өте жылдам емес екенін ескере отырып, әсіресе қыста және күзде оны табу үшін жылдар қажет болуы мүмкін. Сіздің Godot машинаңыз тіпті сіздің мұраңыздың бір бөлігіне айналуы мүмкін. Келесі нөмірді тексеруді күте отырып, сіз алыстағы үлкен немерелеріңіз оның қалай аяқталғанын көре алатынын елестете аласыз. Қысқасы: бұл алдағы демалыс маусымына тамаша сыйлық!

1 -қадам: Схема

Схемалық
Схемалық

Godot машинасы мыналардан тұрады:

-9x2200uF конденсаторларды зарядтайтын Joule Thief энергия жинайтын комбайн (Q1). Геликсафобиядан зардап шегетіндер үшін (индукторлардың қисынсыз ашуы, ал конденсаторлар мен резисторларда мұндай проблема жоқ), қорықпаңыз, қолмен ораудың қажеті жоқ: қорап осында көрсетілгендей стандартты коаксиалды индукторларды бір -біріне жақын орналастыру арқылы жасалады. 2 -сурет Керемет трюк!

-Дискретті транзисторлық қуат қосқышы (Q2, Q3, Q4), ол 5V1 шамасында шамамен 3.0В шамасында қосылады және сөнеді. Егер сіз әртүрлі (жалпы мақсаттағы) транзистор түрлерін қолдансаңыз, R2-R4 шамалы реттелуі мүмкін.

-Энтропиялық генератор (Q6, Q7, Q8). Бұл схема микровольттен вольт деңгейіне дейінгі ортада болатын электронды шуды күшейтеді. Содан кейін бұл сигнал хаосқа негізделген (оқыңыз) кездейсоқ сандар генераторын себу үшін сынама алады. Гитараның бір бөлігі антенна қызметін атқарады.

-4 светодиодты немесе 4 қызыл бөлек жарықдиодты, пьезо-сигналды және жасыл жарық диодты жарықдиодты жолақ.

Қуат қосқышының шығысы (Q4 жинаушысы) VIN пиніне емес, Arduino Nano 5В істігіне қосылғанын ескеріңіз!

2 -қадам: Godot машинасын құру

Годот машинасын құрастыру
Годот машинасын құрастыру
Годот машинасын құрастыру
Годот машинасын құрастыру
Годот машинасын құрастыру
Годот машинасын құрастыру

Мен тізбекті перфорд тақтасына салдым. Онда ерекше ештеңе жоқ. 2В/200мА күн панелі - бұл басқа жобаның қалдықтары. Бренд - Velleman. Оны өткір пышақпен ашу оңай, бұрандалар үшін тесіктер бұрғылау және т.б. Электр тақтасы мен күн панелі суретте көрсетілгендей фанердің екі бөлігіне бекітілген. Идея - бұл күн панелін терезеге күн көзіне қаратып қоюға болады.

3 -қадам: Код: хаостың кездейсоқ сандары?

Код: хаостың кездейсоқ сандары?
Код: хаостың кездейсоқ сандары?
Код: хаостың кездейсоқ сандары?
Код: хаостың кездейсоқ сандары?
Код: хаостың кездейсоқ сандары?
Код: хаостың кездейсоқ сандары?

Кездейсоқ сандар қалай жасалады? Жақсы, олар математикамен жасалған!

Кездейсоқ сандар генераторы Arduino random () функциясын қолданудың орнына, мен өзімнің кездейсоқ сандар генераторын (RNG) жазуды жөн көрдім.

Ол логистикалық картаға негізделген, бұл детерминистикалық хаостың қарапайым мысалы. Міне, ол қалай жұмыс істейді:

Х-0 мен 1 арасындағы кейбір нақты мән делік, содан кейін есептеңіз: x*r*(1-x), мұнда r = 3.9. Нәтиже - сіздің келесі 'x'. Infinitum жарнамасын қайталаңыз. Бұл сізге бірінші суреттегідей 0 мен 1 арасындағы сандар сериясын береді, онда бұл процесс x = 0.1 (қызыл), сондай -ақ x = 0.1001 (көк) бастапқы мәні үшін басталады.

Міне, керемет бөлігі: екі түрлі бастапқы шартты қаншалықты жақын таңдасаңыз да, егер олар тең болмаса, нәтижесінде алынған сандар қатары ақырында алшақтайды. Бұл «бастапқы шарттарға сезімтал тәуелділік» деп аталады.

Математикалық түрде x*r*(1-x) карта теңдеуі парабола болып табылады. 2-суретте көрсетілгендей, сіз өрмек өрімі деп аталатын нәрсені қолдана отырып, х-сериясын графикалық түрде анықтай аласыз: көлденең осьте x-тен бастаңыз, y-осіндегі функция мәнін табыңыз, содан кейін 45-те түзу сызыққа шағылыстырыңыз. бастапқы бұрыш арқылы өтетін градус бұрышы. Қайталау. Қызыл және көк серияларда көрсетілгендей, бастапқыда жақын болса да, олар шамамен 30 қайталаудан кейін толығымен алшақтайды.

Енді 'r = 3.9' саны қайдан шыққан? R-ның төмен мәндері үшін біз тек екі ауыспалы x-мәнін аламыз. R-параметрін жоғарылату бір сәтте 4, 8, 16 мәндерінің арасындағы тербеліске ауысады. Бұл тармақтар немесе бифуркациялар r көбейген сайын тезірек келеді, бұл «хаосқа екі еселенетін жол» деп аталады. Горизонталь осінде r және көптеген х-қайталаулар тігінен қабаттасқан сюжет нәтижесінде бифуркация сюжеті пайда болады (3-сурет). R = 3.9 үшін карта толығымен хаотикалық.

Егер біз көптеген x жаңартуларын есептеп, олардан үлгі алсақ, кездейсоқ санды аламыз ба? Жоқ, бұл кезде бұл жалған кездейсоқ сандар генераторы (PRNG) болар еді, өйткені егер біз әрқашан бірдей бастапқы мәннен бастасақ (қалпына келтіруден шыққаннан кейін), біз әрқашан бірдей реттілікті аламыз; детерминистикалық хаос. Бұл жерде энтропия генераторы келеді, ол логистикалық картаны қоршаған ортадан табылған электр шуынан жасалған нөмірмен көрсетеді.

Басқаша айтқанда, кездейсоқ сандар генераторының коды мұны істейді:

- A0 түйреуішіндегі энтропия генераторынан кернеуді өлшеңіз. Тек 4 маңызды биттерді сақтаңыз.

- Осы 4 битті «тұқымдық» мәнге ауыстырыңыз, 32-биттік өзгермелі нүкте тұқымын алу үшін 8 рет қайталаңыз.

- Тұқымды 0 -ден 1 -ге дейін қайта есептеңіз.

- Осы тұқымның орташа мәнін және x, логистикалық картаның ағымдағы күйін есептеңіз.

- Логистикалық картаны көптеген (64) қадамға жылжытыңыз.

- x логистикалық карта күйінен бір ғана бит шығарыңыз, ондық бөлшектерді тексеріңіз.

- Бұл битті соңғы нәтижеге ауыстырыңыз.

- Жоғарыдағы барлық қадамдарды 20 рет қайталаңыз.

Ескерту: кодта Serial.println және Serial.begin нәтижелері берілген. Сериялық монитордағы кездейсоқ сандарды тексеру үшін // алып тастаңыз.

Әділдік үшін, мен кездейсоқ сандардың сапасын статистикалық түрде тексерген жоқпын (мысалы, NIST тест жиынтығы), бірақ олар жақсы сияқты.

4 -қадам: Godot машинаңызға таң қалыңыз

Сіздің Godot машинаңызға таң қалыңыз!
Сіздің Godot машинаңызға таң қалыңыз!

Godot машинасынан ләззат алыңыз және түсініксіз нәрсені бөлісіңіз, түсініктеме беріңіз және/немесе сұраңыз.

Godot нөмірі табылғанын күтіп отырғанда, осы математикамен нұсқаулық конкурсына дауыс беріңіз! Рахмет!

Математика сайысынан жасалған
Математика сайысынан жасалған
Математика сайысынан жасалған
Математика сайысынан жасалған

«Математикамен жасалған» сайысында екінші орын

Ұсынылған: