Мазмуну:
- Жабдуулар
- 1 -кадам: Ар түрдүү модулдар
- 2 -кадам: Ассамблея 1 -бөлүк
- 3 -кадам: Ассамблея 2 -бөлүк
- 4 -кадам: Көздү бириктирүү
- 5 -кадам: PIR сенсорун жана модулун туташтыруу
- 6 -кадам: MP3 ойноткуч жана күчөткүч
- 7 -кадам: Акыркы жыйын
- 8 -кадам: КОШУУ
Video: Halloween Scary Eyes Prop: 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Көп жылдар бою, ар кандай долбоорлорду жасоодо, а
жөн эле колдонулбай жаткан ар кандай модулдардын толук жыйнагы жана мен, жок эле дегенде, кээ бирөөлөрүн ошол эле учурда кызыктуу жана чыгармачыл боло турган нерсеге колдонгум келди.
Идеялар үчүн "Instructables.com сайтынан" өтүп, мен бул "Хэллоуинге" бир нерсе жасоо үчүн аралаштырылышы мүмкүн деп ойлогон бир нече долбоорлорду көрдүм.
Мен алардын идеяларын колдонгону үчүн күтүүсүз жаратуучу Стив Куиннге кредит беришим керек.
Жабдуулар
ПАЙДАЛАНЫЛГАН НЕРСЕЛЕР ЖАНА МОДУЛДАР
Колдонулган модулдар
1 жалгыз Atmega8 тактасы
2 Volt Output үчүн 2 PIR негизделген Controller Board
3 LM386 күчөткүч тактасы
4 Жалпы MP3 ойнотуучу модулу
5 MAX7219 8x8 LED модулдары
6 PIR модулу (жалпы)
7 4”4 Ом Динамик
Башка материалдар
а. Бош картон кутуча
б. Бир жолу колдонулуучу суу бөтөлкөлөрү бош
в. Түсүн өзгөртүү LED 5V
г. Ассорти зымдар
д. Глей тапанчасы
f. Кандооч
ж. Ар кандай куралдар жана кескичтер
ч. 12V 1А кадам Трансформатор
Маанилүү
1 Arduion IDE
2 AVR чиптери үчүн программалоо тактасы
3 Программалоо (күйүү) программасы
1 -кадам: Ар түрдүү модулдар
Биринчиден, биз ар кандай модулдарды жасоону карайбыз, Биз
Албетте, бардык электроника үчүн бир гана ПХБ жасай алат жана проекти жакшы иштейт, бирок мен үчүн, мен буга чейин жасаган ар кандай нерселерди ар кандай долбоорлор үчүн колдонуу керек болчу, эми алардын муктаждыгы бүтүп калды. жөн эле ошол нерселерди кайра колдонууну каалаган.
ATmega8 тактасы
Мен ATmega8 чипин тышкы кристаллсыз колдонуп жатам. Чынында, бул такталар кээ бир P10 16x32 LED модулдарын иштетүү үчүн жасалган жана менде бул долбоордон калган бир нечеси калган. Тактанын жана ПХБнын макети төмөнкүдөй (Сүрөттөрдү караңыз). Өзүңүздүн Arduino тактаңызды "көрсөтмөлөр" боюнча жасоо боюнча көптөгөн макалалар бар. Сиз жөн эле жатып калган эски Arduino тактасын колдонсоңуз болот.
PIR Controller Board
Бул PIR Board кээ бир кичинекей LED негизделген фестиваль жасалгаларын күйгүзүү жана өчүрүү үчүн жасалган, эми ал жөн эле жатып калды, мен аны колдонууну чечтим. Circuit Layout сүрөттөрдө көрсөтүлгөн
THE LM 386 күчөткүч тактасы
Бул MP3 ойнотуучу модулунан үн чыгарууну күчөтүүчү күчөткүч модуль. макети жана схемасы абдан жөнөкөй жана сүрөттөр баарын айтып турат. Circuit макети жана толтурулган тактанын сүрөтү түшүнүктүү.
MP3 ойнотуучу модулу
Мен сүрөттө көрсөтүлгөн MP3 ойнотуучу модулун колдондум. Ал Amazon ж.б.да жеткиликтүү, ал арзан жана колдонууга оңой. Бул модулдун эң жакшы жагы - бул ойноону баштоо үчүн эч кандай кошумча буйрукту же туташууну талап кылбайт. Тийиштүү күч тактага берилген учурда, ал өз ишин аткара баштайт.
MAX7219 8x8 LED модулдары
Бул 8x8 LED дисплей модулдары Амазонкада жеткиликтүү, мен колдонгондордун сүрөттөрү берилет.
PIR модулу
Мен жеткиликтүү PIR сенсор модулун колдондум. Бул Амазонкада жеткиликтүү, арзан жана колдонууга оңой. Сүрөттөр маалымдама үчүн берилген.
2 -кадам: Ассамблея 1 -бөлүк
Концепция бул модулдардын бардыгын бириктирип, кимдир бирөө прополдун алдынан өткөндө жандандырыла турган Хэллоуин Пропун жасоо болчу. Бул үчүн мен 12 вольттук электр энергиясын PIR башкаруу тактасына туташтырдым, ал өз кезегинде чыңалууну 5V DCге 7805 IC жардамы менен түшүрдү жана бул 5V DC Voltage PIR сенсоруна жана андан ары башка модулдарга өттү., ATmega8 тактасы, күчөткүч модулу жана MP3 ойнотуучу модулу, качандыр бирөө PIR сенсорунун алдына келгенде. Агарт диаграммасы баарын айтып турат.
Көрүнүп тургандай, PIR сенсору ATmega8 тактасын, күчөткүч модулун жана MP3 ойнотуучу модулун иштетет, ATmega8 LED көзүнүн матрицасын көзөмөлдөйт, MP3 ойнотуучу үн эффекттерин ойнотот жана күчөткүч модул сигналды динамикке жөнөтөт..
Arduino коду - бул Стив Куинндин көрсөтмөсүнөн түз алып салуу, бирок убакыт коддо өзгөртүлгөн. Колдонулган код төмөндө келтирилген. INO файлы да тиркелет.
Кодекс
// D10 = Digital O/P CS Pin
// D11 = Digital O/P Clock Pin
// 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
#Define RightEye1 1
#define LeftEye2 2
#Define RightEye2 3
#define LeftEye3 4
#Define RightEye3 5
#Define LeftEye4 6
#Define RightEye4 7
#Define LeftEye5 8
#Define RightEye5 9
#Define LeftEye6 10
#Define RightEye6 11
#define LeftEye7 12
#аныктоо RightEye7 13
#Define LeftEye8 14
#аныктоо RightEye8 15
#Define LeftEye9 16
#аныктоо RightEye9 17
#аныктоо LeftEye10 18
19
#define LeftEye11 20
#аныктоо RightEye11 21
#define LeftEye12 22
23
#аныктоо LeftEye13 24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
typedef структурасы {
const unsigned char array1 [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
}, {// RightEye16, 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
}, {// RightEye19, 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, Берилген алкак үчүн LED матрицанын интенсивдүүлүгү
} 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}
};
Void delayMillis (int миллисекунд)
{
үчүн (int i = 0; i <миллисекунд; i ++)
delayMicroseconds (1000);
}
жараксыз орнотуу () {
үчүн (int x = 0; x <numDevices; x ++) {
lc.shutdown (x, false); // 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 (movie) / sizeof (frameType)); a ++)
{
үчүн (int i = 0; i <8; i ++)
{
lc.setRow (0, i, binaryArray [movie [a].frameCount].array1 );
lc.setRow (1, i, binaryArray [movie [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 же Older" деп тактаны жана ATmega8 катары процессорду тандап алдым жана компиляциядан кийин Arduino IDE жабылганга чейин HEX файлын компьютердин Temp Папкасынан көчүрдүм.
Бул 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 LED Matrix төмөндөгүдөй туташкан.
ATmega8 Board MAX7219 матрицасына
IO Pin D10 TO CS PIN
PIN кодун басуу үчүн IO Pin D11
IO Pin D12 TO DIN PIN
VCC TO VCC
GND TO GND
Сүрөткө кайрылыңыз
5 -кадам: PIR сенсорун жана модулун туташтыруу
Кийинки PIR сенсор PIR контроллерине туташтырылган
Башкаруу, байланыштар төмөндөгүдөй
PIR сенсоруна PIR Controller Board
VCCден VCCге
CTRLден CTRLге чейин
GNDден GNDге
Диаграммага кайрылыңыз
Бул анын баарын ишке ашыруучу бөлүгү. PIR сенсору ысык кандуу жандыктын кыймылын алат жана ар кандай схемаларга/модулдарга электр энергиясын берет. PIR сенсорунун убактысы талапка ылайык жөнгө салынган жана бул учурда болжол менен 40-45 секундду түзөт. Ал болжол менен 40-45 секундага тиркелген бардык микросхемаларга 5 вольттуу DC жөнөтөт.
6 -кадам: MP3 ойноткуч жана күчөткүч
КИЙИНКИ MP3 плеер модулу жана күчөткүч модулу.
Мен колдонгон MP3 ойноткучту күйгүзүү үчүн эч кандай баскычтын кереги жок, ага тийиштүү чыңалуу берилген учурда ал автоматтык түрдө ойноп баштайт. Мага бир гана трек керек болчу, ошондуктан мен эң аз эс тутумга ээ SD картаны таптым (4 ГБ, анткени азырынча сыйымдуулугу азыраак болгон картаны алуу дээрлик мүмкүн эмес). Мен интернеттен жүктөгөн үндөр, чындыгында бир катар үн эффекттери жүктөлүп алынган жана алардын бардыгы үн редакторунун программасын колдонуу менен бир MP3 тректи түзүү үчүн чогултулган. Мен "Толкун редакторун" колдонуп, акыры бул тректи SD картка жүктөдүм. SD карт MP3 плеер модулуна орнотулган жана үн динамиктен үн алуу үчүн күчөткүч модулга туташкан.
Сүрөткө кайрылыңыз
LM386 күчөткүч чипи өтө аз тышкы компоненттерди талап кылат жана кичинекей колонкалардын ичинен жакшы үн чыгарат. Перфондду чогултуу абдан оңой жана муну кураш үчүн мага 15-20 мүнөт керек болду. Сүрөт абдан түшүнүктүү.
7 -кадам: Акыркы жыйын
Корпуска баарын орнотуудан мурун, мен бардыгын сынап көрүүнү жана модулдарды талапка ылайык жайгаштырууну каалап, акыркы туташууларды жасадым. Мен тетиктердин иштешине канааттангандан кийин. Мен аларды ушул максатта жасалган Card Board корпусуна бекиттим.
Мен реквизиттердин акыркы жыйынынан кийин видеону тиркеп жатам.
8 -кадам: КОШУУ
Корпус
Корпус кызыл түскө боёлгон эски карточка кутусунан жасалган. Көздүн жана PIR сенсорунун орду курч пышак менен кесилген. Баш сөөгүнүн басылышы кутуга жана көздөргө ж.б.ошого жараша кесилген жана контур кара Туруктуу Маркер калеми менен кайра тартылган. Чачты жараксыз болгон суу бөтөлкөлөрүнөн жасап, ичке кылып кесип, башына жана капталына Hot Melt Glue менен чаптадым. Мен капталындагы 2 түстү алмаштыруучу светодиоддорду бекиттим жана алар PIR контролерлор тактасынан чыкканга туташты.
Динамик үчүн кичинекей тешиктер жасалып, бардык нерселер кутунун ичиндеги Hot Melt Glue жардамы менен бекитилген. Электр шнуру кутунун арт жагынан чыгарылды жана бул жөнүндө.
Балдар үчүн бул Хэллоуин пропиясын жасоо сизге жагат деп ишенем !!
Мен жакында бул долбоордо колдонулган Аудио клипти тиркейм.
Баарыңыздарга Хэллоуин майрамы менен !!
Сунушталууда:
IoT Halloween ашкабагы - Ардуино MKR1000 жана Blynk тиркемеси менен светодиоддор ???: 4 кадам (сүрөттөр менен)
IoT Halloween ашкабагы | Ардуино MKR1000 жана Blynk тиркемеси менен башкаруу светодиоддору ???: Саламатсыздарбы, бир нече жума мурун Хэллоуин майрамы болчу жана салтты карманып, мен балконго жакшы ашкабак оюп алдым. Бирок сыртта ашкабагым турганда, мен шамды күйгүзүү үчүн күн сайын кечинде чыгып туруу абдан тажатаарын түшүндүм. Жана мен
SimpleClean Psycho Pass Dominator Prop: 6 кадам
SimpleClean Psycho Pass Dominator Prop: Бул менин реквизит жасоодогу биринчи аракетим. Мен муну мектеп эс алуусунун бир жумасында, жеринде куруу аркылуу шашып кетүүгө үлгүрдүм. Бул үстөмдүк кылуучу өлүмгө алып келүүчү эмес парализатордон Летальдык Элиминатор режимине өтүү үчүн ылайыктуу ойнойт
Mini Prop Flamethrower: 6 кадам
Mini Prop Flamethrower: Сиз карды ээритүү, зомбилерди эритүү же үйдү коргоо үчүн жеке от алгычты каалайсызбы, бирок 400 доллар сарптоону каалабаңыз, анда бул сиз үчүн
Ырдоо Bust Prop: 7 кадам
Singing Bust Prop: Сиз качандыр бир кезде Haunted Mansionдагы ырдаган бюсттар кантип иштегенин ойлоп көрдүңүз беле же аларды жакшы жасоого аракет кылгыңыз келдиби, бул Instructable аларды кантип жасоону жана чындыгында жөнөкөй экенин көрсөтөт
Life Size Robot Prop: 6 кадам
Life Size Robot Prop: Лиза Тренер көп жылдар бою абдан сонун нерселерди ойлоп тапкан. Мына, анын көптөгөн жаратууларынын бири, таң калыштуу эмес, жөнөкөй идея менен башталат. Ырахат :). Жарайт балдар, мен көйгөйдү көрүп турам. Жок, мен плагиат кылбайм, Лиза дос, жана