Სარჩევი:
- ნაბიჯი 1: ურთიერთქმედების ვიდეო
- ნაბიჯი 2: პრობლემის განცხადება
- ნაბიჯი 3: მიმოხილვა როგორ მუშაობს
- ნაბიჯი 4: მასალებისა და ინსტრუმენტების სია
- ნაბიჯი 5: დაიწყეთ მშენებლობა პურის დაფით
- ნაბიჯი 6: კოდის დაწყება
- ნაბიჯი 7: შეხების დასრულება
ვიდეო: სასწავლო ოთახის ტაიმერი: 7 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ინსტრუქცია სასწავლო ოთახისთვის ტაიმერის შესაქმნელად.
ნაბიჯი 1: ურთიერთქმედების ვიდეო
drive.google.com/file/d/12z5zQR52AXILX2AGb3EplfbmZWANZiCl/view?usp=drivesdk
ნაბიჯი 2: პრობლემის განცხადება
უმეტეს დროს სასწავლო ოთახებს ყოველთვის იღებენ. ეს ხდება იმიტომ, რომ ადამიანებს მოსწონთ ოთახში ყოფნა იმაზე დიდხანს, ვიდრე მათ სჭირდებათ. ჩვენ შევქმენით ტაიმერი, რომელიც თითოეულ ადამიანს აძლევს 2 საათს და ადამიანები, რომლებიც ელოდებიან ოთახის მომდევნო ჯგუფში შესვლის შესაძლებლობას. Neopixels– ზე RGB– ის გამოყენება გამოხატავს დარჩენილ დროს.
ნაბიჯი 3: მიმოხილვა როგორ მუშაობს
ტაიმერი შედგება ლაზერული საჭრელით დაჭრილი ნაწილებისგან, 3 ღილაკი, 1 LED, 1 პოტენომეტრი.
ნეოპიქსელები და პოტენომეტრი არის მიერთებული NodeMCU– ზე. NodeMCU დაპროგრამებულია იმისათვის, რომ მოახდინოს რეგულირება, თუ რამდენად შორს არის პოტენომეტრი, რომ შეცვალოს LED- ების რაოდენობა, რომლებიც განათებულია წრიულ ნეოპიქსელურ ზოლზე. მოთხოვნის ღილაკი აჩერებს დაწყების, გაჩერების და დროის დაყენების ფუნქციას. ოთახის შიგნით ტაიმერზე LED- ების ფერი იგივე ფერია, რომელიც განათებულია ყუთის მხარეს. ყუთის გვერდით მდებარე ნეოპიქსელი წარმოადგენს შენობის სადარბაზოს ჩვენებას იმის გასაგებად, თუ რომელი ოთახია გადაღებული და რამდენი დრო დარჩა. თითოეული ოთახისთვის ინიშნება 2 შუქდიოდური შუქი, ერთი შუქდიოდური არის ოთახის გადაღება, ხოლო მეორე LED ასახავს ტაიმერს LED- ის ფერი (მწვანე უფრო მეტი დროა, შემდეგ ყვითელი, შემდეგ წითელი ნაკლები დროით).
ნაბიჯი 4: მასალებისა და ინსტრუმენტების სია
-წმინდა აკრილის
-MicroUSB კაბელი
www.digikey.com/product-detail/en/stewart-…
-პურის დაფა
www.amazon.com/gp/product/B01EV6LJ7G/ref=o…
-პოტენომეტრი
www.alliedelec.com/honeywell-380c32500/701…
-3 ღილაკი
www.digikey.com/product-detail/en/te-conne…
-NodeMCU
www.amazon.com/gp/product/B07CB4P2XY/ref=o…
- 2 ნეოპიქსელის ზოლები
www.amazon.com/Lighting-Modules-NeoPixel-W…
-რეზისტები
www.digikey.com/product-detail/en/te-conne…
- მავთულები
www.digikey.com/product-detail/en/sparkfun…
-1 LED
www.mouser.com/ProductDetail/Cree-Inc/C512…
-ცხელი წებოს იარაღი
www.walmart.com/ip/AdTech-Hi-Temp-Mini-Hot…
-წებოვანი Velcro ზოლები
www.amazon.com/VELCRO-Brand-90076-Fastener…
ნაბიჯი 5: დაიწყეთ მშენებლობა პურის დაფით
A0 შუა პინზე პოტენციომეტრზე
Vin to Power on Neopixel ბეჭედი
3v3 პოტენომეტრის ერთ მხარეს
ყველა საფუძველი დასაბუთებულია NodeMCU– ზე
D1 ღილაკს მოთხოვნა
D2 მოითხოვეთ LED
D3 დაწყების ღილაკი
D4 გაჩერების ღილაკი
D5 to resistor to Neopixel Input on ring
D6 რეზისტენტამდე ნეოპიქსელის შეყვანის ზოლზე
ნაბიჯი 6: კოდის დაწყება
ეს არის კოდი იმის დასადასტურებლად, რომ თქვენი პროექტი ჯერჯერობით მუშაობს. ტაიმერი უნდა იყოს მხოლოდ რამდენიმე წამი თითო LED- ზე ნეოპიქსელის ბეჭედზე. მას შემდეგ რაც გაიგებთ რომ ის მუშაობს ამ მომენტამდე, თქვენ მხოლოდ უნდა შეცვალოთ დრო ქვემოთ მოცემული განცხადებების თქვენს მითითებულ დიაპაზონში. თითოეულ დროს დავაყენებ "#შეცვლის დროს" იმ განცხადებებს, რომლებიც თქვენ უნდა შეცვალოთ თქვენი დროის გამოყოფისთვის.
სცადეთ კოდი:
იმპორტის უტიმი
იმპორტის დრო
მანქანების იმპორტიდან ADC
იმპორტის მანქანა
ნეოპიქსელის იმპორტი
adc = ADC (0)
pin = მანქანა. pin (14, მანქანა. pin. OUT)
np = ნეოპიქსელი. NeoPixel (პინი, 12)
pin2 = მანქანა. pin (12, მანქანა. pin. OUT)
np2 = ნეოპიქსელი. NeoPixel (pin2, 8)
l1 = მანქანა. პინი (4, მანქანა. პინი. მარშრუტი)
b1 = მანქანა. პინი (5, მანქანა. პინ. ინ, მანქანა. პინ. PULL_UP)
b3 = მანქანა. პინი (2, მანქანა. პინ. ინ, მანქანა. პინ. PULL_UP)
b2 = მანქანა. პინი (0, მანქანა. პინ. ინ, მანქანა. პინ. PULL_UP)
l1. ღირებულება (0)
def tglled (): # გადართვა 'მოთხოვნის' LED ფუნქცია
თუ l1. ღირებულება () == 0:
l1. ღირებულება (1)
სხვა:
l1. ღირებულება (0)
x = 0
b1temp1 = 0
b1temp2 = 0
t = 0
b2temp1 = 0
b2temp2 = 0
b3temp1 = 0
b3temp2 = 0
s = 0
მართალია:
# ეს არის ღილაკი, რომელიც ცვლის "მოთხოვნის" LED- ს
b1temp2 = b1. ღირებულება ()
თუ b1temp1 და არა b1temp2:
tglled ()
დრო. ძილი (0.05)
b1temp1 = b1temp2
# ეს არის ბადე
np2 [0] = np [11]
თუ l1. ღირებულება () == 1:
np2 [1] = (30, 0, 0)
სხვა:
np2 [1] = (0, 0, 30)
np2.write ()
# ეს არის ის, სადაც ჩვენ ვირჩევთ რამდენი დრო გვჭირდება
თუ t == 0:
მე დიაპაზონში (-1, 12):
თუ (l1. ღირებულება () == 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. ღირებულება () == 0) და (t == 0):
b2temp2 = b2. მნიშვნელობა ()
თუ b2temp1 და არა b2temp2:
x += 1
t += (s * 100)
დრო. ძილი (0.05)
b2temp1 = b2temp2
# ეს ღილაკი ამთავრებს ტაიმერს
თუ (l1. ღირებულება () == 0):
b3temp2 = b3. მნიშვნელობა ()
თუ b3temp1 და არა 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– ზე. შედუღება არჩევითია, მაგრამ შეიძლება გახადოს ის უფრო უსაფრთხო და პატარა თქვენი გარსაცმისთვის. აქ არის რამოდენიმე ლაზერული ნაწილის ნაწილი, რომელიც ჩვენ გავაკეთეთ.
გირჩევთ:
A9G GPS & GPRS მოდულის სასწავლო - აი-მოაზროვნე - AT ბრძანებები: 7 ნაბიჯი
A9G GPS & GPRS მოდულის სასწავლო | აი-მოაზროვნე | AT ბრძანებები: ჰეი, რა ხდება, ბიჭებო! აქარში აქ CETech– დან. დღეს ჩვენ ვაპირებთ A9G GPS– ის, GSM– ის და GPRS მოდულის AI Thinker– დან გავლას. არსებობს რამდენიმე სხვა მოდული, როგორიცაა A9 და A6 AI Thinker– დან, რომლებსაც აქვთ მსგავსი GSM და GPRS შესაძლებლობები, მაგრამ
შუქნიშნის სასწავლო თამაში: 5 ნაბიჯი
შუქნიშნის სწავლის თამაში: ამ გაკვეთილში თქვენ შეისწავლით თუ როგორ უნდა შექმნათ Arduino შუქნიშნის სასწავლო თამაში. თამაშის საშუალებით ბავშვებს შეუძლიათ შეამოწმონ აქვთ თუ არა მათ სწორი ცოდნა შუქნიშნებზე. თამაში დაყოფილია ორ ნაწილად, თუ მოთამაშე დაკავებულია
ხელების სარეცხი კრიტიკული საფეხური სასწავლო მანქანა: 5 ნაბიჯი
კრიტიკული ხელის დასაბანი ნაბიჯი სწავლების მანქანა: ეს არის მანქანა, რომელიც შეახსენებს მომხმარებელს იმ ნაბიჯებს, როდესაც მას სჭირდება ხელების დაბანა. ეს აპარატი მიზნად ისახავს ხალხს გააცნობიეროს, თუ როგორ უნდა დაიბანონ ხელები სწორად ეფექტური გზით. ეპიდემიის ან პანდემიის პრევენციის პერიოდში
მიიღეთ ზურგზე სასწავლო სამაჯური: 18 ნაბიჯი
მიიღეთ ზურგის სავარჯიშო სამაჯური: გგონიათ ოდესმე, რომ ვარჯიშის დროს ზურგის ტკივილის შეწყვეტა არ შეგიძლიათ? ყოველთვის უბიძგებთ საკუთარ თავს ძალიან შორს და იტანჯებით ამის გამო? თუ ასეა, " დაგიბრუნდი " ტრენინგის ბრეკეტი თქვენთვისაა! როგორც საშუალო სკოლის და კოლეჯის სპორტსმენები
ნახევარ მარათონის სასწავლო პროგრესის ნათურა: 7 ნაბიჯი
Half Marathon Training Progress Lamp: ეს ინსტრუქცია გაჩვენებთ თუ როგორ უნდა შექმნათ ტრიგერები და გააკეთოთ ნათურა, რომელიც ანათებს და დაზოგავს ფულს, როდესაც შეხვდებით სტანდარტებს Hal Higdon– ის შუალედური ნახევარ მარათონის სასწავლო განრიგში. ამისათვის თქვენ ჯერ უნდა მოაგროვოთ შემდეგი მასალები