Daftar Isi:

Desktop Organizer Dengan LCD: 4 Langkah
Desktop Organizer Dengan LCD: 4 Langkah

Video: Desktop Organizer Dengan LCD: 4 Langkah

Video: Desktop Organizer Dengan LCD: 4 Langkah
Video: Paul Sellers' Desktop Organiser | Episode 1 2024, November
Anonim
Image
Image

**Sedang Diedit**

Untuk proyek arduino HKU saya memutuskan untuk membuat organisator desktop yang menampilkan layar LCD yang menampilkan kutipan inspirasi untuk menjemput Anda saat Anda memutar potmeter Anda!

Saya akan membahas hal-hal teknis arduino sebagian besar, selama Anda memiliki sesuatu seperti kotak kayu untuk menyembunyikan Arduino dan LCD Anda di oganisor pribadi Anda dapat mengambil bentuk apa pun yang diinginkan.

Hal-hal yang Anda perlukan

  • *arduino uno
  • meteran panci
  • * kabel prototipe laki-laki
  • *Modul LCD !Dengan pembaca kartu SD! (Saya punya arduino tft LCD)
  • *kartu micro SD
  • * kayu (saya mendaur ulang laci mini tua dan menggunakan beberapa suku cadang kayu, pastikan Anda setidaknya dapat membentuk kotak kecil untuk menyembunyikan arduino Anda!

Langkah 1: Menyiapkan Potmeter di Arduino

Menyiapkan Potmeter di Arduino
Menyiapkan Potmeter di Arduino

hubungkan meteran pot Anda seperti yang ditunjukkan pada gambar

untuk membuat meteran pot mulai bekerja

Anda harus memulai dengan beberapa variabel di bagian atas sketsa Anda sebelum pengaturan:

kode:

const int analogInPin = A0; // Pin input analog tempat potensiometer terpasang

int sensorNilai = 0; // nilai yang dibaca dari pot int outputValue = 0; // nilai output ke PWM (analog out)

Pada gambar 2 saya menunjukkan bagaimana potmeter dipetakan dalam loop kosong

kode:

// baca nilai analognya:

sensorValue = analogRead(analogInPin); // memetakannya ke kisaran keluaran analog: outputValue = map(sensorValue, 0, 1023, 0, 255); String stuffToPrint = String(nilai keluaran); // ubah nilai keluaran analog:

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

Serial.print("sensor = "); Serial.print(sensorValue); Serial.print("\t keluaran = "); Serial.println(nilaikeluaran);

penundaan (50);

ini memetakan data analog dari potmeter ke kisaran 0 hingga 255, kami akan menggunakan rentang ini untuk mengontrol tayangan slide lcd kami

Jika Anda memerlukan bantuan untuk mengatur potmeter; Saya menggunakan kode dari tutorial bermanfaat ini, pinnya sama persis dan akan berfungsi dengan pengaturan LCD pada langkah selanjutnya.

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

Langkah 2: Menyiapkan LCD

Menyiapkan LCD
Menyiapkan LCD

Atur pin seperti pada contoh di atas.

Ketika dilakukan dengan benar layar Anda akan menyala putih.

Jika Anda memerlukan bantuan tambahan atau ingin menggunakan beberapa contoh kode untuk menguji tampilan Anda, Anda dapat melihat tutorial resmi untuk modul ini dan contoh kodenya di sini

kita akan menggunakan sebagian "gambar gambar dari kartu SD" pada langkah berikutnya.

Langkah 3: Menyiapkan Slideshow

Menyiapkan Slideshow
Menyiapkan Slideshow

Sekarang setelah kita mengatur Potmeter dan LCD, kita dapat mengatur "slideshow" menggunakan nilai yang dipetakan dari potmeter

Dengan menggunakan rentang 0 hingga 255, kami dapat menunjukkan rentang tertentu di mana kami dapat memicu arduino untuk menampilkan beberapa konten pada LCD.

Contoh pertama seperti yang ditunjukkan pada gambar:

if (nilai keluaran < 51){ //rentang satu jika (rentangSatu == benar){ rentangDua = benar; myScreen.setRotation(90); myScreen.background(0, 0, 0); myScreen.stroke(255, 255, 255); myScreen.text("Hai, luar biasa, ", 10, 50); myScreen.text("putar pin > ke", 10, 60); myScreen.text("mendapatkan dorongan.", 10, 70); rangeSatu = salah;

Jika potmeter berubah ke kisaran yang lebih rendah dari 51, layar dengan tampilan (dalam mode potret = rotasi 90) beberapa teks.

Untuk dapat menampilkan gambar pastikan pin SD CS Anda didefinisikan dengan benar, atau arduino akan gagal untuk menginisialisasi SD (jadi pastikan untuk memeriksa kabel Anda!!)

Jika Anda ingin memeriksa pin LCD Anda, Anda dapat merujuk ke panduan resmi di bawah "menghubungkan layar"

Saya mendefinisikan pin SD CS saya sebagai 4 sekarang karena saya mencampur kabel saya, misalnya! - Saya senang berbagi sedikit oopsie itu karena akan menghemat banyak waktu Anda mencari web untuk kesalahan "Gagal menginisialisasi". Yang di beberapa forum dikatakan perbaikannya adalah memiliki model kartu SD tertentu. Jadi periksa kabel Anda terlebih dahulu sebelum membeli kartu SD baru!!

Langkah 4: Contoh Kode Lengkap

#termasuk

#include // Pustaka khusus perangkat keras #include

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

const int analogInPin = A0; // Pin input analog tempat potensiometer terpasang

int sensorNilai = 0; // nilai yang dibaca dari pot int outputValue = 0; // nilai output ke PWM (analog out) bool rangeOne = true; bool rangeDua = benar; bool rangeTiga = benar; bool rangeFour = benar; bool rangeLima = benar;

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

Gambar gambar; hasil cetakan const char[9];

void setup(){ Serial.begin(9600); myScreen.begin(); // coba akses kartu SD Serial.print("Inisialisasi kartu SD…"); if (!SD.begin(SD_CS)) { Serial.println("gagal!"); kembali; } Serial.println("Oke!");

// menginisialisasi dan menghapus layar GLCD myScreen.begin(); myScreen.background(255, 255, 255);

} void loop(){ // membaca nilai analog: sensorValue = analogRead(analogInPin); // memetakannya ke kisaran keluaran analog: outputValue = map(sensorValue, 0, 1023, 0, 255); String stuffToPrint = String(nilaikeluaran); // ubah nilai keluaran analog:

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

Serial.print("sensor = "); Serial.print(sensorValue); Serial.print("\t keluaran = "); Serial.println(nilaikeluaran);

penundaan (50);

if (nilai keluaran ke", 10, 60); myScreen.text("dapatkan dorongan.", 10, 70); rangeOne = false; } } if(nilai keluaran > 52 && keluaranNilai 102 && keluaranNilai 154 && nilai keluaran < 205){ / /range empat if (rangeFour == true){ rangeThree = true; rangeFive = true; myScreen.setRotation(90); myScreen.background(255, 255, 255); // hapus gambar layar = myScreen.loadImage("quote2.bmp"); //menulis gambar di layar myScreen.image(image, 0, 0); myScreen.stroke(255, 255, 255); myScreen.text("Saya sangat bangga", 10, 50); myScreen.text("dari kamu!", 10, 60); rangeFour = false; } }

jika (nilai keluaran > 206 && nilai keluaran

Direkomendasikan: