ዝርዝር ሁኔታ:

POT እና ATTINY85: 3 ደረጃዎች በመጠቀም የ LED ቀለሞችን ይለውጡ
POT እና ATTINY85: 3 ደረጃዎች በመጠቀም የ LED ቀለሞችን ይለውጡ

ቪዲዮ: POT እና ATTINY85: 3 ደረጃዎች በመጠቀም የ LED ቀለሞችን ይለውጡ

ቪዲዮ: POT እና ATTINY85: 3 ደረጃዎች በመጠቀም የ LED ቀለሞችን ይለውጡ
ቪዲዮ: Arduino Tutorial – ATtiny85 explained in 4 minutes! 2024, ሀምሌ
Anonim
ድስት እና ATTINY85 ን በመጠቀም የ LED ቀለሞችን ይለውጡ
ድስት እና ATTINY85 ን በመጠቀም የ LED ቀለሞችን ይለውጡ
ድስት እና ATTINY85 ን በመጠቀም የ LED ቀለሞችን ይለውጡ
ድስት እና ATTINY85 ን በመጠቀም የ LED ቀለሞችን ይለውጡ
ድስት እና ATTINY85 ን በመጠቀም የ LED ቀለሞችን ይለውጡ
ድስት እና ATTINY85 ን በመጠቀም የ LED ቀለሞችን ይለውጡ

በዚህ ፕሮጀክት ውስጥ ATTINY85 ን በመጠቀም በ LED ውስጥ ያሉትን ቀለሞች ለመለወጥ ፖታቲሞሜትር (POT) እንጠቀማለን።

አንዳንድ ትርጓሜዎች-

ፖታቲሞሜትር የተለያዩ የኤሌክትሪክ ተቃውሞዎችን ሲያወጣ አነስተኛ የመጠምዘዣ / የማዞሪያ ዘዴ ያለው መሣሪያ ነው። ከላይ ከተገለፀው ምስል ማየት ይችላሉ POT 3 ፒኖች ፣ ማለትም ፣ +፣ - ፣ እና ውፅዓት። POT የተጎላበተው + እና - ፒኖችን ከ vcc እና ከኃይል አቅርቦት ጋር በቅደም ተከተል በማገናኘት ነው። የ POT ሽክርክሪት ሲቀየር ፣ የውጤቱ ተቃውሞ ይለወጣል እና ኤልኢዲው ጥንካሬን እንዲቀንስ ወይም እንዲጨምር ያደርጋል።. በሌላ አነጋገር ፣ እሱ ተለዋዋጭ resistor ነው። እንደ የቤት ውስጥ ብርሃን ማብለያዎች ባሉ ነገሮች ውስጥ ያገለግላሉ።

LED - ይህ የኤሌክትሪክ ፍሰት ቢያልፍም የሚያበራ ትንሽ ብርሃን ነው። በዚህ ሁኔታ ፣ ሲቀሰቀስ በቅደም ተከተል አረንጓዴ እና ቀይ የሚያሳዩ 3 ፒኖች ፣ አንድ መሬት (መካከለኛ) እና ሁለት ፒኖች ያሉት ባለ ብዙ ቀለም LED ን እንጠቀማለን።

ATTINY85-ይህ እንደ አርዱዲኖ ፕሮግራም ማድረግ የሚችሉት አነስተኛ አነስተኛ ዋጋ ያለው ቺፕ ነው።

አጠቃላይ እይታ - ከ POT የሚወጣው ውጤት ከ ATTINY85 ጋር ተገናኝቷል። የ POT ሽክርክሪት ሲቀየር ፣ እንደ 0 እና 255 መካከል እንደ ልዩነት የመቋቋም ልዩነት ይወጣል። ATTINY ይህንን ለመለካት እና በ POT ተቃውሞ ዋጋ ላይ በመመስረት የተለያዩ እርምጃዎችን መውሰድ ይችላል። በዚህ ሁኔታ ፣ እኛ ከ LED ጋር እንደሚከተለው እንዲገናኝ ፕሮግራም አድርገናል።

ቁጥሩ ከ 170 በላይ ከሆነ LED ን ወደ አረንጓዴ ይለውጡ።

ቁጥሩ ከ 170 በታች ከሆነ ግን ከ 85 በላይ ከሆነ LED ን ወደ ቀይ ቀይሩት።

ቁጥሩ ከ 85 በታች ከሆነ በ LED ግሪን እና ቀይ ላይ ማብሪያ / ማብራት / ያስከትላል።

ቦም

1 x 3 ፒን LED 1 x ATTINY 85

1 x POT (B100K)

1 x የዳቦ ሰሌዳ እና ኬብሎች

1 የኃይል አቅርቦት።

ደረጃ 1 ATTINY85 ን ፕሮግራም ማድረግ

ATTINY85 ን ከፕሮግራም አንፃር እባክዎን የቀድሞ አስተማሪዬን ይመልከቱ-https://www.instructables.com/id/15-Dollar-Attiny8…

ኮዱ ከዚህ በታች ይታያል። አንዳንድ ልብ ሊባሉ የሚገባቸው ነጥቦች ሁለት ATTINY ፒኖች ፣ PB3 ፣ አካላዊ ፒን 2 ፣ PB2 ፣ አካላዊ ፒን 7 በዲጂታል ሞድ ውስጥ ፣ የቀለም ለውጥን ለመተግበር ከ LED ጋር ተገናኝተዋል። ATTINY pin PB4 ፣ አካላዊ ፒን 3 ፣ ከአናሎግ ሞድ ውስጥ ከ POT ጋር ተገናኝቷል ፣ ይህ ማለት በ 0 እና በ 254 መካከል እሴቶችን ማንበብ ይችላል ማለት ነው። እኔ በበይነመረብ ላይ ያገኘሁትን ኮድ አበጅቻለሁ ስለዚህ ያንን ሥራ እቀበላለሁ። -

ባዶነት initADC () {// *** // *** Pinout ATtiny25/45/85: // *** PDIP/SOIC/TSSOP // *** ============= ============================================== ============================== // *** // *** (PCINT5/RESET/ADC0/dW) PB5 [1]* [8] VCC // *** (PCINT3/XTAL1/CLKI/OC1B/ADC3) PB3 [2] [7] PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) //* ** (PCINT4/XTAL2/CLKO/OC1B/ADC2) PB4 [3] [6] PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1) // *** GND [4] [5] PB0 (MOSI/ DI/SDA/AIN0/OC0A/OC1A/AREF/PCINT0) // *** // pb4 - ግብዓት ለ POT // pb3 led pin 1 // pb2 led pin 3 // ATTINY 85 ድግግሞሽ በውስጣዊ 8 ሜኸ/*ላይ ተቀናብሯል ይህ ተግባር ADC ን ያስጀምራል

የ ADC ቅድመ ጠባቂ ማስታወሻዎች

የኤዲሲ ግቤት ድግግሞሽ ከ 50 - 200 kHz መካከል እንዲሆን የኤዲሲ ቅድመ -ተቆጣጣሪ መዘጋጀት አለበት።

ለበለጠ መረጃ ፣ በምዕራፍ 17.13.2 “ADCSRA - ADC ቁጥጥር እና የሁኔታ መመዝገቢያ ሀ” ውስጥ 17.5 “ADC Prescaler Selections” የሚለውን ሰንጠረዥ ይመልከቱ (ገጽ 140 እና 141 በተሟላ ATtiny25/45/85 የውሂብ ሉህ ፣ ራዕይ 2586M – AVR –7/ 10)

ለተለያዩ የሰዓት ፍጥነቶች ልክ የሆኑ ቅድመ -ተቆጣጣሪ እሴቶች

ሰዓት ይገኛል ቅድመ-ጠባቂ እሴቶች --------------------------------------- 1 ሜኸ 8 (125 ኪኸ) ፣ 16 (62.5 ኪኸ) 4 ሜኸ 32 (125 ኪኸ) ፣ 64 (62.5 ኪኸ) 8 ሜኸ 64 (125 ኪኸ) ፣ 128 (62.5 ኪኸ) 16 ሜኸ 128 (125 ኪኸ)

ከዚህ በታች ምሳሌ በ 8 ሜኸር ላይ ለሚሠራው mcu ለ 128 ቅድመ -ተቆጣጣሪ ያዘጋጁ

(ቅድመ -ተቆጣጣሪውን ለማዘጋጀት ለትክክለኛው የትንሽ እሴቶች የውሂብ ሉህ ይመልከቱ) */

// 8-ቢት ጥራት

// የግራ-ፈረቃ ውጤትን ለማንቃት ADLAR ን ወደ 1 ያዋቅሩ (ቢቶች ADC9.. ADC2 ብቻ ይገኛሉ) // ከዚያ ፣ ADCH ን ማንበብ ለ 8-ቢት ውጤቶች ብቻ (256 እሴቶች) DDRB | = (1 << PB3); // ፒን እንደ ውፅዓት ተዘጋጅቷል። DDRB | = (1 << PB2); // ፒን እንደ ውፅዓት ተዘጋጅቷል። ADMUX = (1 << ADLAR) | // የግራ ፈረቃ ውጤት (0 << REFS1) | // ማጣቀሻን ያዘጋጃል። ቮልቴጅ ወደ ቪሲሲ ፣ ቢት 1 (0 << REFS0) | // ማጣቀሻን ያዘጋጃል። ቮልቴጅ ወደ ቪሲሲ ፣ ቢት 0 (0 << MUX3) | // ADC2 ን ለግቤት (PB4) ፣ MUX ቢት 3 (0 << MUX2) | ይጠቀሙ // ADC2 ን ለግቤት (PB4) ፣ MUX ቢት 2 (1 << MUX1) | ይጠቀሙ // ADC2 ን ለግቤት (PB4) ፣ MUX ቢት 1 (0 << MUX0) ይጠቀሙ ፤ // ADC2 ን ለግቤት (PB4) ፣ MUX ቢት 0 ይጠቀሙ

ADCSRA =

(1 << አዴን) | // ADC ን ያንቁ (1 << ADPS2) | // ቅድመ -ተቆጣጣሪ ወደ 64 ፣ ቢት 2 (1 << ADPS1) | // ቅድመ -ተቆጣጣሪ ወደ 64 ፣ ቢት 1 (0 << ADPS0) ያዘጋጁ ፤ // prescaler ን ወደ 64 ፣ ቢት 0} ያዘጋጁ

int main (ባዶ)

{initADC ();

ሳለ (1)

{

ADCSRA | = (1 << ADSC); // (ADCSRA & (1 << ADSC))) የ ADC መለኪያ ይጀምሩ። // ልወጣ እስኪጠናቀቅ ድረስ ይጠብቁ

ከሆነ (ADCH> 170)

{PORTB | = (1 << PB3); // ፒን ወደ HIGH ተቀናብሯል። PORTB | = (1 << PB2); // ፒን ወደ HIGH ተቀናብሯል። } ሌላ ከሆነ (ADCH 85) {PORTB | = (1 << PB3); // ፒን ወደ HIGH ተቀናብሯል። PORTB & = ~ (1 << PB2); // ፒን ወደ LOW ተቀናብሯል

} ሌላ {

PORTB | = (1 << PB2); // ፒን ወደ HIGH ተቀናብሯል። PORTB & = ~ (1 << PB3); // ፒን ወደ LOW ተቀናብሯል

}

}

መመለስ 0;

}

ደረጃ 2 - ወረዳ

ወረዳ
ወረዳ

ATTINY ፒኖች

PB3 ፣ አካላዊ ፒን 2 - የተገናኘ የ LED ፒን 1

PB4 ፣ አካላዊ ፒን 3 ፣ ከመካከለኛው ፒን POT ጋር ተገናኝቷል

GND ፣ አካላዊ ፒን 4 ፣ ከአሉታዊ ባቡር - የኃይል አቅርቦት ጋር ተገናኝቷል

PB2 ፣ አካላዊ ፒን 7 - የተገናኘ የ LED ፒን 3

ቪሲሲ ፣ አካላዊ ፒን 8 ፣ ከአዎንታዊ ባቡር - የኃይል አቅርቦት ጋር ተገናኝቷል

ማሰሮ

pos እና neg pin ከሚከተሉት ሀዲዶች ጋር ተገናኝቷል - የኃይል አቅርቦት።

LED

ከአሉታዊ ባቡር ጋር የተገናኘ መካከለኛ ፒን - የኃይል አቅርቦት

እኔ የ 3 እና 3.3 ቮልት የኃይል አቅርቦትን በመጠቀም ሙከራ አደረግሁ እና ሁለቱም ሠርተዋል።

ደረጃ 3 መደምደሚያ

መደምደሚያ
መደምደሚያ

የ ATTINY85 በአናሎግ እና በዲጂታል ሞድ መካከል የመንቀሳቀስ ችሎታ በጣም ኃይለኛ እና በተለያዩ የተለያዩ መተግበሪያዎች ውስጥ ጥቅም ላይ ሊውል ይችላል ፣ ለምሳሌ። ተለዋዋጭ የፍጥነት ሞተሮችን መንዳት እና የሙዚቃ ማስታወሻዎችን መፍጠር። እኔ ወደፊት instructables ውስጥ ይህን እንመረምራለን. ይህ ጠቃሚ ሆኖ እንዳገኙት ተስፋ አደርጋለሁ።

የሚመከር: