Arduino Reaction Timer using an RGB LCD 16x2 Character Display Derek M terjemahan - Arduino Reaction Timer using an RGB LCD 16x2 Character Display Derek M Bahasa Indonesia Bagaimana mengatakan

Arduino Reaction Timer using an RGB

Arduino Reaction Timer using an RGB LCD 16x2 Character Display
Derek Molloy, DCU, Ireland.
Using LCD library from:
http://www.arduino.cc/en/Tutorial/LiquidCrystal
*/
#include // include LCD library

// Set up the display with 4 bits - R/W tied to GND
LiquidCrystal lcd(13, 12, 5, 6, 7, 8); // RS, E, D4-D7
int lcdRedPWMPin = 11; // red channel of the RGB backlight
int lcdGreenPWMPin = 10; // green channel of the RGB backlight
int lcdBluePWMPin = 9; // blue channel of the RGB backlight
int ledPin = 2; // red stop LED
int buttonPin = 3; // reaction timer button

// States of execution
long randomDelayTime; // holds the random time amount
boolean prepareState = true; // in introduction mode
boolean isTiming = false; // timing the press state
long timerStartMillis; // the time when the timer started
long timerEndMillis; // the time when the timer finished

// A function to set the backlight colour using rgb values
void setDisplayRGB(int r, int g, int b)
{
analogWrite(lcdRedPWMPin, r); // using PWM pins, means any shade
analogWrite(lcdGreenPWMPin, g); // of red, green, blue
analogWrite(lcdBluePWMPin, b); // 2^24 combinations
}

// Setup function - called only once
void setup() {
pinMode(ledPin, OUTPUT); // red LED is an output
pinMode(buttonPin, INPUT); // button is an input
setDisplayRGB(255,255,255); // white display
lcd.begin(16, 2); // 16 Columns by 2 Rows
randomSeed(analogRead(0)); // use unconnected pin to seed random sequence
}

void loop() {
if(prepareState){ // prepare state - give out the instruction to press button
lcd.setCursor(0,0); // set cursor to 0,0 (top left)
lcd.print("Reaction Tester:"); // string on the top row
lcd.setCursor(0,1); // next row
lcd.print(" [Press Button] "); // string on the next row
if (digitalRead(buttonPin)==true) // if the button is pressed
{
lcd.clear(); // clear the display
lcd.setCursor(0,0);
lcd.print("---- Ready -----");
randomDelayTime = random(10000); // this is the random amount to be used 0-10 seconds
while (digitalRead(buttonPin)==true) {} // wait until the button is released
prepareState = false; // finished prepare state - lets move on
}
}
else // not in prepare state
{
if (!isTiming) // the timer isn't running, so we are pausing for random amount
{
delay(randomDelayTime); // delay for the random amount
digitalWrite(ledPin, HIGH); // when finished - set red LED high
setDisplayRGB(255,0,0); // set the LCD backlight to be red
lcd.setCursor(0,0); // press now message
lcd.print(" ");
isTiming = true; // now we are ready to start timing reactions
timerStartMillis = millis(); // get the current time
}
else // now we are timing person's reaction
{
if (digitalRead(buttonPin)==true) // when they press the button
{
timerEndMillis = millis(); // get the current time
digitalWrite(ledPin, LOW); // turn off the red led
long difference = timerEndMillis - timerStartMillis; // time taken is difference between times
lcd.clear(); // clear the LCD
lcd.setCursor(0,0);
if (difference == 0) // If the difference is 0 they held the button - or are supermen!
{
setDisplayRGB(255,0,0); // Error message in red
lcd.print(" Shenanigans ");
lcd.setCursor(5,1);
lcd.print("Afoot");
}
else // valid time
{
setDisplayRGB(0,255,0); // Final message in green
lcd.print("Your time was:");
lcd.setCursor(0,1);
lcd.print(difference);
lcd.print("ms"); // milliseconds
}
delay(5000); // leave the message on the screen for 5 seconds
isTiming = false; // ready to start timing again
prepareState = true; // ready to start all over
setDisplayRGB(255,255,255); // set the LCD backlight to white
}
}
}
}
0/5000
Dari: -
Ke: -
Hasil (Bahasa Indonesia) 1: [Salinan]
Disalin!
reaction timer Arduino menggunakan layar lcd 16x2 karakter rgb
derek Molloy, DCU, ireland
menggunakan library lcd dari:.

http://www.arduino.cc/en/tutorial/liquidcrystal * /
# termasuk / / include library lcd

/ / mengatur tampilan dengan 4 bit - r / w terikat dengan gnd
liquidcrystal lcd (13, 12, 5, 6, 7, 8); / / rs, e, d4-d7
int lcdredpwmpin = 11; / / channel merah dari latar rgb
int lcdgreenpwmpin = 10; / / saluran hijau dari lampu latar rgb
int lcdbluepwmpin = 9; / / channel biru backlight rgb
int ledpin = 2; / / red berhenti dipimpin
int buttonpin = 3; tombol timer / / Reaksi

/ / negara eksekusi
randomdelaytime panjang; / / memegang waktu acak jumlah
boolean preparestate = true; / / dalam modus pengenalan
boolean istiming = false; / / waktu keadaan pers
timerstartmillis panjang; / / waktu saat timer mulai
timerendmillis panjang; / / waktu saat timer selesai

/ / fungsi untuk mengatur warna backlight menggunakan nilai rgb
kekosongan setdisplayrgb (int r, int g, int b)

{analogwrite (lcdredpwmpin, r); / / menggunakan pin PWM, berarti setiap warna
analogwrite (lcdgreenpwmpin, g); / / dari merah, hijau, biru
analogwrite (lcdbluepwmpin, b); / / 2
24 kombinasi
}

/ / Setup fungsi - disebut hanya sekali
kekosongan setup () {
pinmode (ledpin, output); / / led merah adalah output
pinmode (buttonpin, input); / / tombol merupakan masukan
setdisplayrgb (255.255.255); / display / putih
lcd.begin (16, 2); / / 16 kolom dengan 2 baris
randomseed (analogread (0)); / / menggunakan pin tidak terhubung untuk benih urutan acak}


kekosongan lingkaran () {
if (preparestate) {/ / mempersiapkan negara - memberikan instruksi untuk menekan tombol
lcd.setcursor (0,0); / / mengatur kursor ke 0,0 (kiri atas)
lcd.print ("tester reaksi:") ; / / string pada baris atas
lcd.setcursor (0,1); / / baris berikutnya
lcd.print ("[tekan tombol]"); / / string pada baris berikutnya
if (digitalread (buttonpin) = = true) / / jika tombol ditekan

{lcd.clear (); / / menghapus layar
lcd.setcursor (0,0);
lcd.print ("---- siap -----");
randomdelaytime = random (10000); / / ini adalah jumlah acak yang akan digunakan 0-10 detik
sementara (digitalread (buttonpin ) == true) {} / / tunggu sampai tombol dilepaskan
preparestate = false;! / / selesai mempersiapkan negara - mari kita lanjutkan

}}
lain / / tidak dalam mempersiapkan negara

{if (istiming) / / timer tidak berjalan, jadi kami berhenti untuk jumlah acak
{
delay (randomdelaytime); / / delay untuk jumlah random
digitalWrite (ledpin, tinggi); / / ketika selesai - set merah dipimpin tinggi
setdisplayrgb (255,0,0); / / mengatur backlight lcd menjadi merah
lcd . setCursor (0,0); / / pers sekarang pesan
lcd.print ("");
istiming = true; / / sekarang kita siap untuk mulai waktu reaksi
timerstartmillis = Millis (); / / mendapatkan waktu sekarang

}lain / / sekarang kita waktu reaksi seseorang

{if (digitalread (buttonpin) == true) / / ketika mereka menekan tombol

{timerendmillis = Millis (); / / mendapatkan waktu sekarang
digitalWrite (ledpin, rendah ); / / menonaktifkan merah dipimpin
panjang perbedaan = timerendmillis - timerstartmillis; / / waktu yang diambil adalah perbedaan antara kali
lcd.clear (); / / bersihkan lcd
lcd.setcursor (0,0);
if (perbedaan == 0) / / jika perbedaannya adalah 0 mereka mengadakan tombol - atau superman

{setdisplayrgb (255,0,0); / pesan / error merah
lcd.print ("shenanigans")! ;
lcd.setcursor (5,1);
lcd.print ("sedang terjadi");}

lain / / waktu yang valid

{setdisplayrgb (0,255,0); / / pesan terakhir hijau
lcd.print ( "Waktu Anda adalah:");
lcd.setcursor (0,1);
lcd.print (perbedaan);
lcd.print ("ms"); / / milidetik
}
Delay (5000); / / meninggalkan pesan pada layar selama 5 detik
istiming = false; / / siap untuk memulai penghitungan waktu lagi
preparestate = true; / / siap untuk mulai dari awal
setdisplayrgb (255.255.255); / / mengatur backlight lcd putih

}}}

}
Sedang diterjemahkan, harap tunggu..
Hasil (Bahasa Indonesia) 2:[Salinan]
Disalin!
Arduino reaksi Timer menggunakan RGB LCD 16 x 2 karakter menampilkan
Derek Molloy, DCU, Irlandia.
LCD menggunakan perpustakaan dari:
http://www.arduino.cc/en/Tutorial/LiquidCrystal
* /
#include / / termasuk Perpustakaan LCD

/ / mengatur tampilan dengan 4 bit - R/W terikat GND
LiquidCrystal lcd (13, 12, 5, 6, 7, 8); / / RS, E, D4-D7
int lcdRedPWMPin = 11; / / lampu merah saluran RGB
Int lcdGreenPWMPin = 10; / / hijau saluran backlight RGB
int lcdBluePWMPin = 9; / / blue saluran backlight RGB
int ledPin = 2; / / merah stop LED
int buttonPin = 3; / / reaksi timer tombol

/ / Serikat eksekusi
panjang randomDelayTime; / / memegang jumlah waktu acak
boolean prepareState = true; / / dalam mode pengenalan
boolean isTiming = false; / / waktu tekan negara
panjang timerStartMillis; / / waktu ketika timer mulai
panjang timerEndMillis; / / waktu setelah timer selesai

/ / fungsi untuk mengatur warna latar menggunakan nilai rgb
membatalkan setDisplayRGB (int r, int g, int b)
{
analogWrite (lcdRedPWMPin, r); / / menggunakan pin PWM, artinya naungan
analogWrite (lcdGreenPWMPin, g); / / merah, hijau, biru
analogWrite (lcdBluePWMPin, b); / / 2
24 kombinasi
}

/ / Setup fungsi - disebut hanya sekali
membatalkan setup() {
pinMode (ledPin, OUTPUT); / / LED merah adalah output
pinMode (buttonPin, masukan); / / tombol merupakan masukan
setDisplayRGB(255,255,255); / / putih tampilan
lcd.begin (16, 2); / / 16 kolom oleh baris 2
randomSeed(analogRead(0)); / / menggunakan pin tidak terhubung ke benih urutan acak
}

membatalkan loop() {
If(prepareState) {/ / mempersiapkan negara - memberikan instruksi untuk tekan tombol
lcd.setCursor(0,0); / / set kursor ke 0,0 (kiri atas)
lcd.print ("reaksi Tester:"); / / string di baris atas
lcd.setCursor(0,1); / / baris berikutnya
lcd.print ("[tekan tombol]"); / / string pada baris berikutnya
jika (digitalRead(buttonPin)==true) / / jika tombol ditekan
{
lcd.clear(); / / Hapus tampilan
lcd.setCursor (0,0);
lcd.print ("---siap---");
randomDelayTime = random(10000); / / ini adalah jumlah acak digunakan 0-10 detik
sementara ({digitalRead(buttonPin)==true)} / / menunggu sampai tombol dirilis
prepareState = false; / / selesai mempersiapkan negara - Mari kita beralih
}
}
lain / / tidak mempersiapkan negara
{
jika (! isTiming) / / timer tidak berjalan, jadi kami berhenti untuk jumlah acak
{
Delay(randomDelayTime); / / menunda untuk jumlah acak
digitalWrite (ledPin, tinggi); / / selesai - set merah LED tinggi
setDisplayRGB(255,0,0); / / set backlight LCD menjadi merah
lcd.setCursor(0,0); / / Celana sekarang pesan
lcd.print ("< PRESS sekarang mengatakan");
isTiming = true; / / Sekarang kita siap untuk memulai waktu reaksi
timerStartMillis = millis(); / / Dapatkan saat
}
lain / / sekarang kami waktu seseorang reaksi
{
jika (digitalRead(buttonPin)==true) / / Kapan mereka tekan tombol
{
timerEndMillis = millis(); / / mendapatkan saat
digitalWrite (ledPin, rendah); / / Matikan merah yang dipimpin
lama perbedaan = timerEndMillis - timerStartMillis; / / waktu yang dibutuhkan adalah perbedaan antara kali
lcd.clear(); / / clear LCD
lcd.setCursor(0,0);
Jika (perbedaan == 0) / / jika perbedaan adalah 0 mereka memegang tombol - atau adalah manusia super!
{
setDisplayRGB(255,0,0); / / pesan kesalahan merah
lcd.print ("Shenanigans");
lcd.setCursor(5,1);
lcd.print("Afoot");
}
lain / / valid waktu
{
setDisplayRGB(0,255,0); / / Akhir pesan hijau
lcd.print ("waktu Anda:");
lcd.setCursor(0,1);
lcd.print(difference);
lcd.print("ms"); / / milidetik
}
delay(5000); / / Tinggalkan pesan di layar selama 5 detik
isTiming = false; / / siap untuk memulai waktu lagi
prepareState = true; / / siap untuk mulai dari awal
setDisplayRGB(255,255,255); / / set lampu latar LCD putih
}
}
}
}
Sedang diterjemahkan, harap tunggu..
 
Bahasa lainnya
Dukungan alat penerjemahan: Afrikans, Albania, Amhara, Arab, Armenia, Azerbaijan, Bahasa Indonesia, Basque, Belanda, Belarussia, Bengali, Bosnia, Bulgaria, Burma, Cebuano, Ceko, Chichewa, China, Cina Tradisional, Denmark, Deteksi bahasa, Esperanto, Estonia, Farsi, Finlandia, Frisia, Gaelig, Gaelik Skotlandia, Galisia, Georgia, Gujarati, Hausa, Hawaii, Hindi, Hmong, Ibrani, Igbo, Inggris, Islan, Italia, Jawa, Jepang, Jerman, Kannada, Katala, Kazak, Khmer, Kinyarwanda, Kirghiz, Klingon, Korea, Korsika, Kreol Haiti, Kroat, Kurdi, Laos, Latin, Latvia, Lituania, Luksemburg, Magyar, Makedonia, Malagasi, Malayalam, Malta, Maori, Marathi, Melayu, Mongol, Nepal, Norsk, Odia (Oriya), Pashto, Polandia, Portugis, Prancis, Punjabi, Rumania, Rusia, Samoa, Serb, Sesotho, Shona, Sindhi, Sinhala, Slovakia, Slovenia, Somali, Spanyol, Sunda, Swahili, Swensk, Tagalog, Tajik, Tamil, Tatar, Telugu, Thai, Turki, Turkmen, Ukraina, Urdu, Uyghur, Uzbek, Vietnam, Wales, Xhosa, Yiddi, Yoruba, Yunani, Zulu, Bahasa terjemahan.

Copyright ©2025 I Love Translation. All reserved.

E-mail: