Как сделать будильник на python
Перейти к содержимому

Как сделать будильник на python

  • автор:

Домашнее задание. Будильник

Простейший будильник должен позволить указать время срабатывания и уметь издавать звук.

Модуль SimpleAudio

Модуль SimpleAudio позволяет воспроизводить звуковые файлы в формате WAV через динамики компьютера. Ещё раз: он воспроизводит только файлы в формате WAV. Он не воспроизводит формат mp3, wma и прочие.

Установка в Windows

Чтобы установить модуль simpleaudio на Windows, откройте программу «Командная строка» (найдите её в меню Пуск или нажмите Win+R, введите cmd и нажмите «Выполнить»). Выполните там команду

pip install simpleaudio 

Установка в Linux и macOS

Чтобы установить модуль simpleaudio на Linux или macOS, откройте программу «Терминал» и выполните там команду:

pip3 install simpleaudio 

На Linux вам понадобятся права суперпользователя, либо команда sudo:

sudo pip3 install simpleaudio 

Как воспроизвести звук?

Не будем вдаваться в подробности и построим код на основе примера из документации к модулю SimpleAudio (http://simpleaudio.readthedocs.io/en/latest/):

import simpleaudio def play_wave(filename): wave_object = simpleaudio.WaveObject.from_wave_file(filename) player = wave_object.play() player.wait_done() 

Теперь мы можем воспроизводить любой WAV-файл при помощи вызова нашей функции play_wave() :

play_wave("C:\\python\\alarm.wav") 

Постановка задачи

Требуется создать программу, которая делает следующее:

  1. Запрашивает у пользователя дату и время будильника (например, с помощью input)
  2. Сообщает, через какое время сработает будильник
  3. Если дата из прошлого, то сообщает об этом и прекращает работу
  4. В цикле ждёт наступления указанного времени
  5. Воспроизводит файл alarm.wav

Файл alarm.wav можно скачать отсюда: https://anhel.in/files/alarm.wav.zip. Не забудьте распаковать архив. Источник файла.

Замечания по реализации

При ожидании в цикле лучше использовать функцию sleep:

from time import sleep #. while some_condition: sleep(1) # Ждать одну секунду 

Для определения наступления нужного момента используйте классы и функции из модуля datetime .

© 2019, Анатолий Грико

Как сделать будильник на python

Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке «Файлы работы» в формате PDF

Цель: написать программу на языке программирования Pithon

Изучить нужную литературу

Создать визуализацию будильника

Установить библиотеки, которые понадобятся при написании кода

Написать и протестировать код

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

Актуальность: Оттого с каким настроением мы встанем утром, будет зависеть весь день. Людям очень тяжело вставать по будильнику, ведь когда мы слышим раздражающий звук, то хочется поскорее его выключить и вернуться в страну снов. Это может привести к опозданиям, испорченным нервам и недосыпу. Но почему не попробовать вставать под свои любимые мелодии, которые точно обеспечат заряд бодрости и энергии на весь день. Безусловно на современных будильниках без проблем можно поставить понравившиеся песни, но как насчет разных мелодий в каждый день недели? В понедельник можно просыпаться под симфонию № 40 Моцарта, во вторник – под любимых поп исполнителей, в среду – под Богемскую Рапсодию и т.д.

Заниматься программированием на Pithon я начала относительно недавно, но недостаток знаний в этой области не помешал мне создать несложный код для будильника с легкой визуализацией на QtDesigner [2].

2.1Модули и библиотеки

Рис.1 Модули и библиотеки

1 — Модуль sys обеспечивает доступ к некоторым переменным и функциям, взаимодействующим с интерпретатором python. sys нужен для передачи argv в QApplication [1]

2 – clock – это название файла, где хранятся переменные, связанные с визуализацией. Из него импортируем класс Ui _ MainWindow

3 – из PyQt5.QtWidgets надо импортировать виджеты QApplication и QMainWindow

4 –модуль datetime предоставляет классы для работы со временем [3]

5 – time — модуль для работы со временем

6 – threading – модуль, позволяющий создавать потоки, т.е. запускать несколько операций одновременно [4]

7 – pygame – набор модулей для создания игр и мультимедийных приложений. Из этого модуля надо импортировать mixer для работы со звуком

2.2 Основное тело программы

11 – создаем класс Clock , куда передаем переменные из QMainWindow и Ui _ MainWindow

12, 13 — для инициализации экземпляра класса используется метод __init__(self),

в котором можно задать параметры объекта при его создании. self – это ссылка на текущий экземпляр класса. super – это ключевое слово, которое используется для обращения к родительскому классу.

14, 15 – в переменных start _ hour и start _ minute будет храниться информация о времени, когда будильник будет звонить

16 – в time будет храниться информация о том, через сколько должен сработать будильник

17 — атрибут flag, которому присвоено значение False

18 – setupUi ( self ) нужен для инициализации нашего дизайна

19 – self . initUi () – вызов метода initUi ()

21- создаём метод initUi

22 – обозначаем название будущего окна

23 — при нажатии на кнопку идет вызов метода start

24 — при нажатии на кнопку идет вызов метода stop

27, 28 – становится невозможным поменять значение переменных hour _ input и minutes _ input

29 – кнопка startButton становится неактивной

30,31– если в момент нажатии на стоп играет музыка, то она останавливается

33 – метод remind , куда предаются переменные music , day

34 – время, на которое должна «заснуть» программа

35, 36, 37 – вызываем мелодию в соответствии с днём недели [5]

38 – изменяем значение переменной flag на True

39, 40 – музыка играет 10 секунд и останавливается

41 — значение переменной flag изменяется на False

43 – метод start

44, 45, 46 – после нажатия на «старт» кнопки ввода часов, минут и старта становятся неактивными

47 – активная кнопка «стоп»

48, 49 – переменным start _ hour , start _ minutes передаются значения времени, которое выбрали

50, 51, 52 – программа считывает время в данный момент

53 – 66 – программа вычитает (в секундах) сколько времени надо ждать до звонка будильника

67 – 68 – список с музыкой

69 – в переменную day записываем номер текущего дня недели

70 – 71 – запускается поток с методом Thread

2.3 Готовый результат

Результат работы программы

3. Заключение и вывод

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

Изучая разные языки программирования можно составлять различны алгоритмы для решения сложных задач. Я задалась целью создать будильник для комфортного пробуждения, и мне это удалось благодаря информатике.

Будущее стоит за информационными технологиями, которые существенно облегчают многие рутинные процессы, экономят время и энергию.

Применив будильник на практике, я убедилась, что это удобно и полезно. Многие люди с трудом встают по утрам, а с будильником, который каждый день будит твоей любимой музыкой, ранний подъём не составит проблем. С оздав свой будильник, я поняла, что это возможность не только получить новые эмоции и ощущения, а также набраться опыта, который в будущем будет очень востребован.

4. Список литературы

Класс sound и модуль pygame . mixer . music . [Электронный ресурс] URL : https://younglinux.info/pygame/mixer ( Дата обращения: 02.03.2022 )

Модуль threading на примерах. [Электронный ресурс] 10.09.2017 URL : http://python-3.ru/page/import-threading ( Дата обращения: 02.03.2022 )

ООП в картинках. [Электронный ресурс] 16.08.2019 URL : https://habr.com/ru/post/463125/ ( Дата обращения: 02.03.2022 )

Никита Прияцелюк. Создаём простое приложение с PyQt Designer : [Электронный ресурс] 30.03.2018 URL : https://tproger.ru/translations/python-gui-pyqt/ ( Дата обращения:02.03.2022 )

Python для начинающих. Модуль datetime : [Электронный ресурс] URL : https://pythonworld.ru/moduli/modul-datetime.html ( Дата обращения: 02.03.2022 )

Python для начинающих. Модуль sys : [Электронный ресурс] URL : https :// pythonworld . ru / moduli / modul sys . html ( Дата обращения: 02.03.2022 )

Рабочий код прикладной программы — «Будильник» на языке Python

Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Нужно сделать курсовую работу на тему данную выше. Добавить разные ‘фишки’, в виде графиков и тд. В файле указано что нужно применить к курсовой работе. Так же рассмотрю сам код программы без отчёта. Дедлайн 20 апреля

7 лет назад

unleashedmyself3

Роман unleashedmyself3
26 лет Украина
7 лет в сервисе
3 года назад
Похожие заказы

Диплом – право социального обеспечения

Здравствуйте! Необходимо выполнить работу на тему – Единовременные социальные выплаты: виды, размеры, правовые основы назначения. Уникальность от 75%. Срок и стоимость?

7 лет назад

Реферат по труду/технологии

Доброго времени суток, нужно написание реферата по технологии. Срок — 6 дней.
7 лет назад

Реферат по музыке

Доброго времени суток, нужно написание реферата по музыке.
7 лет назад

Реферат по хореографии

Доброго времени суток, нужно написание реферата по хореографии.
7 лет назад

Разработка сайта. Диплом

Задание прикреплено. Вот оф. сайт школы: [url=http://school19.zp.ua/]http://school19.zp.ua/[/url] (информацию брать отсюда) и сайт нужен на wordpress (не все страницы нужны которые есть на оф. сайте)

7 лет назад

Латинский контрольная

кто может помочь с заданием. нужна работа 17 марта. Задание во вложении
Рефераты, Курсовые и Дипломы нет заявок
7 лет назад

Диплом с программой

Диплом с программой на тему «Розробка інформаційної системи обліку профілактичного щеплення у закладах охорони здоров’я». Около 60 страниц. План следующий: Раздел 1. Постановка задачи. Обзор программного обеспечения для учета профилактических прививок. Здесь нужно изложить цель и задачи. .

7 лет назад

Курсовая по педагогике

Добрый день. Необходимо написать 1 главу (теоретическую часть курсовой, которая состоит 2-х разделов) на тему: Образовательная среда и ее роль в социализации личности подростка. Оригинальность не менее 70-80%. Срок: не срочно. В заявке указывайте цену Вашей работы)

Рефераты, Курсовые и Дипломы 1 исполнитель
7 лет назад

Диплом бухучет

требования во вложении и в методичке диплом с докладом объем 65 стр. АП 80% план требует согласования сдача по главам сроки и цена обсуждаются жду ваших предложений

7 лет назад

Курсовая по финансовому анализу

ДИСЦИПЛИНА * Финансовый анализ ТЕМА РАБОТЫ * Финансовый анализ эффективности управления компании КОЛИЧЕСТВО СТРАНИЦ * 25-30 ШРИФТ * Times New Roman 14 pt ОРИГИНАЛЬНОСТЬ РАБОТЫ 80% КРАЙНИЙ СРОК СДАЧИ РАБОТЫ 24.03.2017 ПОЖЕЛАНИЯ И ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ Введение 2-3 стр Заключение 1-2 стр Осн часть .

добрый будильник на python

Для запуска вам потребуется установить непосредственной сам язык Python , Python for Windows extensions и положить библиотеку Winamp.py в папку Lib, расположенную в установочной директории Python. Эту библиотеку написал Arkadiusz Wahlig.

2778634395_2975da728f

Скрипт будильника расположен тут, и запускается следующим образом:
goodalarm.py

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *