Arduino + LED = Jam Perduaan

Arduino + LED = Jam Perduaan

Isi kandungan:

Anonim

Projek ini diambil secara langsung dari buku "30 Projek Arduino untuk Kejahatan Genius" oleh Simon Monk. Ia diterangkan secara terperinci bermula pada halaman 159.

Pada asasnya, langkah-langkah yang saya lakukan ialah:

1. Selepas membuat keputusan mengenai saiz 12 hingga 15 inci, saya membina sebuah kotak dari kayu sekerap dan kemudian menjadi warna gelap.

2. Saya kemudian membeli sekeping plastik dan memotongnya ke saiz yang hanya akan dimasukkan ke dalam alur yang saya diarah keluar dari bahagian atas kotak.

3. Kemudian saya membuat bulatan pada dasarnya berpusat di tengah kotak tetapi sedikit condong ke bahagian atas kotak. Saya akan membuat kotak persegi masa depan kerana pengukuran akan lebih mudah.

4. Kemudian saya lubang gerudi dengan teliti untuk 16 LEDS yang akan digunakan untuk memaparkan masa.

5. Setiap sisi positif LED mesti disambungkan ke pin Lilypad. Saya menggunakan pin 1-4 untuk jam, 5-10 untuk minit dan 11-13 serta A0-A3 untuk sekejap. Sisi negatif semuanya disatukan ke satu tempat yang sama. Saya menyimpang daripada buku itu dengan cara saya mendapat tempat yang sama. Setiap LED mempunyai penghalang 100 ohm yang melekat padanya.

Saya mempunyai basikal lama yang saya bertekad untuk menggunakan semula dengan seberapa banyak cara yang mungkin. Jadi saya mengambil salah satu gear depan dan melekatkannya ke plastik dan kemudian berlari wayar tembaga di belakang gear. Ini dibenarkan untuk dawai tanah yang sama dan dibuat untuk kelihatan agak bersih (kurang wayar untuk dilihat).

6. Saya kemudian menyalin kod berikut seperti di dalam artikel dan dimuatkan ke Lilypad. Saya membuat beberapa perubahan kepada asal supaya kod yang sebenarnya saya gunakan adalah di bawah:

#include

int hourLEDs = {1, 2,3,4}; // sedikit ketara sedikit terlebih dahulu

int minuteLEDs = {10,9,8,7,6,5};

int secondLEDs = {16,15,14,13,12,11};

int loopLEDs = {16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};

int switchPin = 17;

batal persediaan ()

{

untuk (int i = 0; i <4; i ++)

{

pinMode (jamLEDs i, OUTPUT);

}

untuk (int i = 0; i <6; i ++)

{

pinMode (minitLEDs i, OUTPUT);

}

untuk (int i = 0; i <6; i ++)

{

pinMode (secondLEDs i, OUTPUT);

}

setTime (0);

}

kekosongan gelung ()

{

jika (digitalRead (switchPin))

{

menyesuaikan Waktu (1);

}

lain jika (minit () == 0 && kedua () == 0)

{spin (jam ());

}

updateDisplay ();

kelewatan (1);

}

batal kemas kiniDisplay ()

{

time_t t = now ();

setOutput (jamLEDs, 4, hourFormat12 (t));

setOutput (minitLEDs, 6, minit (t));

setOutput (secondLEDs, 6, second (t));

}

void setOutput (int * ledArray, int numLEDs, int int)

{

untuk (int i = 0; i <numLEDs; i ++)

{

digitalWrite (ledArray i, bitRead (nilai, i));

}

}

tidak sah spin (int count)

{

untuk (int i = 0; i <count; i ++)

{

untuk (int j = 0; j <16; j ++)

{

digitalWrite (loopLEDs j, TINGGI);

kelewatan (50);

digitalWrite (loopLEDs j, LOW);

}

}

}

7. Saya perlu mendapatkan perpustakaan Masa dan memasangnya. Proses ini diterangkan dalam artikel.

8. Sekali dipasang dan dipasang pada jam berfungsi dengan cara ini.

-Untuk melaraskan masa anda meletakkan magnet berhampiran suis buluh dan ia akan mempercepatkan masa sehingga anda mendapat masa yang betul..

- Ketika masa berlalu, detik LED berubah dan tentu saja minit dan jam.

- Untuk membaca masa, seseorang mesti menambah LED yang berada pada contohnya jika Jam LED 8 dan 2 adalah lite, Minit 32 dan 8 sedang, dan saat 16 dan 1 berada pada Ini akan menjadi 10 (8 +2), 40 (32 +8), 17 (16 + 1) atau 10:40:17.

- Juga pada perubahan jam LED akan mengejar bulatan lengkap beberapa kali. Sekiranya 4:00 t, maka mereka mengejar 4 kali, 11:00 kemudian mereka mengejar 11 kali.

Berikut ialah video yang berfungsi:

Bekalan: