Სარჩევი:

დესკტოპის ორგანიზატორი LCD– ით: 4 ნაბიჯი
დესკტოპის ორგანიზატორი LCD– ით: 4 ნაბიჯი

ვიდეო: დესკტოპის ორგანიზატორი LCD– ით: 4 ნაბიჯი

ვიდეო: დესკტოპის ორგანიზატორი LCD– ით: 4 ნაბიჯი
ვიდეო: Drinking Straw Craft Ideas - როგორ მოვამზადოთ დესკტოპის ორგანიზატორი სახლში 2024, ნოემბერი
Anonim
Image
Image

** რედაქტირება **

HKU arduino პროექტისთვის მე გადავწყვიტე, გამეკეთებინა დესკტოპის ორგანიზატორი LCD ეკრანით, რომელიც აჩვენებს ინსპირაციის ციტატებს, რათა აგიყვანოთ, როდესაც თქვენ ბრუნავთ თქვენს პომეტრს!

მე არდუინოს ტექნიკურ ნივთებს ძირითადად გავაფართოვებ, სანამ თქვენ გაქვთ ხის ყუთის მსგავსი, რომ თქვენი არდუინო და LCD თქვენს პერსონალურ ოგანიზორში დაიმალოს ნებისმიერი სასურველი ფორმა.

ნივთები, რაც დაგჭირდებათ

  • *არდუინო უნო
  • ქოთნის მეტრი
  • *მამრობითი prottyping მავთულები
  • *LCD მოდული! SD ბარათის წამკითხველით! (მე მივიღე arduino tft LCD)
  • *მიკრო SD ბარათი
  • *ხე (მე გადავიღე ძველი მინი უჯრები და გამოვიყენე სათადარიგო ხის ნაწილები, დარწმუნდით, რომ თქვენ შეგიძლიათ შექმნათ პატარა ყუთი თქვენი არდუინოს დასამალად!

ნაბიჯი 1: დააყენეთ Potmeter Arduino– ზე

Arduino– ზე Potmeter– ის დაყენება
Arduino– ზე Potmeter– ის დაყენება

დააკავშირეთ თქვენი ქოთნის მრიცხველი, როგორც ეს მოცემულია სურათზე

ქოთნის მრიცხველის მუშაობის დასაწყებად

დაყენებამდე უნდა დაიწყოთ ესკიზის თავზე რამდენიმე ცვლადი:

კოდი:

const int analogInPin = A0; // ანალოგური შესასვლელი პინი, რომელზედაც დამაგრებულია პოტენომეტრი

int sensorValue = 0; // მნიშვნელობა წაკითხული ბანკიდან int outputValue = 0; // ღირებულების გამომუშავება PWM– ზე (ანალოგური გამოსვლა)

მე –2 სურათზე მე ვაჩვენებ, თუ როგორ არის ასახული პოტმეტრი ბათილ მარყუჟში

კოდი:

// წაიკითხეთ ანალოგი მნიშვნელობით:

sensorValue = analogRead (analogInPin); // რუქა ანალოგის დიაპაზონში: outputValue = რუკა (sensorValue, 0, 1023, 0, 255); String stuffToPrint = სიმებიანი (outputValue); // შეცვალეთ ანალოგის ღირებულება:

stuffToPrint.toCharArray (ამობეჭდვა, 9); // სტატიკური ტექსტი myScreen.setTextSize (1);

Serial.print ("სენსორი ="); Serial.print (sensorValue); Serial.print ("\ t გამომავალი ="); Serial.println (outputValue);

დაგვიანება (50);

ეს ასახავს პოტომეტრიდან ანალოგურ მონაცემებს 0 -დან 255 -მდე დიაპაზონში, ჩვენ გამოვიყენებთ ამ დიაპაზონს ჩვენი LCD სლაიდების ჩვენების გასაკონტროლებლად

თუ თქვენ გჭირდებათ დახმარება პოტმეტრის დაყენებაში; მე გამოვიყენე კოდი ამ დამხმარე გაკვეთილიდან, ქინძისთავები ზუსტად იგივეა და მომდევნო ნაბიჯებში იმუშავებს LCD დაყენებით.

www.toptechboy.com/arduino/lesson-11-arduin…

ნაბიჯი 2: LCD– ის დაყენება

LCD– ის დაყენება
LCD– ის დაყენება

დააყენეთ ქინძისთავები, როგორც ზემოთ მოყვანილ მაგალითში.

სწორად შესრულების შემთხვევაში ეკრანი თეთრად ანათებს.

თუ გჭირდებათ დამატებითი დახმარება ან გსურთ გამოიყენოთ რაიმე მაგალითი კოდი თქვენი ეკრანის შესამოწმებლად, შეგიძლიათ ნახოთ ამ მოდულის ოფიციალური გაკვეთილი და მისი კოდის მაგალითები აქ

ჩვენ ნაწილობრივ გამოვიყენებთ "სურათის დახატვას SD ბარათიდან" შემდეგ ეტაპზე.

ნაბიჯი 3: სლაიდების ჩვენება

სლაიდშოუს დაყენება
სლაიდშოუს დაყენება

ახლა, როდესაც ჩვენ გვაქვს Potmeter და LCD დაყენებული, ჩვენ შეგვიძლია შევქმნათ "სლაიდშოუ" potmeter- ის რუქების მნიშვნელობების გამოყენებით

0 -დან 255 -მდე დიაპაზონის გამოყენებით ჩვენ შეგვიძლია მივუთითოთ გარკვეული დიაპაზონი, რომელშიც ჩვენ შეგვიძლია გავააქტიუროთ arduino- ს ეკრანზე გარკვეული შინაარსის ჩვენების მიზნით.

პირველი მაგალითი, როგორც ნაჩვენებია სურათზე:

if (outputValue <51) {// დიაპაზონი ერთი if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("გამარჯობა მშვენიერია", 10, 50); myScreen.text ("გადაატრიალე pin> to", 10, 60); myScreen.text ("მიიღეთ წახალისება.", 10, 70); rangeOne = ყალბი;

თუ პოტმეტრი 51 -ზე დაბალ დიაპაზონში გადადის, ეკრანი ეკრანით (პორტრეტულ რეჟიმში = როტაცია 90) რამდენიმე ტექსტი.

იმისათვის, რომ შეძლოთ გამოსახულების ჩვენება, დარწმუნდით, რომ თქვენი SD CS პინი სწორად არის განსაზღვრული, ან arduino ვერ შეძლებს SD– ის ინიციალიზაციას (ასე რომ დარწმუნდით, რომ შეამოწმეთ თქვენი მავთულები !!)

თუ გსურთ შეამოწმოთ თქვენი LCD- ის ქინძისთავები, შეგიძლიათ მიმართოთ ოფიციალურ სახელმძღვანელოს uner "ეკრანის დასაკავშირებლად"

მე განვსაზღვრე ჩემი SD CS პინი 4 -ით, რადგან მე შევაერთე ჩემი მავთულები, მაგალითად! - მოხარული ვარ გაგიზიაროთ ეს პატარა ოფსი, რადგან ეს დაზოგავს თქვენ ბევრ დროს ინტერნეტში ძებნისას "ვერ მოხერხდა" შეცდომა. რომელ ფორუმზე ნათქვამია, რომ გამოსწორება არის SD ბარათის გარკვეული მოდელის ქონა. ასე რომ, ახალი SD ბარათების შეძენამდე ჯერ შეამოწმეთ თქვენი გაყვანილობა !!

ნაბიჯი 4: სრული კოდის მაგალითი

#ჩართეთ

#მოიცავს // აპარატურის სპეციფიკური ბიბლიოთეკა #მოიცავს

#განსაზღვრეთ SD_CS 4 #განსაზღვრეთ CS 10 #განსაზღვრეთ DC 9 #განსაზღვრეთ გადატვირთვა 8

const int analogInPin = A0; // ანალოგური შეყვანის პინი, რომელზედაც დამაგრებულია პოტენომეტრი

int sensorValue = 0; // მნიშვნელობა წაკითხული ბანკიდან int outputValue = 0; // ღირებულების გამომუშავება PWM (ანალოგური) bool rangeOne = true; bool rangeTwo = ჭეშმარიტი; bool rangeThree = true; bool rangeFour = true; bool rangeFive = ჭეშმარიტი;

TFT myScreen = TFT (CS, DC, RESET);

სურათის სურათი; const char ამობეჭდვა [9];

void setup () {Serial.begin (9600); myScreen.begin (); // შეეცადეთ შეხვიდეთ SD ბარათზე Serial.print ("SD ბარათის ინიციალიზაცია …"); თუ (! SD.begin (SD_CS)) {Serial.println ("ვერ მოხერხდა!"); დაბრუნების; } Serial.println ("კარგი!");

// GLCD ეკრანის ინიციალიზაცია და გასუფთავება myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// წაიკითხეთ ანალოგი მნიშვნელობით: sensorValue = analogRead (analogInPin); // რუქა ანალოგის დიაპაზონში: outputValue = რუკა (sensorValue, 0, 1023, 0, 255); String stuffToPrint = სიმებიანი (outputValue); // შეცვალეთ ანალოგის ღირებულება:

stuffToPrint.toCharArray (ამობეჭდვა, 9); // სტატიკური ტექსტი myScreen.setTextSize (1);

Serial.print ("სენსორი ="); Serial.print (sensorValue); Serial.print ("\ t გამომავალი ="); Serial.println (outputValue);

დაგვიანება (50);

if (outputValue to ", 10, 60); myScreen.text (" მიიღეთ წახალისება. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /დიაპაზონი ოთხი თუ (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // ეკრანის გამოსახულების = myScreen.loadImage ("quote2.bmp "); // სურათის ჩაწერა ეკრანზე; myScreen.text ("თქვენგან!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

გირჩევთ: