- USB ద్వారా ATtiny85 ప్రోగ్రామ్కు అవసరమైన భాగాలు
- ATtiny85 మైక్రోకంట్రోలర్ IC - పరిచయం
- Arduino Uno ఉపయోగించి ATtiny85 లో బూట్-లోడర్ను మెరుస్తోంది
- ATtiny ప్రోగ్రామర్ కోసం సర్క్యూట్ రేఖాచిత్రం
- డిజిస్పార్క్ డ్రైవర్లను ఇన్స్టాల్ చేస్తోంది
- ప్రోగ్రామ్ ATttiny85 కు Arduino IDE ని ఏర్పాటు చేస్తోంది
ATTiny కుటుంబం AVR మార్కెట్లోని అతిచిన్న మైక్రోకంట్రోలర్లలో ఒకటి. ఈ మైక్రోకంట్రోలర్లు ఆర్డునో ప్లాట్ఫామ్లో లభించే అనేక లైబ్రరీలను ఉపయోగించుకోగలవు. ATtiny85 మైక్రోకంట్రోలర్ చిప్ 8-పిన్, 8-బిట్, AVR మైక్రోకంట్రోలర్. దీని చిన్న పరిమాణం మరియు తక్కువ విద్యుత్ వినియోగం చిన్న పాదముద్రలు మరియు తక్కువ విద్యుత్ అవసరాలతో పోర్టబుల్ ప్రాజెక్టులకు గొప్ప మ్యాచ్ అవుతుంది. మైక్రోకంట్రోలర్ బోర్డుల వంటి యుఎస్బి ఇంటర్ఫేస్ లేనందున మీ కోడ్ను చిప్లోకి తీసుకురావడం కొద్దిగా సవాలుగా ఉంటుంది.
మా మునుపటి ట్యుటోరియల్లో, మేము ఆర్టునో యునో ఉపయోగించి ATtiny85 ను ప్రోగ్రామ్ చేసాము. కానీ Attiny85 ను Arduino కి కనెక్ట్ చేయడం మరియు Arduino ని ISP గా ఉపయోగించడం కష్టం మరియు సమయం తీసుకుంటుంది. కాబట్టి ఈ ట్యుటోరియల్లో, మేము ATtiny85 ప్రోగ్రామింగ్ బోర్డ్ను నిర్మించబోతున్నాము, తద్వారా మనం నేరుగా ఇతర మైక్రోకంట్రోలర్ బోర్డుల మాదిరిగా ప్లగిన్ చేసి ప్రోగ్రామ్ చేయవచ్చు.
USB ద్వారా ATtiny85 ప్రోగ్రామ్కు అవసరమైన భాగాలు
- Arduino UNO (బూట్లోడర్ను అప్లోడ్ చేస్తున్నప్పుడు మొదటిసారి మాత్రమే)
- ATtiny85 IC
- USB A- రకం ప్లగ్ మగ
- 3 రెసిస్టర్లు (2 × 47Ω & 1 × 1kΩ)
- 3 డయోడ్లు (2 × జెనర్ డయోడ్ & 1 × IN5819 డయోడ్)
- 8-పిన్ ఐసి బేస్
- బ్రెడ్బోర్డ్
- జంపర్ వైర్లు
ATtiny85 మైక్రోకంట్రోలర్ IC - పరిచయం
Atmel యొక్క ATtiny85 అధిక పనితీరు, అధునాతన RISC ఆర్కిటెక్చర్ ఆధారంగా తక్కువ శక్తి 8-బిట్ మైక్రోకంట్రోలర్. ఈ మైక్రోకంట్రోలర్ చిప్లో 8KB ISP ఫ్లాష్ మెమరీ, 512B EEPROM, 512-బైట్ SRAM, 6 సాధారణ-ప్రయోజన I / O పంక్తులు, 32 సాధారణ ప్రయోజన వర్కింగ్ రిజిస్టర్లు, పోలిక మోడ్లతో ఒక 8-బిట్ టైమర్ / కౌంటర్, ఒక 8-బిట్ హై-స్పీడ్ టైమర్ / కౌంటర్, యుఎస్ఐ, అంతర్గత మరియు బాహ్య అంతరాయాలు, 4-ఛానల్ 10-బిట్ ఎ / డి కన్వర్టర్, అంతర్గత ఓసిలేటర్తో ప్రోగ్రామబుల్ వాచ్డాగ్ టైమర్, మూడు సాఫ్ట్వేర్ ఎంచుకోదగిన విద్యుత్ పొదుపు మోడ్లు మరియు ఆన్-చిప్ డీబగ్గింగ్ కోసం డీబగ్వైర్. ATtiny85 Pinout క్రింద ఇవ్వబడింది:
చిప్ యొక్క చాలా I / O పిన్స్ ఒకటి కంటే ఎక్కువ ఫంక్షన్లను కలిగి ఉంటాయి. ప్రతి పిన్కు ATtiny85 పిన్ వివరణ క్రింద పట్టికలో ఇవ్వబడింది:
పిన్ నం. |
పిన్ పేరు |
పిన్ వివరణ |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: పిన్ చేంజ్ ఇంటరప్ట్ 0, సోర్స్ 5 రీసెట్: పిన్ రీసెట్ చేయండి ADC0: ADC ఇన్పుట్ ఛానల్ 0 dW: డీబగ్ WIRE I / O. |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: పిన్ చేంజ్ ఇంటరప్ట్ 0, సోర్స్ 3 XTAL1: క్రిస్టల్ ఓసిలేటర్ పిన్ 1 CLKI: బాహ్య గడియారపు ఇన్పుట్ ADC3: ADC ఇన్పుట్ ఛానల్ 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: పిన్ చేంజ్ ఇంటరప్ట్ 0, మూలం 4 XTAL2: క్రిస్టల్ ఆసిలేటర్ పిన్ 2 CLKO: సిస్టమ్ క్లాక్ అవుట్పుట్ OC1B: టైమర్ / కౌంటర్ 1 మ్యాచ్ B అవుట్పుట్ను సరిపోల్చండి ADC2: ADC ఇన్పుట్ ఛానల్ 2 |
4 |
GND |
గ్రౌండ్ పిన్ |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
మోసి: ఎస్పిఐ మాస్టర్ డేటా అవుట్పుట్ / స్లేవ్ డేటా ఇన్పుట్ DI: USI డేటా ఇన్పుట్ (మూడు వైర్ మోడ్) SDA: USI డేటా ఇన్పుట్ (రెండు వైర్ మోడ్) AIN0: అనలాగ్ కంపారిటర్, పాజిటివ్ ఇన్పుట్ OC0A: టైమర్ / కౌంటర్ 0 సరిపోల్చండి మ్యాచ్ అవుట్పుట్ AREF: బాహ్య అనలాగ్ సూచన PCINT0: పిన్ చేంజ్ ఇంటరప్ట్ 0, సోర్స్ 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: SPI మాస్టర్ డేటా ఇన్పుట్ / స్లేవ్ డేటా అవుట్పుట్ DO: USI డేటా అవుట్పుట్ (మూడు వైర్ మోడ్) AIN1: అనలాగ్ కంపారిటర్, నెగటివ్ ఇన్పుట్ OC0B: టైమర్ / కౌంటర్ 0 మ్యాచ్ బి అవుట్పుట్ను సరిపోల్చండి OC1A: టైమర్ / కౌంటర్ 1 సరిపోల్చండి మ్యాచ్ అవుట్పుట్ PCINT1: పిన్ చేంజ్ ఇంటరప్ట్ 0, మూలం 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: సీరియల్ క్లాక్ ఇన్పుట్ USCK: USI క్లాక్ (మూడు వైర్ మోడ్) SCL: USI క్లాక్ (రెండు వైర్ మోడ్) ADC1: ADC ఇన్పుట్ ఛానల్ 1 T0: టైమర్ / కౌంటర్ 0 క్లాక్ సోర్స్ INT0: బాహ్య అంతరాయం 0 ఇన్పుట్ PCINT2: పిన్ చేంజ్ ఇంటరప్ట్ 0, సోర్స్ 2 |
8 |
వీసీసీ |
సరఫరా వోల్టేజ్ పిన్ |
Arduino Uno ఉపయోగించి ATtiny85 లో బూట్-లోడర్ను మెరుస్తోంది
కోసం Arduino లేకుండా ATtiny85 ప్రోగ్రామింగ్, మేము మొదటి ఒక Arduino UNO బోర్డు ఉపయోగించి దీనిని ఒక బూట్లోడర్ అప్లోడ్ వుంటుంది, ఈ ఒక సమయం ప్రక్రియ మరియు ఈ జరుగుతుంది తర్వాత మేము మళ్ళీ UNO బోర్డు అవసరం కాదు. బూట్-లోడర్ అనేది మైక్రోకంట్రోలర్లో పనిచేసే ఒక ప్రత్యేక ప్రోగ్రామ్, ఇది ప్రోగ్రామ్ చేయబడాలి. మీ ప్రోగ్రామ్ డేటాను మైక్రోకంట్రోలర్పై లోడ్ చేయడానికి అత్యంత అనుకూలమైన మార్గాలలో ఒకటి బూట్-లోడర్ ద్వారా. బూట్-లోడర్ MCU లో కూర్చుని ఇన్కమింగ్ సూచనలను చేస్తుంది, ఆపై మైక్రోకంట్రోలర్ యొక్క మెమరీకి కొత్త ప్రోగ్రామ్ సమాచారాన్ని వ్రాస్తుంది. మైక్రోకంట్రోలర్లో బూట్-లోడర్ను మెరుస్తున్నప్పుడు మైక్రోకంట్రోలర్ను ప్రోగ్రామ్ చేయడానికి ప్రత్యేక బాహ్య హార్డ్వేర్ (ప్రోగ్రామర్ బోర్డులు) యొక్క అవసరాన్ని తొలగిస్తుంది మరియు మీరు దీన్ని నేరుగా USB కనెక్షన్ను ఉపయోగించి ప్రోగ్రామ్ చేయగలుగుతారు. Digispark ATtiny85బోర్డు “మైక్రోన్యూక్లియస్ టిని 85” బూట్-లోడర్ను నడుపుతుంది, మొదట దీనిని బ్లూబీ రాశారు. బూట్-లోడర్ అనేది డిజిస్పార్క్లో ముందే ప్రోగ్రామ్ చేయబడిన కోడ్ మరియు ఇది యుఎస్బి పరికరంగా పనిచేయడానికి అనుమతిస్తుంది, తద్వారా దీనిని ఆర్డునో ఐడిఇ ద్వారా ప్రోగ్రామ్ చేయవచ్చు. మేము ATtiny85 లో అదే డిజిస్పార్క్ అటిని 85 బూట్లోడర్ను కూడా ఫ్లాష్ చేయబోతున్నాం.
Arduino Uno మరియు Arduino IDE ని ఉపయోగించి ATtiny85 లోకి ఫ్లాష్ బూట్లోడర్ కోసం స్టెప్ గైడ్ ద్వారా ఒక దశ క్రింద ఇవ్వబడింది:
దశ 1: ఆర్డునో యునోను ISP గా కాన్ఫిగర్ చేస్తోంది:
ATtiny85 కేవలం మైక్రోకంట్రోలర్ కనుక, దీనికి ప్రోగ్రామ్ చేయడానికి ISP (ఇన్-సిస్టమ్ ప్రోగ్రామింగ్) అవసరం. కాబట్టి ATtiny85 ను ప్రోగ్రామ్ చేయడానికి, ATtiny85 కోసం ప్రోగ్రామర్గా పనిచేయడానికి మేము మొదట Arduino Uno ని ISP గా కాన్ఫిగర్ చేయాలి. దాని కోసం, ఆర్డునో యునోను ల్యాప్టాప్కు కనెక్ట్ చేసి, ఆర్డునో ఐడిఇని తెరవండి. ఆ తరువాత, ఫైల్> ఉదాహరణ> ArduinoISP కి నావిగేట్ చేయండి మరియు Arduino ISP కోడ్ను అప్లోడ్ చేయండి.
దశ 2: ATtiny85 లో బూట్-లోడర్ను మెరుస్తున్న సర్క్యూట్ రేఖాచిత్రం:
ATtiny85 లో బూట్-లోడర్ను మెరుస్తున్న పూర్తి స్కీమాటిక్ క్రింద ఇవ్వబడింది:
Arduino యొక్క రీసెట్ మరియు GND పిన్ మధ్య 10 µf కెపాసిటర్ అనుసంధానించబడి ఉంది. పూర్తి కనెక్షన్లు క్రింది పట్టికలో ఇవ్వబడ్డాయి:
ATtiny85 పిన్ |
ఆర్డునో యునో పిన్ |
విసిసి |
5 వి |
GND |
GND |
పిన్ 2 |
13 |
పిన్ 1 |
12 |
పిన్ 0 |
11 |
రీసెట్ చేయండి |
10 |
ఇప్పుడు ఆర్డునో యునోను ల్యాప్టాప్కు ప్లగ్-ఇన్ చేసి, ఆర్డునో ఐడిఇని తెరవండి. యునో కనెక్ట్ అయిన COM పోర్ట్ని కనుగొనండి. నా విషయంలో, ఇది COM5.
దీని తరువాత, ఇచ్చిన లింక్ నుండి ATtiny85 బూట్-లోడర్ ఫైళ్ళను డౌన్లోడ్ చేయండి. " Burn_AT85_bootloader.bat " ను తెరిచి, మీ Uno కనెక్ట్ చేయబడిన COM పోర్ట్ నంబర్తో COM పోర్ట్ సంఖ్య "PCOM5" ని మార్చండి. నిష్క్రమించే ముందు మార్పులను సేవ్ చేయండి.
ఇప్పుడు సవరించిన " Burn_AT85_bootloader.bat " మరియు " ATtiny85.hex " ఫైళ్ళను Arduino IDE రూట్ ఫోల్డర్ (C: \ Program Files (x86) Arduino) లోకి తరలించండి .
ఆ తరువాత, " Burn_AT85_bootloader.bat " పై కుడి క్లిక్ చేసి, " నిర్వాహకుడిగా రన్ చేయి " ఎంచుకోండి. బూట్-లోడర్ను ఫ్లాష్ చేయడానికి సుమారు 5 నుండి 6 సెకన్లు పడుతుంది. అన్నీ సరిగ్గా జరిగితే, మీరు ఈ సందేశాన్ని అందుకోవాలి "AVRdude పూర్తయింది. ధన్యవాదాలు. కొనసాగించడానికి ఏదైనా కీని నొక్కండి…".
దీనితో, బూట్-లోడర్ ATtiny85 చిప్లో విజయవంతంగా ఇన్స్టాల్ చేయబడింది. ఇప్పుడు USB ని ATtiny85 తో కనెక్ట్ చేయడానికి సమయం ఆసన్నమైంది, తద్వారా మేము దీన్ని నేరుగా ప్రోగ్రామ్ చేయవచ్చు. USB ద్వారా ATtiny85 ప్రోగ్రామింగ్ కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది:
ATtiny ప్రోగ్రామర్ కోసం సర్క్యూట్ రేఖాచిత్రం
స్కీమాటిక్ డిజిస్పార్క్ ATtiny85 బోర్డ్ స్కీమాటిక్ నుండి తీసుకోబడింది, కాని మేము ATtiny85 కోసం ప్రోగ్రామర్ను నిర్మించాలనే లక్ష్యంతో , మేము మగ USB ప్లగ్ను ATtiny85 తో మాత్రమే కనెక్ట్ చేస్తున్నాము.
R3 అనేది పుల్-అప్ రెసిస్టర్, ఇది IC యొక్క Vcc మరియు PB3 పిన్ల మధ్య అనుసంధానించబడి ఉండగా, మొత్తం USB ఇంటర్ఫేస్ రక్షణ కోసం జెనర్ డయోడ్లు (D1-D2) జోడించబడతాయి. పెర్ఫ్ బోర్డ్లోని అన్ని భాగాలను టంకం చేసిన తరువాత, ఇది క్రింద కనిపిస్తుంది.
డిజిస్పార్క్ డ్రైవర్లను ఇన్స్టాల్ చేస్తోంది
USB ని ఉపయోగించి ATtiny85 ను ప్రోగ్రామ్ చేయడానికి, మీరు మీ ల్యాప్టాప్లో డిజిస్పార్క్ డ్రైవర్లను ఇన్స్టాల్ చేసి ఉండాలి, మీకు అవి లేకపోతే, పైన ఇచ్చిన లింక్ను ఉపయోగించి డౌన్లోడ్ చేసుకోవచ్చు. అప్పుడు, జిప్ ఫైల్ను సంగ్రహించి, డ్రైవర్లను ఇన్స్టాల్ చేయడానికి “ DPinst64.exe ” అప్లికేషన్పై డబుల్ క్లిక్ చేయండి.
డ్రైవర్లు విజయవంతంగా ఇన్స్టాల్ చేయబడిన తర్వాత, మీ ATtiny85 బోర్డ్ను ల్యాప్టాప్కు ప్లగ్ చేయండి. ఇప్పుడు మీ విండోస్లోని పరికర నిర్వాహికికి వెళ్లండి మరియు ATtiny85 పరికరం “libusb-win32 పరికరాల” క్రింద “డిజిస్పార్క్ బూట్లోడర్” గా జాబితా చేయబడుతుంది. మీరు పరికరం మేనేజర్ 'libusb-Win32 పరికరాలు' రానట్లయితే, అప్పుడు వెళ్ళండి చూడండి మరియు క్లిక్ 'దాచిన పరికరాలు.'
ప్రోగ్రామ్ ATttiny85 కు Arduino IDE ని ఏర్పాటు చేస్తోంది
Arduino IDE తో ATtiny85 బోర్డ్ను ప్రోగ్రామ్ చేయడానికి, మొదట, మేము డిజిస్పార్క్ బోర్డు మద్దతును Arduino IDE కి జోడించాలి. దాని కోసం, ఫైల్> ప్రాధాన్యతలకు వెళ్లి, అదనపు బోర్డుల నిర్వాహక URL లలో క్రింది లింక్ను జోడించి, 'సరే' క్లిక్ చేయండి.
ఆ తరువాత, టూల్స్> బోర్డ్> బోర్డ్ మేనేజర్కు వెళ్లి 'డిజిస్టంప్ ఎవిఆర్' కోసం శోధించి, తాజా వెర్షన్ను ఇన్స్టాల్ చేయండి.
దీన్ని ఇన్స్టాల్ చేసిన తర్వాత, ఇప్పుడు మీరు 'డిజిస్పార్క్' పేరుతో బోర్డు మెనులో క్రొత్త ఎంట్రీని చూడగలుగుతారు.
ఇప్పుడు, ఫైల్> ఉదాహరణలు> బేసిక్స్ కు వెళ్లి బ్లింక్ ఉదాహరణను తెరవండి.
అక్కడ ఉన్న పిన్ నంబర్ను LED_BUILTIN నుండి 0 కి మార్చండి.
ఇప్పుడు ఉపకరణాలు -> బోర్డ్కి తిరిగి వెళ్లి “ డిజిస్పార్క్ (డిఫాల్ట్ - 16 ఎంహెచ్జడ్) ” బోర్డును ఎంచుకోండి. అప్పుడు Arduino IDE లోని అప్లోడ్ బటన్ పై క్లిక్ చేయండి.
గమనిక: ATtiny85 బోర్డ్ను కంప్యూటర్కు కనెక్ట్ చేయండి, Arduino IDE “ఇప్పుడు ప్లగిన్ పరికరం” అని సందేశాన్ని ప్రదర్శించినప్పుడు మాత్రమే.
కోడ్ అప్లోడ్ అయిన తర్వాత, ATtiny85 కి కనెక్ట్ చేయబడిన LED మెరిసేటట్లు చేయాలి.
ఈ విధంగా మీరు మీ స్వంత ATtiny85 Arduino ప్రోగ్రామింగ్ బోర్డ్ను నిర్మించవచ్చు. అదే పని చేసే వీడియో క్రింద ఇవ్వబడింది. మీకు ఏవైనా ప్రశ్నలు ఉంటే, వాటిని వ్యాఖ్య విభాగంలో ఉంచండి. ఏదైనా ఇతర సాంకేతిక ప్రశ్నల కోసం, మీరు మా ఫోరమ్లలో కూడా చర్చను ప్రారంభించవచ్చు.