アラームクロック

ベッドから起き上がるために、4桁ディスプレイとブザーを使い、自分用のアラームクロックを作成します。


Author: Benjamin Dannegård、Last revision: 2024/01/16


i
プロジェクトを始める前に、インストールの章を終わらせてください。

このプロジェクトでは、時刻を管理するために、ntptimeモジュールを使い、4桁ディスプレイに表示します。アラームクロックはコード内で設定し、指定した時刻にブザーを鳴らします。正確な時刻を管理するために、ボードをWi-Fi®ネットワークに接続します。

必要なハードウェア

このプロジェクトを製作するには、以下のものが必要です。

回路

以下の回路図に従って部品を組み立ててください。

アラームクロックの回路

アラームクロックの回路

コード

コードのコメントを読み、必要に応じて変数を変更してください。その後、ボードにアップロードしてください。

4桁ディスプレイを使うには、以下のモジュールをインストールする必要があります。

1
mip.install("https://raw.githubusercontent.com/mcauser/micropython-tm1637/master/tm1637.py")
i
外部モジュールのインストール方法がわからなければ、ここ を参照してください。
 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
from machine import Pin, PWM, RTC
import time
from time import sleep
import tm1637
import ntptime
import network

UTC_OFFSET = 0 * 60 * 60   # change the '0' according to your timezone
actual_time = time.localtime(time.time() + UTC_OFFSET)

# Frequency and duration of the sound
FREQUENCY = 220  # Hz
DURATION = 2  # seconds

# Create a controllable Pin for the speaker
speaker = PWM(Pin(5))

tm = tm1637.TM1637(clk=Pin(9), dio=Pin(8))

connection = network.WLAN(network.STA_IF)

def connect(ssid, password):
  ssid = ssid
  password = password
  if connection.isconnected() == True:
    print("Already connected")
    return
  connection.active(True)
  connection.connect(ssid, password)
  while connection.isconnected() == False:
    pass
  print("Connection successful")
  print(connection.ifconfig())

# Function to play a sound
def play_sound(frequency, duration):
    speaker.freq(frequency)
    speaker.duty(512)
    time.sleep(duration)
    speaker.duty(0)


connect("SSID", "password") #Replace the SSID with the name of your network and password with the networks password
rtc = RTC()

alarm = [08, 30, 1] #The time for the set alarm [hour, minutes, enabled status(1=true)]
isPoint = True

while(1):
    printTimeH = int("{3:02d}".format(*actual_time))
    printTimeM = int("{4:02d}".format(*actual_time))
    if alarm[2] == 1 and alarm[0] == printTimeH and alarm[1] == printTimeM:
        play_sound(FREQUENCY, DURATION) # Play the sound
    
    tm.numbers(printTimeH, printTimeM, isPoint)

オリジナルのページ

https://docs.arduino.cc/micropython/micropython-course/projects/alarm-clock/

最終更新日

April 14, 2024

inserted by FC2 system