Мазмұны:

Хэллоуин қорқынышты көздер: 8 қадам
Хэллоуин қорқынышты көздер: 8 қадам

Бейне: Хэллоуин қорқынышты көздер: 8 қадам

Бейне: Хэллоуин қорқынышты көздер: 8 қадам
Бейне: Қыздар ғаламтор арқылы ДУХ шақырамыз деп бастары бәлеге қалды! / Казакша кино / Кино шолу 2024, Шілде
Anonim
Хэллоуин қорқынышты көздер
Хэллоуин қорқынышты көздер
Хэллоуин қорқынышты көздер
Хэллоуин қорқынышты көздер
Хэллоуин қорқынышты көздер
Хэллоуин қорқынышты көздер
Хэллоуин қорқынышты көздер
Хэллоуин қорқынышты көздер

Осы жылдар ішінде әр түрлі жобалар жасау кезінде

пайдаланылмай жатқан әр түрлі модульдердің толық жинағы және мен олардың кем дегенде бірнешеуін бір уақытта қызықты әрі шығармашылық болатын нәрсе үшін қолданғым келді.

Идеяларға арналған «Instablesables.com сайтынан» өтіп, мен осы «Хэллоуинге» бірдеңе жасау үшін оларды біріктіруге болатын бірнеше жобаны кездестірдім.

Мен өз идеяларын қолданғаны үшін күтпеген жасаушы Стив Куиннге несие беруім керек.

Жабдықтар

ПАЙДАЛАНЫЛҒАН ЗАТТАР МЕН МОДУЛДАР

Қолданылған модульдер

1 Автономды Atmega8 тақтасы

5 вольтты шығысқа арналған 2 PIR негізіндегі контроллер тақтасы

3 LM386 күшейткіш тақтасы

4 Жалпы MP3 ойнатқыш модулі

5 MAX7219 8x8 жарықдиодты модульдер

6 PIR модулі (жалпы)

7 4”4 Ом динамигі

Басқа материалдар

а. Бос картон қорап

б. Бір рет қолданылатын су бөтелкелері

c) Түсті өзгерту LED 5V

d. Әр түрлі сымдар

д. Желім мылтық

f. Пісіру темірі

g. Түрлі құралдар мен кескіштер

с. 12В 1А сатылы төмен трансформатор

Маңызды

1 Arduion IDE

2 AVR чиптеріне арналған бағдарламалау тақтасы

3 Бағдарламалық қамтамасыз ету

1 -қадам: Әр түрлі модульдер

Әр түрлі модульдер
Әр түрлі модульдер
Әр түрлі модульдер
Әр түрлі модульдер
Әр түрлі модульдер
Әр түрлі модульдер

Біріншіден, біз әртүрлі модульдерді жасауды қарастырамыз, Біз

Әрине, барлық электроника үшін бір ғана ПХД жасай аламын және жоба жақсы жұмыс істейді, бірақ мен үшін бұл идея бұрыннан жасалған әр түрлі заттарды әр түрлі жобалар үшін қолдану болды, енді олардың қажеттілігі аяқталды. Мен бұл заттарды қайта қолданғым келді.

ATmega8 тақтасы

Мен ATmega8 чипін сыртқы кристаллсыз қолданамын. Шындығында, бұл тақталар бірнеше P10 16x32 жарықдиодты модульдерді іске қосу үшін жасалған, менде бұл жобадан қалған бірнеше нәрсе қалды. Тақтаның және ПХД орналасуының суреті келесідей (Суреттерді қараңыз). Ардуино тақтасын «нұсқаулықтар» бойынша жасау туралы көптеген мақалалар бар. Сіз кез келген Arduino тақтасын қолдана аласыз.

PIR басқару тақтасы

Бұл PIR тақтасы жарықдиодты шамдарға негізделген кішкене декорацияларды қосу және өшіру үшін жасалды, енді ол жай ғана жатыр еді, мен оны қолдануға шештім. Цикл схемасы суреттерде көрсетілген

THE LM 386 күшейткіш тақтасы

Бұл MP3 ойнатқыш модулінен дыбыс шығаруды күшейтетін күшейткіш модуль. схемасы мен схемасы өте қарапайым және суреттер бәрін айтады. схеманың схемасы мен толтырылған тақтаның суреті түсінікті.

MP3 ойнатқыш модулі

Мен суретте көрсетілген MP3 ойнатқыш модулін қолдандым. Ол Amazon -да және басқаларында оңай қол жетімді, ол арзан және қолдануға оңай. Бұл модульдің ең жақсы жағы - ойнауды бастау үшін ешқандай қосымша команда немесе қосылым қажет емес. Тиісті қуат тақтаға берілген кезде ол өз жұмысын бастайды.

MAX7219 8x8 жарықдиодты модульдер

Бұл 8x8 жарықдиодты дисплей модульдері Amazon -да оңай қол жетімді және мен қолданған суреттер берілген.

PIR модулі

Мен қол жетімді PIR сенсорлық модулін қолдандым. Ол Amazon -да және басқаларында қол жетімді, ол арзан және қолдануға оңай. Суреттер анықтама үшін берілген.

2 -қадам: Ассамблея 1 -бөлім

Ассамблея 1 -бөлім
Ассамблея 1 -бөлім

Тұжырымдама осы модульдердің барлығын біріктіріп, біреу тіреуіштің алдынан өтіп бара жатқанда іске қосылатын Хэллоуин мерекесін жасау керек еді. Ол үшін мен 12 вольтты қуат көзін PIR басқару тақтасына қостым, ол өз кезегінде 7805 IC көмегімен кернеуді 5В тұрақты кернеуге дейін төмендетіп жіберді, ал бұл 5В тұрақты кернеу PIR сенсорына, одан әрі басқа модульдерге берілді., ATmega8 тақтасы, күшейткіш модулі және MP3 ойнатқыш модулі біреу PIR сенсорының алдына келгенде. Ағымдық диаграмма бәрін айтады.

Көріп отырғанымыздай, PIR сенсоры ATmega8 тақтасын, күшейткіш модулін және MP3 ойнатқыш модулін іске қосады, ATmega8 «Көз» жарықдиодты матрицасын басқарады, MP3 ойнатқыш дыбыстық әсерлерді ойнайды және күшейткіш модулі сигналды динамикке жібереді..

Arduino коды - бұл Стив Куиннің нұсқаулығынан тікелей көтерілу, тек кодта уақыт өзгертілген. Қолданылатын код төменде берілген. INO файлы да қоса беріледі.

Кодекс

// D10 = Digital O/P CS PIN

// D11 = Цифрлық O/P сағаты түйреуіші

// D12 = Digital O/P деректер түйрегіші

//

#қосу

#қосу

const int numDevices = 2; // пайдаланылған MAX7219 саны

const int dataPin = 12;

const int clkPin = 11;

const int csPin = 10;

LedControl lc = LedControl (dataPin, clkPin, csPin, numDevices);

// Бұл кодты Arduino даму ортасына жіберіңіз

#Define LeftEye1 0

#Оң көзді анықтаңыз1 1

#Сол жақ көзді анықтаңыз2 2

#Оң көзді анықтаңыз2 3

#анықтаңыз LeftEye3 4

#Оң көзді анықтаңыз3 5

#анықтаңыз LeftEye4 6

#Оң көзді анықтаңыз4 7

#анықтауға LeftEye5 8

#Оң көзді анықтаңыз5 9

#анықтаңыз LeftEye6 10

#Оң көзді анықтаңыз6 11

#анықтаңыз LeftEye7 12

#Оң көзді анықтаңыз7 13

#анықтаңыз LeftEye8 14

15. Оң жақ көзді анықтаңыз8 15

#анықтаңыз LeftEye9 16

Оң жақ көзді анықтаңыз9 17

18

19. Оң жақ көзді анықтау 19

#анықтаңыз LeftEye11 20

#оң жақ көзді анықтау 21 21

22

23

#анықтаңыз LeftEye13 24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

typedef құрылымы {

const unsigned char массив1 [8];

}

binaryArrayType;

binaryArrayType binaryArray [40] =

{

{// LeftEye1, 0

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, {// RightEye1, 1

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, {// LeftEye2, 2

B00000000, B00111100, B01000010, B01011010, B01011010, B01000010, B00111100, B00000000

}, {// RightEye2, 3

B00000000, B00111100, B01000010, B01011010, B01011010, B01000010, B00111100, B00000000

}, {// LeftEye3, 4

B00000000, B00111100, B00100100, B00110100, B00110100, B00100100, B00111100, B00000000

}, {// RightEye3, 5

B00000000, B00111100, B00100100, B00110100, B00110100, B00100100, B00111100, B00000000

}, {// LeftEye4, 6

B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00000000

}, {// RightEye4, 7

B00000000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000

}, {// LeftEye5, 8

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000010, B01111100

}, {// RightEye5, 9

B01111100, B10000010, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, {// LeftEye6, 10

B01111110, B10000001, B10000001, B10011001, B10011001, B10000010, B10000100, B01111000

}, {// RightEye6, 11

B01111000, B10000100, B10000010, B10011001, B10011001, B10000001, B10000001, B01111110

}, {// LeftEye7, 12

B01111110, B11000001, B10000001, B10011001, B10011010, B10000100, B10001000, B01110000

}, {// RightEye7, 13

B01110000, B10001000, B10000100, B10011010, B10011001, B10000001, B11000001, B01111110

}, {// LeftEye8, 14

B00111110, B01000001, B10000001, B10011001, B10011010, B10000100, B01001000, B00110000

}, {// RightEye8, 15

B00110000, B01001000, B10000100, B10011010, B10011001, B10000001, B01000001, B00111110

}, {// LeftEye9, 16

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, {// RightEye9, 17

B01111110, B10000001, B10000001, B10011001, B10011001, B10000001, B10000001, B01111110

}, {// LeftEye10, 18

B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110

}, {// RightEye10, 19

B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110

}, {// LeftEye11, 20

B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110

}, {// RightEye11, 21

B01111110, B10000001, B10000001, B10000001, B10011001, B10011001, B10000001, B01111110

}, {// LeftEye12, 22

B01111110, B10000001, B10000001, B10000001, B10000001, B10011001, B10011001, B01111110

}, {// RightEye12, 23

B01111110, B10000001, B10000001, B10000001, B10000001, B10011001, B10011001, B01111110

}, {// LeftEye13, 24

B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10011001, B01111110

}, {// RightEye13, 25

B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10011001, B01111110

}, {// LeftEye14, 26

B00000000, B00111100, B01000010, B01000010, B01000010, B01011010, B00111100, B00000000

}, {// RightEye14, 27

B00000000, B00111100, B01000010, B01000010, B01000010, B01011010, B00111100, B00000000

}, {// LeftEye15, 28

B00000000, B00111100, B00100100, B00100100, B00100100, B00111100, B00111100, B00000000

}, {// RightEye15, 29

B00000000, B00111100, B00100100, B00100100, B00100100, B00111100, B00111100, B00000000

}, {// LeftEye16, 30

B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00000000

}, {// Оң көз 16, 31

B00000000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000, B00011000

}, {// LeftEye17, 32

B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00000000

}, {// RightEye17, 33

B00000000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000, B00010000

}, {// LeftEye18, 34

B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10001101, B01111110

}, {// RightEye18, 35

B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10001101, B01111110

}, {// LeftEye19, 36

B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10000111, B01111110

}, {// Оң көз 19, 37

B01111110, B10000001, B10000001, B10000001, B10000001, B10000001, B10000111, B01111110

}, {// LeftEye20, 38

B01111110, B10000001, B10000001, B10000001, B10000001, B10000011, B10000011, B01111110

}, {// RightEye20, 39

B01111110, B10000001, B10000001, B10000001, B10000001, B10000011, B10000011, B01111110

}

};

typedef құрылымы {

int frameCount; // анимациялық кадрды білдіретін binaryArray ішіндегі көрсеткіш көрсеткіші

int frameDelay; // Бұл анимациялық кадрды көрсетуді күтуге шамамен Миллион секундта кешіктіру

int frameLuminance; // 0… 15, берілген кадрға арналған матрицаның қарқындылығы

} frameType;

frameType movie =

{

// Жыпылықтау

{LeftEye1, 1000, 1}, {LeftEye2, 5, 1}, {LeftEye3, 10, 1}, {LeftEye4, 10, 1}, {LeftEye17, 100, 1}, {LeftEye4, 10, 1}, {LeftEye3, 10, 1}, {LeftEye2, 5, 1}, // Толығымен қайтадан

{LeftEye1, 1500, 2}, // қабағын түйіп

{LeftEye5, 5, 3}, {LeftEye6, 5, 4}, {LeftEye7, 5, 5}, {LeftEye8, 1000, 11}, {LeftEye7, 5, 5}, {LeftEye6, 5, 4}, {LeftEye5, 5, 3}

};

бос кідіріс Милли (миллисекунд)

{

үшін (int i = 0; i <миллисекундтар; i ++)

delayMicroseconds (1000);

}

жарамсыз орнату () {

үшін (int x = 0; x <numDevices; x ++) {

lc.shutdown (x, жалған); // MAX72XX іске қосылған кезде қуатты үнемдеу режимінде

lc.setIntensity (x, 1); // Жарықтықты әдепкі мәнге қойыңыз

lc.clearDisplay (x); // және дисплейді тазалаңыз

}

}

void loop () {

lc.setIntensity (0, 3);

lc.setIntensity (1, 3);

while (true) {

for (int a = 0; a <(sizeof (фильм) / sizeof (frameType)); a ++)

{

үшін (int i = 0; i <8; i ++)

{

lc.setRow (0, i, binaryArray [фильм [a].frameCount].array1 );

lc.setRow (1, i, binaryArray [фильм [a].frameCount + 1].array1 );

lc.setIntensity (0, фильм [a].frameLuminance);

lc.setIntensity (1, фильм [a].frameLuminance);

}

delayMillis (фильм [a].frameDelay);

}

}

}

3 -қадам: құрастыру 2 -бөлім

Ассамблея 2 -бөлім
Ассамблея 2 -бөлім

Arduino IDE іске қосылғаннан кейін сізге кодты көшіру және кодты құрастыру/тексеру қажет. Кодты құрастырған кезде HEX файлы компьютердің TEMP қалтасында құрылады. Arduino IDE жабылмас бұрын, сіз HEX файлын уақытша қалтадан көшіре аласыз және бұл файлды жұмыс істеу үшін ATmega8 чипіне жазу керек.

Кодты құрастыру кезінде мен тақтаны «Arduino NG or Older» және процессорды «ATmega8» ретінде таңдадым, және құрастырғаннан кейін Arduino IDE жабылмай тұрып HEX файлын компьютердің уақытша қалтасынан көшірдім.

Бұл HEX файлы ATmega8 чипіне сыртқы AVR Burner көмегімен жазылды. Мен бұл үшін «Extreme Burner_AVR» бағдарламалық жасақтамасын және AVR Burner Board қолдандым. Тақта суреті қоса беріледі. Сіз өзіңізге ыңғайлы кез келген AVR бағдарламалық жасақтамасын пайдалана аласыз.

Сыртқы бағдарламашыны қолданудың себебі - жүктеушіні Atmega8 чиптеріне жазғым келмеді, ал жүктеушісіз олар қарапайым Arduino тақтасында немесе Arduion IDE -де жұмыс істемейді. Кодты Arduino IDE көмегімен құрастырған кезде HEX файлдарын шығару өте оңай, мен мұны істедім.

ЕСКЕРТУ

Сыртқы бағдарламашыны қолданған кезде сақтандырғыш битінің дұрыс параметрлерін таңдау өте маңызды.

Бұл жағдайда, біз сыртқы кристалды қолданбайтындықтан және ATmega8 чипінің ішкі сағатына сүйенетіндіктен, сақтандырғыш биттерін сәйкесінше конфигурациялау маңызды. Мен келесі сақтандырғыш параметрлерін таңдадым.

Lfuse- E4

Hfuse - D9

Бұл нені білдіреді

Біз сыртқы кристалды немесе резонаторды қолданбаймыз дегенді білдіреді

Сағат 8 мГц ішкі сағатқа орнатылған

ATmega8 чипі бағдарламаланғаннан кейін, жобаны жинап, оны сынау уақыты келді.

4 -қадам: Көзді байланыстыру

Көздерді байланыстыру
Көздерді байланыстыру
Көздерді байланыстыру
Көздерді байланыстыру

MAX7219 8x8 жарықдиодты матрицасы төмендегідей қосылды.

ATmega8 тақтасы MAX7219 матрицасына

CS PIN кодына D10 IO Pin

PIN кодын басу үшін IO PIN D11

IO PIN D12 TO DIN PIN

VCC - VCC

GND - GND

Суретке қараңыз

5 -қадам: PIR сенсоры мен модулін қосу

PIR сенсоры мен модулін қосу
PIR сенсоры мен модулін қосу
PIR сенсоры мен модулін қосу
PIR сенсоры мен модулін қосу
PIR сенсоры мен модулін қосу
PIR сенсоры мен модулін қосу
PIR сенсоры мен модулін қосу
PIR сенсоры мен модулін қосу

Содан кейін PIR сенсоры PIR контроллеріне қосылды

Басқару тақтасы, байланыстар келесідей

PIR сенсорына PIR контроллер тақтасы

VCC - VCC

CTRL - CTRL

GND - GND

Диаграмманы қараңыз

Бұл оның бәрін жүзеге асыратын бөлігі. PIR сенсоры кез келген ыстық қанды тіршіліктің қозғалысын қабылдайды және барлық түрлі схемалар/модульдердің қуат көзін қосады. PIR сенсорындағы уақыт талапқа сай реттелген және бұл жағдайда шамамен 40 - 45 секунд. Ол өзіне қосылған барлық тізбектерге шамамен 40-45 секунд аралығында 5 вольтты тұрақты ток жібереді.

6 -қадам: MP3 ойнатқыш және күшейткіш

MP3 ойнатқыш және күшейткіш
MP3 ойнатқыш және күшейткіш
MP3 ойнатқыш және күшейткіш
MP3 ойнатқыш және күшейткіш
MP3 ойнатқыш және күшейткіш
MP3 ойнатқыш және күшейткіш

MP3 ойнатқыш модулі мен күшейткіш модулінің КЕЛЕСІ.

Мен қолданған MP3 ойнатқышты қосу үшін оған ешбір түймені басудың қажеті жоқ, оған кернеу берілген кезде ол автоматты түрде ойнай бастайды. Маған тек бір трек қажет болды, сондықтан мен жады төмен SD картасын таптым (4 ГБ, себебі қазіргі уақытта сыйымдылығы төмен картаны алу мүмкін емес). Мен интернеттен жүктеген дыбыстар, шындығында, көптеген дыбыстық эффектілер жүктелді және олардың барлығы дыбыстық редакторлық бағдарламалық қамтамасыз етуді қолдана отырып, бір MP3 тректі жасау үшін жиналды. Мен «Толқындық редакторды» қолдандым және ақырында бұл жолды SD картасына жүктедім. SD картасы MP3 ойнатқыш модуліне орнатылды және динамиктен дыбысты алу үшін шығыс күшейткіш модуліне қосылды.

Суретке қараңыз

LM386 күшейткіш чипі өте аз сыртқы компоненттерді қажет етеді және шағын динамиктерден жақсы дыбыс шығарады. Перфронды тақтаны жинау өте оңай, мен оны жинауға шамамен 15-20 минут уақыт жұмсадым. Сурет өзінше түсінікті.

7 -қадам: Қорытынды жиналыс

Image
Image
ҚАБЫР
ҚАБЫР

Барлығын корпусқа салмас бұрын, мен бәрін тексеріп, модульдерді қажет болған жағдайда орналастырғым келді және соңғы байланыстарды жасадым. Бөлшектердің жұмысына қанағаттанғаннан кейін. Мен оларды осы мақсатта жасалған карта тақтасының корпусына бекітіп қойдым.

Мен тіреуіштің соңғы жиналысынан кейін бейне тіркеймін.

8 -қадам: ҚАБЫР

ҚАБЫР
ҚАБЫР
ҚАБЫР
ҚАБЫР
ҚАБЫР
ҚАБЫР

Қоршау

Қоршау ескі карточкалық қораптан жасалған, қызыл түске боялған. Көзге арналған орын мен PIR сенсоры өткір пышақ көмегімен кесілген. Бас сүйегінің ізі қорапқа, көзге жабыстырылған.сәйкес кесілген және контур қара тұрақты қаламмен қайта сызылған. Мен шашты тасталған су бөтелкелерінен жасадым, оларды жұқа жолақтарға бөліп, ыстық еріген желіммен бастары мен бүйірлеріне жапсырдым. Мен екі түсті светодиодты екі жағына бекітіп қойдым, олар PIR контроллер тақтасының шығысына қосылды.

Динамик үшін кішкене тесіктер жасалды және барлық элементтер қораптың ішкі жағындағы Hot Melt Glue көмегімен бекітілді. Қуат сымы қораптың артқы жағынан шығарылды және бұл туралы.

Балаларға арналған Хэллоуин мерекесін жасау сізге ұнайды деп үміттенемін !!

Мен жақын арада осы жобада қолданылатын аудио клипті қосамын.

Барлығына Хэллоуин мерекесі құтты болсын !!

Ұсынылған: