Daftar Isi:

Cascade of Shift Registers 74HC595 Dikendalikan Melalui Arduino dan Ethernet: 3 Langkah
Cascade of Shift Registers 74HC595 Dikendalikan Melalui Arduino dan Ethernet: 3 Langkah

Video: Cascade of Shift Registers 74HC595 Dikendalikan Melalui Arduino dan Ethernet: 3 Langkah

Video: Cascade of Shift Registers 74HC595 Dikendalikan Melalui Arduino dan Ethernet: 3 Langkah
Video: Стартовый комплект Elegoo Arduino Uno Super — что внутри? 2024, November
Anonim
Cascade of Shift Registers 74HC595 Dikendalikan Melalui Arduino dan Ethernet
Cascade of Shift Registers 74HC595 Dikendalikan Melalui Arduino dan Ethernet

Hari ini saya ingin mempresentasikan proyek yang telah saya implementasikan dalam dua versi. Proyek ini menggunakan 12 register geser 74HC595 dan 96 LED, papan Arduino Uno dengan perisai Ethernet Wiznet W5100. 8 LED terhubung ke setiap register geser. Angka 0-9 diwakili oleh LED. Setiap register geser dilengkapi dengan 8 terminal keluaran.

Masing-masing dari 4 register geser 74HC595 membentuk unit logis - tampilan untuk mendaftar nomor 4 digit. Secara total, ada 3 tampilan logis dalam proyek yang terdiri dari 12 register geser.

Implementasinya kompatibel untuk papan Arduino Nano, Mega, Uno dan untuk perisai Ethernet dan modul dari keluarga Wiznet, khususnya model W5100 dan W5500 (menggunakan perpustakaan Ethernet2).

Perlengkapan

  • Arduino Uno / Nano
  • Ethernet Wiznet W5100 / W5500
  • 4 hingga 12 register geser 74HC595
  • 32 hingga 96 dioda LED

Langkah 1: Implementasi yang Diimplementasikan dalam Proyek Dengan Arduino:

  • Webserver - Server HTTP yang berjalan langsung di Arduino, memungkinkan untuk menginterpretasikan kode HTML
  • WebClient - Klien mampu membuat permintaan HTTP ke server jauh, mengirim / mengunduh data

Server web:

  • Menyediakan halaman web HTML dengan formulir yang memungkinkan Anda memasukkan 3 angka empat digit.
  • Setelah mengirim formulir, data diproses dan disimpan dalam memori EEPROM, pengguna diinformasikan tentang pemrosesan data oleh subhalaman terpisah.
  • Setelah menyimpan data, pengguna diarahkan kembali ke formulir.
  • Memori EEPROM tidak bergantung pada energi, data dapat diakses bahkan setelah pemulihan daya, tetapi juga papan restart.
  • Semua nomor kemudian direpresentasikan pada tiga tampilan yang terdiri dari 12 register geser 74HC595.

Klien Web:

  • Komunikasi dengan server web berlangsung setiap 5 detik setelah protokol
  • Server web menjalankan aplikasi web PHP yang memungkinkan Anda memasukkan 3 angka empat digit melalui formulir HTML.
  • Data dari formulir disimpan dalam database MySQL.
  • Arduino meminta untuk mengambil data dari database ini melalui query ke server.
  • Data yang telah diproses diurai oleh Arduino, kemudian diplot menggunakan register geser 74HC595.
  • Data juga disimpan dalam memori EEPROM Arduino, mereka digunakan jika koneksi ke server web gagal / ketika papan Arduino di-restart, mereka digunakan untuk rendering awal data pada register geser.
  • Data ditimpa di EEPROM hanya ketika data berubah, sel EEPROM disimpan dari penimpaan yang tidak perlu.

Langkah 2: Pengkabelan & Tangkapan Layar

Pengkabelan & Tangkapan Layar
Pengkabelan & Tangkapan Layar
Pengkabelan & Tangkapan Layar
Pengkabelan & Tangkapan Layar

Koneksi kaskade untuk register geser 74HC595 (dapat diperpanjang x lebih banyak) - Ekspor dari TinkerCAD. Tangkapan layar ada dari antarmuka server web, ketika mendapatkan data melalui formulir HTML, memprosesnya, dan menyimpannya ke memori EEPROM.

Langkah 3: 74HC595 + Kode Sumber

Jelas dari diagram bahwa hanya 3 kabel data yang digunakan untuk mengontrol register geser:

  • Outlet Data - (SER ke 74HC595)
  • Output jam - (SRCLK pada 74HC595)
  • Stopkontak Kait - (RCLK hingga 74HC595)

Register geser dapat digabungkan dalam kaskade, sementara periferal lain juga dapat dikontrol oleh register geser - misalnya, relai untuk mengalihkan elemen daya. Dimungkinkan juga untuk mengontrol 500 relai terpisah (dengan jumlah register geser dan catu daya yang cukup) dengan satu keluaran data.

Saat mengontrol output register, juga dimungkinkan untuk mengubah urutan byte ke bit paling signifikan - MSB PERTAMA, atau ke LSB - bit paling tidak signifikan. Akibatnya, itu membalikkan output. Dalam satu kasus, misalnya, 7 dioda menyala, dalam kasus lain 1 dioda tergantung pada input dan urutan byte.

Kedua implementasi menggunakan memori EEPROM, yang dapat menyimpan data bahkan setelah listrik mati atau setelah papan restart. Penggunaan kedua dari memori ini juga merupakan kemampuan untuk mewakili data terakhir yang diketahui jika tidak memungkinkan untuk berkomunikasi dengan server web (kesalahan konektivitas, server).

Memori terbatas pada 10.000 hingga 100.000 transkrip. Implementasi dirancang untuk beban memori seminimal mungkin. Data tidak akan ditimpa saat diubah. Jika data yang sama dibaca dari server web/klien, data tersebut tidak ditimpa dalam memori EEPROM.

Implementasi perangkat lunak (sisi Arduino) untuk WebClient dapat dicoba secara gratis di:

Arduino berkomunikasi dengan antarmuka web yang memungkinkan untuk memodifikasi 3 angka empat digit:

Minta kode untuk Arduino sebagai server web di: [email protected] untuk instruksi lebih lanjut:

Direkomendasikan: