1 00:00:06,678 --> 00:00:08,800 [Powered by Google Translate] CHRISTOPHER Bartholomew: Jadi anda mungkin telah mendengar 2 00:00:08,800 --> 00:00:11,610 banyak mengenai Arduino, dan semua cara yang cemerlang ia boleh 3 00:00:11,610 --> 00:00:15,270 diprogramkan menggunakan C untuk menerima input dari peranti persisian 4 00:00:15,270 --> 00:00:17,760 seperti butang, sensor dan tombol. 5 00:00:17,760 --> 00:00:20,970 Atau memaparkan dan mengawal output melalui komponen fizikal 6 00:00:20,970 --> 00:00:24,130 seperti lampu, pembesar suara, servos dan motor. 7 00:00:24,130 --> 00:00:27,510 Tetapi apa yang Arduino, benar-benar? 8 00:00:27,510 --> 00:00:30,640 Arduino adalah sejenis mikropengawal, dan 9 00:00:30,640 --> 00:00:33,920 mikropengawal boleh dianggap sebagai sangat dikecilkan 10 00:00:33,920 --> 00:00:36,530 komputer yang mengandungi komponen seperti 11 00:00:36,530 --> 00:00:39,550 pemproses, jumlah memori yang kecil untuk menyimpan mudah 12 00:00:39,550 --> 00:00:42,720 program, dan pelbagai input / output pin yang menghasilkan 13 00:00:42,720 --> 00:00:45,090 arus elektrik akibat daripada 14 00:00:45,090 --> 00:00:47,330 arahan dalam program anda. 15 00:00:47,330 --> 00:00:50,790 Pin pada Arduino di sini untuk antara muka dengan 16 00:00:50,790 --> 00:00:54,210 komponen fizikal seperti LED, pembesar suara, sensor, 17 00:00:54,210 --> 00:00:56,860 motor, dan banyak lagi. 18 00:00:56,860 --> 00:01:00,660 Ini adalah R3 Arduino Uno yang kita akan menggunakan 19 00:01:00,660 --> 00:01:02,210 sepanjang kursus. 20 00:01:02,210 --> 00:01:04,660 Dalam video ini, saya akan pergi ke atas hanya beberapa utama 21 00:01:04,660 --> 00:01:06,110 komponen lembaga ini. 22 00:01:06,110 --> 00:01:09,540 Walau bagaimanapun, jika anda ingin maklumat lanjut, yang saya cadangkan 23 00:01:09,540 --> 00:01:12,390 anda membaca, sila layari pautan untuk Arduino penuh Uno 24 00:01:12,390 --> 00:01:13,800 spesifikasi. 25 00:01:13,800 --> 00:01:19,060 Kuasa untuk lembaga boleh diterima dari USB, luaran AC 26 00:01:19,060 --> 00:01:24,860 kepada bekalan kuasa DC, atau oleh penyambung bateri. 27 00:01:24,860 --> 00:01:29,620 Untuk video senaman ini, kita akan menggunakan USB untuk kuasa. 28 00:01:29,620 --> 00:01:32,390 Jika anda berminat dalam cara lain untuk memberi kuasa kepada anda 29 00:01:32,390 --> 00:01:35,940 Arduino lembaga atau ingin tahu lebih lanjut mengenai pin kuasa, 30 00:01:35,940 --> 00:01:38,830 sila rujuk kepada seksyen kuasa spesifikasi 31 00:01:38,830 --> 00:01:40,530 pautan yang disediakan. 32 00:01:40,530 --> 00:01:44,350 Seterusnya, terdapat dua pin bahagian utama pada Arduino bahawa kita 33 00:01:44,350 --> 00:01:48,870 akan gunakan untuk menyediakan voltan komponen kami - 34 00:01:48,870 --> 00:01:53,070 pin digital dan pin input analog. 35 00:01:53,070 --> 00:01:54,840 Sebelum kita pergi mana-mana lagi, mari kita 36 00:01:54,840 --> 00:01:57,380 memahami kedua-dua istilah. 37 00:01:57,380 --> 00:02:00,450 Pin input analog adalah untuk komponen seperti tombol, 38 00:02:00,450 --> 00:02:03,150 yang mewujudkan isyarat analog. 39 00:02:03,150 --> 00:02:05,320 Tombol boleh menyediakan jumlah yang berbeza rintangan kepada 40 00:02:05,320 --> 00:02:09,000 voltan antara dua pin bahawa ia disambungkan. 41 00:02:09,000 --> 00:02:11,295 Mengambil, sebagai contoh, pemalap cahaya. 42 00:02:11,295 --> 00:02:13,960 Sebagai tombol dipintal dalam satu arah, cahaya akan 43 00:02:13,960 --> 00:02:17,340 menjadi cerah kerana mengurangkan rintangan. 44 00:02:17,340 --> 00:02:20,400 Ini menyediakan arus elektrik yang lebih kuat kepada 45 00:02:20,400 --> 00:02:23,830 komponen, yang menyebabkan cahaya yang lebih cerah. 46 00:02:23,830 --> 00:02:27,130 Sekarang pin digital adalah sedikit berbeza dalam itu 47 00:02:27,130 --> 00:02:29,910 mereka menghasilkan isyarat digital yang bergantung pada 48 00:02:29,910 --> 00:02:32,650 jumlah voltan yang merentasi pin. 49 00:02:32,650 --> 00:02:35,950 Isyarat digital untuk Arduino sama ada di 5 50 00:02:35,950 --> 00:02:40,300 volt, atau berasaskan bermakna di luar, atau sifar volt. 51 00:02:40,300 --> 00:02:42,570 Ambil contoh suis lampu. 52 00:02:42,570 --> 00:02:44,320 Satu suis lampu mempunyai dua nilai - 53 00:02:44,320 --> 00:02:45,870 hidup dan mati. 54 00:02:45,870 --> 00:02:48,120 Apabila anda menghidupkan lampu menggunakan suis, anda 55 00:02:48,120 --> 00:02:51,270 menyediakan kuasa penuh kepada cahaya itu. 56 00:02:51,270 --> 00:02:54,540 Nah, pada subjek digital dan analog, saya pasti 57 00:02:54,540 --> 00:02:58,940 anda dapati sekarang singkatan PWM bawah digital 58 00:02:58,940 --> 00:03:00,520 pin seksyen. 59 00:03:00,520 --> 00:03:03,750 Ini bermaksud untuk Pulse Width Modulation. 60 00:03:03,750 --> 00:03:07,260 PWM memanipulasi voltan lebih masa untuk menghasilkan 61 00:03:07,260 --> 00:03:09,730 modulasi kesan yang sama kepada orang-orang 62 00:03:09,730 --> 00:03:11,570 pin analog. 63 00:03:11,570 --> 00:03:14,630 Sebagai contoh, dengan memutarkannya cahaya pada dan di luar dengan cepat untuk 64 00:03:14,630 --> 00:03:17,640 panjang masa yang berbeza, ia boleh mengawal cahaya 65 00:03:17,640 --> 00:03:18,680 kecerahan. 66 00:03:18,680 --> 00:03:21,380 Jadi anda mungkin bertanya diri anda sendiri, jika semua yang anda perlu 67 00:03:21,380 --> 00:03:24,470 lakukan adalah menyediakan voltan beberapa komponen tertentu untuk ia bekerja, 68 00:03:24,470 --> 00:03:27,040 mengapa walaupun mempunyai mikropengawal? 69 00:03:27,040 --> 00:03:30,100 Nah, mari kita lihat peringkat tinggi pada mikropengawal yang 70 00:03:30,100 --> 00:03:32,140 kita boleh berinteraksi dengan harian - 71 00:03:32,140 --> 00:03:33,790 jam penggera. 72 00:03:33,790 --> 00:03:36,620 Jam penggera mempunyai banyak input, untuk butang contoh, 73 00:03:36,620 --> 00:03:40,260 yang digunakan untuk berinteraksi dengan program jam penggera. 74 00:03:40,260 --> 00:03:43,770 Ia juga mempunyai output yang litar pemancar cahaya yang dipanggil 75 00:03:43,770 --> 00:03:47,620 tujuh segmen memaparkan yang menunjukkan masa. 76 00:03:47,620 --> 00:03:50,540 Ini semua dikawal oleh program yang terkandung dalam 77 00:03:50,540 --> 00:03:52,740 mikropengawal memori. 78 00:03:52,740 --> 00:03:55,570 Sekarang, mari kita lihat pada senario dan lihat jika kita boleh 79 00:03:55,570 --> 00:03:58,970 meniru jam penggera dengan Arduino ini. 80 00:03:58,970 --> 00:04:01,240 Anda sudah bersedia untuk pergi ke tidur, tetapi anda akan perlu untuk menetapkan anda 81 00:04:01,240 --> 00:04:03,010 penggera untuk bangun. 82 00:04:03,010 --> 00:04:06,100 Kita tahu bahawa dengan menggunakan beberapa butang kita boleh menetapkan beberapa 83 00:04:06,100 --> 00:04:08,730 berubah-ubah, masa, yang memberikan program 84 00:04:08,730 --> 00:04:10,040 keadaan yang ia mesti memenuhi. 85 00:04:10,040 --> 00:04:13,860 Seperti, apabila masa ini adalah benar, program perlu menghantar 86 00:04:13,860 --> 00:04:17,130 isyarat kepada pin lain yang disambungkan kepada pembesar suara. 87 00:04:17,130 --> 00:04:19,860 Dan apabila isyarat ini diterima oleh penceramah, ia 88 00:04:19,860 --> 00:04:22,130 harus memainkan bunyi mengerikan. 89 00:04:22,130 --> 00:04:25,300 Mari kita gunakan litar mudah untuk memberi anda beberapa konteks kepada apa 90 00:04:25,300 --> 00:04:26,860 Saya bercakap tentang. 91 00:04:26,860 --> 00:04:29,760 Jadi sekarang bahawa penggera anda ditetapkan, keadaan anda kini disimpan 92 00:04:29,760 --> 00:04:31,170 dalam ingatan program ini. 93 00:04:31,170 --> 00:04:34,840 Dan selepas hanya sembilan saat tidur, anda akan mendengar yang buruk 94 00:04:34,840 --> 00:04:36,836 penggera berbunyi jauh. 95 00:04:36,836 --> 00:04:38,820 Saya akan pergi ke hadapan dan plug-dalam penggera kami di sini. 96 00:04:47,410 --> 00:04:51,330 Sekarang, kita tidak mahu untuk bangun agak lagi, jadi kita berasa 97 00:04:51,330 --> 00:04:52,650 tidurkan butang. 98 00:04:52,650 --> 00:04:56,280 Kami membiarkan pelajar terhenti tidur, atau mengganggu ini buruk 99 00:04:56,280 --> 00:04:59,470 bunyi penggera, dengan hanya memukul butang yang. 100 00:04:59,470 --> 00:05:02,620 Tetapi apa yang benar-benar berlaku apabila program mikropengawal 101 00:05:02,620 --> 00:05:05,420 menerima isyarat dari butang tunda? 102 00:05:05,420 --> 00:05:07,630 Nah, apabila butang tunda ditekan, isyarat 103 00:05:07,630 --> 00:05:09,830 diterima pada pin yang berbeza. 104 00:05:09,830 --> 00:05:12,740 Secara umum, apabila program ini menerima input ini daripada 105 00:05:12,740 --> 00:05:16,480 pin ia bertindak balas dengan memanggil beberapa fungsi untuk melambatkan, atau tidur, 106 00:05:16,480 --> 00:05:19,600 isyarat yang telah dihantar kepada pin penceramah kami. 107 00:05:19,600 --> 00:05:23,540 Ini kelewatan atau tidur untuk beberapa ketika berterusan yang 108 00:05:23,540 --> 00:05:28,760 biasanya adalah kira-kira sembilan minit, atau dari segi Arduino, 540,000 109 00:05:28,760 --> 00:05:30,340 milisaat. 110 00:05:30,340 --> 00:05:33,380 Jika jam penggera tidak dimatikan sebelum tunda 111 00:05:33,380 --> 00:05:36,540 pemasa habis, keadaan program akan menghantar satu lagi 112 00:05:36,540 --> 00:05:39,560 isyarat kepada pin penceramah, lantas beralih 113 00:05:39,560 --> 00:05:42,350 penggera sekali lagi. 114 00:05:42,350 --> 00:05:46,610 Kini, apa yang membuatkan Arduino khas untuk cs50 115 00:05:46,610 --> 00:05:50,370 persekitaran pembangunan menggunakan bahasa C, memberi anda 116 00:05:50,370 --> 00:05:53,970 kuasa untuk mengaplikasikan pengetahuan yang diperolehi dalam lebih langsung 117 00:05:53,970 --> 00:05:56,000 hands-on cara. 118 00:05:56,000 --> 00:05:58,750 Walaupun kami tidak menyentuh pin khas lain 119 00:05:58,750 --> 00:06:01,310 terlibat dengan Arduino, saya cadangkan yang anda lawati 120 00:06:01,310 --> 00:06:05,090 spesifikasi dan membaca tentang keupayaan mereka lagi. 121 00:06:05,090 --> 00:06:07,340 Dalam video lain, kami akan meneroka Arduino 122 00:06:07,340 --> 00:06:10,420 persekitaran pembangunan pada perkakas cs50 dan menulis kita 123 00:06:10,420 --> 00:06:13,200 mikropengawal permohonan pertama. 124 00:06:13,200 --> 00:06:16,700 Nama saya ialah Christopher Bartholomew, ini adalah cs50.