Закодил Google Dino на Arduino! [Arduino GameDev]

Ғылым және технология

Заказать PCB: jlcpcb.store/ купон на $10: jlcpcb.com/EDA
В этом видео мы повторим знаменитую игру про бегущего динозавра, и конечно же подробно разберем основные игровые механики.
► Исходники и проект на EasyEda: oshwlab.com/Nich1con/ArduinoG...
► Исходный код к проекту: github.com/Nich1con/ArduinoGa...
► Поддержать автора: yoomoney.ru/to/410019154264963
► По всем вопросам: nich1con36@mail.ru
► Первая часть: • Игровая консоль на Ard...
▼ Уроки по теме ▼
alexgyver.ru/lessons/gyvercor...
alexgyver.ru/lessons/naked-chip/
alexgyver.ru/lessons/programm...
alexgyver.ru/lessons/eeprom/
alexgyver.ru/lessons/code-opt...
▼ Видео про программаторы ▼
• Работа с программаторо...
• Используем Arduino в к...
• Самодельный ISP програ...
★ Инструменты, приборы и материалы для пайки ★
- Удобные мультиметры: ali.ski/2nn13 ali.ski/fTDAW9
- Тестеры компонентов: ali.ski/ZFLC7Y ali.ski/Mb_7W
- Карманные осциллографы: ali.ski/JdkQw
- Паяльная станция HakkoT12: ali.ski/pEUz9I
- Паяльный фен 8858: ali.ski/3cSLjp ali.ski/OtB10-
- Коврик для пайки: ali.ski/gF7bWW
- Стриппер для проводов: ali.ski/RiVwcj ali.ski/Thu_i
- Оловоотсос: ali.ski/1MLjH ali.ski/1K-IS
- Куча дешевого припоя: ali.ski/ZGkkx ali.ski/S3h5V
- Шпильки для выпайки: ali.ski/WSv7wx
- Хороший флюс-гель: ali.ski/uFflw
► Огромный стартовый набор GyverKIT: kit.alexgyver.ru/
► Уроки Arduino на сайте: alexgyver.ru/lessons/
► Модули и датчики с Али: alexgyver.ru/arduino_shop/
► Страница "Заметок Ардуинщика": alexgyver.ru/arduino_lessons/
Теги: #arduino #ардуино #alexgyver
●●●●●●●●●●●●●●●●●●●●
► Основной канал: / alexgyvershow
► Поддержать автора alexgyver.ru/support_alex/
► Официальный сайт: alexgyver.ru/
► Почта: alex@alexgyver.ru

Пікірлер: 345

  • @nich1con652
    @nich1con6522 жыл бұрын

    Слишком уж затянулось производство этого видоса (по личным причинам), забыл поздравить всех с наступающим новым годом! Посмотрим, зайдет ли вам такой формат.

  • @fukkenPavlo

    @fukkenPavlo

    2 жыл бұрын

    Отличный проект, нужна ссылочка на бесшумные таковые кнопки

  • @Loskutov_Igor

    @Loskutov_Igor

    2 жыл бұрын

    Чувак ты крут) я около года назад тоже начинал делать на пердуине эту же игру, используя экран от нокии. Но не мог придумать как кактусы рандомно выводить. Пора смахнуть пыль с проекта

  • @technotrolla1254

    @technotrolla1254

    2 жыл бұрын

    Спасибо за интересные видео! С наступающим!

  • @AntonZnaenok

    @AntonZnaenok

    2 жыл бұрын

    Расскажи пожалуйста про обработку показаний заряда батареи. Для этого на сколько мне известно должен использоваться отдельный контроллер, но на плате я такого не увидел.

  • @nich1con652

    @nich1con652

    2 жыл бұрын

    @@AntonZnaenok Нет, атмега измеряет свое напряжения питания и приблизительно считает заряд по двум значениям - заряженной и разряженой батареи, далее просто рисуется значок. Эта функция просто вызывается при отрисовке меню или игры.

  • @BLRplex
    @BLRplex2 жыл бұрын

    Было бы интересно, если бы игры можно было хранить не в памяти самого микроконтроллера, а на внешних носителях. Вот это бы получилась реально крутая платформа, развивающая сама себя. То есть, на МК загрузчик, ридер карты, меню игр на носителе и лоадер самих игр.

  • @rerofriverwood379

    @rerofriverwood379

    2 жыл бұрын

    можно читать spi флешки или cd карточки с фатом

  • @MsTim159

    @MsTim159

    2 жыл бұрын

    Бред же) Какая платформа то? Это обыкновенный pet проект, который интересно повторить, покрутить в руках минут 10, и закинуть в дальний угол чулана.

  • @GoodVrGames

    @GoodVrGames

    2 жыл бұрын

    Это просто поделка для развлекухи, а не серьезная игровая консоль...

  • @rerofriverwood379

    @rerofriverwood379

    2 жыл бұрын

    @@GoodVrGames и да и нет, на таких фановых проектах можно проверять всякие новые идеи типо выше озвученной.

  • @GoodVrGames

    @GoodVrGames

    2 жыл бұрын

    @@rerofriverwood379 Эмм. Любой прототип - проверка новых идей.

  • @Rin_Media
    @Rin_Media2 жыл бұрын

    Классно получилось. Молодец! Спасибо за твои труды. Было интересно посмотреть. Захотел повторить!!! Я в восторге!!! Удачи тебе в новом году и здоровья!!!

  • @user-hi3hw5kj3g
    @user-hi3hw5kj3g2 жыл бұрын

    Автор прогрессирует с каждым видео! Прекрасная подача, повествование по времени просто идеальное! Все понятно и очень интересно, спасибо вам!!

  • @romanl1234
    @romanl12342 жыл бұрын

    Интересно будет повторить, спасибо за видео и за труд👍

  • @enrewardronkhall8340
    @enrewardronkhall83402 жыл бұрын

    Очень познавательно. Будет здорово увидеть где видел в таком формате.

  • @user-ut1tz7mr4c
    @user-ut1tz7mr4c2 жыл бұрын

    Отличный видос!!! А самое главное для меня это разъяснение кода. Я только учусь программировать и для меня это большая помощь в освоении. С наступающим Новым годом!!! Удачи и процветания!!!!

  • @dimasomaga
    @dimasomaga Жыл бұрын

    Ты красавчик. Вначале видео, понимая какой объем кода должен быть в результате, даже не надеялся что тебе удастся показать нюансы разработки и другие финты ушами. Но результат превосходит все ожидания. Ты не поленился, и показал все начиная от картинок, преобразования и элементов движения - до нюансов кода. Мало того, тебе удалось вовлечь зрителя во внутренние подводные камни, и их в каком то роде элегантное решение. Да! Я понимаю что можно сделать рефакторинг и достичь более элегантного и масштабируемого кода, убрать хардкод и использовать ООП, и т д. НО! В твоём случае все это не нужно, так как цель в другом! И ты ее достиг, по моему мнению виртуозно)) имею в виду весь проект, начиная с платы , реализации слота для батарейки, удобного управления - до программного кода! Мало того - это очень полезно в плане обучения! Респект)!

  • @DepechLyot
    @DepechLyot2 жыл бұрын

    Бомба! Главное код смотрю и учусь на ваших примерах!

  • @od3417
    @od34172 жыл бұрын

    Спасибо, было интересно. Чередование сложного и простого видео мне нравится.

  • @elenapoplos9537
    @elenapoplos95372 жыл бұрын

    Спасибо за видео и советы ждём продолжения с новым годом

  • @matveipeciulis7669
    @matveipeciulis76692 жыл бұрын

    Спасибо за ваш труд! Вышло замечательно!

  • @victorlisov5138
    @victorlisov51382 жыл бұрын

    Было интересно узнать о игровых механиках подобных игр. Надо попробовать повторить что-то подобное на дешёвых китайских операторных панелях

  • @user-eb3oh1jk2k
    @user-eb3oh1jk2k2 жыл бұрын

    Спасибо за видос, с наступающим новым годом!

  • @ruzulo
    @ruzulo2 жыл бұрын

    Круто! Офигенный и оригинальный подарок можно сделать!

  • @anatolytitov4169
    @anatolytitov41692 жыл бұрын

    Ждем Dune: Battle for Arrakis на 328й!!! Вот это будет бомба =) ПС С Новым Годом!!!

  • @agentsmit09
    @agentsmit092 жыл бұрын

    Прикольно. Следующий шаг добавить тетрис и сделать выбор игры. Скорее всего придется читать игры из внешнего флеша. Ну и конечно напечатать корпус, ну это так мелочь

  • @vladi_g
    @vladi_g2 жыл бұрын

    Это было интересно, продолжай в том же духе.

  • @bih0use
    @bih0use2 жыл бұрын

    Просто дух захватывает... Вспоминаются старые времена, когда при программировании под винду экономили память...

  • @alexdubovik2119

    @alexdubovik2119

    2 жыл бұрын

    Под Винду уже память не экономили. Винда позволяла запускать файлы любого размера. Это под Дос-ом надо было резидентов в верхнюю память закидывать.

  • @andryz80

    @andryz80

    2 жыл бұрын

    @@alexdubovik2119 ага а под спектрум? я помню считал и байты и такты. что бы быстро работало.

  • @alexdubovik2119

    @alexdubovik2119

    2 жыл бұрын

    @@andryz80 , там само собой, а так же и под Радио-86РК и под БК-0010.

  • @andryz80

    @andryz80

    2 жыл бұрын

    @@alexdubovik2119 а да интересные были времена :)

  • @OttoLilo
    @OttoLilo2 жыл бұрын

    Здорово. Очень интересно получилось

  • @SegaKHV
    @SegaKHV2 жыл бұрын

    Шикарно! Буду повторять :)

  • @Unknown-xh7rz
    @Unknown-xh7rz2 жыл бұрын

    Очень хороший материал. Спасибо что ты есть!

  • @grin2105
    @grin21052 жыл бұрын

    Может быть теперь doom на простейших радиодеталях, без готовых микросхем?

  • @vilka_v_ass

    @vilka_v_ass

    2 жыл бұрын

    +++

  • @user-dp1yd3ze8h

    @user-dp1yd3ze8h

    2 жыл бұрын

    на корпусных транзисторах. да чего уж, на радиолампах☝️

  • @user-sq5cu3pm1f
    @user-sq5cu3pm1f2 жыл бұрын

    Все супер! Я учусь с Вами, а сынуля со мной! Респект!

  • @JonMatrix
    @JonMatrix2 жыл бұрын

    Повторю пожалуй! Спасибо)

  • @sergiocat7150
    @sergiocat71502 жыл бұрын

    Огонь! Клевая консоль, молодец.

  • @matveipeciulis7669
    @matveipeciulis76692 жыл бұрын

    С наступающим!

  • @user-ds3nm4iy2x
    @user-ds3nm4iy2x2 жыл бұрын

    Классная консолька получилась! Даешь Марио!

  • @SergeyPatuk
    @SergeyPatuk11 ай бұрын

    Это вам не Unity)) 10 лет уже делаю игры но такое вижу в первый раз. Реально класный проект, молодцом.

  • @user-kv6hq3zc6t
    @user-kv6hq3zc6t2 жыл бұрын

    Комент для поддержки, спасибо за старания)))

  • @ArduBlock_Projects
    @ArduBlock_Projects2 жыл бұрын

    С новым годом!

  • @illya-litkin
    @illya-litkin2 жыл бұрын

    О, круто очень. Респектос)

  • @eugeniyvinnikov5480
    @eugeniyvinnikov54802 жыл бұрын

    Вперед в гейм дев ))) мы ждем этого !!!!!!

  • @mr_smind
    @mr_smind2 жыл бұрын

    отличное видео, спасибо. действительно шикарно

  • @user-qp3cg4ku7o
    @user-qp3cg4ku7o2 жыл бұрын

    Жаль , что лайк можно поставить только один раз 👍. С наступающим.

  • @Grek303
    @Grek3032 жыл бұрын

    Сходу лойс за старания👍

  • @PRO-TAXI
    @PRO-TAXI2 жыл бұрын

    Странно, я пачку ардубоев сделал, правда в своем форм-факторе, там тоже по I2C дисплеи подключены, ничего не тормозит. Одна из игрушек - Shadow Runner это точно такой же платформер, как и Dino, даже быстрее бежит и там приседать и подпрыгивать можно. Справляется же.

  • @vernnms78
    @vernnms782 жыл бұрын

    Очень интересный проект! Респект!

  • @saimonpskov86
    @saimonpskov862 жыл бұрын

    очень круто ! продолжай!!!!

  • @smoke0082
    @smoke00822 жыл бұрын

    Всё круто! Молодец! Так, теперь Марио, Танки и Сапёр запели пожалуйста.

  • @user-uw6nh4rt3k
    @user-uw6nh4rt3k2 жыл бұрын

    Нехватает меню и тетриса! Игра моего детства!)

  • @user-ck2nj7in8x
    @user-ck2nj7in8x2 жыл бұрын

    Классное видео, спасибо!

  • @beatzamshanatoliy1156
    @beatzamshanatoliy11562 жыл бұрын

    Получилось круто, но если уже идти в геймдев то надо больше теории и элементарных частиц для работы с визуальщиной) тогда легче алгоритмы воспринимаются)

  • @Ander-oi3no
    @Ander-oi3no2 жыл бұрын

    Круто! Как и всегда

  • @AkaDannnn
    @AkaDannnn2 жыл бұрын

    Ничикон, Сделай в следующей серии корпус для этой консоли

  • @ArduBlock
    @ArduBlock2 жыл бұрын

    Поздравляю всех с новым годом )

  • @user-oz7pt8vn1y
    @user-oz7pt8vn1y2 жыл бұрын

    Очень познавательно получилось. Совсем недавно приехал набор AlexGyver (заказывал максимальный), так что буду, навёрстывать инфу по видосам, и повторять данную игру. Ждём новые игрушки)

  • @AgeWap
    @AgeWap2 жыл бұрын

    Динозавтр и goto довольно в тему)

  • @shrek9173
    @shrek91733 ай бұрын

    Классно! А можно еще пару игр под это все😅?

  • @LedCarDnepr
    @LedCarDnepr2 жыл бұрын

    Круто, круто, круто. Пора и себе собрать

  • @jamshidqosimov6720
    @jamshidqosimov67202 жыл бұрын

    Круто, старайтесь сделать другие игры тоже

  • @InfiniteCoder01
    @InfiniteCoder012 жыл бұрын

    HAPPY NEW YEAR!!!

  • @kalabv
    @kalabv2 жыл бұрын

    Очень интересное видео!

  • @oleksandr_starenchencko
    @oleksandr_starenchencko2 жыл бұрын

    Отлично раскрытая тема, впрочем как и всегда 👍

  • @altaev
    @altaev2 жыл бұрын

    Забавно получилось!

  • @DIY-hv2hv
    @DIY-hv2hv2 жыл бұрын

    В своё время увлёкся программированием именно в попытках создать свою игру. Написал сапера под dos.

  • @santhermTV
    @santhermTV2 жыл бұрын

    Круто получилось 👍

  • @user_62sergey_z
    @user_62sergey_z2 жыл бұрын

    Здорово получилось!

  • @HobbyIdeasEVA
    @HobbyIdeasEVA2 жыл бұрын

    Молодцом , хорошо получилось.

  • @user-pl4gz8lm5t
    @user-pl4gz8lm5t Жыл бұрын

    ДА это просто шедевр!!!!!! Чел ты очень крут!!!

  • @ZeaLoToFWaR
    @ZeaLoToFWaR2 жыл бұрын

    Сейчас Nintendo выпускает переиздания своих хитов в Game And Watch стиле, может сделать DIY "Электронику" со всеми теми играми?)

  • @professor033
    @professor0332 жыл бұрын

    чётко....эксельсиор...дистинктивно воистину дистинктивно....;)

  • @sozdatelEd
    @sozdatelEd2 жыл бұрын

    даёшь контру на OLED😂

  • @lankinvasil
    @lankinvasil2 жыл бұрын

    Тут есть идея: Ардуино про микро и экранчик с тачскрином. Сделать вынесенные горячие клавиши к компу с возможностью перелистывания страниц с горячими клавишами.

  • @ArduBlock_Projects
    @ArduBlock_Projects2 жыл бұрын

    Интересно !

  • @smmad_
    @smmad_2 жыл бұрын

    Будет ли урок по wemos d1 mini с использованием WI-FI?

  • @user-tz8cu7pe9d
    @user-tz8cu7pe9d2 жыл бұрын

    В начале ролика вся суть ардуинщика, пользоваться чьей-то какой мозга и ждать обновлений этой каки, в надежде, что из попы наконец то появится алмаз. А написать самим? Там весь код дисплея на 15 минут по даташиту.

  • @alexdubovik2119

    @alexdubovik2119

    2 жыл бұрын

    Так это его библиотека и есть 😂

  • @alexdubovik2119

    @alexdubovik2119

    2 жыл бұрын

    Там проблема не в библиотеке, а в подходе к программированию игр. Ни в коем случае нельзя делать очистку экрана. Кроме лишних задержек это приводит к мерцанию объектов на экране.

  • @Shadewar11
    @Shadewar112 жыл бұрын

    круто! Спасибо!

  • @nikitavolkov4429
    @nikitavolkov44292 жыл бұрын

    Это просто о*уенно! даёшь ещё"

  • @user-mr6vv1bk5k
    @user-mr6vv1bk5k Жыл бұрын

    А можно пиксельный массив писать от руки? Не используя утилиты?

  • @enjoyrobotics
    @enjoyrobotics Жыл бұрын

    круто!)

  • @Stifling_Musketeer
    @Stifling_Musketeer2 жыл бұрын

    Круто! Хотелось бы продолжение этой рубрике 👍

  • @izqbr8493
    @izqbr84932 жыл бұрын

    Змейка и тетрис теперь!

  • @user-hw7uz3zc8w
    @user-hw7uz3zc8w2 жыл бұрын

    Ждём Дум на ардуино )

  • @tikserziku
    @tikserziku2 жыл бұрын

    На гирлянду или gyverlamp 16x16 как перенести?

  • @user-js4sj3uy1m
    @user-js4sj3uy1m Жыл бұрын

    один вопрос через какую программу вы пишите программы

  • @user-fy1sy6qh1b
    @user-fy1sy6qh1b2 жыл бұрын

    Прекрасная, бесполезная крутизна!!! Молодец!

  • @TechnoMagicMaster7
    @TechnoMagicMaster78 ай бұрын

    Где достать ету вашу imageProcessor?

  • @bobr75655
    @bobr756552 жыл бұрын

    Ничего не понятно, но очень интересно!

  • @kostya1306
    @kostya13062 жыл бұрын

    Отключать дисплей - это конечно хорошо, а как быстро эту батарейку высаживает контроллер в спящем режиме?

  • @PETRIXPOST
    @PETRIXPOST2 жыл бұрын

    "Лучше поздно, чем никогда" - подумала Анна Каренина, положила голову на рельсу, и долго-долго смотрела в след уходящему поезду

  • @elyasd495
    @elyasd495 Жыл бұрын

    Вопрос: -"Можно ли создать часть игры Elite Plus(DOS), а именно полет" Примерно так летишь и навстречу звёзды, а когда поворачиваешь соответственно поворачиваются летящие навстречу звёзды, как в игре.

  • @user-is1zj2re8p
    @user-is1zj2re8p2 жыл бұрын

    Товарищ Алекс Гайвер уже и собственный голос роботизирует... Нненадаа!

  • @gerc0g
    @gerc0g2 жыл бұрын

    Блин. Так это можно замутить так все советские игрушки? Волк 🐺 яйца ловит! Автогонки! Подводный мир! Спасибо за идею.

  • @antondrug7625
    @antondrug76252 жыл бұрын

    здорово получилось

  • @sergheik9582
    @sergheik95822 жыл бұрын

    Походу у Doom появился конкурент

  • @user-oz9bp7jb4p
    @user-oz9bp7jb4p2 жыл бұрын

    коллайдеры для системы столкновений атмега не потянула бы?)

  • @nich1con652

    @nich1con652

    2 жыл бұрын

    это лишнее

  • @RomAn-jm1vw
    @RomAn-jm1vw2 жыл бұрын

    С таким подходом скоро появится и тамагочи

  • @mortalwindos1141
    @mortalwindos11412 жыл бұрын

    Сделай калаб с каналом "Левша" он корпус запилит красивый )

  • @Wulfrein
    @Wulfrein2 жыл бұрын

    Огромное спасибо за урок, но что-то у меня возникли проблемы в самом начале :( Попытался крутить энкодер и выводить на OLED-дисплей (4 пина) счётчик, но столкнулся с тем, что clear() занимает кучу времени. Сначала хотел сделать обновление экрана в loop(), как в игре, но если не делать задержек между очистками экрана, то энкодер жёстко тупит и даже путается в направлениях вращения; чтобы это хоть как-то стабильно работало, пришлось через millis() снизить частоту отрисовки данных до 3 FPS (ТРЁХ, КАРЛ!), уже на 4-5 FPS начинаются проблемы со считыванием поворотов энкодера (причем кроме считывания энкодера и обновления кадров ничего и не делается). Неужели все НАСТОЛЬКО плохо, или это я просто криворукий? Потом решил попробовать переместить clear() и update() внутрь условия поворота энкодера, и это почему-то работает нормально, даже если крутить энкодер быстрее 3х раз в секунду. Хотелось бы понять, почему так) Еще я пытался обновлять часть экрана, но почему-то у меня это не сработало (нарисованное-в-setup() очищается в нужной области, а нарисованное-в-loop() уже нет). Очень не хватает вводного урока про OLED-дисплеи (да и вообще про все) для новичков, а то сразу девайсы на кастомных платах начали делать, не разобравшись в основах, тем более библиотека с первых видео обновилась. Хотелось бы поподробнее про подключение, про наличие/отсутствие буфера (в старых видео говорили, что желательно использовать буфер на стороне МК, но в новой библиотеке такой фичи уже нет?) и про оптимальную отрисовку интерфейса, например, где лучше ставить clear() и update() и как выгоднее при выборе пункта меню инвертировать текст (и можно ли инвертировать часть экрана). Также интересно было бы посмотреть про модули мп3 плеера (вроде не было такого). Смотрел видео про модуль DFPlayer Mini, и говорят, что он не умеет возвращать название файла, только номер, но хотелось бы от вас услышать) И, может, какой-то всё-таки умеет, а то как-то несерьёзно на циферку смотреть. Еще раз огромное спасибо за каналы)

  • @rizhamavpa889

    @rizhamavpa889

    Жыл бұрын

    У меня возникла проблема. Не могу найти этот конвертор. Дайте ссылку кто может пж

  • @Vozhd_Hitromordyh
    @Vozhd_Hitromordyh2 жыл бұрын

    Надо забатлить Гайверовский вариант Игрока и этот проект)))

  • @teenkode
    @teenkode2 жыл бұрын

    С твоей проверкой на столкновение нельзя будет птицу перепрыгнуть)) И еще не хватает рандомного расстояния между объектами, а также моментов, где нельзя перепрыгнуть так, чтобы приземлиться не на кактус не пригнувшись. Ну, это когда два противника близко друг к другу идут на большой скорости, и точка падения после перепрыгивания стоит прямо на втором кактусе. Тогда приходится падать раньше, путем пригибания

  • @nich1con652

    @nich1con652

    2 жыл бұрын

    А ее по идее и нельзя перепрыгивать, кинематика так подобрана, что даже высокий прыжок на хорошей скорости не позволит это делать. Ну и во вторых - проверка учитывает приземление на птицу сверху

  • @teenkode

    @teenkode

    2 жыл бұрын

    @@nich1con652 Но в хроме ведь можно....))

  • @Sigma8484

    @Sigma8484

    2 жыл бұрын

    @@teenkode я всегда в хроме их перепрыгивал, не знал, что можно пригибаться =)

  • @vladimirfedorov5282
    @vladimirfedorov52822 жыл бұрын

    С новым Гадом на ардуинке! А скока потребляет плата во сне?

  • @ArduNotes

    @ArduNotes

    2 жыл бұрын

    меньше микроампера

  • @saharblch
    @saharblch2 жыл бұрын

    2:55 пять плат без учета доставки обойдутся в .... ( у тебя 151,36) 2 бакса

  • @valera-isk
    @valera-isk2 жыл бұрын

    Клёво!

  • @user-gq4nl4yr6w
    @user-gq4nl4yr6w3 ай бұрын

    Оыень хороший урок, спасибо. Единственное, пересматривая не нашел как вывести значек аккумулятора на дисплей.

  • @FeynFox
    @FeynFox2 жыл бұрын

    А что насчёт скорости?

  • @alexs2216
    @alexs2216 Жыл бұрын

    Сюда флешку приделать и бипер и будет игрушка супер.

  • @user-kx4fc3ju6z
    @user-kx4fc3ju6z2 жыл бұрын

    Клево!

  • @srglgnv4407
    @srglgnv44072 жыл бұрын

    Это. Просто. О...уенно. 👍

Келесі