Mục lục:
- Bước 1: Video tương tác
- Bước 2: Tuyên bố vấn đề
- Bước 3: Tổng quan về cách thức hoạt động
- Bước 4: Danh sách vật liệu và công cụ
- Bước 5: Bắt đầu xây dựng với Breadboard
- Bước 6: Bắt đầu mã
- Bước 7: Hoàn thiện các lần chạm
Video: Hẹn giờ trong phòng học: 7 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Hướng dẫn cách tạo hẹn giờ cho phòng học.
Bước 1: Video tương tác
drive.google.com/file/d/12z5zQR52AXILX2AGb3EplfbmZWANZiCl/view?usp=drivesdk
Bước 2: Tuyên bố vấn đề
Hầu hết thời gian, các phòng học luôn được thực hiện. Điều này xảy ra bởi vì mọi người thích ở trong phòng lâu hơn nhiều so với nhu cầu của họ. Chúng tôi đã thiết kế một bộ đếm thời gian cho phép mỗi người có tổng cộng 2 giờ và những người đang chờ có khả năng yêu cầu xếp phòng cho nhóm tiếp theo. Việc sử dụng RGB trên Neopixels sẽ thể hiện lượng thời gian còn lại.
Bước 3: Tổng quan về cách thức hoạt động
Bộ đếm thời gian gồm các bộ phận được cắt bằng máy cắt laze, 3 nút bấm, 1 đèn LED, 1 chiết áp.
Neopixel và chiết áp được nối với NodeMCU. NodeMCU được lập trình để điều chỉnh lại mức độ xoay của chiết áp để thay đổi lượng đèn LED sáng trên dải Neopixel hình tròn. Nút Yêu cầu dừng chức năng của chức năng Bắt đầu, Dừng và Đặt thời gian. Màu của đèn LED trên đồng hồ hẹn giờ trong phòng giống với màu của đèn LED chiếu sáng ở mặt bên của hộp. Neopixel ở mặt bên của hộp tượng trưng cho màn hình hiển thị ở sảnh của tòa nhà để biết phòng nào được lấy và còn lại bao nhiêu thời gian. 2 đèn LED được quy định cho mỗi phòng, một đèn LED biểu thị nếu phòng được lấy và đèn LED còn lại phản chiếu màu của đèn LED trên bộ hẹn giờ (màu xanh lá cây là nhiều thời gian hơn, sau đó màu vàng, sau đó màu đỏ cho ít thời gian hơn).
Bước 4: Danh sách vật liệu và công cụ
- Acrylic rõ ràng
-Cáp MicroUSB
www.digikey.com/product-detail/en/stewart-…
-Breadboard
www.amazon.com/gp/product/B01EV6LJ7G/ref=o…
-Chiết áp
www.alliedelec.com/honeywell-380c32500/701…
-3 nút
www.digikey.com/product-detail/en/te-conne…
-NodeMCU
www.amazon.com/gp/product/B07CB4P2XY/ref=o…
- 2 dải Neopixel
www.amazon.com/Lighting-Modules-NeoPixel-W…
-Resistors
www.digikey.com/product-detail/en/te-conne…
- Dây điện
www.digikey.com/product-detail/en/sparkfun…
-1 đèn LED
www.mouser.com/ProductDetail/Cree-Inc/C512…
- Súng bắn keo
www.walmart.com/ip/AdTech-Hi-Temp-Mini-Hot…
-Dải Velcro dính
www.amazon.com/VELCRO-Brand-90076-Fastener…
Bước 5: Bắt đầu xây dựng với Breadboard
A0 đến chân giữa trên Potentiometer
Vin để Power on Neopixel ring
3v3 với một bên của Potentiometer
Tất cả các cơ sở để tiếp đất trên NodeMCU
Nút D1 đến Yêu cầu
D2 để yêu cầu đèn LED
D3 đến nút Bắt đầu
D4 đến nút dừng
D5 đến điện trở với Đầu vào Neopixel trên vòng
D6 đến điện trở với dải đầu vào Neopixel
Bước 6: Bắt đầu mã
Đây là mã để đảm bảo dự án của bạn đang hoạt động cho đến nay. Bộ hẹn giờ chỉ nên vài giây cho mỗi đèn LED trên Neopixel Ring. Khi bạn biết nó đang hoạt động cho đến thời điểm này, tất cả những gì bạn cần làm là thay đổi thời gian nếu các câu lệnh bên dưới thành phạm vi được chỉ định của bạn. Tôi sẽ đặt '#Change time' vào mỗi thời điểm nếu các tuyên bố mà bạn cần thay đổi cho phân bổ thời gian của mình.
Đang thử mã:
nhập khẩu utime
thời gian nhập khẩu
từ ADC nhập máy
máy nhập khẩu
nhập khẩu neopixel
adc = ADC (0)
pin = machine. Pin (14, machine. Pin. OUT)
np = neopixel. NeoPixel (pin, 12)
pin2 = machine. Pin (12, machine. Pin. OUT)
np2 = neopixel. NeoPixel (pin2, 8)
l1 = machine. Pin (4, machine. Pin. OUT)
b1 = machine. Pin (5, machine. Pin. IN, machine. Pin. PULL_UP)
b3 = machine. Pin (2, machine. Pin. IN, machine. Pin. PULL_UP)
b2 = machine. Pin (0, machine. Pin. IN, machine. Pin. PULL_UP)
l1. giá trị (0)
def tglled (): # chức năng đèn LED chuyển đổi 'yêu cầu'
nếu l1.value () == 0:
l1. giá trị (1)
khác:
l1. giá trị (0)
x = 0
b1temp1 = 0
b1temp2 = 0
t = 0
b2temp1 = 0
b2temp2 = 0
b3temp1 = 0
b3temp2 = 0
s = 0
trong khi Đúng:
# Đây là nút bật tắt đèn LED 'yêu cầu'
b1temp2 = b1.value ()
nếu b1temp1 chứ không phải b1temp2:
tglled ()
time.sleep (0,05)
b1temp1 = b1temp2
# Đây là lưới
np2 [0] = np [11]
nếu l1.value () == 1:
np2 [1] = (30, 0, 0)
khác:
np2 [1] = (0, 0, 30)
np2.write ()
# Đây là nơi chúng tôi chọn lượng thời gian chúng tôi cần
nếu t == 0:
cho tôi trong phạm vi (-1, 12):
if (l1.value () == 0):
if (adc.read ()> = (85,34 * (i + 1))):
np = (0, 0, 0)
np [11] = (0, 0, 30)
s = (i + 1)
khác:
np = (0, 0, 30)
np.write ()
khác:
np = (0, 0, 0)
np.write ()
# Đây là nút để bắt đầu hẹn giờ
if (l1.value () == 0) và (t == 0):
b2temp2 = b2.value ()
nếu b2temp1 và không phải b2temp2:
x + = 1
t + = (s * 100)
time.sleep (0,05)
b2temp1 = b2temp2
# Nút này kết thúc bộ hẹn giờ
if (l1.value () == 0):
b3temp2 = b3.value ()
nếu b3temp1 và không phải b3temp2:
x = 0
t = 0
time.sleep (0,05)
b3temp1 = b3temp2
# Đây là bộ đếm thời gian
nếu x> 0:
t + = 1
if (t> 0) and (t <= 100): # Thay đổi thời gian
np [0] = (5, 30, 0)
np [1] = (5, 30, 0)
np [2] = (5, 30, 0)
np [3] = (5, 30, 0)
np [4] = (5, 30, 0)
np [5] = (5, 30, 0)
np [6] = (5, 30, 0)
np [7] = (5, 30, 0)
np [8] = (5, 30, 0)
np [9] = (5, 30, 0)
np [10] = (5, 30, 0)
np [11] = (5, 30, 0)
np.write ()
if (t> 100) and (t <= 200): # Thay đổi thời gian
np [0] = (0, 0, 0)
np [1] = (10, 30, 0)
np [2] = (10, 30, 0)
np [3] = (10, 30, 0)
np [4] = (10, 30, 0)
np [5] = (10, 30, 0)
np [6] = (10, 30, 0)
np [7] = (10, 30, 0)
np [8] = (10, 30, 0)
np [9] = (10, 30, 0)
np [10] = (10, 30, 0)
np [11] = (10, 30, 0)
np.write ()
if (t> 200) and (t <= 300): # Thay đổi thời gian
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (15, 30, 0)
np [3] = (15, 30, 0)
np [4] = (15, 30, 0)
np [5] = (15, 30, 0)
np [6] = (15, 30, 0)
np [7] = (15, 30, 0)
np [8] = (15, 30, 0)
np [9] = (15, 30, 0)
np [10] = (15, 30, 0)
np [11] = (15, 30, 0)
np.write ()
if (t> 300) and (t <= 400): # Thay đổi thời gian
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (20, 30, 0)
np [4] = (20, 30, 0)
np [5] = (20, 30, 0)
np [6] = (20, 30, 0)
np [7] = (20, 30, 0)
np [8] = (20, 30, 0)
np [9] = (20, 30, 0)
np [10] = (20, 30, 0)
np [11] = (20, 30, 0)
np.write ()
if (t> 400) và (t <= 500): # Thay đổi thời gian
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (25, 30, 0)
np [5] = (25, 30, 0)
np [6] = (25, 30, 0)
np [7] = (25, 30, 0)
np [8] = (25, 30, 0)
np [9] = (25, 30, 0)
np [10] = (25, 30, 0)
np [11] = (25, 30, 0)
np.write ()
if (t> 500) and (t <= 600): # Thay đổi thời gian
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (30, 30, 0)
np [6] = (30, 30, 0)
np [7] = (30, 30, 0)
np [8] = (30, 30, 0)
np [9] = (30, 30, 0)
np [10] = (30, 30, 0)
np [11] = (30, 30, 0)
np.write ()
if (t> 600) và (t <= 700): # Thay đổi thời gian
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (0, 0, 0)
np [6] = (30, 25, 0)
np [7] = (30, 25, 0)
np [8] = (30, 25, 0)
np [9] = (30, 25, 0)
np [10] = (30, 25, 0)
np [11] = (30, 25, 0)
np.write ()
if (t> 700) và (t <= 800): # Thay đổi thời gian
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (0, 0, 0)
np [6] = (0, 0, 0)
np [7] = (30, 20, 0)
np [8] = (30, 20, 0)
np [9] = (30, 20, 0)
np [10] = (30, 20, 0)
np [11] = (30, 20, 0)
np.write ()
if (t> 800) và (t <= 900): # Thay đổi thời gian
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (0, 0, 0)
np [6] = (0, 0, 0)
np [7] = (0, 0, 0)
np [8] = (30, 15, 0)
np [9] = (30, 15, 0)
np [10] = (30, 15, 0)
np [11] = (30, 15, 0)
np.write ()
if (t> 900) và (t <= 1000): # Thay đổi thời gian
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (0, 0, 0)
np [6] = (0, 0, 0)
np [7] = (0, 0, 0)
np [8] = (0, 0, 0)
np [9] = (30, 10, 0)
np [10] = (30, 10, 0)
np [11] = (30, 10, 0)
np.write ()
if (t> 1000) và (t <= 1100): # Thay đổi thời gian
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (0, 0, 0)
np [6] = (0, 0, 0)
np [7] = (0, 0, 0)
np [8] = (0, 0, 0)
np [9] = (0, 0, 0)
np [10] = (30, 5, 0)
np [11] = (30, 5, 0)
np.write ()
if (t> 1100) và (t <= 1200): # Thay đổi thời gian
np [0] = (0, 0, 0)
np [1] = (0, 0, 0)
np [2] = (0, 0, 0)
np [3] = (0, 0, 0)
np [4] = (0, 0, 0)
np [5] = (0, 0, 0)
np [6] = (0, 0, 0)
np [7] = (0, 0, 0)
np [8] = (0, 0, 0)
np [9] = (0, 0, 0)
np [10] = (0, 0, 0)
np [11] = (30, 0, 0)
np.write ()
nếu t> = 1300: # Thay đổi thời gian
t = 0
x = 0
Bước 7: Hoàn thiện các lần chạm
Bây giờ, khi bạn đã đến đây, bạn sẽ có mã làm việc được tải lên NodeMCU và tất cả các bộ phận được kết nối với breadboard. Sau khi bạn đã thử mã và cắt bất kỳ phần nào bạn có cho bên ngoài, tức là vỏ cắt bằng laser, bây giờ bạn có thể hàn dây với NodeMCU. Việc hàn là tùy chọn nhưng có thể làm cho nó an toàn hơn và nhỏ hơn cho vỏ của bạn. Dưới đây là một số bộ phận cắt bằng laser mà chúng tôi đã thực hiện.
Đề xuất:
MÔ PHỎNG TRÒ CHƠI TỰ LÀM MÔ PHỎNG -- MÔ PHỎNG F1: 5 bước
MÔ PHỎNG TRÒ CHƠI TỰ LÀM MÔ PHỎNG || F1 MÔ PHỎNG: Xin chào mọi người Chào mừng đến với kênh của tôi, Hôm nay tôi sẽ giới thiệu cho các bạn cách tôi xây dựng " Trình mô phỏng trò chơi đua xe " với sự trợ giúp của Arduino UNO. đây không phải là một blog xây dựng, nó chỉ là tổng quan và thử nghiệm của trình mô phỏng. Sắp có blog xây dựng hoàn chỉnh
Động cơ bước với Dép xỏ ngón và Hẹn giờ 555; Phần đầu tiên của mạch Bộ hẹn giờ 555: 3 bước
Động cơ bước với Dép xỏ ngón và Hẹn giờ 555; Phần đầu của mạch Bộ hẹn giờ 555: Động cơ bước là động cơ DC chuyển động theo các bước rời rạc, nó thường được sử dụng trong máy in và thậm chí cả robot. Tôi sẽ giải thích mạch này theo các bước. Phần đầu tiên của mạch là 555 bộ đếm thời gian. Đây là hình ảnh đầu tiên (xem ở trên) với chip 555 w
Trồng nhiều rau diếp trong ít không gian hơn hoặc Trồng rau diếp trong không gian, (nhiều hơn hoặc ít hơn).: 10 bước
Trồng nhiều rau diếp hơn trong ít không gian hơn hoặc … Trồng rau diếp trong không gian, (Nhiều hơn hoặc ít hơn): Đây là bài dự thi chuyên nghiệp cho Cuộc thi trồng trọt ngoài Trái đất, được gửi thông qua Huấn luyện viên. Tôi không thể vui mừng hơn khi được thiết kế cho sản xuất cây trồng vũ trụ và đăng Tài liệu hướng dẫn đầu tiên của mình. Để bắt đầu, cuộc thi yêu cầu chúng tôi
Bộ vi điều khiển AVR. Đèn LED Flasher sử dụng bộ hẹn giờ. Bộ hẹn giờ Ngắt. Chế độ hẹn giờ CTC: 6 bước
Bộ vi điều khiển AVR. Đèn LED Flasher sử dụng bộ hẹn giờ. Bộ hẹn giờ Ngắt. Chế độ hẹn giờ CTC: Xin chào các bạn! Bộ hẹn giờ là một khái niệm quan trọng trong lĩnh vực điện tử. Mọi thành phần điện tử hoạt động trên cơ sở thời gian. Cơ sở thời gian này giúp giữ cho tất cả các công việc được đồng bộ hóa. Tất cả các bộ vi điều khiển đều hoạt động ở một số tần số xung nhịp được xác định trước,
Bộ hẹn giờ NE555 - Định cấu hình Bộ hẹn giờ NE555 trong một cấu hình có thể linh hoạt: 7 bước
Bộ hẹn giờ NE555 | Đặt cấu hình Bộ hẹn giờ NE555 trong một cấu hình linh hoạt: Bộ định thời NE555 là một trong những IC được sử dụng phổ biến nhất trong thế giới điện tử. Nó ở dạng DIP 8, có nghĩa là nó có 8 chân