आर्डुइनो डुअल-एक्सिस सोलर ट्रैकर कोड जनरेटर
Wikiprompt से, मुफ्त प्रॉम्प्ट विश्वकोश
आर्डुइनो डुअल-एक्सिस सोलर ट्रैकर कोड जनरेटर दो-अक्षीय सौर ट्रैकर के लिए Arduino स्केच उत्पन्न करने हेतु एक प्रॉम्प्ट, जिसमें LDR सेंसर और सर्वो का उपयोग हो, विशिष्ट पिन असाइनमेंट और नियंत्रण लॉजिक के साथ।
प्रॉम्प्ट सामग्रीसहेजें
🌐
नीचे एक संपूर्ण Arduino स्केच दिया गया है जिसे आप Arduino IDE में पेस्ट कर सकते हैं। यह डुअल-एक्सिस सोलर ट्रैकर के लिए है:
```cpp
#include <Servo.h>
// LDR पिन्स
#define LDR_TOP_LEFT A0
#define LDR_TOP_RIGHT A1
#define LDR_BOTTOM_LEFT A2
#define LDR_BOTTOM_RIGHT A3
// सर्वो पिन्स
#define SERVO_HORIZONTAL 9
#define SERVO_VERTICAL 10
// सहनशीलता (जिटर रोकने के लिए)
#define TOLERANCE 10
// सर्वो ऑब्जेक्ट्स
Servo horizontalServo;
Servo verticalServo;
// वर्तमान कोण
int horizontalAngle = 90;
int verticalAngle = 45;
void setup() {
// सर्वो को अटैच करें
horizontalServo.attach(SERVO_HORIZONTAL);
verticalServo.attach(SERVO_VERTICAL);
// प्रारंभिक स्थिति सेट करें
horizontalServo.write(horizontalAngle);
verticalServo.write(verticalAngle);
// सीरियल मॉनिटर के लिए
Serial.begin(9600);
}
void loop() {
// LDR मान पढ़ें
int topLeft = analogRead(LDR_TOP_LEFT);
int topRight = analogRead(LDR_TOP_RIGHT);
int bottomLeft = analogRead(LDR_BOTTOM_LEFT);
int bottomRight = analogRead(LDR_BOTTOM_RIGHT);
// औसत मान निकालें
int topAverage = (topLeft + topRight) / 2;
int bottomAverage = (bottomLeft + bottomRight) / 2;
int leftAverage = (topLeft + bottomLeft) / 2;
int rightAverage = (topRight + bottomRight) / 2;
// वर्टिकल सर्वो के लिए (ऊपर-नीचे)
int verticalDiff = topAverage - bottomAverage;
// डीबगिंग के लिए
Serial.print("Top: ");
Serial.print(topAverage);
Serial.print(" Bottom: ");
Serial.print(bottomAverage);
Serial.print(" Vertical Diff: ");
Serial.print(verticalDiff);
Serial.print(" Vertical Angle: ");
Serial.println(verticalAngle);
// वर्टिकल सर्वो को एडजस्ट करें (चमकदार तरफ)
if (verticalDiff > TOLERANCE) {
// ऊपर की तरफ चमकदार है - ऊपर झुकाएं (कोण कम करें)
verticalAngle = max(10, verticalAngle - 2);
verticalServo.write(verticalAngle);
} else if (verticalDiff < -TOLERANCE) {
// नीचे की तरफ चमकदार है - नीचे झुकाएं (कोण बढ़ाएं)
verticalAngle = min(80, verticalAngle + 2);
verticalServo.write(verticalAngle);
}
// हॉरिजॉन्टल सर्वो के लिए (बाएं-दाएं)
int horizontalDiff = leftAverage - rightAverage;
// डीबगिंग के लिए
Serial.print("Left: ");
Serial.print(leftAverage);
Serial.print(" Right: ");
Serial.print(rightAverage);
Serial.print(" Horizontal Diff: ");
Serial.print(horizontalDiff);
Serial.print(" Horizontal Angle: ");
Serial.println(horizontalAngle);
// हॉरिजॉन्टल सर्वो को एडजस्ट करें (चमकदार तरफ)
if (horizontalDiff > TOLERANCE) {
// बाईं तरफ चमकदार है - बाईं ओर घुमाएं (कोण कम करें)
horizontalAngle = max(10, horizontalAngle - 2);
horizontalServo.write(horizontalAngle);
} else if (horizontalDiff < -TOLERANCE) {
// दाईं तरफ चमकदार है - दाईं ओर घुमाएं (कोण बढ़ाएं)
horizontalAngle = min(170, horizontalAngle + 2);
horizontalServo.write(horizontalAngle);
}
// छोटी देरी - सर्वो को पोजीशन तक पहुंचने का समय दें
delay(50);
}
```
इस स्केच की मुख्य विशेषताएं:
- **हार्डवेयर कॉन्फ़िगरेशन**: LDR और सर्वो पिन्स को आपके दिए गए अनुसार सेट किया गया है।
- **लॉजिक**: ऊपर-नीचे और बाएं-दाएं LDR मानों का औसत निकालकर सर्वो को चमकदार तरफ झुकाया जाता है।
- **टॉलरेंस**: 10 का टॉलरेंस जिटर को रोकता है।
- **कोण सीमाएं**: हॉरिजॉन्टल सर्वो 10-170 और वर्टिकल सर्वो 10-80 डिग्री के बीच सीमित है।
- **डीबगिंग**: सीरियल मॉनिटर पर मान प्रिंट किए जाते हैं।
सर्किट को Arduino से जोड़ते समय ध्यान दें कि LDR को वोल्टेज डिवाइडर सर्किट (LDR + 10k ओम रेसिस्टर) के साथ जोड़ा गया हो। सर्वो को बाहरी 5V/6V पावर सप्लाई से जोड़ना बेहतर होता है ताकि Arduino को ओवरलोड न करें।
पूरा प्रॉम्प्ट देखने के लिए साइन इन करें
Continue with:
By logging in, you agree to our Terms of Use and Privacy Policy
उपयोग
यह प्रॉम्प्ट coding के साथ उपयोग के लिए डिज़ाइन किया गया है। ऊपर प्रॉम्प्ट सामग्री कॉपी करें और अपने पसंदीदा AI टूल में पेस्ट करें।
सर्वोत्तम परिणामों के लिए, आप अपनी विशिष्ट आवश्यकताओं के अनुसार प्लेसहोल्डर (वर्ग कोष्ठक या बड़े अक्षरों में दर्शाए गए) को अनुकूलित कर सकते हैं।
चर्चा
0 टिप्पणियाँ