विषयसूची:

ATTiny-RAT, ATTINY संचालित मिनी लाइटफॉलोअर: 3 चरण
ATTiny-RAT, ATTINY संचालित मिनी लाइटफॉलोअर: 3 चरण

वीडियो: ATTiny-RAT, ATTINY संचालित मिनी लाइटफॉलोअर: 3 चरण

वीडियो: ATTiny-RAT, ATTINY संचालित मिनी लाइटफॉलोअर: 3 चरण
वीडियो: The Tiniest Game Boy for Your Key Chain 2024, नवंबर
Anonim
ATTiny-RAT, ATTINY संचालित मिनी लाइटफॉलोअर
ATTiny-RAT, ATTINY संचालित मिनी लाइटफॉलोअर
ATTiny-RAT, ATTINY संचालित मिनी लाइटफॉलोअर
ATTiny-RAT, ATTINY संचालित मिनी लाइटफॉलोअर
ATTiny-RAT, ATTINY संचालित मिनी लाइटफॉलोअर
ATTiny-RAT, ATTINY संचालित मिनी लाइटफॉलोअर
ATTiny-RAT, ATTINY संचालित मिनी लाइटफॉलोअर
ATTiny-RAT, ATTINY संचालित मिनी लाइटफॉलोअर

हाय दोस्तों, मुझे अपना आखिरी इंस्ट्रक्शनल पोस्ट किए हुए कुछ समय हो गया है। वैसे अभी मेरे सिर में बहुत सी चीजें चल रही हैं, लेकिन मैं आपके लिए इस छोटे से इंस्ट्रक्शनल में चिप्स के ATTiny-Series के साथ अपने "पहले कदम" का दस्तावेजीकरण करने में कामयाब रहा।

मैंने कुछ ATTINY85 नमूने सिर्फ इसलिए मंगवाए क्योंकि मैं उनका परीक्षण करना चाहता था:-) (हर कोई चीजों का परीक्षण करना पसंद करता है, है ना?)। उसके बाद मैंने कुछ विचारों को अपनी नोटबुक में बनाना शुरू किया। ईमानदार होने के लिए मैंने जो पहली चीज की वह एक एलईडी को ब्लिंक कर रही थी, जो हमेशा यह जांचने के लिए एक अच्छी शुरुआत है कि आपका सेटअप/टूलचेन काम कर रहा है या नहीं। मैंने DHT22 और SoftwareSerial के साथ तापमान और आर्द्रता लकड़हारे की भी कोशिश की। यह एक मुश्किल काम था क्योंकि डीएचटी पुस्तकालय मुख्य रूप से 16 मेगाहर्ट्ज घड़ी के लिए हैं (यदि आप ऐसा कुछ करने की योजना बना रहे हैं, तो जांच करें कि आंतरिक घड़ी को कैसे पूर्व निर्धारित किया जाए)। लेकिन मैंने आपको कुछ दिखाने का फैसला किया है, ठीक है, बस मजेदार है। बीटीडब्ल्यू: मैंने आपके लिए अपना एक चित्र अपलोड किया है, यह रेम्ब्रांट नहीं है, लेकिन यह आपको दिखाएगा कि मुझे यह (वास्तव में) बेवकूफ विचार कागज के एक टुकड़े पर कैसे मिला: -पी।

मैंने इस परियोजना को यथासंभव सस्ता रखने के लिए (मेरे लिए) केवल उन चीजों का उपयोग किया जो मेरे पास पड़ी थीं। इस छोटे से साहसिक कार्य का परिणाम लगभग 10-15 डॉलर (मेरे लिए 3 डॉलर:-P) के लिए एक अच्छा सा "लाइटफॉलोअर रोबोट" है।

इसलिए यदि आप स्वयं ATTINY में रुचि रखते हैं तो बस आगे पढ़ें।

बीटीडब्ल्यू: मेरी खराब अंग्रेजी के लिए खेद है (मैं मूल वक्ता नहीं हूं)

चरण 1: ATTiny और उपकरण और सामग्री के साथ शुरुआत करना

ATTiny और टूल्स और सामग्री के साथ शुरुआत करना
ATTiny और टूल्स और सामग्री के साथ शुरुआत करना
ATTiny और टूल्स और सामग्री के साथ शुरुआत करना
ATTiny और टूल्स और सामग्री के साथ शुरुआत करना
ATTiny और टूल्स और सामग्री के साथ शुरुआत करना
ATTiny और टूल्स और सामग्री के साथ शुरुआत करना
ATTiny और टूल्स और सामग्री के साथ शुरुआत करना
ATTiny और टूल्स और सामग्री के साथ शुरुआत करना

आरंभ करने के लिए आपको क्या चाहिए:

- एक ATTiny85 चिप

- एक Arduino UNO या समान

- कुछ जम्पर-वायर या एक ATTINY प्रोग्रामर के साथ एब्रेडबोर्ड या स्वयं Arduino के लिए एक प्रोग्रामर-शील्ड बनाएं (संलग्न चित्रों की जांच करें, avdweb.nl से एक योजनाबद्ध है)। मैंने इसे भी बनाया है और मैं वास्तव में इससे खुश हूं कि मैंने जो एकमात्र संशोधन किया वह यह था कि मैंने ATTinyx4 सीरीज के लिए एक सॉकेट जोड़ा (चित्र और पिनआउट-आरेख देखें)।

- Arduino IDE (इसे यहां प्राप्त करें)

- ArduinoIDE के लिए हार्डवेयर फ़ाइलें (उन्हें डाउनलोड और इंस्टॉल करें)

खेल के मैदान के लिए जानकारी-लिंक डायरेक्ट मेरे द्वारा उपयोग की जाने वाली जीथब फाइलों से लिंक करें

- Arduino को ISP स्केच के रूप में UNO पर लोड करें (यह आपका प्रोग्रामर होगा)

- इस निर्देश का पालन करें (https://highlowtech.org/) या इस निर्देश योग्य (ardutronix द्वारा) और "ब्लिंक" स्केच का प्रयास करें (पिन एनआर को संशोधित करें। संदर्भ के रूप में ATTINY चित्र का उपयोग करें! आपको प्रीफ्लैश किए गए ATTINY एक एलईडी की आवश्यकता होगी और उसके लिए ~ 220Ohm रेसिस्टर)

सब कुछ जांचने के लिए एक छोटा ब्रेडबोर्ड-सेटअप बनाएं। यदि आपने सब कुछ ठीक किया है तो एलईडी झपकेगी और आप जाने के लिए तैयार हैं

उपकरण

- सोल्डरिंग आयरन- कुछ सोल्डर- एक छोटा वायरकटर- एक डरमेल या अन्य रोटरी-टूल (सिर्फ पीसीबी काटने के लिए!)- कुछ हॉटग्लू- चिमटी- तार

सामग्री

- प्रोटोटाइप पीसीबी (~ 4cmx6cm यह करेगा) - 2x LDR- 5x 10k रेसिस्टर (LDR के लिए 2x और ट्रांजिस्टर BE के लिए 2x, 1x LED) - 1x 330Ohm रेसिस्टर (1x NEOPIXELS) - 2x LDR- 1x LED (आपके रंग का विकल्प, कॉस्टर-व्हील के बजाय) - 3x NEOPIXEL WS2812- 2x ट्रांजिस्टर (BD137 या समान) - 2x डायोड (1N4001 या समान) - 2x माइक्रोमोटर (जैसे हबसन माइक्रो-क्वाडकॉप्टर से) - 1x ATTINY85 + वैकल्पिक (अनुशंसित) 8PIN IC सॉकेट- 1x 1s LIPO (मैंने एक पुराने RC-हेलीकॉप्टर से 140Ah का उपयोग किया) - कुछ पिनहेडर / सॉकेट- श्रिंकट्यूब (LDR हाउसिंग)

आइए हार्डवेयर का निर्माण करके आगे बढ़ें…

चरण 2: हार्डवेयर

हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर

यदि आप मेरे द्वारा संलग्न योजनाबद्धता पर एक नज़र डालते हैं, तो हार्डवेयर सेटअप बहुत सरल है। इसलिए यदि आप स्कीमैटिक्स पढ़ सकते हैं और सोल्डरिंग आयरन का उपयोग कर सकते हैं, तो यह आधी चाल है। फ़ोटो पर भी एक नज़र डालें, मैंने आपके लिए कुछ नोट्स जोड़े हैं।

मैं पीसीबी को काटने के लिए कोई योजना प्रदान नहीं करता, आपको अपना खुद का डिज़ाइन बनाने की स्वतंत्रता है (रचनात्मक बनें और हमें अपने छोटे बॉट दिखाएं)। सभी इलेक्ट्रॉनिक घटकों का प्लेसमेंट भी आप पर निर्भर है। मेरी तरफ से कुछ संकेत:

मोटर्स को ठीक से संरेखित करने का प्रयास करें (कोण देखें!) हम पहियों के बजाय केवल मोटरशाफ्ट का उपयोग करते हैं। (यह कम ऊर्जा की खपत करेगा) मैं मोटर्स को बैटरी (वजन) के नीचे रखने की सलाह देता हूं और एलईडी के साथ जोड़े गए सामने (45 डिग्री कोण) पर एलडीआर का उपयोग करने की सलाह देता हूं (मैं बाधा से बचने के लिए इस संयोजन का उपयोग करने की कोशिश कर रहा हूं, आगे परीक्षणों की आवश्यकता है)।

इसके अलावा मैं थोड़ा ऑन / ऑफ जम्पर बनाने की सलाह देता हूं ताकि बैटरी इतनी आसानी से न खो जाए।

अगर कुछ अस्पष्ट है या यदि आपके कोई प्रश्न हैं, तो बस मुझसे पूछें। इस छोटी सी परियोजना से एक थीसिस बनाने का कोई मतलब नहीं है।

चरण 3: सॉफ्टवेयर

सॉफ्टवेयर
सॉफ्टवेयर
सॉफ्टवेयर
सॉफ्टवेयर

सबसे पहले ADAFRUIT Neopixel लाइब्रेरी को डाउनलोड और इंस्टॉल करें

यहाँ कुछ प्रमुख विवरणों के साथ मेरा कोड है (मैंने स्केच फ़ाइल भी जोड़ी है)। मैंने हर कदम पर टिप्पणी नहीं की क्योंकि मुझे लगता है कि यह जरूरी नहीं है।

अपने ATTiny85 पर स्केच अपलोड करें और अपने नए खिलौने के साथ मज़े करें

"व्यक्तित्व" समारोह के लिए विचार + शायद कोड-उदाहरणों का बहुत स्वागत है:-)

यदि कोई प्रश्न हैं, तो बेझिझक पूछें।

मुझे आशा है कि आपने ATTINYs की दुनिया में मेरी छोटी शिक्षाप्रद और छोटी यात्रा का आनंद लिया।

/* ATTINY85-राटा सरल ATTINY85 संचालित लाइटफॉलोइंग रोबोट। संस्करण 2.0, Auer Markus द्वारा */

#शामिल

#शामिल

// मोटर्स

#define LMOTOR 0 #define RMOTOR 1 //LEDs #define PIXELPIN 2 #define NUMPIXEL 3 //LDRs #define LLDR A2 #define RLDR A3

// अन्य इमो = 0; फ्लोट कैलिबर; बूलियन इमोस्टेट; लंबी पुरानी मिलिस; // परिभाषित करें NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel(NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);

व्यर्थ व्यवस्था()

{// अपस्केल क्लॉक अन्यथा आप कुछ समय की समस्याओं का सामना करेंगे (नियोपिक्सल लिब 16MHz के लिए लिखा गया है) #if परिभाषित (_AVR_ATtiny85_) अगर (F_CPU == 16000000) clock_prescale_set(clock_div_1); #अगर अंत

// पिनमोड पिनमोड (एलमोटर, आउटपुट); पिनमोड (RMOTOR, OUTPUT); पिनमोड (एलएलडीआर, इनपुट); पिनमोड (एलएलडीआर, इनपुट); // पिक्सेल शुरू करें PIXEL.begin (); PIXEL.शो (); देरी (500); // शुरुआत के लिए (int i=0;i

शून्य लूप ()

{अगर (लाइटफॉलो () == 1) {बाएं (); } और अगर (लाइटफॉलो () == 2) {दाएं (); } और अगर (लाइटफॉलो () == 0) {फॉरवर्ड (); } भावना(); }

इंट लाइटफॉलो () {

इंट ट्रेशोल्ड = 14; इंट परिणाम = 0; फ़्लोट लेफ्ट = 0; फ्लोट राइट = 0; इंट नमूने = 1; // के लिए एलडीआर पढ़ें (int j = 0; j<नमूने; j++){

बाएं = बाएं + एनालॉगरेड (एलएलडीआर); दाएं = दाएं + (एनालॉगरेड (आरएलडीआर) * कैलिबर);

}

// परिणाम की गणना करें (प्रकाश किस दिशा से आ रहा है?)

अगर ((बाएं/नमूने)> ((दाएं/नमूने) + सीमा)) {परिणाम = 2;}

और अगर ((बाएं/नमूने) <((दाएं/नमूने) -ट्रेशहोल्ड)) {परिणाम = 1;}

अन्य {परिणाम = 0;}

वापसी परिणाम; } शून्य आगे () {// आगे अनुरूप लिखें (LMOTOR, २३०); एनालॉगराइट (आरएमओटीओआर, 230); PIXEL.setPixelColor(0, PIXEL. Color(0, 0, 255)); PIXEL.setPixelColor(2, PIXEL. Color(0, 0, 255)); PIXEL.शो (); }

शून्य बाएं () {

// लेफ्ट एनालॉगराइट (LMOTOR, 150); एनालॉगराइट (आरएमओटीओआर, 255); PIXEL.setPixelColor(0, PIXEL. Color(0, 0, 255)); //PIXEL.setPixelColor(1, PIXEL. Color(75, 0, 0)); PIXEL.setPixelColor(2, PIXEL. Color(0, 100, 0)); PIXEL.शो (); }

शून्य अधिकार () {

// राइट एनालॉगराइट (LMOTOR, 255); एनालॉगराइट (आरएमओटीओआर, 150); PIXEL.setPixelColor(0, PIXEL. Color(0, 100, 0)); PIXEL.setPixelColor(2, PIXEL. Color(0, 0, 255)); PIXEL.शो (); }

// यह आगे के प्रयोगों के लिए है, इसे थोड़ा व्यक्तित्व देने की कोशिश कर रहा है:-) मैं परीक्षण कर रहा हूं कि क्या करने में सक्षम हो सकता है, लेकिन अभी तक कोई अच्छा विचार नहीं है।

शून्य भावना () { इंट इमोटिमर = २५००; इंट अवधि = यादृच्छिक (२५०, ७५०); अगर (मिलिस () - ओल्डमिलिस> इमोटिमर) { ओल्डमिलिस = मिलिस (); इमो = यादृच्छिक (1, 4); } अगर (मिलिस () - ओल्डमिलिस> अवधि) { इमोस्टेट =! इमोस्टेट; } अगर (इमोस्टेट == सच) {स्विच (इमो) {केस 1: PIXEL.setPixelColor(1, PIXEL. Color((255), (255), (255))); PIXEL.शो (); टूटना; केस 2: PIXEL.setPixelColor(1, PIXEL. Color((255), (0), (0))); PIXEL.शो (); टूटना; केस 3: PIXEL.setPixelColor(1, PIXEL. Color((0)), (255), (0))); PIXEL.शो (); टूटना; डिफ़ॉल्ट: PIXEL.setPixelColor(1, PIXEL. Color(random(0, 255), random(0, 255), random(0, 255))); PIXEL.शो (); टूटना; } } और { PIXEL.setPixelColor(1, PIXEL. Color(25, 0, 0)); PIXEL.शो (); } }

सिफारिश की: