Мазмұны:
- Жабдықтар
- 1 -қадам: Әр түрлі модульдер
- 2 -қадам: Ассамблея 1 -бөлім
- 3 -қадам: құрастыру 2 -бөлім
- 4 -қадам: Көзді байланыстыру
- 5 -қадам: PIR сенсоры мен модулін қосу
- 6 -қадам: MP3 ойнатқыш және күшейткіш
- 7 -қадам: Қорытынды жиналыс
- 8 -қадам: ҚАБЫР
Бейне: Хэллоуин қорқынышты көздер: 8 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Осы жылдар ішінде әр түрлі жобалар жасау кезінде
пайдаланылмай жатқан әр түрлі модульдердің толық жинағы және мен олардың кем дегенде бірнешеуін бір уақытта қызықты әрі шығармашылық болатын нәрсе үшін қолданғым келді.
Идеяларға арналған «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 -бөлім
Тұжырымдама осы модульдердің барлығын біріктіріп, біреу тіреуіштің алдынан өтіп бара жатқанда іске қосылатын Хэллоуин мерекесін жасау керек еді. Ол үшін мен 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 -бөлім
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 контроллер тақтасы
VCC - VCC
CTRL - CTRL
GND - GND
Диаграмманы қараңыз
Бұл оның бәрін жүзеге асыратын бөлігі. PIR сенсоры кез келген ыстық қанды тіршіліктің қозғалысын қабылдайды және барлық түрлі схемалар/модульдердің қуат көзін қосады. PIR сенсорындағы уақыт талапқа сай реттелген және бұл жағдайда шамамен 40 - 45 секунд. Ол өзіне қосылған барлық тізбектерге шамамен 40-45 секунд аралығында 5 вольтты тұрақты ток жібереді.
6 -қадам: MP3 ойнатқыш және күшейткіш
MP3 ойнатқыш модулі мен күшейткіш модулінің КЕЛЕСІ.
Мен қолданған MP3 ойнатқышты қосу үшін оған ешбір түймені басудың қажеті жоқ, оған кернеу берілген кезде ол автоматты түрде ойнай бастайды. Маған тек бір трек қажет болды, сондықтан мен жады төмен SD картасын таптым (4 ГБ, себебі қазіргі уақытта сыйымдылығы төмен картаны алу мүмкін емес). Мен интернеттен жүктеген дыбыстар, шындығында, көптеген дыбыстық эффектілер жүктелді және олардың барлығы дыбыстық редакторлық бағдарламалық қамтамасыз етуді қолдана отырып, бір MP3 тректі жасау үшін жиналды. Мен «Толқындық редакторды» қолдандым және ақырында бұл жолды SD картасына жүктедім. SD картасы MP3 ойнатқыш модуліне орнатылды және динамиктен дыбысты алу үшін шығыс күшейткіш модуліне қосылды.
Суретке қараңыз
LM386 күшейткіш чипі өте аз сыртқы компоненттерді қажет етеді және шағын динамиктерден жақсы дыбыс шығарады. Перфронды тақтаны жинау өте оңай, мен оны жинауға шамамен 15-20 минут уақыт жұмсадым. Сурет өзінше түсінікті.
7 -қадам: Қорытынды жиналыс
Барлығын корпусқа салмас бұрын, мен бәрін тексеріп, модульдерді қажет болған жағдайда орналастырғым келді және соңғы байланыстарды жасадым. Бөлшектердің жұмысына қанағаттанғаннан кейін. Мен оларды осы мақсатта жасалған карта тақтасының корпусына бекітіп қойдым.
Мен тіреуіштің соңғы жиналысынан кейін бейне тіркеймін.
8 -қадам: ҚАБЫР
Қоршау
Қоршау ескі карточкалық қораптан жасалған, қызыл түске боялған. Көзге арналған орын мен PIR сенсоры өткір пышақ көмегімен кесілген. Бас сүйегінің ізі қорапқа, көзге жабыстырылған.сәйкес кесілген және контур қара тұрақты қаламмен қайта сызылған. Мен шашты тасталған су бөтелкелерінен жасадым, оларды жұқа жолақтарға бөліп, ыстық еріген желіммен бастары мен бүйірлеріне жапсырдым. Мен екі түсті светодиодты екі жағына бекітіп қойдым, олар PIR контроллер тақтасының шығысына қосылды.
Динамик үшін кішкене тесіктер жасалды және барлық элементтер қораптың ішкі жағындағы Hot Melt Glue көмегімен бекітілді. Қуат сымы қораптың артқы жағынан шығарылды және бұл туралы.
Балаларға арналған Хэллоуин мерекесін жасау сізге ұнайды деп үміттенемін !!
Мен жақын арада осы жобада қолданылатын аудио клипті қосамын.
Барлығына Хэллоуин мерекесі құтты болсын !!
Ұсынылған:
Светодиодты жарық көздер: 5 қадам (суреттермен)
Светодиодты сөнетін жарық көздері: жарықдиодты өшіру үшін Arduino сияқты микроконтроллерді қолдану әрқашан жақсы нұсқа бола бермейді. Кейде сізге бірнеше апта бойы батареядан жұмыс істеп тұрған кезде тірекке тікелей кірістіруге болатын қарапайым, қуаты аз тізбек қажет
Қашықтан басқарылатын жарық диодты көздер мен костюм: 7 қадам (суреттермен)
Қашықтан басқарылатын светодиодты көздер мен костюмдер: егіз жақ! Қос Орко! Bubble-Bobble-ден екі елес сиқыршы! Бұл костюм сорғыш тек түстерді өзгерту арқылы таңдаған жарық диодты көзді кез келген тіршілік иесі бола алады. Мен бұл жобаны алғаш рет 2015 жылы өте қарапайым схемамен және кодпен жасадым, бірақ биыл мен
Жарқыраған көздер Бат қылыш Хэллоуин декорациясы: 6 қадам
Жарқыраған көздер Бат қылыш Хэллоуиннің безендірілуі: Робототехника сабағы - информатика мен технологияны жобалар жасауды үйренудің тамаша әдісі. Мен робототехникадан алған білімімді қолдана отырып, Хэллоуиннің қызықты және қарапайым безендірілуін жасадым, ол алдыңғы есіктерге, қабырғаға ілінетіндерге және басқаларға өте ыңғайлы
Қашықтан басқару пульті бар аниматронды көздер: 5 қадам
Қашықтан басқару пульті бар аниматронды көздер: бұл компьютерден WiFi арқылы қашықтан басқарылатын аниматронды көзді құруға арналған нұсқаулық. Ол минималды электронды компоненттерді пайдаланады, ПХД жоқ және минималды дәнекерлеуді қажет етеді. Сіз оны компьютердің пернетақтасынан басқара аласыз, сондықтан сізге электрондық пошта қажет емес
Қорқынышты көздер: 5 қадам (суреттермен)
Қорқынышты көздер: Бұл менің нұсқаулықты жариялауға екінші әрекетім, себебі бірінші қадам барлық қадамдарды жүктемейді. Instructables-тегі жақсы адамдар біріншісін жояды деп үміттенемін, мен бастапқыда бұл көзді пластикалық ұяға қойғым келді