Spisu treści:

Organizer na biurko z wyświetlaczem LCD: 4 kroki
Organizer na biurko z wyświetlaczem LCD: 4 kroki

Wideo: Organizer na biurko z wyświetlaczem LCD: 4 kroki

Wideo: Organizer na biurko z wyświetlaczem LCD: 4 kroki
Wideo: RANKING BIUREK STOJĄCYCH (Które Kupić???) 2024, Lipiec
Anonim
Image
Image

**W trakcie edycji**

Dla projektu HKU arduino postanowiłem stworzyć organizer na biurko z ekranem LCD, który wyświetla cytaty inspiracji, które podniosą Cię, gdy obrócisz potencjometr!

Zajmę się głównie sprawami technicznymi arduino, o ile masz coś w rodzaju drewnianego pudełka do ukrycia Arduino, a wyświetlacz LCD w osobistym urządzeniu może przybrać dowolną pożądaną formę.

Rzeczy, których będziesz potrzebować

  • *arduino uno
  • miernik garnkowy
  • *męskie przewody do prototypowania
  • * Moduł LCD! Z czytnikiem kart SD! (mam arduino tft LCD)
  • *Karta micro sd
  • *drewno (oddałem do recyklingu stare mini szuflady i użyłem kilku zapasowych części drewnianych, upewnij się, że możesz przynajmniej uformować małe pudełko, w którym schowasz swoje arduino!

Krok 1: Konfigurowanie potencjometru na Arduino

Konfigurowanie potencjometru na Arduino
Konfigurowanie potencjometru na Arduino

Podłącz miernik doniczki, jak pokazano na rysunku!

aby miernik zaczął działać

Musisz zacząć od kilku zmiennych na górze szkicu przed konfiguracją:

kod:

const int analogInPin = A0; // Pin wejścia analogowego, do którego podłączony jest potencjometr

int sensorValue = 0; // wartość odczytana z puli int outputValue = 0; // wyjście wartości do PWM (wyjście analogowe)

Na rysunku 2 pokazuję, jak potencjometr jest mapowany w pętli void

kod:

// odczytaj wartość analogową:

sensorValue = analogRead(analogInPin); // zmapuj go na zakres wyjścia analogowego: outputValue = map(sensorValue, 0, 1023, 0, 255); String stuffToPrint = String(wartośćwyjściowa); // zmiana wartości wyjścia analogowego:

stuffToPrint.toCharArray(wydruk, 9); // tekst statyczny myScreen.setTextSize(1);

Serial.print("czujnik = "); Serial.print(wartość czujnika); Serial.print("\t wyjście = "); Serial.println(wartośćwyjściowa);

opóźnienie(50);

to mapuje dane analogowe z potencjometru do zakresu od 0 do 255, użyjemy tego zakresu do sterowania pokazem slajdów na ekranie LCD

Jeśli potrzebujesz pomocy w ustawieniu potencjometru; Użyłem kodu z tego pomocnego samouczka, piny są dokładnie takie same i będą działać z konfiguracją LCD w następnych krokach.

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

Krok 2: Konfiguracja LCD

Konfiguracja LCD
Konfiguracja LCD

Ustaw piny jak w powyższym przykładzie.

Gdy zrobisz to poprawnie, ekran zaświeci się na biało.

Jeśli potrzebujesz dodatkowej pomocy lub chcesz użyć przykładowego kodu do przetestowania swojego wyświetlacza, możesz zapoznać się z oficjalnym samouczkiem dla tego modułu i jego przykładami tutaj

w następnym kroku częściowo użyjemy „rysowania obrazu z karty SD”.

Krok 3: Konfiguracja pokazu slajdów

Konfigurowanie pokazu slajdów
Konfigurowanie pokazu slajdów

Teraz, gdy mamy już skonfigurowany potencjometr i wyświetlacz LCD, możemy ustawić „pokaz slajdów” przy użyciu zmapowanych wartości potencjometru

Korzystając z zakresu od 0 do 255 możemy wskazać pewien zakres, w którym możemy wyzwolić arduino, aby wyświetliło jakąś treść na LCD.

Pierwszy przykład, jak pokazano na obrazku:

if (wartośćwyjściowa < 51){ //zakres jeden if (jeden zakres == prawda){ drugi zakres = prawda; mójEkran.setRotation(90); mojeEkran.tło(0, 0, 0); mojeEkran.stroke(255, 255, 255); myScreen.text("Cześć cudownie, ", 10, 50); myScreen.text("obróć pinezkę > do", 10, 60); myScreen.text("Zdobądź zachętę.", 10, 70); rangeOne = fałsz;

Jeśli potencjometr znajdzie się w zakresie niższym niż 51, na ekranie z wyświetlaczem (w trybie portretowym = obrót 90) jakiś tekst.

Aby móc wyświetlić obraz, upewnij się, że twój pin SD CS jest poprawnie zdefiniowany, w przeciwnym razie arduino nie zainicjuje SD (więc upewnij się, że sprawdziłeś przewody!!)

Jeśli chcesz sprawdzić piny swojego LCD, możesz zapoznać się z oficjalnym przewodnikiem w „podłączaniu ekranu”

Zdefiniowałem teraz mój pin SD CS jako 4, ponieważ na przykład pomieszałem przewody! - Cieszę się, że mogę podzielić się tym małym oopsie, ponieważ zaoszczędzi to dużo czasu na przeszukiwaniu sieci w poszukiwaniu błędu „Nie udało się zainicjować”. Na niektórych forach mówi się, że poprawką jest posiadanie określonego modelu karty SD. Więc najpierw sprawdź okablowanie przed zakupem nowych kart SD!!

Krok 4: Przykład pełnego kodu

#włączać

#include // Biblioteka specyficzna dla sprzętu #include

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

const int analogInPin = A0; // Pin wejścia analogowego, do którego podłączony jest potencjometr

int sensorValue = 0; // wartość odczytana z puli int outputValue = 0; // wartość wyprowadzana do PWM (wyjście analogowe) bool rangeOne = true; wartość logiczna dwa = prawda; bool zakresTrzy = prawda; bool zakresCztery = prawda; wartość logiczna Pięć = prawda;

Moje Logo TFT = TFT(CS, DC, RESET);

Obraz obrazu; wydruk const char[9];

void setup(){ Serial.begin(9600); mojeEkran.początek(); // spróbuj uzyskać dostęp do karty SD Serial.print("Inicjowanie karty SD…"); if (!SD.begin(SD_CS)) { Serial.println("nie powiodło się!"); powrót; } Serial.println("OK!");

// zainicjuj i wyczyść ekran GLCD myScreen.begin(); mojeEkran.tło(255, 255, 255);

} void loop(){ // odczytaj wartość analogową: sensorValue = analogRead(analogInPin); // zmapuj go na zakres wyjścia analogowego: outputValue = map(sensorValue, 0, 1023, 0, 255); String stuffToPrint = String(wartośćwyjściowa); // zmiana wartości wyjścia analogowego:

stuffToPrint.toCharArray(wydruk, 9); // tekst statyczny myScreen.setTextSize(1);

Serial.print("czujnik = "); Serial.print(wartość czujnika); Serial.print("\t wyjście = "); Serial.println(wartośćwyjściowa);

opóźnienie(50);

if (outputValue to", 10, 60); myScreen.text("zdobądź zachętę.", 10, 70); rangeOne = false; } } if(outputValue > 52 && outputValue 102 && outputValue 154 && outputValue < 205){ / /zakres cztery if (zakresFour == true){ rangeThree = true; rangeFive = true; myScreen.setRotation(90); myScreen.background(255, 255, 255); // wyczyść obraz z ekranu = myScreen.loadImage("quote2.bmp"); //zapisz obraz na ekranie myScreen.image(image, 0, 0); myScreen.stroke(255, 255, 255); myScreen.text("Jestem taki dumny", 10, 50); myScreen.text("o tobie!", 10, 60); rangeFour = false; } }

if(wartośćwyjściowa > 206 &&wartośćwyjściowa

Zalecana: