Selasa, 17 Mei 2011

permainan led

Gagasan untuk proyek ini muncul terutama karena aku butuh proyek kedua untuk kelas ini dan karena daya tarik saya dengan LED. Gagasan untuk Artikel Proyek Suami muncul terutama KARENA AKU butuh Proyek kedua untuk Artikel Suami Kelas Dan KARENA daya tarik Saya Artikel Baru LED. Saya browsing youtube untuk bersenang-senang LED ide-ide proyek dan menemukan LED Cube 3x3x3. Sayangnya, camcorder kita tidak fokus dengan benar di dalam kegelapan, sehingga klip video tidak begitu baik. Saya youtube untuk Artikel bersenang-Senang browsing ide-ide LED Proyek Dan menemukan LED Cube 3x3x3 Baik. Kami Sayangnya, camcorder tidak benar FOKUS Artikel Baru Di kegelapan Dalam, sehingga tidak begitu Klip video.
Tujuan dari perangkat ini adalah murni untuk bersenang-senang dan berkedip beberapa lampu:) Anda dapat mengaktifkan 1-27 LED di kombinasi dengan berbagai kombinasi warna. Tujuan USING perangkat Suami adalah murni untuk Artikel Dan bersenang-Senang lampu berkedip beberapa:) nama dan Kembali mengaktifkan LED dapat 1-27 Di berbagai Artikel Baru Kombinasi Kombinasi warna. Kami juga dapat melakukan memudar efek fading baik di luar sebuah. Kami juga dapat melakukan memudar Efek ekuitas berlangganan My memudar Baik Di Luar. LED memiliki satu masalah kecil karena mereka jelas dan ditempatkan begitu dekat satu sama lain mereka dapat mengirim cahaya melalui LED di atas mereka. Satu masalah LED memiliki KARENA Kecil Dan jelas mereka ditempatkan begitu dekat Satu Sama berbaring mereka dapat mengirim Cahaya Di Atas LED tidak aktif mereka. Ini menciptakan ilusi ke penampil membuat mereka berpikir bahwa kita telah berpaling mereka LED pada yang benar-benar off. Suami menciptakan ilusi Ke penampil membuat mereka berpikir bahwa Kita telah mereka berpaling PADA LED Yang benar-benar off.
Perangkat Keras Perangkat keras
Hanya ada beberapa bagian utama proyek ini ditentukan di bawah ini. Hanya Ada beberapa Bagian tidak ditentukan utama Proyek Suami Suami Di Arus bawah.
Hardware perubahan perubahan Hardware
Kami membuat beberapa perubahan pada perangkat keras yang asli. Kami membuat beberapa perubahan PADA perangkat keras Yang Asli. Perubahan utama dibuat untuk papan. Perubahan utama Dibuat untuk Artikel Papan. Papan asli dua sisi dan kami berhasil membuat kita satu sisi. Papan Asli doa Sisi Dan Kami berhasil membuat Kita Satu Sisi. Kami capai ini akan bergerak link antara pin warna untuk kawat jumper menghubungkan LED yang dari papan. Foil pada bagian atas papan digunakan sebagai tanah. Kami akan keanaeragaman Bergerak capai Suami link ANTARA pin warna untuk Artikel menghubungkan kawat jumper LED Yang dari Dewan Papan USING. Foil Di Atas Bagian tidak USING digunakan sebagai Tanah. Dua vias menghubungkan PIC Vss pin dengan sisi atas PCB. Dua vias menghubungkan PIC Artikel Baru pin Vss Sisi Atas PCB. Mereka ditempatkan di bawah soket IC. Mereka ditempatkan Di Arus bawah soket IC. Tutup keramik kecil 0.1μF disolder langsung ke PIC terkait (soket) pin, itu dilingkari pada gambar kanan bawah. Gambar tengah menunjukkan tata letak komponen pada PCB (tampak atas dengan kabel biru di bagian bawah). Tutup keramik 0.1μF disolder Kecil Langsung adalah PIC? Berlangganan Ke (soket) pin, ITU PADA dilingkari Gambar Kanan Arus bawah). Menengah Gambar menunjukkan tata letak komponen PADA PCB Atas (Artikel Baru Di biru ada posting Kabel Arus bawah. Konektor 4-pin pada papan digunakan untuk pemrograman PIC. Konektor pin-4 PADA Papan digunakan untuk Artikel pemrograman PIC

Kabel kabel LED LED
27 LED berwarna multi-wired bersama sesuai aslinya PDF tutorial sebagai berikut. The 27-berwarna LED multi disadap Bersama PDF Sesuai aslinya sebagai berikut tutorial. Ada tiga bidang vertikal berdiri berdampingan. Kami menyebutnya pesawat-pesawat itu kembali, tengah dan depan. Ada Tiga bidang vertikal berdiri berdampingan. Kami menyebutnya Dilaporkan pesawat-pesawat ITU, depan Dan Tengah. Pesawat kembali dibentuk oleh 9 kolom LED pada posisi 3, 6 dan 9 di papan (lihat gambar kanan bawah). Demikian pula, dataran tengah dibentuk oleh LED pada posisi 2, 5 dan 8. Akhirnya, pesawat depan dibentuk oleh LED pada posisi 1,, 4 dan 7. Pesawat Dilaporkan Oleh dibentuk 9 kolom LED PADA 3 Posisi, 6, dan Jaksa 9 Di Papan (lihat Gambar Kanan Arus bawah). Demikian pula, dataran Oleh Tengah dibentuk LED PADA Posisi 2 5,, dan 8. Akhirnya, pesawat depan dibentuk Oleh LED PADA Posisi 1, 4 dan 7.
Dalam setiap pesawat pin GRB terhubung bersama oleh jumper kawat di atas papan (lihat foto di atas), tetapi pin umum dari 9 LED milik pesawat yang berbeda. Dalam pesawat terkait masih berlangsung pin GRB Bersama Oleh kawat jumper terhubung Di Atas Papan (lihat foto Di Atas), tetapi pin Umum USING 9 LED pesawat Milik Yang berbeda. Pin umum dari setiap baris dari tiga LED yang sejajar dengan papan terhubung sama untuk pin C terkait pada PCB. Pin Umum terkait masih berlangsung Baris USING USING Tiga LED Yang Papan terhubung pin sejajar Artikel Baru Sama untuk Artikel C? Berlangganan PADA PCB. Pengindeksan dari LED dalam pesawat jika Anda melihat di atasnya dari colokan listrik, serta pada skema, sesuai dengan salah satu di papan tulis. Artinya, # LED 1 adalah satu di sudut kiri bawah dan LED # 9 adalah salah satu di sudut kanan atas. Pengindeksan USING LED pesawat dalam nama dan Kembali jika ada posting Di atasnya USING colokan Listrik, Permasalahan PADA skema, Salah Satu Artikel Baru Sesuai sudut Di Papan tulis. Artinya, LED Yang Dan Arus bawah # 1 adalah Kiri LED # 9 adalah Satu Kanan Atas Di sudut. Hal ini memungkinkan kita untuk mengontrol LED warna setiap individu dengan mendasarkan pin umum terkait tiga LED berturut-turut dan pengaturan warna RGB dari semua LED pada bidang yang sesuai. Hal inisial memungkinkan untuk Artikel Kita mengontrol LED warna individu terkait masih berlangsung mendasarkan Artikel Baru Tiga? Berlangganan pin LED pengaturan Umum Dan berturut-turut warna RGB LED * Semua USING PADA Sesuai bidang yang.
Bagian daftar BAb Bagian tidak
* PIC16F886 microcontroller 8-bit PIC16F886 microcontroller 8-bit
LED RGB RGB LED *
* 5V regulator tegangan 7805 di ATAS-220 paket Tegangan 5V regulator 7805 Di Atas-220 paket
* Kekuatan daya jack jack
* 3-pin 20MHz resonator keramik dengan kapasitor terintegrasi 3 20MHz pin-resonator keramik kapasitor terintegrasi Artikel Baru
* Resistor Resistor 10K/0.25W 10K/0.25W
* Elektroda Kapasitor 10.0x16V (2 orang) Kapasitor elektrolitik 10.0x16V (2 Orang)
* Chip keramik kapasitor SMD 0805 0.1μFx50V dalam paket Chip keramik kapasitor SMD 0805 paket dalam 0.1μFx50V
Perangkat Lunak Perangkat lunak
Perangkat lunak ini ditulis pada C dan disesuaikan dengan yang asli untuk digunakan dengan kompiler C HiTech. Perangkat lunak ditulis inisial PADA C Dan Yang Asli disesuaikan Artikel Baru digunakan untuk Artikel Artikel Baru kompiler C HiTech. The RGBcube () metode yang digunakan untuk menampilkan LED. Dimulai dengan mematikan semua LED dengan menetapkan ke 1 pin sesuai pada PORTB dan PORTC yang mengontrol bersama dari LED. The RGBcube () metode digunakan untuk Artikel Yang menampilkan LED. Artikel Baru dimulai Suami mematikan LED * Semua menetapkan Artikel Baru Ke 1 pin Sesuai PADA PORTB PORTC Dan Yang mengontrol Bersama USING LED. Ia kemudian masuk ke dalam laporan saklar dan alasan salah satu pin umum sesuai dengan baris. didefinisikan oleh parameter yang sesuai. Masuk Ke AGLOCO sedangkan kurs kembali kemudian dalam Salah Satu Dan alasan saklar pin Baris Umum Artikel Baru Sesuai. Parameter Didefinisikan Oleh Yang Sesuai. Setelah ini, kita menghapus semua warna dengan nol-ing pin sesuai dari Porta dan PORTC. Penghasilan kena pajak Suami Kita, menghapus warna Artikel Baru * Semua pin nol-ing Sesuai USING Porta Dan PORTC. Akhirnya, kami melewati warna untuk Porta dan PORTC oleh OR-ing itu. Akhirnya, Kami melewati warna untuk Artikel Porta Dan mereka PORTC Oleh OR-ing. Sayangnya, kita tidak bisa membuat metode perpustakaan delay untuk kompilasi, jadi kami menggunakan metode 1 delay msec kustom ditulis dalam bahasa assembly. Sayangnya, Kita tidak Bisa membuat metode penundaan perpustakaan untuk Artikel mengkompilasi, Jadi Kami menggunakan metode penundaan 1 msec ditulis dalam bahasa Kustom perakitan.
// this is the main funcion for displaying the LEDs / / Ini adalah funcion utama untuk menampilkan LED
void RGBcube (unsigned short row,unsigned short front,unsigned short void RGBcube (baris pendek unsigned, depan pendek unsigned, unsigned pendek
mid,unsigned short back) pertengahan, kembali pendek unsigned)
{ (
PORTB |= (0b00111111); PORTC |= (0b00111000); // turn all LEDs off PORTB | = (0b00111111); PORTC | = (0b00111000); / / mengubah semua LED off
switch (row) switch (baris)
{ (
case 0: break; // all OFF Kasus 0: break; / / OFF semua
case 1: resBit(PORTC, 3); break; // ground common pin #1 Kasus 1: resBit (PORTC, 3); break; / / dasar umum pin # 1
case 2: resBit(PORTC, 4); break; // ground common pin #2 kasus 2: resBit (PORTC, 4); break; / / dasar umum pin # 2
case 3: resBit(PORTC, 5); break; // ground common pin #3 kasus 3: resBit (PORTC, 5); break; / / tanah pin umum # 3
case 4: resBit(PORTB, 0); break; // ground common pin #4 Kasus 4: resBit (PORTB, 0); break; / / dasar umum pin # 4
case 5: resBit(PORTB, 1); break; // ground common pin #5 Kasus 5: resBit (PORTB, 1); break; / / dasar umum pin # 5
case 6: resBit(PORTB, 2); break; // ground common pin #6 Kasus 6: resBit (PORTB, 2); break; / / dasar umum pin # 6
case 7: resBit(PORTB, 3); break; // ground common pin #7 Kasus 7: resBit (PORTB, 3); break; / / dasar umum pin # 7
case 8: resBit(PORTB, 4); break; // ground common pin #8 Kasus 8: resBit (PORTB, 4); break; / / dasar umum pin # 8
case 9: resBit(PORTB, 5); break; // ground common pin #9 Kasus 9: resBit (PORTB, 5); break; / / dasar umum pin # 9
} )

PORTA = 0; // clear all colors Porta = 0; / / bersihkan semua warna
PORTC &=~ (0b00000111); PORTC & = ~ (0b00000111);

PORTA |= front; // front level colors Porta | = depan; / / warna tingkat depan
PORTA |= (mid << 3); // mid level colors Porta | = (pertengahan <<3); / / pertengahan tingkat warna
PORTC |= back; // back level colors PORTC | = kembali; / / warna tingkat kembali

delay1msec(); delay1msec ();
} )
Berikut adalah contoh dari RGBup () metode yang mengambil setiap lapisan horizontal, warna itu sama dan kemudian berputar ke atas warna. Melihat loop yang pertama untuk panggilan RGBcube () Anda lihat ternyata tingkat atas merah, hijau tingkat menengah, dan tingkat bawah biru. Contoh Berikut adalah USING RGBup () metode Yang mengambil lapisan horizontal terkait masih berlangsung, warna ITU Sama Dan kemudian berputar Ke Atas warna hijau. loop ada posting Yang pertama untuk Artikel panggilan RGBcube () nama dan Kembali lihat merah ternyata tingkat menengah tingkat Atas, dan Jaksa biru tingkat Arus bawah. Angka-angka di depan nama-nama warna pin tanah yang perlu diatur. Angka-angka Di depan Nama-Nama warna pin Tanah Yang perlu diatur. Setiap loop dalam berjalan 16 kali, yang menentukan kecepatan perubahan warna. Terkait masih berlangsung loop berjalan dalam 16 Kali, Yang warna menentukan kecepatan perubahan.
// this funcion lights each layer and the colors move upwards / / Lampu funcion ini setiap lapisan dan warna bergerak ke atas
void RGBup () void RGBup ()
{ (
for (count2 = 0; count2 < 25; ++count2) untuk (count2 = 0; count2 <25; + + count2)
{ (
for (count = 0; count < 16; ++count) for (count = 0; count; menghitung + <16 +)
{ (
RGBcube (1,red,red,red); //top level of cube RGBcube (1, merah, merah, merah); / / tingkat atas kubus
RGBcube (4,red,red,red); RGBcube (4, merah, merah, merah);
RGBcube (7,red,red,red); RGBcube (7, merah, merah, merah);

RGBcube (2,green,green,green); //middle level of cube RGBcube (2, hijau, hijau, hijau); / / tingkat menengah kubus
RGBcube (5,green,green,green); RGBcube (5, hijau, hijau, hijau);
RGBcube (8,green,green,green); RGBcube (8, hijau, hijau, hijau);

RGBcube (3,blue,blue,blue); //bottom level of cube RGBcube (3, biru, biru, biru); / / tingkat bawah kubus
RGBcube (6,blue,blue,blue); RGBcube (6, biru, biru, biru);
RGBcube (9,blue,blue,blue); RGBcube (9, biru, biru, biru);
} )
for (count = 0; count < 16; ++count) for (count = 0; count; menghitung + <16 +)
{ (
RGBcube (1,green,green,green); //top level of cube RGBcube (1, hijau, hijau, hijau); / / tingkat atas kubus
RGBcube (4,green,green,green); RGBcube (4, hijau, hijau, hijau);
RGBcube (7,green,green,green); RGBcube (7, hijau, hijau, hijau);

RGBcube (2,blue,blue,blue); //middle level of cube RGBcube (2, biru, biru, biru); / / tingkat menengah kubus
RGBcube (5,blue,blue,blue); RGBcube (5, biru, biru, biru);
RGBcube (8,blue,blue,blue); RGBcube (8, biru, biru, biru);

RGBcube (3,red,red,red); //bottom level of cube RGBcube (3, merah, merah, merah); / / tingkat bawah kubus
RGBcube (6,red,red,red); RGBcube (6, merah, merah, merah);
RGBcube (9,red,red,red); RGBcube (9, merah, merah, merah);
} )
for (count = 0; count < 16; ++count) for (count = 0; count; menghitung + <16 +)
{ (
RGBcube (1,blue,blue,blue); //top level of cube RGBcube (1, biru, biru, biru); / / tingkat atas kubus
RGBcube (4,blue,blue,blue); RGBcube (4, biru, biru, biru);
RGBcube (7,blue,blue,blue); RGBcube (7, biru, biru, biru);

RGBcube (2,red,red,red); //middle level of cube RGBcube (2, merah, merah, merah); / / tingkat menengah kubus
RGBcube (5,red,red,red); RGBcube (5, merah, merah, merah);
RGBcube (8,red,red,red); RGBcube (8, merah, merah, merah);

RGBcube (3,green,green,green); //bottom level of cube RGBcube (3, hijau, hijau, hijau); / / tingkat bawah kubus
RGBcube (6,green,green,green); RGBcube (6, hijau, hijau, hijau);
RGBcube (9,green,green,green); RGBcube (9, hijau, hijau, hijau);
} )
} )
} )
Setelah Anda memahami bagaimana RGBup () metode bekerja, mudah menambahkan efek Anda sendiri. Penghasilan kena pajak memahami bagaimana nama dan Kembali RGBup () bekerja metode, menambahkan Mudah Efek ekuitas nama dan Kembali Sendiri. Setiap efek dikodekan dalam metode yang sesuai. Terkait masih berlangsung dikodekan dalam Efek ekuitas metode Yang Sesuai. Efek yang diurutkan dari fungsi utama. Efek Yang diurutkan USING Syarat utama. Semua yang perlu dilakukan adalah memanggil metode yang diinginkan dan loop selamanya. * Semua metode memanggil Yang perlu dilakukan adalah Yang diinginkan Dan loop SELAMANYA. The DIAspin () metode terlalu panjang untuk secara langsung dikompilasi dengan compiler yang digunakan, jadi kita splitted menjadi dua bagian. Hal ini membantu untuk komentar dari semua metode dan meninggalkan hanya salah satu kemudian diaktifkan untuk memahami bagaimana tampak dan bekerja. The DIAspin () metode terlalu Panjang secara Langsung compiler untuk Artikel Artikel Baru dikompilasi Yang digunakan, Jadi Kita splitted Bagian tidak menjadi doa. Hal inisial membantu untuk Artikel komentar USING * Semua metode Dan hanya meninggalkan Salah Satu diaktifkan untuk Artikel kemudian memahami bagaimana Tampak Dan bekerja.
void main ()     // main funcion void main () / / funcion utama
{ (
initPORTS () ; initPORTS ();
while (1) // order of patterns sementara (1) / / perintah dari pola
{ (
RGBrand () ; RGBrand ();
RGBcolor(); RGBcolor ();
RBGfun(); RBGfun ();
RGBbox (); RGBbox ();
RGBup (); RGBup ();
RGBhoriz(); RGBhoriz ();
RGBspin (); RGBspin ();
RGBspin2(); RGBspin2 ();
for (count3 = 0; count3 < 3; ++count3) untuk (count3 = 0; count3 <3; + + count3)
{ // goes around the cube 5 times (/ / Berputar mengelilingi kubus 5 kali
DIAGspin1(); DIAGspin1 ();
DIAGspin2(); DIAGspin2 ();
} )
RGBredspin(15); RGBredspin (15);
} )
} )
pikiran pikiran Final Final
Jika saya menghabiskan lebih banyak waktu dengan ini, saya mungkin akan mengulang dalam perakitan. Jika Saya menghabiskan lebih banyak waktu untuk Artikel Suami Saya, mungkin akan keanaeragaman perakitan dalam mengulang. Pada awalnya saya pikir mungkin akan sulit untuk mengubah kode ke assembly tapi saya tidak percaya hal ini terjadi sekarang. Asithi awalnya Saya pikir mungkin akan keanaeragaman sulit untuk Artikel Ke Kode mengubah perakitan tapi Saya tidak percaya Hal inisial terjadi sekarang.
Saya harus memberikan terima kasih kepada orang yang saya mendapatkan ide ini dari, website ini di sini, di Coil Gun Power. Saya harus memberikan kepada kasih & Song Orang Yang Saya mendapatkan ide inisial USING, website Suami Di sini, asam di Coil Gun Power. Aku memang memiliki beberapa masalah ini bersama-sama karena menempatkan di halaman ini dia kode pos untuk pin 40 pic dan kemudian ia memberikan PDF untuk membangun proyek ini menggunakan pic pin 28. Feat memang memiliki beberapa masalah Suami Bersama-sama menempatkan KARENA Di halaman inisial untuk Artikel dialog Kode pos pin 40 pic Dan kemudian memberikan PDF pin AGLOCO sedangkan untuk Artikel membangun Proyek inisial menggunakan pic 28. Gambar-gambar dia juga menggunakan PIC pin 40. Saya tidak yakin mengapa ia beralih antara seperti ini, tidak sangat jelas ketika membacanya, setidaknya untuk saya. dialog PIC Gambar-Gambar juga menggunakan pin 40. Saya tidak Yakin mengapa AGLOCO sedangkan beralih ANTARA seperti inisial, tidak Sangat jelas ketika membacanya, setidaknya untuk Artikel Saya. Di atas kode ini ia diposting untuk PIC pin 28 (dia menjualnya dengan kubus) sangat sederhana dan tidak berbuat banyak. Di Atas Kode inisial AGLOCO sedangkan untuk Artikel diposting PIC 28 pin (dia menjualnya Artikel Baru kubus) Sangat Sederhana Dan tidak berbuat banyak.
Bahkan dengan isu-isu ini, kami masih berhasil membangun kubus dan menulis ulang kode di C, yang tersedia untuk di-download di bawah ini. Bahkan ISU-ISU Artikel Baru Suami, berhasil membangun Kami masih menulis Dan perlu memprogram ulang kubus Kode Di C, tersedia untuk Artikel Yang di-download Di Suami Arus bawah. Setelah beberapa pemeriksaan kode tersebut kami menemukan bahwa kami telah membangun kubus untuk spesifikasi tetapi cara itu dijelaskan untuk bekerja tidak benar. Penghasilan kena pajak Kode beberapa pemeriksaan tersebut Kami menemukan bahwa Kami telah membangun kubus untuk Artikel spesifikasi tetapi dijelaskan ITU Cara untuk Artikel bekerja tidak benar. Kami memodifikasi kode untuk bekerja dengan kita dan setelah memahami satu metode biasanya cukup mudah untuk menulis sendiri. Kami memodifikasi Kode untuk Artikel Kita bekerja Artikel Baru Dan Penghasilan kena pajak Salah memahami metode biasanya Mudah: P Satu untuk Artikel menulis Sendiri.
Satu catatan penting adalah bahwa Anda harus melihat berapa lama metode Anda dapatkan ketika menulis di C. Kita harus membagi DIAspin () metode menjadi dua bagian karena terlalu panjang dan tidak dikompilasi. Satu Catatan Penting adalah bahwa nama dan Kembali harus ada posting berapa lama metode dapatkan ketika menulis nama dan Kembali Di C. Kita harus membagi DIAspin () metode menjadi doa KARENA Bagian tidak terlalu Panjang Dan tidak dikompilasi.
◄ Newer Post Older Post ►