Სარჩევი:
- ნაბიჯი 1: შეაერთეთ ეკრანი
- ნაბიჯი 2: კოდი: საფუძვლები
- ნაბიჯი 3: კოდი: პერსონალური პერსონაჟები
- ნაბიჯი 4: კოდი: სიკეთე
- ნაბიჯი 5: ყუთი
- ნაბიჯი 6: შერევა
ვიდეო: ყალბი დინამიური ფასი: 6 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
ამაზონის ფასები მუდმივად იცვლება. თუ თქვენს კალათაში რამდენიმე საათზე მეტხანს დატოვებთ ნივთებს, თქვენ სავარაუდოდ მიიღებთ გაფრთხილებას წუთიერი რყევების შესახებ - აქ $ 0.10, იქ $ 2.04. ამაზონი და მისი ვაჭრები აშკარად იყენებენ რაიმე სახის ალგორითმულ ფასს, რათა უკანასკნელი პენი გამოაგდეს ბაზრიდან.
ეს ყველაფერი მოსალოდნელია (გვიანი კაპიტალიზმი და ყველაფერი ეს). მაგრამ რა მოხდება, თუ ყველაფერი ცუდად წავა? 2011 წელს დაიწყო ფასების ომი ორ კონკურენტ ალგორითმს შორის. შედეგი: შინაური ბუზების სიცოცხლის ციკლის შესახებ წიგნი (დაბეჭდილი, მაგრამ არა განსაკუთრებით იშვიათი) გაიზარდა 23,6 მილიონ დოლარად.
Amazon– ის ბოლოდროინდელმა შესყიდვამ Whole Foods Market– მა დაგვაინტერესა: რა აფერხებს დინამიურ ფასებს საცალო ვაჭრობის ფიზიკურ სამყაროში შესვლას? რა მოხდება, თუ სუპერმარკეტში ფასები ისეთივე მოქნილი იყო, როგორც ონლაინ?
ამრიგად, ამ ინსტრუქციაში ჩვენ ვაშენებთ დინამიურ ფასის ჩვენებას Arduino– ით და პატარა LCD– ით. ჩვენ ასევე მოკლედ ვისაუბრებთ შენიღბვასა და მაღაზიაში დაყენებაზე.
(და თუ გაინტერესებთ, ამ Chrome მოდულს შეუძლია გაჩვენოთ Amazon– ზე ნებისმიერი საქონლის ფასების ისტორია ბოლო 120 დღის განმავლობაში.)
საჭირო მასალა
აი, რას ვიყენებდით ამ პროექტის შესაქმნელად:
- Arduino Uno R3
-
სტანდარტული 16x2 LCD დისპლეი. ჩვენ გამოვიყენეთ ეს ადაფრუტიდან, მაგრამ სანამ ის თავსებადია LiquidCrystal ბიბლიოთეკასთან, თქვენ კარგი უნდა იყოთ. არდუინოში მის შესაერთებლად რამდენიმე რამ დაგჭირდებათ:
- ზოგიერთი ჯუმბერის კაბელი
- 220 ohm რეზისტორი
- 10k ohm potentiometer (ეს არის ეკრანის კონტრასტის გასაკონტროლებლად. თუ თქვენთვის სასურველი კონტრასტი იპოვით, შეგიძლიათ შეცვალოთ პოტენომეტრი ფიქსირებული რეზისტორით.)
- აკრილის ყუთი. ჩვენ გამოვიყენეთ ჩამოსხმული მქრქალი შავი აკრილი, ლაზერულად დაჭრილი და აწყობილი აკრილის გამხსნელი-წებოვანი და ცხელი წებოთი.
- მაგნიტები და/ან თაროების კაკალი მაღაზიაში ყუთის დასამაგრებლად. თუ მიდიხართ მარყუჟის მარშრუტზე, შეგიძლიათ გაზომოთ და 3D დაბეჭდოთ ერთი, ან სცადოთ ინტერნეტში პოვნა (ალბათ, ალიბაბა?), ან … შეიძინოთ იგი სხვა, უფრო მავნე ფორმით. Თავს გაუფრთხილდი.
პირველ რიგში, მოდით დავიწყოთ ჩვენება!
ნაბიჯი 1: შეაერთეთ ეკრანი
ამ LCD– ის უკანა ნაწილზე არის ბევრი ქინძისთავები. საბედნიეროდ, პროგრამული ბიბლიოთეკის დოკუმენტაციას, რომელსაც ჩვენ გამოვიყენებთ, აქვს კარგი სახელმძღვანელო მისი გაყვანილობისთვის. Შეამოწმე.
მოკლედ, თქვენი გაყვანილობა უნდა დასრულდეს ასე:
-
Ძალა:
- LCD GND (პინი 1) → Arduino GND
- LCD VDD (პინი 2) → Arduino +5V
- LCD RW (პინი 5) → Arduino GND
-
მონაცემთა პერსონალი:
- LCD RS (პინ 4) → Arduino ციფრული პინი 12
- LCD ჩართვა (პინ 6) → Arduino ციფრული პინი 11
- LCD D4 (პინი 11) → ციფრული პინი 5
- LCD D5 (პინი 12) → ციფრული პინი 4
- LCD D6 (პინი 13) → ციფრული პინი 3
- LCD D7 (პინი 14) → ციფრული პინი 2
-
ჩვენების კონტრასტი:
- შეაერთეთ 10k პოტენომეტრის ფეხი არდუინოს +5V და GND– ზე
- პოტენომეტრის გამომავალი → LCD VO (პინ 3).
-
განათება:
- LCD BL1 (პინი 15) → 220 ohm რეზისტორი → Arduino +5V
- LCD BL2 (პინ 16) → Arduino GND
როდესაც ყველაფერი მზად არის, ჩატვირთეთ LiquidCrystal– ის ერთ – ერთი მაგალითი Arduino IDE– ში და ნახეთ მუშაობს თუ არა! გახსოვდეთ, რომ ნიმუშებში ორმაგად უნდა შეამოწმოთ LCD ინიციალიზაციის კოდი-პინის ნომრები უნდა იყოს სწორი, წინააღმდეგ შემთხვევაში თქვენ ვერაფერს დაინახავთ.
მაგალითად, "დახუჭვის" მაგალითს აქვს ეს კოდი, რომელიც სწორია ზემოაღნიშნული კონფიგურაციის გათვალისწინებით:
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal LCD (rs, en, d4, d5, d6, d7);
Რჩევები
- დაზოგეთ თავი შედუღების მიზნით და ჩადეთ ინვესტიცია რამდენიმე დამჭკნარ ბოლოში და სათაურის კონექტორებში. მსგავს პროექტებზე, სადაც ჩვენ ვაპირებთ ელექტრონიკის შეფუთვას პატარა ჩანთაში, მოკლე ჯუმბერის კაბელების დამზადება წარმოუდგენლად სასარგებლოა.
- ანალოგიურად, სითბოს შემცირების მილები ნამდვილად სასარგებლოა იმის უზრუნველსაყოფად, რომ არაფერი გამოჩნდება, როდესაც ეს ყველაფერი თავის თავზეა დაჭერილი.
- ვინაიდან ბევრი რამ მიდის GND და +5V, ჩვენ შევარჩიეთ, რომ გამხდარიყო კაბელი (იხილეთ ფოტო ზემოთ) რაც შეიძლება კომპაქტური. სივრცეს რომ ნაკლები პრობლემა ჰქონოდა, პურის დაფა ან პროტოშელდი უფრო მარტივი ვარიანტი იქნებოდა.
- ზოგიერთი პოტენომეტრი არის უცნაური ფორმის. საერთოდ, მარცხენა ტყვიის გამოიყენება როგორც საფუძველი, მარჯვენა ტყვიის როგორც ძალა, და შუა ერთი როგორც გამომავალი. თუ თქვენსას აქვს ორი წინამორბედი წინა და ერთი უკანა მხარეს, ერთი უკანა არის გამომავალი.
გოთჩა
- თუ თქვენს LCD– ზე ვერაფერს ხედავთ, სცადეთ პოტენომეტრი ბოლომდე გადააბრუნოთ ერთი მიმართულებით, შემდეგ მეორეზე. ყველაზე დაბალი კონტრასტით, LCD– ის შინაარსი სრულიად უხილავია.
- თუ თქვენ ხედავთ მართლაც უცნაურ სისულელეს LCD– ზე, ან მხოლოდ ერთ ხაზს ორის ნაცვლად, დარწმუნდით, რომ თქვენი ყველა კავშირი დაცულია. ჩვენ გვქონდა გაუმართავი კავშირი მიწასთან და ეს იწვევს ჩვენების ყველაზე უცნაურ პრობლემებს.
- LCD ინიციალიზაციის კოდი (ის, რასაც lcd.init () მართავს setup () ფუნქციაში) მნიშვნელოვანია და დრო სჭირდება. თუ თქვენს ეკრანზე რაღაც არასწორია და ეჭვობთ მავთულის გაუმართაობაზე, ნუ ელოდებით, რომ მომაბეზრებელი ნივთები მოულოდნელად იმუშავებს. შეიძლება დაგჭირდეთ Arduino– ს გადატვირთვა, ასე რომ ინიციალიზაციის კოდს აქვს შესაძლებლობა იმუშაოს სწორად.
- დარწმუნდით, რომ თქვენი მავთულები საკმაოდ მოკლეა, მაგრამ არც ისე მოკლე. არაფერია იმაზე უარესი, ვიდრე საჭიროა ხელახლა გაყიდვა, რადგან სათაურიდან რამდენიმე სანტიმეტრით ხართ დაშორებული.
დიდი! ახლა მოდით დავანახოთ ის რაღაც მშვენიერი რამ.
ნაბიჯი 2: კოდი: საფუძვლები
უპირველეს ყოვლისა: მოდით, ჩვენების ჩვენება "მიმდინარე ფასი:" ზედა ხაზზე და შემთხვევითი ფასი რაღაც დიაპაზონში, მეორეზე. ყოველ ჯერზე, მოდით განვაახლოთ ფასი. ეს საკმაოდ მარტივია, მაგრამ ხაზს უსვამს LiquidCrystal ბიბლიოთეკის ძირითად გამოყენებას და მის ზოგიერთ თავისებურებას.
პირველ რიგში, მოდით შევიტანოთ ბიბლიოთეკა და განვსაზღვროთ რამდენიმე მუდმივი:
#ჩართეთ
const uint8_t lcd სიგანე = 16;
const uint8_t lcd სიმაღლე = 2;
მუდმივი minPriceInCents = 50;
const long maxPriceInCents = 1999;
const unsigned long minMillisBetweenPriceUpdates = 0.25 * 1000;
const unsigned long maxMillisBetweenPriceUpdates = 2 * 1000
დიდი! ეს არის ფასების დიაპაზონის პარამეტრები და რამდენად ხშირად განახლდება იგი. ახლა ავიღოთ ბიბლიოთეკის მიერ მოწოდებული LCD კლასის მაგალითი და მისი ინიციალიზაცია. ჩვენ დავბეჭდავთ რაღაც სერიულ კონსოლზე, მხოლოდ იმისთვის, რომ დავრწმუნდეთ იმაში, რომ ყველაფერი მუშაობს, მაშინაც კი, თუ ჩვენ LCD– ზე არაფერს ვხედავთ. ჩვენ ამას გავაკეთებთ setup () ფუნქციაში, რომელიც მუშაობს ერთხელ Arduino ჩექმების შემდეგ. თუმცა გაითვალისწინეთ, რომ ჩვენ ვაცხადებთ lcd ცვლადს setup– ის გარეთ (), რადგან ჩვენ გვსურს მასზე წვდომა მთელი პროგრამის განმავლობაში.
LiquidCrystal LCD (12, 11, 5, 4, 3, 2); void setup () {Serial.begin (9600); lcd. დასაწყისი (lcdWidth, lcdHeight);
Serial.println ("LCD ინიციალიზებული");
lcd.print ("მიმდინარე ფასი:");
}
ხოლო ხორცისთვის ჩვენ გამოვიყენებთ ჩაშენებულ შემთხვევით () ფუნქციას და სიმებიანი () ინიციალიზატორს ათობითი ფასის შესაქმნელად. შემთხვევითი () წარმოქმნის მხოლოდ მთელ რიცხვს, ასე რომ ჩვენ მის შედეგს გავყოფთ 100.0 –ზე მცურავი წერტილის მნიშვნელობის მისაღებად. ჩვენ ამას გავაკეთებთ მარყუჟში (), ასე რომ ეს ხდება რაც შეიძლება ხშირად, მაგრამ შემთხვევით დაგვიანებით იმ კონსტანტებს შორის, რომლებიც ჩვენ ადრე განვსაზღვრეთ.
ბათილი მარყუჟი ()
{ორმაგი ფასი = შემთხვევითი (minPriceInCents, maxPriceInCents) / 100.0; სიმებიანი prettyPrice = "$" + სიმებიანი (ფასი, 2); lcd.setCursor (0, 1); lcd.print (საკმაოდ ფასი); დაგვიანებით (შემთხვევითი (minMillisBetweenPriceUpdates, maxMillisBetweenPriceUpdates)); }
ერთი რამ უნდა აღინიშნოს არის ზარი lcd.setCursor (). LiquidCrystal ბიბლიოთეკა ავტომატურად არ აგზავნის თქვენს ტექსტს შემდეგ სტრიქონზე დაბეჭდვის შემდეგ, ამიტომ ჩვენ გვჭირდება (უხილავი) კურსორის ხელით გადატანა მეორე სტრიქონზე (აქ 1-ის ნულოვანია). ასევე გაითვალისწინეთ, რომ ჩვენ არ გვჭირდება ამობეჭდვა "მიმდინარე ფასი:" კიდევ ერთხელ; LCD არ არის გასუფთავებული, თუ ამას ხელით არ გააკეთებთ, ამიტომ ჩვენ მხოლოდ დინამიური ტექსტის განახლება გვიწევს.
გაუშვით და სწრაფად ნახავთ მსგავს პრობლემას. თუ ფასი იყო, ვთქვათ, "$ 14.99" და შემდეგ "$ 7.22", ეკრანზე გამოჩნდება "$ 7.229". გახსოვდეთ, ეკრანი არ იწმინდება, თუ ამას არ ეტყვით. მაშინაც კი, თუ თქვენ დაბეჭდავთ იმავე სტრიქონზე, ნებისმიერი ტექსტი, რასაც თქვენ ბეჭდავთ, დარჩება. ამ პრობლემის გადასაჭრელად, ჩვენ უნდა შევავსოთ ჩვენი სტრიქონი სივრცეებით, რათა გადავიწეროთ ნებისმიერი პოტენციური ნაგავი. ამის უმარტივესი გზაა მხოლოდ რამდენიმე ადგილის მიბმა ჩვენს prettyPrice ცვლადზე:
სიმებიანი prettyPrice = "$" + სიმებიანი (ფასი, 2) + "";
ამ ცვლილების გათვალისწინებით, ჩვენ გვაქვს კონცეფციის მტკიცებულება! მოდი ცოტა გავამხიარულოთ.
ნაბიჯი 3: კოდი: პერსონალური პერსონაჟები
LCD მოდულის ერთ -ერთი ყველაზე მაგარი მახასიათებელი, რომელსაც ჩვენ ვიყენებთ, არის 8 - მდე პერსონალური სიმბოლოების შექმნის შესაძლებლობა. ეს კეთდება createChar () მეთოდის საშუალებით. ეს მეთოდი იღებს მასივს 8x5 ბიტიდან, რომელიც აღწერს LCD– ის რომელ პიქსელს უნდა ჩართოთ მოცემული სიმბოლოსთვის. ინტერნეტში არის რამდენიმე ინსტრუმენტი, რომელიც დაგეხმარებათ ამ მასივების გენერირებაში. მე ეს გამოვიყენე.
თუ თქვენ არ გრძნობთ თავს განსაკუთრებულად დიზაინერად, გირჩევთ გამოიყენოთ Threshold ფილტრი Photoshop– ში, რომ სურათი გადააქციოთ შავ – თეთრად და გადააკეთოთ იგი სიმბოლოებად. გახსოვდეთ, რომ თქვენ გაქვთ მაქსიმუმ 8 პერსონალური სიმბოლო, ან 64x5 პიქსელი.
მე შევარჩიე ამ სიმბოლოებიდან 6 -ის გამოყენება ამაზონის ისრის ლოგოსთვის, ხოლო დანარჩენი 2 - უფრო ლამაზი სასაქონლო ნიშნის სიმბოლოზე. თქვენ შეგიძლიათ მიყევით CustomCharacter– ის მაგალითს Arduino IDE– ში, თუ როგორ გამოიყენოთ API. ასე გადავწყვიტე საგნების დაჯგუფება:
// განსაზღვრეთ მონაცემები სასაქონლო ნიშნის სიმბოლოებისთვის
const size_t trademarkCharCount = 2; const uint8_t trademarkChars [trademarkCharCount] [8] = {{B00111, B00010, B00010, B00000, B00000, B00000, B00000, B00000}, {B10100, B11100, B10100, B00000, B00000, B00000, B00000, B00000}}; uint8_t პირველი სავაჭრო ნიშანი CharByte; // ბაიტი, რომელიც გამოიყენება ამ სიმბოლოს დასაბეჭდად; მინიჭებული initCustomChars ()
შემდეგ გამოვიყენე მსგავსი ფუნქცია, რომელსაც ეწოდება setup (), სიმბოლოების შესაქმნელად:
void initCustomChars () {
firstTrademarkCharByte = 0; for (size_t i = 0; i <trademarkCharCount; i ++) {lcd.createChar (logoCharCount+i, (uint8_t *) trademarkChars ); }}
ამის შემდეგ, პერსონალური სიმბოლოების დაბეჭდვა ისეთივე მარტივია, როგორც lcd.write () შესაბამისი ბაიტების გამოყენებით. მე დავწერე დამხმარე ფუნქცია რიგი ბაიტების დასაბეჭდად და განვსაზღვრე printTrademark () მის მიხედვით:
void writeRawByteRange (uint8_t ხაზი, uint8_t col, uint8_t startValue, size_t numBytes)
{for (uint8_t i = 0; i <numBytes; i ++) {lcd.setCursor (col+i, line); // უნდა გამოვიყენო ჩაწერა (), არა დაბეჭდვა () - ბეჭდვა მთელ რიცხვს // მნიშვნელობას გადააქცევს სტრიქონად და დაბეჭდავს * რომ * lcd.write (startValue + i); }} void printTrademark (uint8_t line, uint8_t col) {writeRawByteRange (line, col, firstTrademarkCharByte, trademarkCharCount); }
ამაზონის ისრის ლოგო მოექცა ანალოგიურად. იხილეთ თანდართული კოდი სრული დეტალებისთვის.
ნაბიჯი 4: კოდი: სიკეთე
იმისთვის, რომ საქმე ცოტათი გამიადვილდეს, კოდს დავამატე რამდენიმე ნიუანსი. ეს მოიცავს ისეთ რაღაცეებს, როგორიცაა: ფუნქცია კონკრეტული ხაზის გასუფთავების მიზნით, მისი გადაცდენით სივრცეებით და ფუნქცია მოცემული სტრიქონის ხაზზე ცენტრირებისათვის.
მე ასევე მინდოდა, რომ ჩვენებამ სამი განსხვავებული ეტაპი გაიაროს:
- "დინამიური ფასები" ლოგოთი ქვემოთ
- "ამაზონის მიერ" ლოგოთი ქვემოთ
- შემთხვევითი ფასის ჩვენება
ამისათვის მე შევქმენი მარტივი სისტემა, რომელიც თვალყურს ადევნებს რამდენი ხანია აქტიურია ეს ეტაპი და გარკვეული პერიოდის შემდეგ გადადის შემდეგზე.
იხილეთ თანდართული კოდი ყველა მნიშვნელოვანი დეტალისთვის!
ნაბიჯი 5: ყუთი
ახლა, ასე რომ ჩვენ არ მივიღებთ ბომბის რაზმს გამოძახებით, მოდით გავაკეთოთ ლამაზი ყუთი მთელი საქმისთვის. ჩვენ ამას გავაკეთებთ ლაზერული აკრილით. არსებობს უამრავი ონლაინ ინსტრუმენტი მარტივი ყუთების დამზადების პროცესის დასაწყებად. მე გირჩევ makercase.com, ვინაიდან ის საშუალებას გაძლევთ მიუთითოთ შიდა ზომები და გაითვალისწინოთ მასალის სისქე.
ჩვენ გავზომეთ Arduino, LCD და 9V ბატარეა და შევაფასეთ, რომ ჩვენ შეგვეძლო მისი ჩადება 4 "x 2.5" x 2 ". ასე რომ, ჩვენ ჩავრთეთ ისინი საქონელში, 1/8" სისქით აკრილის ჩვენ შევცვალეთ შედეგად მიღებული PDF, რომ დავამატოთ მომრგვალებული ფანჯარა LCD- ისთვის და ქვედა ნაწილი გასწვრივ ჩვენების ტეგისთვის (უფრო მოგვიანებით). შედეგად მიღებული ფაილი მიმაგრებულია როგორც PDF.
ჩვენ გამოვიყენეთ აკრილის წებო (ტოქსიკური მეთილ ეთილის კეტონის ტიპი) ყუთის ოთხი მხარის ასაწყობად. შემდეგ ჩვენ დავამაგრეთ LCD პანელი წინ ცხელი წებოთი. მას შემდეგ რაც ყველაფერი მუშაობდა და მორგებული იყო, ყუთის ბოლო ორი მხარე დავხურეთ ცხელი წებოთი, რათა შემდგომ ადვილად განვშორდეთ მას. ვინაიდან ჩვენ არ ველოდით, რომ მოწყობილობა მიიღებდა ძლიერ დაძაბულობას, არდუინო და ბატარეა დაუცველი დავტოვეთ საქმის ბოლოში.
პოტენციური გაუმჯობესება
- ჩვენ უგულებელვყოთ რაიმე ფორმით მოწყობილობის ჩართვა ან გამორთვა. ჰა. ყუთის ქვედა ან უკანა მხარეს გადართვის ადგილი კარგი იდეა იქნებოდა.
- ჩამოსაკიდი ტეგის ქვედა ნაწილის გასწვრივ შეიძლება იყოს უფრო ახლოს ყუთის წინა მხარეს, ხილვადობის გასაუმჯობესებლად.
ნაბიჯი 6: შერევა
ახლა კი, რთული ნაწილი: შეიპარეთ მაღაზიაში.
მთელი საკვების ბრენდირება
ზოგიერთი რამ ვისწავლეთ საპირისპირო ინჟინერიის Whole Foods და Amazon ბრენდინგში:
- ტექსტის ტექსტი ზოგადად Scala Sans- შია
- სათაურის ტექსტი არის ის, რაც გარეგნულად ძალიან ჰგავს ბრაიტონს - ერთ -ერთ იმ ზოგად "თბილ და მეგობრულ" შრიფტს
- მთლიანი საკვები მწვანე არის რაღაც #223323 -თან ახლოს
- დადექით თქვენს ადგილობრივ მაღაზიაში გრაფიკული ელემენტების მაგალითებისთვის, რომლებიც მეორდება: მათ უყვართ დაფარული საზღვრები, მზის ამოსვლა და მარტივი ვექტორული ხელოვნება.
ჩამოკიდებული ტეგი
ჩვენ დავჭრათ ნაპრალი აკრილის ქეისის ქვედა ნაწილში ისე, რომ შევძლოთ ყუთზე ჩამოკიდებული ტეგის მიმაგრება, ახსნა რა ხდება. მაგალითისთვის იხილეთ თანდართული PDF. ეს განკუთვნილია ამოსაჭრელად და ჩასასმელად სლოტში; ის უნდა მოერგოს და დაიჭიროს ყოველგვარი წებოს გარეშე.
თაროები
რაც შეეხება ყუთის თაროზე რეალურად მიმაგრებას, Whole Foods იყენებს საკმაოდ სტანდარტულ თაროების კომპონენტებს. ჩვენ ავიღეთ გაზომვები და აღმოვაჩინეთ თავსებადი კაკალი ტექნიკის მაღაზიაში. ჩვენ ყუთი დავამაგრეთ კაკზე ცხელი წებოთი.
თუ თქვენ ვერ იპოვით ასეთ კაკლს, შეგიძლიათ სცადოთ მაგნიტები - წებოთი ყუთის უკანა ნაწილზე და უბრალოდ მიიტანეთ თაროზე.
განლაგება
განათავსეთ ყუთი თვალის დონეზე, რათა მიიპყროთ გამვლელების ყურადღება. ნუ დაიჭერ! Საუკეთესო სურვილებით!
გირჩევთ:
მოცულობის ტესტი ყალბი 18650: 7 ნაბიჯი (სურათებით)
ყალბი 18650 სიმძლავრის ტესტი: ამ ინსტრუქციებში მოდით ვიპოვოთ ყალბი 10400mAh დენის ბანკის ტევადობა. ადრე მე გამოვიყენე ეს დენის ბანკი საკუთარი დენის ბანკის გასაკეთებლად, რადგან მე ვიყიდე 2 დოლარად. ამ პროექტის ვიდეოს სანახავად - და არ დაგავიწყდეთ რომ გამოიწეროთ ჩემი არხი ასე რომ მოდი
დინამიური LED განათების კონტროლერი ხელოვნებისთვის: 16 ნაბიჯი (სურათებით)
დინამიური LED განათების კონტროლერი ხელოვნებისთვის: შესავალი: განათება ვიზუალური ხელოვნების მნიშვნელოვანი ასპექტია. და თუ განათება შეიძლება შეიცვალოს დროთა განმავლობაში ის შეიძლება გახდეს ხელოვნების მნიშვნელოვანი განზომილება. ეს პროექტი დაიწყო სინათლის ჩვენებაზე დასწრებით და გამოცდილებით, თუ როგორ შეიძლება განათება მთლიანად
დინამიური სამაგიდო ნათურა: 10 ნაბიჯი (სურათებით)
დინამიური სამაგიდო ნათურა: გამარჯობა ბიჭებო, მე გავაკეთე ეს დინამიური მსუბუქი სამაგიდო ნათურა, რომელიც შეინარჩუნებს თქვენს ირგვლივ არსებულ გარემოს ცოცხალ და დამამშვიდებელ მოვლენებს. თქვენ შეგიძლიათ აირჩიოთ შუქის ფერი დისტანციური მართვის საშუალებით და შეცვალოთ იგი თქვენი განწყობის შესაბამისად, ასევე შუქის ნიმუში
დინამიური LED განათების ჩრდილების ყუთი და ჩარჩო ხელოვნებისთვის :: 16 ნაბიჯი (სურათებით)
დინამიური LED განათების ჩრდილების ყუთი და ჩარჩო ხელოვნებისთვის :: განათება ვიზუალური ხელოვნების მნიშვნელოვანი ასპექტია. და თუ განათება შეიძლება შეიცვალოს დროთა განმავლობაში ის შეიძლება გახდეს ხელოვნების მნიშვნელოვანი განზომილება. ეს პროექტი დაიწყო სინათლის ჩვენებაზე დასწრებით და გამოცდილებით, თუ როგორ შეიძლება განათებამ მთლიანად შეცვალოს
Adaptador Bluetooth Para Auriculares ფასი 0 €: 5 ნაბიჯი (სურათებით)
ადაპტირებული Bluetooth Para Auriculares Por 0 €: დამიკავშირდით antiguo altavoz bluetooth y una hembra de Jack de audio reciclada de un lector de MP3 averiado he montado un adaptador para poder escuchar con cascos principalmente el sonido de mi firetv stick y poder ver series y v í დეოს და ალ