Daftar Isi:
- Perlengkapan
- Langkah 1: Cara Kerjanya…
- Langkah 2: Mengunggah Kode
- Langkah 3: Perpustakaan Diperlukan:
- Langkah 4: Koneksi
- Langkah 5: Tampar Semuanya Bersama
- Langkah 6: Perbaikan Lebih Lanjut:
Video: Robot Yang Memberitahu Apakah Penjual Elektronik Menipu Anda atau Tidak: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Tahun lalu, saya dan ayah saya pergi ke toko robotik/elektronik yang baru dibuka sangat dekat dengan tempat tinggal kami. Ketika saya masuk ke sana, itu penuh dengan elektronik, serov, sensor, Raspberry pis, dan Arduino. Keesokan harinya, kami pergi ke toko yang sama dan membeli banyak sensor dan 3 Arduino senilai sekitar 150 USD. Segera setelah saya pulang, tidak ada produk lain yang berfungsi kecuali Arduino Mega. Kami ditipu sekitar 130 USD yang sangat banyak.
Jadi, saya memutuskan untuk membuat robot yang dapat menguji sekitar 12 sensor dan 2 motor (masih bekerja pada servo) dan dapat menentukan apakah produk tersebut rusak.
Mari kita langsung ke dalamnya!
Perlengkapan
1. Arduino UNO
2. Layar sentuh TFT 2,4"
3. beberapa kabel jumper
4. sensor dan motor sehingga Anda dapat mengujinya (di sini saya menggunakan - Sensor gerak, sensor gas MQ6, Sensor suara, potensiometer, dan sensor ketinggian air)
Langkah 1: Cara Kerjanya…
Saya telah memprogram Arduino untuk membuat dan UI interaktif dengan tampilan TFT. Seperti yang kita ketahui, layar TFT hanya memiliki satu pin kosong yaitu pin A5. (jika Anda menggunakan UNO). Jadi setiap sensor yang menggunakan pin Analog untuk membaca data kompatibel dengan pengaturan ini…
Di UI, Anda dapat mengubah warna latar belakang desktop, dan Anda dapat membuka aplikasi yang dikembangkan untuk Arduino oleh saya untuk menguji sensor.
Saat membuka aplikasi, Anda dapat melihat 2 opsi, INPUT dan OUTPUT. jadi jika Anda mengklik Input, Ini menunjukkan 4 sensor (Ini kompatibel dengan 12, tetapi saya belum memprogramnya karena saya akan menghadapi ujian …. tidak ada waktu:(. Siapa pun bebas mengedit kode …)
Dan itu juga dapat memeriksa apakah motor servo berfungsi jika Anda menghubungkannya di slot.
lihat:
Langkah 2: Mengunggah Kode
Kodenya adalah program 600 baris yang saya kodekan dengan cermat dalam waktu sekitar 50 jam. Itu memang memiliki beberapa bug jadi tolong ubah dan kirimkan ke saya di email saya ([email protected]).
Unggah kode dan sambungkan pelindung TFT ke Arduino. Saya sarankan Anda untuk bermain-main dengan UI sehingga Anda lebih memahaminya.
Kode:
#termasuk
#include #include #include #define LCD_CS A3 #define LCD_CD A2 #define LCD_WR A1 #define LCD_RD A0 #define LCD_RESET A4 #define BLACK 0x0000 #define BLUE 0x001F #define NAVY 0x000F #define # 0define 0xFAN #define MAGENTA 0xF81F #define KUNING 0xFFE0 #define WHITE 0xFFFF #define LIGHTGREY 0xC618 #define UNGU 0x780F #define OLIVE 0x7BE0 #define Selection #define YP A1 #define XM A2 #define MINX 160 #define TS_MAXX 160 #define TS_MAXY 970 Layar Sentuh ts = Layar Sentuh(XP, YP, XM, YM, 300); Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); #define BOXSIZE 40 #define PENRADIUS 3 #define MINPRESSURE 10 #define MAXPRESSURE 1000 int suara; status karakter = 6; int sentuh = 0; int warna = HITAM; int redir = 0; int ota; void setup() { Serial.begin(9600); tft.reset(); tft.setFont(&GratisMonoBoldOblique12pt7b); tft.begin(0x9325); tft.setRotation(45); tft.setTextSize(0.5); tft.fillScreen(PUTIH); tft.setCursor(60, 160); tft.setTextColor(HITAM); tft.print("Geser untuk masuk"); } void loop() { float sensorVoltage; nilai sensor mengambang; TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (pz > MINPRESSURE && pz 240 && px 130 && py 240 && px 20 && py 240 && px 20 && py 160 && px 12 && py 240 && px 20 && py 240 && px 20 && py 40 && px 15 && py 150 && px 40 && py 150 && px 80 && py 150 && px 120 && py 150 && px 170 && py 90 && px 40 && py 90 && px 80 && py 90 && px 120 && py 150 && px 170 && py 150 && px 170 && py 150 && px 170 && py 150 && px 170 && py 150 && px 170 && py 100 && px 20 && py 200 && px 100 && py 100 && px 20 && py 100 && px 20 && py 100 && px 20 && py < 100) { sentuh = 26; } } if (sentuh == 1 && status == 6) { tft.setRotation(0); tft.fillScreen(warna); suara = 0; tft.fillRect(200, 180, 80, 140, PUTIH); tft.drawRect (201, 181, 81, 141, HITAM); tft.fillRect(80, 30, 100, 100, CYAN); tft.drawRect(81, 31, 101, 101, HITAM); tft.fillRect(10, 30, 50, 100, NAVY); tft.drawRect(11, 31, 51, 101, HITAM); tft.fillRect(10, 180, 30, 120, UNGU); tft.drawRect(11, 181, 31, 121, HITAM); tft.fillRect(45, 180, 30, 120, BIRU); tft.drawRect(46, 181, 31, 121, HITAM); tft.fillRect(80, 180, 30, 120, CYAN); tft.drawRect(81, 181, 31, 121, HITAM); tft.fillRect(115, 180, 30, 120, HIJAU); tft.drawRect(116, 181, 31, 121, HITAM); tft.fillRect(150, 180, 30, 120, KUNING); tft.drawRect(151, 181, 31, 121, HITAM); tft.fillTriangle(210, 30, 210, 50, 220, 40, PUTIH); tft.fillRect(200, 35, 12, 12, PUTIH); tft.drawTriangle(210, 30, 210, 50, 220, 40, HITAM); tft.drawRect(200, 35, 12, 12, HITAM); tft.drawCircle(210, 40, 14, PUTIH); //tft.fillTriange(a1, b1, a2, b2, c1, c2, MERAH); tft.setRotation(45); tft.setCursor(200, 20); tft.print("Setelan"); tft.fillRoundRect(45, 75, 75, 75, 4, PUTIH); tft.drawRoundRect(45, 75, 75, 75, 4, HITAM); tft.fillRect(75, 75, 15, 30, HITAM); tft.fillRect(75, 120, 15, 30, HITAM); tft.fillRect(90, 105, 30, 15, HITAM); tft.fillRect(45, 105, 30, 15, HITAM); negara = 7; sentuh = 0; ota = 0; } if (sentuh == 2) { tft.fillScreen(PUTIH); tft.setRotation(0); tft.fillTriangle(210, 30, 210, 50, 220, 40, PUTIH); tft.fillRect(200, 35, 12, 12, PUTIH); tft.drawTriangle(210, 30, 210, 50, 220, 40, HITAM); tft.drawRect(200, 35, 12, 12, HITAM); tft.drawCircle(210, 40, 14, HITAM); tft.setRotation(45); tft.fillTriangle(270, 40, 270, 20, 260, 30, HITAM); tft.drawLine(300, 30, 270, 30, HITAM); tft.setCursor(20, 200); tft.print("personalisasi"); tft.setCursor(20, 170); tft.print("keluar"); tft.setCursor(20, 140); tft.print("periferal"); tft.setCursor(20, 110); tft.print("Tentang"); sentuh = 1; negara = 2; } if (sentuh == 10 && status == 2){ tft.fillScreen(PUTIH); tft.setCursor(10, 160); tft.setTextColor(HITAM); tft.print("Dibuat dan dikembangkan"); tft.setCursor(100, 190); tft.print("oleh:"); tft.setCursor(60, 220); tft.print("Seorang remaja dari India"); tft.setRotation(0); tft.fillTriangle(210, 30, 210, 50, 220, 40, PUTIH); tft.fillRect(200, 35, 12, 12, PUTIH); tft.drawTriangle(210, 30, 210, 50, 220, 40, HITAM); tft.drawRect(200, 35, 12, 12, HITAM); tft.drawCircle(210, 40, 14, HITAM); tft.setRotation(45); tft.fillTriangle(270, 40, 270, 20, 260, 30, HITAM); tft.drawLine(300, 30, 270, 30, HITAM); keadaan = 6; } if (sentuh == 11 && status == 2){ tft.fillScreen(PUTIH); tft.setCursor(60, 40); tft.print("Pilih salah satu"); tft.setCursor(40, 60); tft.print("warna latar belakang"); tft.fillRect(60, 180, 45, 45, MERAH); tft.fillRect(120, 180, 45, 45, KUNING); tft.fillRect(180, 180, 45, 45, BIRU); tft.fillRect(240, 180, 45, 45, HIJAU); tft.fillRect(60, 130, 45, 45, MAGENTA); tft.fillRect(120, 130, 45, 45, NAVY); tft.fillRect(180, 130, 45, 45, LIGHTGREY); tft.fillRect(240, 130, 45, 45, CYAN); tft.fillRect(60, 80, 45, 45, PUTIH); tft.drawRect(60, 80, 45, 45, HITAM); tft.fillRect(120, 80, 45, 45, HITAM); tft.fillRect(180, 80, 45, 45, OLIVE); tft.fillRect(240, 80, 45, 45, UNGU); tft.setRotation(0); tft.fillTriangle(210, 30, 210, 50, 220, 40, PUTIH); tft.fillRect(200, 35, 12, 12, PUTIH); tft.drawTriangle(210, 30, 210, 50, 220, 40, HITAM); tft.drawRect(200, 35, 12, 12, HITAM); tft.drawCircle(210, 40, 14, HITAM); tft.setRotation(45); tft.fillTriangle(270, 40, 270, 20, 260, 30, HITAM); tft.drawLine(300, 30, 270, 30, HITAM); keadaan = 6; if (redir == 1){ warna = PUTIH; } if (redir == 2){ warna = HITAM; } if (redir == 3){ warna = OLIVE; } if (redir == 4){ warna = UNGU; } if (redir == 5){ warna = MAGENTA; } if (redir == 6){ warna = NAVY; } if (redir == 7){ warna = LIGHTGREY; } if (redir == 8){ warna = CYAN; } if (redir == 9){ warna = MERAH; } if (redir == 10){ warna = KUNING; } if (redir == 11){ warna = BIRU; } if (redir == 12){ warna = HIJAU; } } if (sentuh == 26){ ota = 1; tft.fillScreen(PUTIH); tft.setRotation(0); tft.fillTriangle(210, 30, 210, 50, 220, 40, PUTIH); tft.fillRect(200, 35, 12, 12, PUTIH); tft.drawTriangle(210, 30, 210, 50, 220, 40, HITAM); tft.drawRect(200, 35, 12, 12, HITAM); tft.drawCircle(210, 40, 14, HITAM); tft.setRotation(45); tft.fillTriangle(270, 40, 270, 20, 260, 30, HITAM); tft.drawLine(300, 30, 270, 30, HITAM); tft.setRotation(1); tft.setCursor(30, 80); tft.print("Masukan"); tft.setCursor(30, 150); tft.print("Keluaran"); tft.drawRect(25, 130, 90, 30, HITAM); tft.drawRect(25, 60, 90, 30, HITAM); if (p.x > 190 && p.x 30 && p.y < 90){ tft.setCursor(150, 220); tft.print("Ketinggian air"); tft.setCursor(150, 170); tft.print("Tingkat Gas"); tft.setCursor(150, 120); tft.print("Jarak"); tft.setCursor(150, 70); tft.print("Suara"); sentuh = 1; negara = 2; } } } while (suara == 1){ tft.fillScreen(PUTIH); sensorValue = analogRead(A5); sensorVoltage = sensorValue; tft.setCursor(60, 160); tft.print(sensorVoltage); Serial.println("Tingkat suara = "); Serial.println(sensorVoltage); penundaan (1000); if (suara == 0){ istirahat; } } } }
Langkah 3: Perpustakaan Diperlukan:
- Adafruit_GFX.h
- Adafruit_TFTLCD.h
- Layar Sentuh.h
Tautan Github untuk hal yang sama:
github.com/adafruit/Adafruit-GFX-Library
github.com/adafruit/TFTLCD-Library
github.com/adafruit/Adafruit_TouchScreen
Langkah 4: Koneksi
Anda membutuhkan 6 kabel jumper. 3 laki-laki dan 3 perempuan. solder mereka langsung ke papan Arduino seperti ini:
Langkah 5: Tampar Semuanya Bersama
Selipkan kabel ke arduino (lihat gambar), Gunakan lem jika diperlukan…
Kemudian Pasang pelindung TFT lalu uji Sensor Anda.
Terima kasih telah menggulir ke bawah. Pastikan untuk memilih saya jika Anda merasa proyek ini unik dan bermanfaat
Senang membuat dan waspadalah terhadap scammers Elektronik?
Langkah 6: Perbaikan Lebih Lanjut:
- Lebih banyak kompatibilitas sensor
- Kode motor servo harus diselesaikan
- Aplikasi lain yang dapat berinteraksi dengan modul Bluetooth sehingga kami dapat mengontrol robot bertenaga Bluetooth dengannya.
- Perbaikan kerusakan
Direkomendasikan:
Bola Kristal Mistis (Ini Secara harfiah Memberitahu Anda Keberuntungan Anda!): 3 Langkah (dengan Gambar)
Bola Kristal Mistis (Ini Secara harfiah Memberitahu Anda Keberuntungan Anda!): Pelajari cara membuat bola kristal peramal yang mengungkapkan masa depan Anda saat disentuh! Proyek ini terdiri dari tiga bagian dasar dan dapat dibangun dalam waktu sekitar empat jam. Bahan: 1. Sensor Sentuh Kapasitif: 1 - Mikrokontroler Arduino Uno 1
Cara Memeriksa Apakah Game Akan Berjalan di Komputer Anda Sebelum Anda Membeli Game: 4 Langkah
Cara Memeriksa Apakah Game Akan Berjalan di Komputer Anda Sebelum Anda Membeli Game tersebut.: Saya baru-baru ini memperoleh Call of Duty 4 dari seorang teman (bisa saya tambahkan secara gratis) karena tidak dapat berjalan di komputernya. Yah, komputernya cukup baru, dan saya bingung mengapa komputer itu tidak bisa dijalankan. Jadi setelah beberapa jam mencari di internet, saya menemukan
Cara yang Sangat Sederhana/mudah/tidak Rumit untuk Membuat Orang/Manusia/Hewan/Robot Terlihat Seperti Memiliki Penglihatan Panas yang Sangat Keren/Terang (Warna Pilihan Anda) Menggunakan GIMP: 4 Langkah
Cara yang Sangat Sederhana/Mudah/Tidak Rumit untuk Membuat Orang/Manusia/Hewan/Robot Terlihat Seperti Memiliki Penglihatan Panas Yang Sangat Keren/Terang (Warna Pilihan Anda) Menggunakan GIMP: Read…the…title
Titik Kuning Misteri: Apakah Printer Anda Memata-matai Anda?: 5 Langkah (dengan Gambar)
Titik Kuning Misteri: Apakah Printer Anda Memata-matai Anda?: Bayangkan bahwa setiap kali Anda mencetak dokumen, secara otomatis menyertakan kode rahasia yang dapat digunakan untuk mengidentifikasi printer -- dan, kemungkinan, orang yang menggunakannya. Kedengarannya seperti sesuatu dari film mata-mata, kan? Sayangnya, skenarionya
Cara Memperbaiki File Data yang Tidak Didukung, dan Mengunduh File Video Favorit Anda untuk PSP Portable Anda: 7 Langkah
Cara Memperbaiki File Data yang Tidak Didukung, dan Mengunduh File Video Favorit Anda untuk PSP Portable: Saya menggunakan Media Go, dan melakukan beberapa trik agar file video yang tidak didukung berfungsi di PSP saya. Ini semua langkah yang saya lakukan , ketika saya pertama kali mendapatkan file video saya yang tidak didukung untuk bekerja di PSP saya. Ia bekerja 100% dengan semua file video saya ke PSP Po