Съдържание:

Настолен органайзер с LCD: 4 стъпки
Настолен органайзер с LCD: 4 стъпки

Видео: Настолен органайзер с LCD: 4 стъпки

Видео: Настолен органайзер с LCD: 4 стъпки
Видео: 30 товаров для автомобиля с Алиэкспресс, автотовары №22 2024, Ноември
Anonim
Image
Image

** Редактиране **

За проекта HKU arduino реших да направя настолен органайзер с LCD екран, който показва цитати за вдъхновение, които да ви вдигнат, когато завъртите вашия потметър!

Ще покривам най -вече техническите неща на arduino, стига да имате нещо като дървена кутия, за да скриете вашия Arduino и LCD в личния си оганизор, може да приеме всяка желана форма.

Нещата, от които се нуждаете

  • *arduino uno
  • пот метър
  • *мъжки проводници
  • *LCD модул! С четец на SD карти! (Имам arduino tft LCD)
  • *micro SD карта
  • *дърво (рециклирах стари мини чекмеджета и използвах някои резервни дървени части, уверете се, че можете поне да оформите малка кутия, в която да скриете arduino!

Стъпка 1: Настройка на Potmeter на Arduino

Настройване на потметъра на Arduino
Настройване на потметъра на Arduino

свържете вашия глюкомер, както е показано на снимката

за да стартира метърът за тенджери

Ще трябва да започнете с някои променливи в горната част на скицата си преди настройката:

код:

const int analogInPin = A0; // Аналогов входен щифт, към който е свързан потенциометърът

int sensorValue = 0; // стойност, прочетена от pot int outputValue = 0; // стойност на изхода към ШИМ (аналогов изход)

На снимка 2 показвам как показалецът е картографиран в цикъла на празнотата

код:

// чете аналога по стойност:

sensorValue = analogRead (analogInPin); // съпоставяме го с обхвата на аналоговия изход: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = Низ (outputValue); // променяме стойността на аналоговия изход:

stuffToPrint.toCharArray (разпечатка, 9); // статичен текст myScreen.setTextSize (1);

Serial.print ("сензор ="); Serial.print (sensorValue); Serial.print ("\ t output ="); 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 да показва някакво съдържание на LCD дисплея.

Първият пример, както е показано на изображението:

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 ("завъртете щифта> на", 10, 60); myScreen.text ("получете насърчение.", 10, 70); rangeOne = false;

Ако потметърът се превърне в диапазон по -нисък от 51, на екрана с дисплей (в портретен режим = rotatio 90) има някакъв текст.

За да можете да покажете изображение, уверете се, че вашият SD CS пин е дефиниран правилно, или arduino няма да успее да инициализира SD (така че проверете кабелите си !!)

Ако искате да проверите щифтовете на вашия LCD, можете да се обърнете към официалното ръководство по „свързване на екрана“https://www.arduino.cc/en/Guide/TFT

Сега определих своя SD CS пин като 4, защото смесих кабелите си например! - Щастлив съм да споделя това малко оупси, защото ще ви спести много време при търсене в мрежата за грешката „Неуспешно инициализиране“. За което в някои форуми се казва, че поправката е да има определен модел SD карта. Затова първо проверете кабелите си, преди да закупите нови SD карти !!

Стъпка 4: Пример за пълен код

#включва

#include // Хардуерно-специфична библиотека #include

#define SD_CS 4 #define CS 10 #define DC 9 #define RESET 8

const int analogInPin = A0; // Аналогов входен щифт, към който е свързан потенциометърът

int sensorValue = 0; // стойност, прочетена от pot int outputValue = 0; // стойност на изхода към PWM (аналогов изход) bool rangeOne = true; bool rangeTwo = true; bool rangeThree = вярно; bool rangeFour = true; bool rangeFive = true;

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

PImage изображение; разпечатка на const char [9];

void setup () {Serial.begin (9600); myScreen.begin (); // опитайте да получите достъп до SD картата Serial.print ("Инициализиране на SD карта …"); if (! SD.begin (SD_CS)) {Serial.println ("неуспешно!"); връщане; } Serial.println ("ОК!");

// инициализираме и изчистваме GLCD екрана myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// чете аналоговия по стойност: sensorValue = analogRead (analogInPin); // съпоставяме го с обхвата на аналоговия изход: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = Низ (outputValue); // променяме стойността на аналоговия изход:

stuffToPrint.toCharArray (разпечатка, 9); // статичен текст myScreen.setTextSize (1);

Serial.print ("сензор ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

забавяне (50);

if (outputValue to ", 10, 60); myScreen.text (" получите насърчение. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /диапазон четири if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // изчистете изображението на екрана = myScreen.loadImage ("quote2.bmp "); // запишете изображението на екрана myScreen.image (изображение, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Толкова съм горд ", 10, 50); myScreen.text ("от вас!", 10, 60); rangeFour = false;}}

ако (outputValue> 206 && outputValue

Препоръчано: