Video: Arduino + Servo motor simulation using Proteus 2024
Untuk membuat gerakan dalam projek elektronik anda, anda boleh menambah peranti yang berguna, yang dipanggil
Kit Aktiviti Setem BASIC dilengkapi dengan servo yang boleh anda gunakan untuk mempelajari cara menulis program yang mengawal servos. Anda juga boleh membeli servos secara langsung dari Parallax atau dari kebanyakan kedai-kedai hobi.
PULSOUT pin, durasi
Sudut
serv o, yang membolehkan anda mengawal gerakan mekanikal dengan program Stamp BASIC. A servo adalah jenis khas motor yang direka untuk berputar ke kedudukan tertentu dan memegang kedudukan itu sehingga diberitahu untuk berputar ke posisi yang berbeza. Servo hobi sering digunakan dalam kenderaan kawalan radio, tetapi terdapat banyak kegunaan lain untuk servos.
Cara paling mudah untuk mengawal servo dari mikrokontroller Stamp BASIC adalah dengan menggunakan arahan PULSOUT. Perintah ini menghantar nadi setiap tempoh yang anda tentukan ke pin I / O yang anda pilih. Sintaks perintah ini adalah seperti berikut:
Anda nyatakan tempoh dalam unit dua mikrodetik. Satu mikrosek adalah satu perjuta satu saat. Terdapat seribu mikrosecond dalam satu milisaat. Oleh itu, untuk menghantar denyut 1. 5 ms dengan arahan PULSOUT, anda mesti menentukan 750 sebagai tempoh, seperti ini:
PULSOUT 0, 750
Di sini, nadi 1 ms ms dihantar ke pin 0.
Berikut ialah nilai durasi PULSOUT yang perlu anda gunakan untuk servo hobi biasa untuk pelbagai sudut.
Tempoh | Sudut | Tempoh | 0 |
---|---|---|---|
250 | 95 | 778 | 5 |
278 | 100 | 806 | 10 |
306 | 105 | 833 | 15 |
333 | 110 | 861 | 20 |
361 | 115 > 889 | 25 | 389 |
120 | 917 | 30 | 417 |
125 | 944 | 35 | 444 |
130 | 972 | 40 | <<<<<<<<<<<<<<<<<<< "55 |
556 | 150 | 1083 | 60 |
583 | 155 | 1111 | 65 |
611 | 160 | 1139 | 70 |
639 | 165 | 1167 | 75 |
667 | 170 | 1194 | 80 |
694 | 175 | 1222 | 85 > 722 |
180 | 1250 | 90 | 750 |
Sebagai contoh, untuk memindahkan servo pada pin 0 hingga 75 °, gunakan perintah ini: | PULSOUT 0, 667 | bahawa untuk memegang jawatannya, servo memerlukan aliran denyut yang berterusan sekitar 20 ms. Oleh itu, arahan PULSOUT biasanya terkandung dalam gelung DO atau gelung FOR-NEXT. Sebagai contoh, inilah sedikit kod yang menyimpan servo pada pin 0 pada 45 ° selama-lamanya: | DO PULSOUT 0, 500 PAUSE 20 LOOP |
Berikut adalah program lengkap yang memindahkan servo ke 45 ° ketika SW1 (tombol tekan butang pada pin 14) ditekan dan 135 ° apabila SW2 (butang tekan pada pin 10) ditekan.'999' 'Program Kawalan Servo' Doug Lowe '15 Julai 2011 "Program ini menggerakkan servo kepada salah satu daripada dua ketika SW1 ditekan' dan mengembalikan servo ke kedudukan tengah ketika SW2 ditekan. '{$ STAMP BS2}' { $ PBASIC 2. 5} PIN servo 0 SW1 PIN 14 PIN SW2 10 Posisi Kedudukan VAR = 500 JIKA JIKA SW1 = 1 THEN Kedudukan = 500 ENDIF JIKA SW2 = 1 THEN Kedudukan = 1000 ENDIF PULSOUT Servo, Posisi PAUSE 20 LOOP |