Isi kandungan:

Penganjur Desktop Dengan LCD: 4 Langkah
Penganjur Desktop Dengan LCD: 4 Langkah

Video: Penganjur Desktop Dengan LCD: 4 Langkah

Video: Penganjur Desktop Dengan LCD: 4 Langkah
Video: Merakit Mini PC Touch Screen Support Arduino LattePanda 2024, November
Anonim
Image
Image

** Sedang diedit **

Untuk projek HKU arduino, saya memutuskan untuk membuat organisor desktop yang menampilkan skrin LCD yang memaparkan petikan inspirasi untuk menjemput anda semasa anda memutarkan alat peraga!

Saya akan merangkumi banyak perkara teknikal arduino, selagi anda mendapat sesuatu seperti kotak kayu untuk menyembunyikan Arduino dan LCD anda dalam oganisor peribadi anda boleh mengambil apa-apa bentuk yang diinginkan.

Perkara yang anda perlukan

  • * arduino uno
  • meter periuk
  • * wayar prottyping lelaki
  • * Modul LCD! Dengan pembaca kad SD! (Saya mendapat LCD arduino tft)
  • * kad SD mikro
  • * kayu (saya mengitar semula laci mini lama dan menggunakan beberapa alat ganti kayu, pastikan anda sekurang-kurangnya dapat membentuk kotak kecil untuk menyembunyikan arduino anda!

Langkah 1: Menyiapkan Potmeter di Arduino

Menyiapkan Potmeter di Arduino
Menyiapkan Potmeter di Arduino

sambungkan meter periuk anda seperti yang ditunjukkan dalam gambar

untuk mendapatkan meter periuk untuk memulakan kerja

Anda perlu memulakan dengan beberapa pemboleh ubah di bahagian atas lakaran anda sebelum persediaan:

kod:

const int analogInPin = A0; // Pin input analog yang dilekatkan pada potensiometer

int sensorValue = 0; // nilai dibaca dari pot int outputValue = 0; // nilai output ke PWM (analog keluar)

Dalam gambar 2 saya menunjukkan bagaimana potmeter dipetakan dalam gelung kekosongan

kod:

// baca nilai analognya:

sensorValue = analogRead (analogInPin); // memetakannya ke julat analog keluar: outputValue = peta (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // ubah nilai keluar analog:

stuffToPrint.toCharArray (cetakan, 9); // teks statik myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

kelewatan (50);

ini memetakan data analog dari potmeter ke julat 0 hingga 255, kami akan menggunakan julat ini untuk mengawal tayangan slaid lcd kami

Sekiranya anda memerlukan pertolongan mengatur potmeter; Saya menggunakan kod dari tutorial bermanfaat ini, pinnya sama persis dan akan berfungsi dengan penyediaan LCD pada langkah seterusnya.

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

Langkah 2: Menyiapkan LCD

Menyiapkan LCD
Menyiapkan LCD

Sediakan pin seperti dalam contoh di atas.

Apabila selesai dengan betul skrin anda akan menyala putih.

Sekiranya anda memerlukan bantuan tambahan atau ingin menggunakan beberapa kod contoh untuk menguji paparan anda, anda dapat melihat tutorial rasmi modul ini dan contoh kodnya di sini

kita akan sebahagian menggunakan "gambar gambar dari kad SD" pada langkah seterusnya.

Langkah 3: Menyiapkan Tayangan Tayangan

Menyiapkan Tayangan Tayangan
Menyiapkan Tayangan Tayangan

Sekarang kita telah mengatur Potmeter dan LCD, kita dapat mengatur "tayangan slaid" menggunakan nilai yang dipetakan oleh potmeter

Dengan menggunakan julat 0 hingga 255 kita dapat menunjukkan rentang tertentu di mana kita dapat memicu arduino untuk menampilkan beberapa kandungan pada LCD.

Contoh pertama seperti yang ditunjukkan dalam gambar:

if (outputValue <51) {// julat satu jika (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("Hai, hebat,", 10, 50); myScreen.text ("putar pin> ke", 10, 60); myScreen.text ("dapatkan dorongan.", 10, 70); rangeOne = palsu;

Sekiranya potmeter beralih ke julat lebih rendah dari 51, layar dengan paparan (dalam mod potret = rotatio 90) beberapa teks.

Untuk dapat memaparkan gambar, pastikan pin SD SD anda ditentukan dengan betul, atau arduino akan gagal untuk memulakan SD (jadi pastikan untuk memeriksa kabel anda !!)

Sekiranya anda ingin memeriksa pin LCD anda, anda boleh merujuk kepada panduan rasmi di bawah "menghubungkan skrin"

Contohnya, saya menetapkan pin SD SD saya sebagai 4 kerana saya menggabungkan wayar saya! - Saya gembira dapat berkongsi oopsie kecil itu kerana akan menjimatkan banyak masa anda mencari di web untuk kesalahan "Gagal memulakan". Di mana di beberapa forum dikatakan penyelesaiannya adalah memiliki model kad SD tertentu. Oleh itu, periksa pendawaian anda terlebih dahulu sebelum membeli kad SD baru !!

Langkah 4: Contoh Kod Penuh

#sertakan

#include // Perpustakaan khusus perkakasan #include

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

const int analogInPin = A0; // Pin input analog yang dilekatkan pada potensiometer

int sensorValue = 0; // nilai dibaca dari pot int outputValue = 0; // nilai output ke julat bool PWM (analog out)One = true; bool rangeTwo = benar; bool rangeThree = benar; bool rangeFour = benar; bool rangeFive = benar;

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

Imej PImage; cetakan const char [9];

batal persediaan () {Serial.begin (9600); myScreen.begin (); // cuba akses kad SD Serial.print ("Memulakan kad SD …"); jika (! SD.begin (SD_CS)) {Serial.println ("gagal!"); kembali; } Serial.println ("OK!");

// memulakan dan membersihkan skrin GLCD myScreen.begin (); myScreen.background (255, 255, 255);

} gelung void () {// baca nilai analog: sensorValue = analogRead (analogInPin); // memetakannya ke jarak analog keluar: outputValue = peta (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // ubah nilai keluar analog:

stuffToPrint.toCharArray (cetakan, 9); // teks statik myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Serial.println (outputValue);

kelewatan (50);

if (outputValue to ", 10, 60); myScreen.text (" dapatkan galakan. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) {/ / range empat if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // kosongkan gambar skrin = myScreen.loadImage ("quote2.bmp "); // tulis gambar di skrin myScreen.image (gambar, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Saya sangat bangga ", 10, 50); myScreen.text ("of you!", 10, 60); rangeFour = false;}}

jika (outputValue> 206 && outputValue

Disyorkan: