Სარჩევი:
- ნაბიჯი 1: დააინსტალირეთ კლავიატურა
- ნაბიჯი 2: დაამატეთ მიკრო სერვო
- ნაბიჯი 3: შეცვალეთ კოდი, რომ გამოიყენოთ კლავიატურა სერვოზე
ვიდეო: სერვო პოზიტიონირება კლავიატურით: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
ამ ინსტრუქციურად ჩვენ შევქმნით პროექტს, რომელიც გააკონტროლებს მიკრო სერვისს კლავიატურით, რომელიც მუშაობს Arduino Uno– ით.
გამოყენებული მასალები:
არდუინო უნო
პურის დაფა
4x4 კლავიატურა
მიკრო სერვო
ნაბიჯი 1: დააინსტალირეთ კლავიატურა
პირველი, რაც თქვენ უნდა გააკეთოთ, არის მავთულხლართები ელექტროგადამცემი სარკინიგზო და საყრდენი რკინიგზის თქვენს დაფაზე თქვენი არდუინოდან
- შეაერთეთ 5V პინი ელექტროგადამცემი ხაზთან (წითელი)
- შეაერთეთ სახმელეთო პინი (GND) დამიწების რელსთან (ლურჯი)
ახლა, როდესაც პურის დაფას აქვს ძალა და დაფუძნებულია, ჩვენ შეგვიძლია დავიწყოთ ჩვენი კომპონენტების გაყვანილობა.
კლავიატურის გაყვანილობა ადვილია, მაგრამ თქვენ უნდა გაითვალისწინოთ კლავიატურის და არდუინოს ქინძისთავები. ეს გამოგვადგება, როდესაც ჩვენს კოდს მივაქცევთ ყურადღებას.
გახსოვდეთ, რომ თქვენი მავთულის გამოყენებისას მარცხნივ უნდა დაიწყოთ!
- პირველი პინი მიდის 13 -ზე
- მეორე პინი მიდის 12 -ზე
- მესამე პინი მიდის 11 -ზე
- მეოთხე პინი მიდის 10 -ზე
- მეხუთე პინი 9 -მდე
- მეექვსე პინი 8 -მდე
- მეშვიდე მიამაგრეთ 7 -ზე
- მერვე პინი 6 -მდე
კლავიატურის გაყვანილობისას გახსოვდეთ, რომ ციფრული pwm პინი ღია იყოს. ჩვენ დაგვჭირდება მიკრო სერვოზე
სანამ კოდს მივაღწევთ, დარწმუნდით, რომ დაინსტალირებული გაქვთ კლავიატურის ბიბლიოთეკა. ის შეიძლება ნახოთ თქვენს ესკიზში, შემდეგ ესკიზის ჩანართში, შეიტანოთ ბიბლიოთეკა. თქვენ ვერ შეძლებთ კლავიატურის გამოყენებას მის გარეშე.
ახლა მივმართოთ კოდს და დავრწმუნდეთ, რომ კლავიატურა მუშაობს და იძლევა დამსწრე მნიშვნელობებს
სწრაფი შენიშვნები: დარწმუნდით, რომ გაქვთ if განცხადება კლავიატურის შესამოწმებლად, წინააღმდეგ შემთხვევაში ის არ იმუშავებს. ასევე ფრთხილად იყავით შეფერხებების გამო, ისინი არეულობენ ღილაკებს, რომლებიც რეგისტრირებულია კლავიატურადან
#ჩართეთ
კონსტ ბაიტის რიგები = 4; // ოთხი რიგი, რადგან კლავიატურა სავსეა
const ბაიტის სვეტები = 4; // ოთხი სვეტი, იგივე, რაც ზემოთ
char ღილაკები [რიგები] [სვეტები] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
ბაიტი rowP [რიგები] = {13, 12, 11, 10}; // კლავიატურის რიგის ქინძისთავები
ბაიტის სვეტები P [სვეტები] = {9, 8, 7, 6}; // კლავიატურის სვეტის ქინძისთავები
კლავიატურის ბალიში = კლავიატურა (makeKeymap (ღილაკები), rowP, სვეტები P, რიგები, სვეტები); // კლავიატურის შექმნა
void setup () {
სერიული.დაწყება (9600); }
ბათილი მარყუჟი () {
char buttonPressed = pad.getKey (); // მიიღეთ char საწყისი კლავიატურადან თუ (buttonPressed) // აჩვენეთ რა ღილაკი იყო დაჭერილი კლავიატურაზე {Serial.println (buttonPressed); }}
ნაბიჯი 2: დაამატეთ მიკრო სერვო
ახლა მოდით დავამატოთ სერვო ძრავა. ეს მართლაც ადვილია დაამატოთ ჩვენს მიმდინარე პროექტს, რადგან მიკრო სერვერს აქვს მხოლოდ სამი მავთული.
- ყავისფერი მავთული მიდის დამიწების რელსზე პურის დაფაზე
- წითელი მიდის დენის რკინიგზაზე
- ნარინჯისფერი მიდის პინ 3 -ზე არდუინოზე. გახსოვდეთ, მიკრო სერვერს უნდა ჰქონდეს PWM პინი Arduino– ზე. ეს გამოწვეულია სერვერის გამოყენებით TIMER2
ახლა ჩვენ უბრალოდ უნდა დავრწმუნდეთ, რომ ჩვენ მიყვანილი გვაქვს მიკრო სერვო სწორად და რომ ის მოძრაობს
#მოიცავს #მოიცავს "Servo.h"
კონსტ ბაიტის რიგები = 4; // ოთხი სტრიქონი, რადგან კლავიატურა სავსეა
const ბაიტის სვეტები = 4; // ოთხი სვეტი, იგივე, რაც ზემოთ
char ღილაკები [რიგები] [სვეტები] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
ბაიტი rowP [რიგები] = {13, 12, 11, 10}; // კლავიატურის რიგის ქინძისთავები
ბაიტის სვეტები P [სვეტები] = {9, 8, 7, 6}; // კლავიატურის სვეტის ქინძისთავები
კლავიატურის ბალიში = კლავიატურა (makeKeymap (ღილაკები), rowP, სვეტები P, რიგები, სვეტები); // კლავიატურის შექმნა
Servo currentServo; // servo ობიექტის შექმნა servo- ს გასაკონტროლებლად
// თორმეტი servo ობიექტი შეიძლება შეიქმნას უმეტეს დაფაზე
int pos = 0; // ცვლადი სერვო პოზიციის შესანახად
void setup () {
სერიული.დაწყება (9600); currentServo.attach (3); // მიმაგრებს servo პინ 9 -ზე servo ობიექტს
}
ბათილი მარყუჟი () {
char buttonPressed = pad.getKey (); // მიიღეთ char საწყისი კლავიატურადან თუ (buttonPressed) // აჩვენეთ რა ღილაკი იყო დაჭერილი კლავიატურაზე {Serial.println (buttonPressed); }
currentServo.write (95);
}
ნაბიჯი 3: შეცვალეთ კოდი, რომ გამოიყენოთ კლავიატურა სერვოზე
იცოდეთ, ჩვენ ვაპირებთ შევცვალოთ ჩვენი კოდი ისე, რომ როდესაც კლავიატურაზე კონკრეტულ ღილაკს ვაჭერთ, სერვო გადადის კონკრეტულ პოზიციაზე. პირველ რიგში მნიშვნელოვანი რამ. 0 -ის სერვო პოზიცია უცნაური იყო. მას შემდეგ, რაც მე მქონდა უწყვეტი ბრუნვის სერვო, როდესაც ის 0 -ს მიუახლოვდებოდა, სერვო უბრალოდ იწყებდა ტრიალს. კოდი, რომელიც ჩავწერე, იმდენად დაბალი იყო, რამდენადაც შემეძლო ამის გარეშე. ყოველ შემთხვევაში, აქ არის ჩემი საბოლოო კოდი:
#ჩართეთ #ჩართეთ
კონსტ ბაიტის რიგები = 4; // ოთხი სტრიქონი, რადგან კლავიატურა სავსეა
const ბაიტის სვეტები = 4; // ოთხი სვეტი, იგივე, რაც ზემოთ
char ღილაკები [რიგები] [სვეტები] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
ბაიტი rowP [რიგები] = {13, 12, 11, 10}; // კლავიატურის რიგის ქინძისთავები
ბაიტის სვეტები P [სვეტები] = {9, 8, 7, 6}; // კლავიატურის სვეტის ქინძისთავები
კლავიატურის ბალიში = კლავიატურა (makeKeymap (ღილაკები), rowP, სვეტები P, რიგები, სვეტები); // კლავიატურის შექმნა
Servo myServo; //
void setup () {
სერიული.დაწყება (9600); myServo.attach (5); // ანიჭებს servo პინ 9 -ს servo ობიექტს}
ბათილი მარყუჟი () {
char გასაღები = pad.getKey (); // მიიღეთ char საწყისი კლავიატურადან if (გასაღები == '0') {myServo.write (11); Serial.println ("0"); დაგვიანება (15); } if (გასაღები == '1') {myServo.write (12); Serial.println ("1"); დაგვიანება (15); } if (გასაღები == '2') {myServo.write (24); Serial.println ("2"); დაგვიანება (15); } if (გასაღები == '3') {myServo.write (36); Serial.println ("3"); დაგვიანება (15); }
თუ (გასაღები == '4')
{myServo.write (48); Serial.println ("4"); დაგვიანება (15); }
თუ (გასაღები == '5')
{myServo.write (60); Serial.println ("5"); დაგვიანება (15); }
თუ (გასაღები == '6')
{myServo.write (72); Serial.println ("6"); დაგვიანება (15); }
თუ (გასაღები == '7')
{myServo.write (84); Serial.println ("7"); დაგვიანება (15); }
თუ (გასაღები == '8')
{myServo.write (96); Serial.println ("8"); დაგვიანება (15); }
თუ (გასაღები == '9')
{myServo.write (108); Serial.println ("9"); დაგვიანება (15); }
თუ (გასაღები == '*')
{myServo.write (120); Serial.println ("*"); დაგვიანება (15); }
თუ (გასაღები == '#')
{myServo.write (132); Serial.println ("#"); დაგვიანება (15); }
თუ (გასაღები == 'A')
{myServo.write (146); Serial.println ("A"); დაგვიანება (15); }
თუ (გასაღები == 'B')
{myServo.write (158); Serial.println ("B"); დაგვიანება (15); }
თუ (გასაღები == 'C')
{myServo.write (170); Serial.println ("C"); დაგვიანება (15); }
თუ (გასაღები == 'D')
{myServo.write (180); Serial.println ("D"); დაგვიანება (15); }}
გირჩევთ:
კლავიატურის სერვო საკეტი: 5 ნაბიჯი
კლავიატურის სერვო საკეტი: გამარჯობა ყველას, იმედია კარგი დღე გქონდათ. თუ არა, იმედია, შეგიძლიათ უბრალოდ გადახედოთ წინდახედულობას და გაეცნოთ თერაპიულ მუსიკას. პროგრამირება შეიძლება იყოს პრობლემა. საბედნიეროდ, ეს გაკვეთილი არ არის უსიამოვნება, ასე რომ თქვენ შეძლებთ შეასრულოთ
აკონტროლეთ თქვენი მოდელის მატარებლის განლაგება თქვენი კლავიატურით!: 12 ნაბიჯი
აკონტროლეთ მატარებლის მოდელის განლაგება თქვენი კლავიატურით! თქვენ ასევე შეგიძლიათ ნახოთ განახლებული ვერსია აქ. ამ ინსტრუქციაში მე გაჩვენებთ თუ როგორ უნდა აკონტროლოთ მატარებლის მოდელის განლაგება კლავიატურის საშუალებით
Locker- ის თანამედროვე და ახალი და მარტივი მაგალითი Arduino Matrix კლავიატურით 4x4: 3 ნაბიჯი
Locker- ის თანამედროვე და ახალი და მარტივი მაგალითი Arduino Matrix Keypad 4x4: LCD კლავიატურის მატრიცის 4x4 გამოყენების კიდევ ერთი მაგალითი I2C წრედით
DoReMiQuencer - პროგრამირებადი MIDI მიმდევარი კლავიატურით: 7 ნაბიჯი
DoReMiQuencer - პროგრამირებადი MIDI Sequencer კლავიატურით: ეს მოწყობილობა შეიქმნა VCVRack– ით, VCV– ს მიერ შექმნილი ვირტუალური მოდულური სინთეზატორით, მაგრამ შეიძლება ემსახურებოდეს როგორც ზოგადი დანიშნულების MIDI კონტროლერს. ის ემსახურება როგორც MIDI მიმდევრი ან კლავიატურა, შერჩეული რეჟიმიდან გამომდინარე. MIDI ჩანაწერები ასახულია კე
ნაბიჯი სერვო ძრავის სერიული კონტროლით არდუინოს საშუალებით 3D პრინტერის გამოყენებით - Pt4: 8 ნაბიჯი
მოიცავს საფეხურზე მომუშავე ძრავას სერიული კონტროლით Arduino– ს გამოყენებით 3D პრინტერის გამოყენებით - Pt4: Motor Step სერიის ამ მეოთხე ვიდეოში ჩვენ გამოვიყენებთ იმას, რაც ადრე ვისწავლეთ სტეპერ სერვო ძრავის აგება სერიული კომუნიკაციისა და რეალური კონტროლის საშუალებით. პოზიციის უკუკავშირი რეზისტენტული კოდირების გამოყენებით, რომელსაც აკონტროლებს არდუინო