Სარჩევი:
- ნაბიჯი 1: სქემა და აპარატურა
- ნაბიჯი 2: მიღების PCB მასპინძლობს LED- ები
- ნაბიჯი 3: ყუთის დამზადება
- ნაბიჯი 4: ჰალსტუხის მომზადება
- ნაბიჯი 5: ფიბროპტიკების წებო
- ნაბიჯი 6: Fiberoptics მეშვეობით ჰალსტუხი
- ნაბიჯი 7: ფიბროპტიკების დამაგრება ჰალსტუხზე
- ნაბიჯი 8: კოდი
- ნაბიჯი 9: საბოლოო პროდუქტი
ვიდეო: Starry Sky Led Tie: 9 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
ცოტა ხნის წინ დოლარის მაღაზიაში ვიპოვე ბავშვის სათამაშო ბოჭკოვანი საშუალებებით და დავიწყე ფიქრი, რისი გაკეთება შემეძლო.
ერთ -ერთი გიჟური იდეა მქონდა, იყო ჰალსტუხის გაკეთება ვარსკვლავური ცის ეფექტით.
მე ჯერ კიდევ მქონდა arduino pro mini- ს, adafruit დაფები და ბატარეები, რომლებიც ალბათ მოერგებოდა ამ პროექტს.
ასე რომ, როგორც კი ვიპოვე მშვენიერი ჰალსტუხი ლომბარდის მაღაზიაში ჩემს ქალაქში და ვიპოვე ყუთი, რომელიც შეიძლება მოერგოს ტექნიკას, გადავწყვიტე წავიდე მასზე და ვცადო მისი აშენება.
ეს ინსტრუქცია გიჩვენებთ როგორ გავაკეთე ეს.
ის მუშაობს arduino pro mini, adafruit powerboost 500 დამტენზე, emmerich icr 18650nh-sp და 5 თეთრი LED- ით. კოდი შემთხვევით ხდის LED- ის შეცვლის სიკაშკაშეს. (ვიდეოს პირველი 40 წამი 3x სიჩქარეა)
ნაბიჯი 1: სქემა და აპარატურა
მე ვიყენებ შემდეგ ტექნიკას:
- PCB ყინულის თეთრი LED- ებით და 220 Ohm რეზისტენტებით.
-Arduino pro mini (მე knockoff გამოვიყენე)
-Adafruit Powerboost 500 დამტენი
-Emmerich Li-ion accu ICR-18650NH-SP
- ოპტიკური ბოჭკოები (სხვადასხვა ზომის)
ნაბიჯი 2: მიღების PCB მასპინძლობს LED- ები
მე დავჭრა PCB– ის ზოლები LED– ების ჩასატარებლად და გამოვიყენე LED ქინძისთავები, რომ შევაერთო იგი ძირითად PCB– ზე.
შეაერთეთ ყველა კათოდი (-) GND– სთან და გამოიყენეთ ქინძისთავების ნახევარი, რათა ის გამყარებულიყო მთავარ PCB– ზე.
ყველა ანოდი (+) დაუკავშირა რეზისტორებს და კაბელებით არდუინოს.
LED- ები თითოეული უნდა იყოს დაკავშირებული ერთ -ერთ შემდეგ PWM პორტებთან: 3, 5, 6, 9, 10, 11
სულელურად მე დავუშვი ბევრი შეცდომა ამ პროექტში და დამავიწყდა PWM პორტების სწორი შემოწმება, ამიტომ რამოდენიმე მოგვიანებით მომიწია გაყიდვა. შემოწმებულია მაღალი/დაბალი, ასე რომ მე ეს მხოლოდ მოგვიანებით შევამჩნიე.
მე დავიწყე 7 LED- ით, მაგრამ იყო მხოლოდ 6 PWM პორტი და ერთი LED- ის მე გადამყიდველი გარდაიცვალა. მე მხოლოდ 5 სამუშაო LED შევინახე და მეექვსეს არ ვიყენებ.
ნაბიჯი 3: ყუთის დამზადება
გამოვიყენე Bosch GRO (დრემელის მსგავსად) და საბურღი ბატარეის ფორმის, ღილაკის, მიკრო USB პორტის, არდუინოს სათაურები და ოპტიკური ბოჭკოები. (გამოიყენეთ მტვრის ნიღაბი!)
ბატარეა შეაერთეთ კორპუსში 2 ზოლით.
გამოიყენება ხრახნები ადაფრუტის დაფისა და PCB- ის დასაყენებლად.
გახსნისა და დახურვის ხახუნმა დააზიანა ზოგიერთი მავთული. მომიწია მათი გადაყიდვა და წებოს გამოყენება, რომ ეს აღარ განმეორდეს.
ნაბიჯი 4: ჰალსტუხის მომზადება
ამოღებული stitching საწყისი ქვედა ნაწილში ჰალსტუხი მოერგოს რეზინის ფურცელი.
ტექნიკის დასამალად და საჭიროების შემთხვევაში მაინც შემეძლება მასზე წვდომა, გადავწყვიტე გამოვიყენო zipper.
მე არ ვარ კარგი სამკერვალო მანქანით, ასე რომ ჩემმა ტკბილმა დედამ ჰალსტუხის უკანა მხარეს დაადო zipper.
ამის დასრულების შემდეგ, მე რეზინის ფურცელი დავაწებე ჰალსტუხში. მეშინოდა ზედმეტი წებოს გამოყენების, რომელიც ქსოვილს გაჯერებდა და ხილული იქნებოდა წინა ნაწილიდან, ამიტომ შევეცადე გამეხადა იგი და არ გამომეყენებინა ძალიან ბევრი. საერთო ჯამში, ის კარგად გამოიყურება, მაგრამ რამდენიმე ადგილას მე შევამჩნიე ძალიან ბევრი ან ძალიან ცოტა წებო, რადგან ის შემოვიდა ქსოვილში ან ქსოვილი არ იყო კარგად შეკრული. საბედნიეროდ, ეს მხოლოდ ძლივს ჩანს ახლო მანძილიდან ნათელ შუქზე.
ყუთი და ჰალსტუხი ახლა დასრულებულია. დროა წებოვანა ბოჭკოვანი საშუალებები!
ნაბიჯი 5: ფიბროპტიკების წებო
სათამაშოს ჰქონდა ერთი დიდი ბოჭკოვანი ბოჭკოვანი მავთული, რომელიც ადვილად იშლებოდა. თავიდან შევეცადე ერთმანეთის მიყოლა, მაგრამ მალევე შევამჩნიე, რომ უკეთესი იქნებოდა პატარა ჩალიჩების გაკეთება და ერთდროულად LED- ზე მიმაგრება. ეს გაადვილებს მის სტაბილურობას, სანამ წებო არ გაშრება. შეაშფოთა პირველი LED ამის გარკვევა.
დარწმუნდით, რომ გამოიყენოთ გამჭვირვალე წებო! ის, რაც მე გამოვიყენე, ძალიან ნელა გაშრა და სწრაფად გამშრალი წებო, რომელიც ვცადე პირველ LED- ზე, თეთრი გახდა, რაც პირველი LED– დან ზოგიერთ ბოჭკოს ნაკლებად ანათებდა.
მე წებოვანა პატარა შავი რეზინის ფურცლები, რათა თავიდან ავიცილოთ შუქის გაჟონვა თავზე და გამოვყოთ LED- ები.
ერთ -ერთმა ფურცელმა ხელი შეუშალა საქმის დახურვას, ამიტომ საფარის დახურვის მიზნით დავამატე რეზინის ბენდი.
ნაბიჯი 6: Fiberoptics მეშვეობით ჰალსტუხი
ქვემოდან დაწყებული, მე ნემსით ჩავახერხე ხვრელები და ბოჭკოები ერთმანეთის მიყოლებით ჩავდე. თითოეული LED- ის ბოჭკოები შემთხვევით ვრცელდება ჰალსტუხზე.
მე დავამატე შავი ზოლი უკანა მხარეს, რომელიც უნდა გასულიყო ჰალსტუხის უფრო მცირე ნაწილისთვის, რათა შეენარჩუნებინა ყუთის წონა, მაგრამ მას შემდეგ რაც ყველა მავთული გავაღე და ვიგრძენი მავთულის დაძაბულობა, გადავწყვიტე წებო ყველაფერი ჰალსტუხი იყო უკეთესი იდეა და გაწყვიტა ზოლები.
ვინაიდან სათამაშოდან ოპტიკურ ბოჭკოვანი მავთულები იმდენად მოკლე იყო, ძნელი იყო მათი ჰალსტუხის დაყენება. მე შეზღუდული ვიყავი ყუთის პოზიციონირებით და მიჭირდა ყველაფერი ისე გამეკეთებინა, როგორც მინდოდა.
ნაბიჯი 7: ფიბროპტიკების დამაგრება ჰალსტუხზე
ოპტიკურ ბოჭკოს ყველა მავთულს რეზინის ფურცელზე ვამაგრებდი, რათა მავთულები არ გამხდარიყო რეზინის ფურცლიდან და ჰალსტუხი გამხდარიყო.
იმისათვის, რომ დავრწმუნდე, რომ მე არ მიმაგრებია დამჭერი ჰალსტუხზე, როდესაც მასზე ზეწოლას ვაკეთებ, მე რამდენიმე ქაღალდი ჩავდე შუაში. ეს არ გამოიყურება მშვენივრად, მაგრამ კარგად მუშაობს. და თქვენ ვერ ხედავთ მას, როდესაც ის დახურულია.
მას შემდეგ, რაც წებო გაშრა, მე შევაწყვე მავთულები წინა მხარეს და ოდნავ მოვაცილე რეზინის ფურცელი ყველაზე მაღალი მავთულის ზემოთ, რადგან ჰალსტუხი იყო ძალიან გრძელი.
თეთრი პერანგით გადაღებული ფოტოები გადაღებულია მანამ, სანამ რეზინის ბოლო ნაწილს არ მოვჭრი.
ნაბიჯი 8: კოდი
კოდის ქვემოთ დავწერე ჰალსტუხისთვის.
ყველა LED- ს აქვს მითითებული "საშუალო" (არა სინამდვილეში საშუალო, არამედ საშუალო სიკაშკაშე).
როგორც კი მიაღწევს ამ საშუალო მაჩვენებელს, ის გადაწყვეტს 3/4 შანსით გადავიდეს დაბალ სიკაშკაშეს. ის ასევე შემთხვევით ადგენს ახალ მინიმალურ სიკაშკაშეს, მაქსიმალურ სიკაშკაშეს, მინიმალური და მაქსიმალური სიკაშკაშის ლოდინის დროს და სიჩქარე იზრდება ან მცირდება ყოველ რაუნდში (1-255) 5 წინასწარ განსაზღვრული მნიშვნელობიდან. შემდეგ ის გააკეთებს ციკლს, სანამ კვლავ არ მიაღწევს საშუალოს. მხოლოდ 2 LED შეიძლება იყოს მაღალ ციკლში ერთდროულად.
თითოეული მდგომარეობა წარმოდგენილია მთელი მნიშვნელობით (1-7), რომელიც განსაზღვრავს თუ არა ის საშუალო-დაბალი, დაბალი საშუალო, დაბალი ლოდინი, განახლება და ა.
Arduino– ზე კოდის ატვირთვის შესახებ ინფორმაციისათვის გთხოვთ გადახედოთ www.arduino.cc– ს
/ * ვარსკვლავური ცის ჰალსტუხი * * ეს არის სკრიპტი, რომელიც შემთხვევით აქრობს 5 LED- ს საშუალოდან ქვედა * ან უფრო მაღალ სიკაშკაშეს შემთხვევითი ქვედა, უფრო მაღალი და დროული პარამეტრებით *, რათა გამოიყურებოდეს ვარსკვლავურ ცაზე ბოჭკოვანი საშუალებების გამოყენებისას. * ამ შემთხვევაში ეს განხორციელდება ჰალსტუხი. * * ზემოთ/ქვემოთ შანსი = 1/4 ზემოთ, 3/4 ქვემოთ, მაქსიმუმ 2 * იზრდება მაქსიმუმამდე ერთდროულად. * * საშუალო უცვლელი რჩება. * მინიმალური, მაქსიმალური და დროის პარამეტრები იცვლება შემთხვევით * 5 ვარიანტიდან ყოველ ჯერზე, როდესაც LED კვლავ აღწევს საშუალოს. * * შექმნილია ბილი ჯასპერსის მიერ, 2019 წლის მაისი. *
/ გამოაცხადეთ ქინძისთავები
int LED01 = 3; int LED02 = 5; int LED03 = 6; int LED04 = 9; int LED05 = 11;
// დროის ცვლადი
ხელმოუწერელი long currentTime; ხელმოუწერელი ლოდინის დრო [5]; ხელმოუწერელი long lastRound;
// LED ცვლადები
int brightMin [5] = {10, 10, 10, 10, 10}; // მინიმალური სიკაშკაშე int brightAvg [5] = {200, 200, 200, 200, 200}; // საშუალო სიკაშკაშე int brightMax [5] = {240, 240, 240, 240, 240}; // მაქსიმალური სიკაშკაშე int timeWaitLow [5] = {1000, 1000, 1000, 1000, 1000}; // ლოდინის დრო int timeWaitAvg [5] = {5000, 5000, 5000, 5000, 5000}; // ლოდინის დრო int timeWaitMax [5] = {4000, 3000, 3000, 3000, 3000}; // ლოდინის დრო int
// LED ცვლადების შესაძლებლობები
int brightMinPos [5] = {5, 20, 40, 5, 20}; // მინიმალური სიკაშკაშის შესაძლებლობები int brightMaxPos [5] = {240, 245, 230, 225, 245}; // მაქსიმალური სიკაშკაშის შესაძლებლობები int timeLowPos [5] = {3000, 5000, 4000, 2000, 1000}; // ლოდინის დრო დაბალი სიკაშკაშის შესაძლებლობებზე int timeHighPos [5] = {3000, 1000, 500, 2000, 4000}; // ლოდინის დრო მაღალი სიკაშკაშის შესაძლებლობებზე int timeAvgPos [5] = {3000, 5000, 4000, 7000, 8000}; // ლოდინის დრო საშუალო სიკაშკაშის შესაძლებლობებში int incrementPos [5] = {2, 4, 5, 3, 1}; // სიკაშკაშის შესაძლებლობების გაზრდა
// ცვლადები
bool startup = true; // საჭიროა დაწყების პარამეტრების დაწყება?
// მიმართულების ცვლადები
/* 0 = ლოდინი საშუალოდ 1 = საშუალოზე დაბალზე გადასვლა 2 = ლოდინი დაბალი 3 = დაბალიდან საშუალოზე 4 = საშუალოზე გადასვლა მაქსიმუმ 5 = ლოდინი მაქსიმუმზე 6 = მაღალი დონის მომატება 7 = ცვლადების განახლება*/ int სტატუსი LED [5] = {0, 0, 0, 0, 0}; int თანხა HighLED = 0; int refreshRate = 50; bool statusWaiting [5] = {ყალბი, ყალბი, ყალბი, ყალბი, ყალბი}; // ელოდება ლედი?
// შემთხვევითი ცვლადები
გრძელი შემთხვევითი რიცხვი; // გრძელი შემთხვევითი რიცხვის შესანახად long randomNumberTwo; // დიდხანს ინახება მეორე შემთხვევითი რიცხვი
// მთვლელები
int i = 0; // მთვლელი მთავარი მარყუჟისთვის
void setup () {
Serial.begin (115200); // სერიული randomSeed დაწყება (analogRead (A0)); // შემთხვევითი თესლის დაყენება
// გამოაცხადოს შედეგები
pinMode (LED01, OUTPUT); pinMode (LED02, OUTPUT); pinMode (LED03, OUTPUT); pinMode (LED04, OUTPUT); pinMode (LED05, OUTPUT); }
// ჩაწერეთ მონაცემები LED- ებზე
void writeToLED () {analogWrite (LED01, currentBright [0]); analogWrite (LED02, currentBright [1]); analogWrite (LED03, currentBright [2]); analogWrite (LED04, currentBright [3]); analogWrite (LED05, currentBright [4]); }
// მთავარი მარყუჟი
void loop () {if (გაშვება) {// გაშვების პარამეტრები lastRound = millis (); // ჩატვირთვის lastRound ჩატვირთვისათვის writeToLED (); // ჩაწერეთ დაწყების მონაცემები LED გაშვება = false; // გათიშვის გათიშვა} currentTime = millis (); // დააყენეთ მიმდინარე დრო
if (currentTime - lastRound> = refreshRate) {
for (i = 0; i <5; i ++) {if (statusLED == 7) {// -7- განახლებული Led randomNumber = შემთხვევითი (5); brightMin = brightMinPos [შემთხვევითი რიცხვი]; // დააყენეთ შემთხვევითი მნიშვნელობა მინიმალური სიკაშკაშისათვის randomNumber = შემთხვევითი (5); brightMax = brightMaxPos [შემთხვევითი რიცხვი]; // დააყენეთ შემთხვევითი მნიშვნელობა მაქსიმალური სიკაშკაშისათვის randomNumber = შემთხვევითი (5); timeWaitLow = timeLowPos [შემთხვევითი რიცხვი]; // ლოდინის დაბალი დროის შემთხვევითი მნიშვნელობის დადგენა randomNumber = შემთხვევითი (5); timeWaitMax = timeHighPos [შემთხვევითი რიცხვი]; // ლოდინის მაღალი დროის შემთხვევითი მნიშვნელობის დადგენა randomNumber = შემთხვევითი (5); timeWaitAvg = timeAvgPos [შემთხვევითი რიცხვი]; // ლოდინის საშუალო დროის შემთხვევითი მნიშვნელობის დადგენა randomNumber = შემთხვევითი (5); ნამატი = მატება დადებითი [შემთხვევითი რიცხვი]; // დააყენეთ შემთხვევითი მნიშვნელობა დამატებითი მნიშვნელობისათვის randomNumber = შემთხვევითი (2); // შემთხვევითი მნიშვნელობის მითითება randomNumberTwo = შემთხვევითი (2); // მითითებული შემთხვევითი მნიშვნელობა მიმართულებისათვის თუ (randomNumber == 1 && randomNumberTwo == 0 && amountHighLED = brightAvg ) {statusLED = 0; // თუ ყველაზე დაბალ წერტილშია: გადადით ლოდინის საშუალო} სხვაზე {currentBright = currentBright +მატება ; // სხვა: უმაღლესი სიკაშკაშე}} სხვა შემთხვევაში (statusLED == 2) {// -2- დაბალი ლოდინი თუ (! StatusWaiting ) {// თუ არ ელოდება: ელოდება დრო = millis (); // ლოდინის დროის დაყენება statusWaiting = true; // დაიწყეთ ლოდინი} სხვაგან თუ (statusWaiting && currentTime-waitTime > = timeWaitLow ) {// თუ ლოდინი და დრო გავიდაWaitAvg გავიდა: statusWaiting = false; // ლოდინის სტატუსის შეწყვეტა LED = 3; // დააყენეთ statusLed to ელოდება განახლებას}} სხვაგან თუ (statusLED == 1) {// -1- საშუალოზე დაბალია თუ (currentBright <= brightMin ) {statusLED = 2; // თუ ყველაზე დაბალ წერტილშია: გადადით Waiting Low} სხვაზე {currentBright = currentBright -გადიდება ; // სხვა: დაბალი სიკაშკაშე}} სხვა შემთხვევაში: statusWaiting = false; // შეაჩერე ლოდინის სტატუსი LED = 6; // დააყენეთ statusLed to ელოდება განახლებას}} სხვა შემთხვევაში (statusLED == 4) {// -4- საშუალოდ გადადის მაქსიმუმზე (currentBright > = brightMax ) {statusLED = 5; // თუ ყველაზე დაბალ წერტილშია: გადადით Waiting High} სხვაზე {currentBright = currentBright +მატება ; // სხვა: უმაღლესი სიკაშკაშე}} სხვაგან თუ (სტატუსიLED == 0) {// -0- საშუალოდ ლოდინი); // ლოდინის დროის დაყენება statusWaiting = true; // დაიწყეთ ლოდინი} სხვა შემთხვევაში // შეაჩერე ლოდინის სტატუსი LED = 7; // დააყენეთ statusLed to ელოდება განახლებას}}} i = 0; lastRound = მილი (); // დააყენეთ, როდესაც ბოლო რაუნდი დასრულდება. writeToLED (); // ჩაწერეთ ყველა მონაცემი LED- ებზე}}
ნაბიჯი 9: საბოლოო პროდუქტი
მე ვფიქრობ, რომ კარგად გამოვიდა. ჰალსტუხი არ არის ძალიან სქელი, მკაცრი, გრძელი ან მძიმე და ვარსკვლავის ეფექტი საოცრად გამოიყურება.
გირჩევთ:
Grid Tie ინვერტორი: 10 ნაბიჯი (სურათებით)
ბადის ჰალსტუხი ინვერტორი: ეს არის ხორციანი პროექტი, ასე რომ დააბრუნეთ! ქსელის ჰალსტუხის ინვერტორები საშუალებას გაძლევთ ჩაწეროთ ელექტროენერგია ქსელში, რაც გასაოცარია. მე ვთვლი, რომ ელექტრონიკისა და კონტროლის სისტემები, რომლებიც ჩართულია მათ დიზაინში, საინტერესოა, ამიტომაც ავაშენე საკუთარი. ეს ანგარიში არის
Sonic Bow Tie, დავით ბოლდევინ ენგენ: 4 ნაბიჯი (სურათებით)
Sonic Bow Tie, by David Boldevin Engen: კომპაქტური მშვილდი, რომელსაც შეუძლია მუდმივად აჩვენოს მიმდებარე ხმა ოთხ სხვადასხვა სიხშირეზე მის ორ სარკისებურ 4x5 LED მასივებზე. ეს გაკვეთილი გაივლის როგორ გააკეთოთ მშვილდი ჰალსტუხი, რომელიც გამოირჩევა ნებისმიერ ბრბოში. რას აპირებ
შექმენით ამინდის დაფა Dark Sky API გამოყენებით: 5 ნაბიჯი (სურათებით)
შექმენით ამინდის დაფა Dark Sky API გამოყენებით: Dark Sky სპეციალიზირებულია ამინდის პროგნოზირებასა და ვიზუალიზაციაში. Dark Sky– ის ყველაზე მაგარი ასპექტია მათი ამინდის API, რომლის საშუალებითაც ჩვენ შეგვიძლია ვიპოვოთ ამინდის მონაცემები მსოფლიოს თითქმის ნებისმიერი ადგილიდან. ამინდი არ არის მხოლოდ წვიმიანი ან მზიანი, არამედ ტემპერატურა
SKY CAM საჰაერო კამერის გადაწყვეტა: 10 ნაბიჯი (სურათებით)
SKY CAM საჰაერო კამერის გადაწყვეტა: ეს ინსტრუქცია გაგიმხელთ როგორ გავაკეთე დისტანციური მართვის (ნახევრად ავტონომიური) საკაბელო კამერის სისტემა ჩემი GCSE ელექტრონული პროდუქციის პროექტისთვის სკოლაში და იმედია მოგცემთ შესაძლებლობას შეგეძლოთ შექმნათ თქვენი საკუთარი სისტემა! ეს განკუთვნილია როგორც უხეში სახელმძღვანელო
DIY Bow Tie --- With Lights !!: 9 ნაბიჯი (სურათებით)
DIY Bow Tie --- Lights !! ? ასევე, ნუ იქნებით მორცხვი გოგოებო, თქვენ ასევე შეგიძლიათ მთლიანად ააფეთქოთ მშვილდოსანი:) ფოტო კრედიტი