Мазмұны:
- 1 -қадам: өзара әрекеттесуге арналған бейне
- 2 -қадам: Мәселе туралы мәлімдеме
- 3 -қадам: Бұл қалай жұмыс істейтініне шолу
- 4 -қадам: материалдар мен құралдардың тізімі
- 5 -қадам: Ғимарат тақтасынан құрылысты бастаңыз
- 6 -қадам: кодты іске қосу
- 7 -қадам: Түртуді аяқтау
Бейне: Оқу бөлмесінің таймері: 7 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Оқу кабинетінің таймерін құру бойынша нұсқаулық.
1 -қадам: өзара әрекеттесуге арналған бейне
drive.google.com/file/d/12z5zQR52AXILX2AGb3EplfbmZWANZiCl/view?usp=drivesdk
2 -қадам: Мәселе туралы мәлімдеме
Көбінесе оқу бөлмелері әрқашан алынады. Бұл адамдар бөлмеде қажет болғаннан ұзақ уақыт болғанды ұнататындықтан болады. Біз әр адамға барлығы 2 сағаттан және бөлмеге келесі топ болуды сұрай алатын адамдарды күтуге мүмкіндік беретін таймер жасадық. Неопиксельдерде RGB қолдану қалған уақытты білдіреді.
3 -қадам: Бұл қалай жұмыс істейтініне шолу
Таймер лазерлік кескішпен кесілген бөліктерден тұрады, 3 түйме, 1 жарық диоды, 1 потенциометр.
Неопиксельдер мен потенциометр NodeMCU -ге қосылады. NodeMCU дөңгелек неопиксель жолағында жарықдиодты шамдардың мөлшерін өзгерту үшін потенциометр қаншалықты бұрылғанын қайта реттеуге арналған. Сұрау батырмасы Start, Stop және Set time функциясының жұмысын тоқтатады. Бөлме ішіндегі таймердегі жарықдиодты шамдардың түсі қораптың бүйіріндегі жарықдиодты шаммен бірдей. Қораптың бүйіріндегі неопиксель ғимараттың вестибюльіндегі дисплейді білдіреді, ол қай бөлменің алынғанын және қанша уақыт қалғанын біледі. Әр бөлмеге 2 светодиод тағайындалады, бір жарық диоды бөлме қабылданғанын білдіреді, ал екіншісі жарықдиодты таймердегі түске шағылыстырады (жасыл - көбірек, содан кейін сары, содан кейін қызылға аз уақыт).
4 -қадам: материалдар мен құралдардың тізімі
-Таза акрил
-MicroUSB кабелі
www.digikey.com/product-detail/kz/stewart-…
-Нан тақтасы
www.amazon.com/gp/product/B01EV6LJ7G/ref=o…
-Потенциометр
www.alliedelec.com/honeywell-380c32500/701…
-3 түйме
www.digikey.com/product-detail/kz/te-conne…
-NodeMCU
www.amazon.com/gp/product/B07CB4P2XY/ref=o…
- 2 неопиксельді жолақ
www.amazon.com/Lighting-Modules-NeoPixel-W…
-Резисторлар
www.digikey.com/product-detail/kz/te-conne…
- Сымдар
www.digikey.com/product-detail/kz/sparkfun…
-1 жарық диоды
www.mouser.com/ProductDetail/Cree-Inc/C512…
-Ыстық желім пистолеті
www.walmart.com/ip/AdTech-Hi-Temp-Mini-Hot…
-жабысқақ ленталар
www.amazon.com/VELCRO-Brand-90076-Fastener…
5 -қадам: Ғимарат тақтасынан құрылысты бастаңыз
Потенциометрдегі A0 -ге дейінгі түйреуіш
Vin to Neopixel сақинасын қосады
Потенциометрдің бір жағына 3v3
NodeMCU -да жерге қосуға барлық негіз бар
D1 түймесін сұрау үшін
Жарықдиодты сұрау үшін D2
Бастау түймесі үшін D3
Тоқтату түймесі үшін D4
D5 сақинадағы неопиксельді кіріс резисторына
D6 Neopixel кіріс жолағына резистор
6 -қадам: кодты іске қосу
Бұл сіздің жобаңыздың осы уақытқа дейін жұмыс істейтініне көз жеткізу үшін код. Таймер неопиксель сақинасындағы жарық диоды үшін бірнеше секунд болуы керек. Сіз осы уақытқа дейін жұмыс істейтінін білгеннен кейін, төмендегі мәлімдемелер көрсетілген уақытқа дейін өзгеруі керек. Егер сіз уақытты бөлу үшін өзгерту қажет мәлімдемелер болса, мен әр уақытқа '#Уақытты өзгертемін' қоямын.
Кодты қолданып көріңіз:
уақытты импорттау
импорт уақыты
ADC машиналық импортынан
импорт машинасы
неопикселді импорттау
adc = ADC (0)
pin = machine. Pin (14, machine. Pin. OUT)
np = неопиксель. NeoPixel (түйреуіш, 12)
pin2 = машина. Түйреу (12, машина. Қысқыш).
np2 = неопиксель. 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.мән (0)
def tglled (): # «сұрау» жарықдиодты функциясын ауыстырады
егер l1.value () == 0:
l1.мән (1)
басқа:
l1.мән (0)
x = 0
b1temp1 = 0
b1temp2 = 0
t = 0
b2temp1 = 0
b2temp2 = 0
b3temp1 = 0
b3temp2 = 0
s = 0
шындық кезінде:
# Бұл «сұраныс» жарық диодты қосатын түйме
b1temp2 = b1.value ()
егер b1temp2 емес, b1temp2:
tglled ()
уақыт.ұйқы (0.05)
b1temp1 = b1temp2
# Бұл тор
np2 [0] = np [11]
егер l1.value () == 1:
np2 [1] = (30, 0, 0)
басқа:
np2 [1] = (0, 0, 30)
np2.write ()
# Бұл жерде біз қанша уақыт қажет екенін таңдаймыз
егер t == 0 болса:
i үшін (-1, 12):
егер (l1.value () == 0):
егер (adc.read ()> = (85.34 * (i+1))):
np = (0, 0, 0)
np [11] = (0, 0, 30)
s = (i + 1)
басқа:
np = (0, 0, 30)
np.write ()
басқа:
np = (0, 0, 0)
np.write ()
# Бұл таймерді іске қосатын түйме
егер (l1.value () == 0) және (t == 0):
b2temp2 = b2.value ()
егер b2temp2 емес, b2temp2:
x += 1
t += (s * 100)
уақыт.ұйқы (0.05)
b2temp1 = b2temp2
# Бұл түйме таймерді аяқтайды
егер (l1.value () == 0):
b3temp2 = b3.value ()
b3temp2 болса, b3temp2 емес:
x = 0
t = 0
уақыт.ұйық (0.05)
b3temp1 = b3temp2
# Бұл таймер
егер x> 0 болса:
t += 1
егер (t> 0) және (t <= 100): #Уақытты өзгерту
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 ()
егер (t> 100) және (t <= 200): #Уақытты өзгерту
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 ()
егер (t> 200) және (t <= 300): #Уақытты өзгерту
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 ()
егер (t> 300) және (t <= 400): #Уақытты өзгерту
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 ()
егер (t> 400) және (t <= 500): #Уақытты өзгерту
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 ()
егер (t> 500) және (t <= 600): #Уақытты өзгерту
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 ()
егер (t> 600) және (t <= 700): #Уақытты өзгерту
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 ()
егер (t> 700) және (t <= 800): #Уақытты өзгерту
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 ()
егер (t> 800) және (t <= 900): #Уақытты өзгерту
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 ()
егер (t> 900) және (t <= 1000): #Уақытты өзгерту
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 ()
егер (t> 1000) және (t <= 1100): #Уақытты өзгерту
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 ()
егер (t> 1100) және (t <= 1200): #Уақытты өзгерту
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 ()
егер t> = 1300: #Уақытты өзгерт
t = 0
x = 0
7 -қадам: Түртуді аяқтау
Енді сіз осы жерге жеткеннен кейін NodeMCU жұмыс кодын жүктеп алуыңыз керек және оның барлық бөліктері тақтаға қосылуы керек. Сіз кодты қолданып, сыртқы бөлшектерді, яғни лазерлік қаптаманы кесіп алғаннан кейін, енді сымдарды NodeMCU -ге дәнекерлей аласыз. Дәнекерлеу міндетті емес, бірақ оны қаптаманың қауіпсіздігі мен кішірейтуі мүмкін. Міне, біз жасаған лазермен кесілген бөлшектер.
Ұсынылған:
MicroBit бөлмесінің толуын есептегіш пен контроллер: 4 қадам
MicroBit бөлмелерінің толуын есептегіш пен контроллер: Пандемия кезінде вирустың таралуын төмендетудің бір жолы - адамдар арасындағы физикалық алшақтықты барынша арттыру. Бөлмелерде немесе дүкендерде кез келген уақытта жабық кеңістікте қанша адам болатынын білу пайдалы болар еді
D Flip Flops және 555 таймері бар қадамдық қозғалтқыш; Циркуляцияның бірінші бөлігі 555 таймері: 3 қадам
D Flip Flops және 555 таймері бар қадамдық қозғалтқыш; Электр тізбегінің бірінші бөлігі 555 таймері: қадамдық қозғалтқыш - бұл тұрақты қозғалтқыш, ол дискретті қадаммен қозғалады, ол көбінесе принтерлерде, тіпті робот техникасында қолданылады, мен бұл схеманы қадаммен түсіндіремін. тізбектің бірінші бөлігі - 555 таймер. Бұл 555 чипі бар бірінші сурет (жоғарыдан қараңыз)
Қашу бөлмесінің декодер қорабы: 7 қадам (суреттермен)
Escape Room Decoder Box: Escape Rooms - бұл өте қызықты және командалық жұмыс үшін тамаша. Сіз өзіңіздің жеке қашу бөлмеңізді құру туралы ойладыңыз ба? Бұл декодер қорабының көмегімен сіз жақсы жолға түсе аласыз! Ескертуді пайдалану туралы ойланғаныңыз жақсы
Ws2812 төсек бөлмесінің шамы: 6 қадам (суреттермен)
Ws2812 төсек -орындық лампа: Сәлеметсіз бе, мен смартфоннан немесе браузері бар кез келген құрылғыдан басқаруға және Apple Home -ге қарағанда интеграциялану үшін төсек -орын лампасын қайта құруды шештім. Мақсаттар: 1. Жарықтықты, түсті немесе анимацияны/эффекттерді басқару үшін WS2812b светодиодты пайдаланыңыз. Біз
Жұмыс үстеліндегі үй/кеңсе бөлмесінің температурасын бақылаңыз: 4 қадам
Жұмыс үстеліндегі үй/кеңсе бөлмесінің температурасын бақылаңыз: Бөлмелерді немесе кеңселерді немесе біз бұл жобаны қолдана алатын кез келген жерді бақылау үшін, ол график, нақты уақыт температурасы және тағы басқалар сияқты көптеген мәліметтермен көрсетіледі. Біз мыналарды қолданамыз: https://thingsio.ai/ Ең алдымен, біз осы IoT платформасында тіркелуіміз керек