Arduino Pencari Cahaya: 3 Langkah

Arduino Pencari Cahaya: 3 Langkah

Isi kandungan:

Anonim

Pertama sekali, saya dari Switzerland jadi tolong maafkan kesilapan bahasa inggeris saya.

Berikut adalah salah satu projek kecil saya yang pertama saya lakukan dengan Arduino Uno saya.

Ia hanya pencari cahaya yang sedikit. Servo berubah menjadi cahaya.

Saya membuat video untuk menunjukkan kepada anda apa yang dilakukannya:

Bekalan:

Langkah 1: Pendawaian

Inilah pendawaian yang tepat yang saya gunakan.

Satu-satunya perbezaan adalah bahawa saya menetapkan photoresistors pada servo (tetapi saya tidak dapat melakukannya dengan program ini)

Juga saya menggunakan bateri 9V dalam video, ia dipasang di Vin dan GND.

Resistor adalah 200 Ohm untuk LED dan 10 KOhm untuk photoresistor.

Langkah 2: Kod

Ini adalah kod pertama saya. Saya cuba menterjemahkan ulasan dalam bahasa inggeris.

Arduino mengira perbezaan antara fotoresistor kiri dan kanan dan mengubah servo jika perbezaannya lebih besar daripada 30.

Apabila servo beralih arah mengikut arah jam, LED yang betul menyala. Apabila ia bertukar melawan arah jam, lampu LED kiri menyala

Sekiranya anda melihat apa-apa kesilapan atau perkara yang pelik, sila beritahu saya:)

#include

Servo servo; // tentukan servo

// Pemboleh ubah

int photoD = 0; // tentukan pin 0 untuk photoresistor yang betul

int photoG = 1; // tentukan pin 1 untuk photoresistor kiri

int ledD = 3; // tetapkan pin 3 untuk LED yang betul

int ledG = 5; // tentukan pin 5 untuk LED kiri

int incr = 5; // nilai untuk ditambahkan pada sudut

int valS; // sudut

tempias panjang; //Masa

temps2 panjang; // Masa 2

temps3 panjang; // Masa 3

temps4 panjang; // Masa 4

//----------------------------------------------------------------------------

/ / Persediaan

batal persediaan ()

{

pinMode (3, OUTPUT); // tentukan pin output 3

pinMode (5, OUTPUT); / / menentukan keluaran pint 5

servo.attach (8); // servo pada pin 8

Serial.begin (9600); // Memulakan communcation siri

temps = millis ();

servo.write (75); / / Kedudukan awal servo

}

//----------------------------------------------------------------------------

/ / Loop

kekosongan gelung ()

{

int valG; / // nilai photoG

int valD; / // nilai photoD

valD = analogRead (photoD);

valG = analogRead (photoG);

// Menampilkan nilai pada monitor setiap saat

jika (temps + 1000 <millis ()) {

Serial.print ("nilai photoresistor yang betul:");

Serial.println (valD);

Serial.print ("nilai photoresistor kiri:");

Serial.println (valG);

Serial.print ("Angle:");

Serial.println (valS);

Serial.println ("----------------------");

temps = millis ();

}

jika (temps3 + 1000 <millis () && (valD - valG> 20) && (valS <180)) {

Serial.println ("Menghidupkan lawan arah jam");

temps3 = millis ();

}

jika (temps4 + 1000 <millis () && (valG - valD> 20) && (valS> 0)) {

Serial.println ("Menghidupkan arah jam");

temps4 = millis ();

}

jika (valD - valG> 30) {

valS = valS + incr;

digitalWrite (ledG, TINGGI);

}

jika (valG - valD> 30) {

valS = valS - incr;

digitalWrite (ledD, HIGH);

}

jika (valS> 0 || valS <180) {

servo.write (valS); // pulangkan servo

}

jika (valS <= 0) {

valS = 0;

}

jika (valS> = 180) {

valS = 180;

}

jika (temps2 + 500 <millis () && valD - valG <30 && valG - valD <30) {

digitalWrite (ledD, LOW);

digitalWrite (ledG, LOW);

temps2 = millis ();

}

kelewatan (30);

}

Langkah 3: Akhirnya

Dan itu sahaja !

Saya harap anda menikmati projek ini!

Jika anda mempunyai sebarang pertanyaan, jangan ragu untuk bertanya.