எளிய Arduino திட்டம்: புஷ்பட்டன் மூலம் சர்வோவை 180 டிகிரியில் இருந்து 0 க்கு மற்றும் திரும்ப கட்டுப்படுத்தவும்
அறிமுகம்
இந்த கட்டுரை ஒரு எளிய Arduino திட்டத்தை விளக்குகிறது, இது ஒரு புஷ்பட்டனைப் பயன்படுத்தி சர்வோ மோட்டாரைக் கட்டுப்படுத்துகிறது. ஒரு சர்வோ மோட்டார் என்பது ஒரு துல்லியமான மோட்டார் ஆகும், இது ஒரு குறிப்பிட்ட நிலைக்கு சுழலக்கூடியது, இது ரோபாட்டிக்ஸ் மற்றும் ஆட்டோமேஷன் போன்ற பயன்பாடுகளுக்கு ஏற்றதாக அமைகிறது. இந்த திட்டம், ஒரு பொத்தானை அழுத்தும்போது சர்வோவை 0 முதல் 180 டிகிரி வரை நகர்த்தும், மேலும் விடுவிக்கும்போது 0 க்கு திரும்பும்.
திட்ட கூறுகள் மற்றும் வயரிங்
உங்களுக்கு ஒரு Arduino போர்டு, ஒரு சர்வோ மோட்டார் மற்றும் ஒரு புஷ்பட்டன் தேவைப்படும்.
வயரிங் வழிமுறைகள்:
- சர்வோ மோட்டார்: சிக்னல் கம்பியை (பொதுவாக மஞ்சள்/ஆரஞ்சு) Arduino பின் 3 உடன் இணைக்கவும், பவர் கம்பியை (சிவப்பு) 5V உடன் இணைக்கவும், மற்றும் கிரவுண்ட் கம்பியை (கருப்பு/பழுப்பு) GND உடன் இணைக்கவும்.
- புஷ்பட்டன்: ஒரு காலை டிஜிட்டல் பின் 2 உடன் இணைக்கவும், மற்றொரு காலை ஒரு GND பின்னுடன் இணைக்கவும். அவ்வளவுதான்! Arduino இன் உள் புல்-அப் ரெசிஸ்டரைப் பயன்படுத்துவதால், வெளிப்புற ரெசிஸ்டர் தேவையில்லை.
குறியீடு விளக்கம்
நிரல் மூன்று முக்கிய பகுதிகளாக பிரிக்கப்பட்டுள்ளது: பின் வரையறைகள், setup() செயல்பாடு மற்றும் loop() செயல்பாடு.
பின் வரையறைகள்
இந்த பகுதி தேவையான நூலகங்களை அமைத்து, நீங்கள் பயன்படுத்தும் பின்களுக்கு அர்த்தமுள்ள பெயர்களை வழங்குகிறது.
#include <Servo.h>
const int servoPin = 3;
const int buttonPin = 2;
Servo myServo;
setup() செயல்பாடு
setup() செயல்பாடு, Arduino போர்டு இயக்கப்படும்போது அல்லது மீட்டமைக்கப்படும்போது ஒருமுறை மட்டுமே இயங்கும் குறியீட்டைக் கொண்டுள்ளது. இது ஆரம்ப உள்ளமைவுக்கு பயன்படுத்தப்படுகிறது.
void setup() {
myServo.attach(servoPin);
pinMode(buttonPin, INPUT_PULLUP);
myServo.write(0);
}
முக்கியமான மாற்றம் pinMode(buttonPin, INPUT_PULLUP); ஆகும். இது பின்னின் மின்னழுத்தத்தை HIGH ஆக இழுக்கும் ஒரு உள் ரெசிஸ்டரை செயல்படுத்துகிறது. நீங்கள் பொத்தானை அழுத்தும்போது, அது பின்னை தரையுடன் இணைக்கிறது, மேலும் மின்னழுத்தம் LOW ஆக குறைகிறது.
loop() செயல்பாடு
loop() செயல்பாடு முக்கிய நிரல் தர்க்கத்தைக் கொண்டுள்ளது, மேலும் setup() செயல்பாடு முடிந்த பிறகு மீண்டும் மீண்டும் என்றென்றும் இயங்குகிறது.
void loop() {
int buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
myServo.write(180);
} else {
myServo.write(0);
}
}
இங்குள்ள தர்க்கம் இப்போது தலைகீழாக உள்ளது. பொத்தானை அழுத்துவது LOW சிக்னலை ஏற்படுத்துவதால், சர்வோவை 180 டிகிரிக்கு நகர்த்த if (buttonState == LOW) நிபந்தனை பயன்படுத்தப்படுகிறது.
#include <Servo.h>
/*
This is sketch for controlling servo motor. when push button is pressed, the servo moves to 180 degreees and stays there. when the push button is released, the servo motor returns back to 0 degree.
*/
// Define the pin for the servo motor
const int servoPin = 3;
// Define the pin for the push button
const int buttonPin = 2;
// Create a Servo object
Servo myServo;
void setup() {
// Attach the Servo object to the servo pin
myServo.attach(servoPin);
// Set the button pin as an input
pinMode(buttonPin, INPUT);
// Start the servo at 0 degrees
myServo.write(0);
}
void loop() {
// Read the state of the push button
int buttonState = digitalRead(buttonPin);
// If the button is pressed (HIGH)
if (buttonState == HIGH) {
// Move the servo to 180 degrees
myServo.write(180);
} else {
// If the button is released (LOW), move the servo back to 0 degrees
myServo.write(0);
}
}
நீங்கள் தேவைப்படும் எண்ணங்கள்
-
அமேசான்Servo motor on Amazonamzn.to
-
அலிஎக்ஸ்பிரஸ்Purchase SG90 Servo motor 180 or 360 from AliExpresss.click.aliexpress.com
வளங்கள் மற்றும் மேற்கோள்கள்
இன்னும் எந்த வளங்களும் இல்லை.
கோப்புகள்📁
கோப்புகள் கிடைக்கவில்லை.