Სარჩევი:
- მარაგები
- ნაბიჯი 1: სისტემის გაგება
- ნაბიჯი 2: წერა WebSocketServer
- ნაბიჯი 3: შექმენით სერიული ბრძანებების ოქმი
ვიდეო: LightMeUp! Realtime Cross-platformed LED Strip Control: 5 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
LightMeUp! არის სისტემა, რომელიც მე გამოვიგონე RGB LED- ზოლის რეალურ დროში გასაკონტროლებლად, ხოლო დაბალი ღირებულება და მაღალი შესრულება.
სერვერი დაწერილია Node.js და შესაბამისად cross-platformable.
ჩემს მაგალითში, მე ვიყენებ Raspberry Pi 3B- ს გრძელვადიანი გამოყენებისთვის, მაგრამ ჩემს Windows PC- ს დემონსტრაციისა და გამართვის მიზნით.
4 პინიანი ზოლი აკონტროლებს Arduino Nano ტიპის დაფას, რომელიც ასრულებს სერიულად მოცემულ ბრძანებებს, რომ გააგზავნოს PWM სიგნალები სამ ტრანზისტორზე, რომლებიც +12VDC- ს გადააქცევს ზოლის შესაბამის ფერს.
LightMeUp! სისტემა ასევე ამოწმებს საკუთარ ტემპერატურას, როდესაც ის 60 ° C- ს ზემოთ (140 ° F) აღწევს, ის ჩართავს 12 12VDC კომპიუტერის გულშემატკივარს, რომელიც ჩამონტაჟებულია კორპუსში, რათა გაგრილდეს და გააუმჯობესოს წრის სიცოცხლე.
LightMeUp– ის კიდევ ერთი მახასიათებელი! არის ბომბეი-საფირონის ჯინის ბოთლის განათება, მაგრამ ეს არ არის ამ ინსტრუქციის ყურადღების ცენტრში.
ისიამოვნეთ კითხვით:)
მარაგები
- არდუინო ნანო (ან ნებისმიერი სხვა ATmega328 / უფრო მაღალი დონის მიკროკონტროლერი)
- Raspberry Pi 3 Model B Node.js დაინსტალირებული (ან ნებისმიერი სხვა კომპიუტერი)
- 12V RGB 4 პინიანი LED ზოლები
- 12V 3A კვების ბლოკი
- Jumper კაბელები (რა თქმა უნდა, თუ თქვენ იყენებთ breadboard– ს კაცი – კაცი)
- პურის დაფა (სურვილისამებრ)
- 2 12V DC კომპიუტერის გულშემატკივარი (სურვილისამებრ)
- 3x TIP120 დარლინგტონის ტრანზისტორი გამათბობელთან ერთად (4 თუ გსურთ გაგრილების ვენტილატორების ჩართვა)
- 2 სტატუსის ები წითელი და მწვანე (სურვილისამებრ)
- 6, 7K NTC ტემპერატურაზე დაფუძნებული რეზისტორი + 6, 7K რეზისტორი (სურვილისამებრ)
- USB-Mini to USB 2.0 მონაცემთა კაბელი (Raspberry Pi– სთვის Arduino– სთან კომუნიკაციისთვის)
- გარეგანი კვების USB-Hub (სურვილისამებრ, მხოლოდ Raspberry Pi- სთვის)
ნაბიჯი 1: სისტემის გაგება
LightMeUp! ემყარება ძალიან მარტივ ელექტრონულ სქემას.
ჩვენ გვაქვს რაიმე სახის კომპიუტერი (ამ შემთხვევაში Raspberry Pi), რომელიც სერიულად დაუკავშირდება ჩვენს მიკროკონტროლერის დაფს. ეს დაფა ასრულებს კონკრეტულ სერიულ ბრძანებებს, როგორიცაა "RGB (255, 255, 255)", რომელიც გახდის ჩვენს LED- სტრიპს თეთრს.
მას შემდეგ რაც მივიღეთ ჩვენი სამი მნიშვნელობა RED, GREEN და BLUE, რომელიც აუცილებელია ჩვენი 4pin LED- ზოლისთვის, ჩვენ ვასრულებთ analogWrite (pin, მნიშვნელობა), რათა მივაწოდოთ ჩვენი TIP120 ტრანზისტორი PWM სიგნალით.
ეს PWM სიგნალი ტრანზისტორს საშუალებას აძლევს შეცვალოს შესაბამისი ფერის პინი, რომლის კოლექტორიც დაკავშირებულია მიწასთან, კონკრეტული ხარისხით ან მთლიანად ჩართვა / გამორთვით. დიახ, ბევრი "to":)
შერევით სამი ტრანზისტორი შედეგები LED ზოლები 'ფერი ქინძისთავები ჩვენ შეგვიძლია შევქმნათ ძირითადად ნებისმიერი ფერი გვსურს!
ახლა ამ გაგებით, ჩვენ შეგვიძლია შევაჩეროთ ამ პროექტის ყველაზე დიდი გამოწვევა, ვებსაიტის სერვერი და მისი სერიული კავშირი ჩვენს არდუინოსთან.
ნაბიჯი 2: წერა WebSocketServer
ახლა, ჩვენ უნდა შევქმნათ კონკრეტული სახის ვებ სერვერი, რომელიც საშუალებას გვაძლევს გადავიტანოთ მონაცემები წინ და უკან განახლების გარეშე ერთხელ, რათა მივაღწიოთ რეალურ დროში LED ზოლების კონტროლს.
გთხოვთ გაითვალისწინოთ, რომ რეალურ დროში კომუნიკაცია, რა თქმა უნდა, შეუძლებელია, ყოველთვის იქნება სულ მცირე რამოდენიმე მილიწამი დაგვიანებით, მაგრამ ადამიანის თვალით ეს მნიშვნელოვანია რეალურ დროში.
ამის მარტივად მიღწევა შესაძლებელია socket.io ბიბლიოთეკის გამოყენებით, თუ თქვენ იყენებთ Node.js- ს, როგორც მე. თუმცა, თქვენ ყოველთვის შეგიძლიათ დაიცვათ თქვენი საყვარელი პროგრამირების ენა, რა თქმა უნდა.
ჩვენ გვექნება საქმე ქსელურ კავშირთან, რომელიც საშუალებას გვაძლევს გადავიტანოთ შეყვანილი მონაცემები, როგორი ფერით გსურთ LED ზოლის დაყენება, ან სტატუსის მონაცემები, როგორიცაა "LED ON" ორმხრივად განახლების გარეშე.
კიდევ ერთი ძალიან მნიშვნელოვანი თვისება სერვერს უნდა ჰქონდეს, მაგრამ არ სჭირდება ეს არის მარტივი შესვლა. მე დავამყარე ჩემი შესვლა მარტივი მომხმარებლის სახელისა და პაროლის ველიდან. ეს ინფორმაცია იგზავნება სერვერის /შესვლის მარშრუტზე, რომელიც ადარებს მომხმარებლის სახელს მომხმარებლების სიას (.txt ფაილი) და მის შესაბამის პაროლს SHA256 დაშიფრული ფორმით. თქვენ არ გინდათ, რომ თქვენი მეზობლები არეულობდნენ თქვენს LED ზოლს, სანამ თქვენ მიირთმევთ თქვენს საყვარელ სასმელს თქვენს ყველაზე კომფორტულ სავარძელზე, არა?
ახლა მოდის სერვერის გული, სერიული კომუნიკაცია.
თქვენს სერვერს უნდა შეეძლოს სერიული კომუნიკაცია - Node.js– ში ამის მიღწევა შესაძლებელია პორტის გახსნით „სერიული პორტის“ბიბლიოთეკის გამოყენებით. მაგრამ ჯერ განსაზღვრეთ თქვენი arduino პორტის სახელი თქვენს კომპიუტერში, რომელიც სერვერს მასპინძლობს. თქვენი ოპერაციული სისტემიდან გამომდინარე, პორტებს ექნებათ განსხვავებული სახელები, ა. Windows- ზე ამ პორტებს ეწოდება "COMx" პორტები, ხოლო linux– ზე - "/dev/ttyUSBx", სადაც x არის USB პორტის ნომერი.
ნაბიჯი 3: შექმენით სერიული ბრძანებების ოქმი
ზემოთ მოცემულ სურათზე ხედავთ Arduino IDE კოდს, რომელიც პასუხისმგებელია RGB კონტროლზე. ამ ნაბიჯის მიზანი არის ის, რომ თქვენი ხელით დაწერილი სერვერი და Arduino დაფა წარმატებით ესაუბრონ ერთმანეთს.
მას შემდეგ რაც წარმატებით გახსენით თქვენი სერიული პორტი, თქვენ უნდა შეძლოთ ბრძანებების გაგზავნა დაფაზე, რომელიც ზრუნავს თქვენს სურვილებზე. მაგალითად, თუ ჩვენ ვხატავთ თითს HTML ვებგვერდზე ფერის ამომრჩევლის ზემოთ, RGB კოდი უნდა გაიგზავნოს სერვერზე, რომელიც შემდეგ აგზავნის მას თქვენს Arduino– ში, რათა დამუშავდეს დადგენილი მნიშვნელობები.
მე გამოვიყენე jscolor, მათ აქვთ მაღალი ხარისხის ფერების შერჩევის ელემენტის დიდი განხორციელება, რომელიც ფლობს ღონისძიებას სახელწოდებით "onFineChange", რომელიც საშუალებას გაძლევთ თქვენი პროცესის მონაცემები ფერის ამომრჩევიდან, როგორც კი მისი ღირებულებები შეიცვლება.
გირჩევთ:
RC კონტროლირებადი Rgb Led Strip: 4 ნაბიჯი (სურათებით)
RC კონტროლირებადი Rgb Led Strip: შექმენით თქვენი საკუთარი rc კონტროლირებადი led-strip ინდივიდუალური ოთახის განათებისთვის! Rgb-led-strips- ის უმეტესობა კონტროლდება ინფრაწითელი დისტანციური მართვის საშუალებით. მისი გამორთვის ან ჩართვის ან ფერის შესაცვლელად, თქვენ უნდა დარჩეთ მიმღების წინ. ეს მოსაწყენია და არ განმეორდება
აუდიო ვიზუალიზატორი არა მისამართით RGB LED Strip: 6 ნაბიჯი (სურათებით)
აუდიო ვიზუალიზატორი RGB LED Strip აუდიო ვიზუალიზატორი: მე მქონდა 12v RGB LED ზოლები ჩემი ტელევიზიის კაბინეტის გარშემო და ის კონტროლდება მოსაწყენი LED დრაივერის საშუალებით, რაც მე მაძლევს არჩევანს 16 წინასწარ დაპროგრამებული ფერებიდან! ბევრი მუსიკა, რომელიც მაძლევს მოტივაციას, მაგრამ განათება უბრალოდ არ ცვლის
RGB Led Strip Bluetooth კონტროლერი V3 + მუსიკალური სინქრონიზაცია + გარე განათების კონტროლი: 6 ნაბიჯი (სურათებით)
RGB Led Strip Bluetooth კონტროლერი V3 + მუსიკალური სინქრონიზაცია + გარე განათების კონტროლი: ეს პროექტი იყენებს arduino– ს თქვენს ტელეფონზე RGB led ზოლის გასაკონტროლებლად bluetooth– ის საშუალებით. თქვენ შეგიძლიათ შეცვალოთ ფერი, განათების სინქრონიზაცია მოახდინოთ მუსიკასთან ან გახადოთ ისინი ავტომატურად მორგებული გარემოს განათებაზე
ESP8266 RGB LED STRIP WIFI კონტროლი - NODEMCU როგორც IR დისტანციური მართვის წამყვანი ზოლისთვის, რომელიც კონტროლდება Wifi - RGB LED STRIP სმარტფონის კონტროლი: 4 ნაბიჯი
ESP8266 RGB LED STRIP WIFI კონტროლი | NODEMCU როგორც IR დისტანციური მართვის წამყვანი ზოლები Wifi- ზე კონტროლირებადი | RGB LED STRIP სმარტფონის კონტროლი: გამარჯობა ბიჭებო, ამ სახელმძღვანელოში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ nodemcu ან esp8266 როგორც IR დისტანციური მართვა RGB LED ზოლის გასაკონტროლებლად და Nodemcu კონტროლდება სმარტფონის მიერ wifi– ზე. ასე რომ, ძირითადად თქვენ შეგიძლიათ აკონტროლოთ RGB LED STRIP თქვენი სმარტფონით
Robo Blanket: Crochet a Blanket გამოყენებით Cross Stitch Pattern .: 3 ნაბიჯი (სურათებით)
Robo Blanket: Crochet a Blanket Using Cross Stitch Pattern .: მე მომწონს ქსოვა. მე ამას პატარაობიდან ვაკეთებ. ახლახანს აღმოვაჩინე, თუ როგორ უნდა დავხატო სურათები. ახლა მე გაჩვენებ როგორ. დაგჭირდებათ: ნართი სხვადასხვა ფერებში. ჯვარედინი სტიჩი ნიმუში (მე გამოვიყენე ზომა H) თქვენ შეგიძლიათ მიიღოთ cros