Съдържание:

Швейцарски AVR нож: 14 стъпки (със снимки)
Швейцарски AVR нож: 14 стъпки (със снимки)

Видео: Швейцарски AVR нож: 14 стъпки (със снимки)

Видео: Швейцарски AVR нож: 14 стъпки (със снимки)
Видео: САМЫЙ ИЗВЕСТНЫЙ НОЖ В МИРЕ Victorinox 2024, Юли
Anonim
Швейцарски AVR нож
Швейцарски AVR нож
Швейцарски AVR нож
Швейцарски AVR нож
Швейцарски AVR нож
Швейцарски AVR нож
Швейцарски AVR нож
Швейцарски AVR нож

Швейцарският AVR нож обединява редица проекти за програмиране на AVR в един удобен тен за дъвка Altoids. Поради гъвкавостта, предоставена от програмирането на микроконтролери, той също така предоставя отправна точка за произволен брой проекти, базирани на светодиоди и звуков изход. SAK може да съдържа толкова програми, колкото 8K памет позволява, и поддържа осем състояния за всяка програма. Синият бутон кара SAK да циклира през програми и състояния - бързо натискане го кара да остане в програмата, но да премине към следващото състояние (както и да е дефинирано), а продължителното натискане го кара да премине към следващата програма. Текущата програма и състояния за всички програми се запазват в EEPROM между употребите.

Проектите, които понастоящем се изпълняват в САК, включват следното. Те, заедно с всички останали кодове и константи (има пълна таблица с шрифтове), заемат около 4K от наличното пространство. Много повече място! MiniMenorah - Мозъчна машина на Evil Mad Scientists - Mitch AltmanMiniPOV - Adafruit IndustriesBuy Toy - Loud Objects LED Бягащи светлини LED Candle LED фенерче Този проект не би съществувал без значителната щедрост на всички, допринесли по един или друг начин. В допълнение към гореспоменатото, бих искал да благодаря на разработчиците на използваните софтуерни инструменти (вижте в други стъпки) и на всеки, който създаде полезен уебсайт, който допринесе за разбирането ми по тези теми. Мога да взема директен кредит за много малко код, използван в този проект. Ако смятате, че кодът е ваш, може и да е така. Кажете ми и с удоволствие ще ви дам кредит. Във всеки случай, благодаря ви за приноса:-)

Стъпка 1: Части

Частите могат да бъдат получени от всеки от редица доставчици на електронни устройства. Поради ограничението на пространството, повечето от компонентите са необходими, както е посочено. Всичко едва се вписва; уверете се, че резервните части не заемат допълнително място. Не замествайте ATtiny84, освен ако не сте абсолютно сигурни, че щифтовете съответстват. Връзките, следващи частите, са към DigiKey и цялата електроника. Електронни компоненти 1 x U1-ATtiny84-ATTINY84-20PU-ND1 x Ux-IC гнездо 14-пинов DIP-A32879-ND9 x LED-ваш избор на цвят 9 x резистори-съобразени с вашите светодиоди 2 x R1, R2-100 ома 1/4W 1% метален филм-100XBK-ND2 x C7, C8-47uF-P5151-ND Разни Держател на батерията 1-AA 6 "жични проводници (1) 2461K-NDP Жак за телефон стерео 3,5 мм (1) MJW-22 Превключвател SPDT 1/4 "включен (1) MTS-4 Превключвател с бутон (1) 450-1654-NDМинти Boost SAK се захранва от една батерия AA, подсилена от чип Maxim MAX756 (основният компонент на MintyBoost!). Компонентите по-долу са тези, които са необходими за тази част от веригата. 1 x U1-MAX756CPA DC/DC 3.3/5V DIP-MAX756CPA+-ND1 x Ux-IC гнездо 8-пинов DIP-A32878-ND2 x C7, C8 -0.1uF-399-4151-ND2 x C3, C5-100uF-P5152-ND1 x L1-22uH радиално-M9985-ND1 x D1-1N5818 Schottky 1A 30V-1N5818-E3/1GI- ND

Стъпка 2: Микроконтролер ATtiny84

Микроконтролер ATtiny84
Микроконтролер ATtiny84

Много проекти използват или 20-пинов ATtiny2313, или 8-пинов микроконтролер ATtiny85. Намерих ATtiny2313 твърде голям (за корпуса) и ATtiny85 твърде малък (няма достатъчно памет, няма достатъчно изводи). ATtiny84 е точно както трябва:-) ATtiny84 има 8K програмируема флаш памет (достатъчна, за да побере много малки програми), 512K EEPROM (за съхраняване на състоянието между употребите), до 12 изходни пина (за 9 светодиода, 2 канала аудио изход и превключвател с бутон) и много други екстри, които не се използват в този проект. Ако планирате да добавяте програми, вземете копие от листа с данни ATtiny84. Има много ръководства за обучение за програмиране на това семейство микроконтролери в Интернет. За полезно обобщение на микроконтролерите вижте Как да изберем микроконтролер. Забележка Описаният тук проект всъщност няма напълно активиран MiniMenorah. MM изисква девет изходни пина, Brain Machine два и бутона за промяна на едно състояние, общо за дванадесет. Докато ATtiny84 може да бъде конфигуриран да има дванадесет изходни пина, това е за сметка на щифта RESET. Деактивирането на щифта RESET и превръщането му в I/O прави ATtiny84 неспособен да бъде програмиран с USBtinyISP програмера (който не е направил това:-) и изисква програмиране с високо напрежение. Всичко е на място за активиране на ММ, но е необходим различен програмист, а аз нямам такъв.

Стъпка 3: Инструменти за програмиране на AVR

Инструменти за програмиране на AVR
Инструменти за програмиране на AVR
Инструменти за програмиране на AVR
Инструменти за програмиране на AVR

Доста компоненти, както хардуерни, така и софтуерни, са необходими за програмиране на AVR микроконтролери. По -долу са инструментите, които използвам. Много, много други съществуват в същия ценови диапазон - от безплатни до евтини. Намерете комплект, който работи за вас и се придържайте към тях. Още по -добре, намерете приятел, който е разработил система и използвайте неговите/нейните инструменти. Нищо не е особено трудно, ако всичко върви както е рекламирано, но съвместната работа на всички инструменти може да бъде истинско предизвикателство. Дългите щифтове на държача за чипове с кабел се простират надолу до макет и правят удобна експериментална настройка. Единственият проблем, който срещнах, е, че компонентите от програмните щифтове не могат да бъдат заземени по време на програмиране. Аз съм предприел два подхода за решаване на този проблем. Първият е да има два държача за чипове, един за програмиране и един за работа (вижте 8-пинова подложка). Това не е идеално, защото прави голяма част от макета неизползваем и е доста досадно да премествате чипа. Второто е да инсталирате малък превключвател, за да изключите заземяващия щифт от земята на макета по време на програмиране. Това работи по -добре и оставя повече място в основната платка за компоненти. ProgrammerUSBtinyISP комплект от Adafruit Industries. С малка модификация (отстранете 10-пиновия кабел и огънете светодиодите) програмистът се побира в Altoids Gum Tin. 6-пиновият кабел може дори да бъде навит в кутията за съхранение. Работи добре с програмиста USBtinyISP (вижте ръководството за AVR). Наскоро преминах от използването на приложението Notepad на програмиста, което се доставя с WinAVR, към използването на Eclipse с AVR Eclipse Plugin. Eclipse може да използва avrdude, така че все пак ще трябва да инсталирате WinAVR. Eclipse има по -добро управление на проекти, полезни уроци и е безплатен. Инсталирането, работата с урок и програмирането на чип отне само няколко минути. Телефон с приятел Има много ресурси в Интернет. Потърсете ги, помолете за помощ. Хората могат да бъдат знаещи и полезни. Това е хубаво:-) Те също могат да отхвърлят. Това не е добре:-(

Стъпка 4: Програмиране на микроконтролера

Програмиране на микроконтролера
Програмиране на микроконтролера

C код Не критикувайте това, което не разбирам. Аз не съм програмист, C не е моят роден език и се хващам за тънка нишка на Java и много уеб търсене, когато работя в C. Въпреки че голяма част от кода идва от други проекти (вижте кредити), Трябваше да направя някои допълнения и модификации. Изходният код за швейцарския AVR нож е приложен по -долу както като c изходен файл, така и като шестнадесетичен файл. Ще се радвам да чуя къде кодът може да бъде подобрен. Има няколко промени, които очаквам да направя в кода. Предстоят актуализации. Междувременно кодът работи както се рекламира. Предпазителите Предпазителите на микроконтролера са объркващи. Деактивирах няколко микроконтролера, като случайно ги настроих да търсят външен осцилатор, и като деактивирах щифта RESET. Те могат да бъдат възстановени, но дотогава те са просто мъртви бъгове. Бъдете внимателни, ако решите да смените предпазителите. За да изчислите правилните стойности на предпазителите, използвайте онлайн калкулатор на предпазители. Изберете целевата част (ATtiny84) и подходящите настройки - вътрешен RC осцилатор, работещ на 8MHz (стойност по подразбиране), НЕ разделяйте часовника на 8 вътрешно, разрешете изтеглянето на серийни програми и деактивирайте откриването на затъмнение. Резултатът трябва да бъде следният. -U lfuse: w: 0xe2: m -U hfuse: w: 0xdf: m -U efuse: w: 0xff: m (ниско 0xE2 високо 0xDF ext 0xFF). Трябва да изгорите предпазителите само веднъж (освен ако не планирате да ги смените). Eclipse прави това лесно, както съм сигурен, че правят и други IDE. Въпроси, на които бих искал да отговоря Всякакви идеи за оптимизиране на кода Защо мигащите светлини в звуковата и светлинната машина причиняват колебания в тона, когато са активирани в калай, но не на дъската? Защо Eclipse не харесва функциите lightOn и lightOff, въпреки че изглежда работят?

Стъпка 5: Внедряване на проекта

Внедряване на проекта
Внедряване на проекта
Внедряване на проекта
Внедряване на проекта

Тъй като толкова голяма част от работата по този проект се извършва от микроконтролера, има много малко външни части. След като проверите дали вашият програмист и веригата с инструменти са в ред, би било добра идея да направите макет на веригата и да се уверите, че всичко работи както е рекламирано. Снимките по -долу са объркани версии на действителната макет, който бях настроил. Използвах светодиодите в моделната ламарина и извадих люлката и чипа, за да ги използвам в няколко снимки. Цялостното окабеляване основно свързва активните щифтове към няколко части и след това към земята. В кода ще видите парчета код, които трябва да бъдат активирани или коментирани в зависимост от това дали целта е макетната платка или печатната платка.

Стъпка 6: Подготовка на Altoids Gum Tin

Снимки по пътя Изравнете дъното. Дъното на калай се извива нагоре и навътре. Тя трябва да бъде сплескана, така че батерията и платката да се поберат и да седят равномерно. Внимавайки да не изкривите калай, избутайте дъното навън, докато по същество стане плоско. Калайът се нуждае от три комплекта отвори. Използвам метален перфоратор, за да маркирам местата на отворите, и накрайници (за дърво) за пробиване на отворите. Битовете с точка на бред имат централна точка и два режещи ръба. Те няма да се пързалят и ръбовете бавно прорязват метала. Brad point битовете се предлагат от Lee Valley (наред с други места). Първият е набор от девет 5 мм отвора в горната част на калай за светодиодите. Налични са метрични битови битове, които правят чисти и плътни отвори за светодиодите. Създайте хартиен шаблон с маркирани дупки и прехвърлете маркировките в горната част на формата. За да предотвратите натискане на горната част на калай, поддържайте вътрешната част на капака върху малък блок от дърво, когато пробивате и пробивате горната част. Когато хартията и дървото са на място, аз пробивам тавата с помощта на перфоратора. Когато пробивате, първо вървете бавно. Режещите ръбове на точките на брадата трябва да правят равен кръг. Пробиването с накрайника, всичко друго, но не перпендикулярно на повърхността, може да доведе до захващане на бита и разкъсване на метала. 5 -милиметровата топка прави хубава чиста дупка, но открих, че трябва да я разширя толкова леко. Направих това, като пробих отвътре с обикновен бит 13/64 ". Вторият комплект се състои от два 1/4" отвора от дясната страна на кутията за превключвателя и аудио жака. Поради плътната кривина в края на калай, тези отвори трябва да са доста близки. Не забравяйте да ги поставите така, че компонентите да се поберат в тавата. Центрирайте ги вертикално върху частта от страната, видима, когато капакът е затворен. Маркирайте с удар и пробийте много внимателно. Вниманието относно битовете, които хващат калай, се прилага по -силно с по -големите битове. Последният отвор е за превключвателя с бутон. Поставете отвора към долния десен ъгъл по такъв начин, че бутонът да не пречи на другите компоненти в калай.

Стъпка 7: Проектиране и изработка на печатни платки

Проектиране и изработка на печатни платки
Проектиране и изработка на печатни платки
Проектиране и изработка на печатни платки
Проектиране и изработка на печатни платки
Проектиране и изработка на печатни платки
Проектиране и изработка на печатни платки

В интернет има многобройни ресурси, които описват процеса на създаване на печатни платки. Нито един от методите не е надежден или лесен, но е важно да се почувствате поне с един. Използвам безплатната версия на EAGLE Layout Editor от CadSoft, за да създам схемата и разположението на печатната платка. Моят подход към производството на печатни платки е описан в стъпката „Изготвяне и подготовка на печатни платки“на инструмента Altoids Tin Speaker. След прехвърляне, офорт и пробиване на дъската сте готови да запоите всичко заедно. платки е следното. Измийте добре дъската със сапун за чинии и я изтъркайте със зелено. Внимателно шлайфайте всякакви неравности по ръбовете на дъската, така че хартията за прехвърляне и желязото да имат добър контакт с дъската. Загрейте ютията предварително. Поставете лист хартия на дъската и загрейте дъската с ютията. След като дъската е доста гореща, внимателно поставете подготвената трансферна хартия върху дъската. Той ще се залепи веднага (тъй като дъската е гореща), затова се уверете, че е правилно позиционирана. След това гладете директно върху лъскавата задна страна на хартията за прехвърляне. Това никога не ми е създавало проблеми, но вие използвате собствената си ютия. Първо тествайте. Оставете дъската да се охлади и след това я пуснете под студена вода. Трансферната хартия трябва да изскочи и да остави цялото изображение. Използвайте 8x слайд/негативен преглед, за да прегледате прехвърлянето и да попълните всички липсващи части. Късмет.

Стъпка 8: Запояване на части към печатни платки

Запояващи части към печатни платки
Запояващи части към печатни платки
Запояващи части към печатни платки
Запояващи части към печатни платки
Запояващи части към печатни платки
Запояващи части към печатни платки

В Интернет има многобройни ресурси, които описват процеса на запояване на електронни компоненти към печатни платки. Вижте например урока за запояване на ladyada.net. Редът, в който инсталирате компоненти, всъщност няма значение, въпреки че открих, че работата от най -малкия до най -лесния. Светодиодите/мигащите светлинни проводници са достатъчно дълги, за да можете да ги оформите в модел, подобен на менора в калай. Внимателно поставете светодиодите и огънете проводниците, така че горната част на всеки светодиод да е позиционирана така, че да се подава през съответния отвор. Това може да бъде предизвикателство, но изглежда наистина хубаво, когато най -накрая се получи. Ако проводниците са оставени твърде дълго, светодиодите може да бъдат смачкани и извадени от капака на калай. Забележка Най -десният светодиод не е в същата ориентация като останалите осем. Уверете се, че проверявате полярността на светодиодите спрямо оформлението на платката, когато ги инсталирате. Този светодиод е прикрепен към щифта RESET, така че може да изберете да не го инсталирате. Забележка Проводниците към аудио жака и резисторите споделят дупка. За удобство поставете резисторите изправени по такъв начин, че тялото на резистора да не е над отвора с аудио проводника. Или подгответе и инсталирайте аудио жака на този етап или изчакайте, докато е готов за запояване в резисторите. Не е забавно да разпаявате резисторите по -късно.

Стъпка 9: Мигащи светлини

Мигащи светлини
Мигащи светлини

Светодиодите трябва да бъдат защитени с резистори. Определете изискванията за спад на напрежението и тока на вашите светодиоди и изчислете подходящите резистори, приемайки 5V източник от чипа. Има лесно достъпни онлайн калкулатори за това. Направете си куп светлини. Когато ги правите за този проект, изрежете катода (отрицателен/къс проводник на светодиода от сплесканата страна) и запоявайте резистора много близо до лещата на светодиода. Светодиодите образуват менорна форма в калай. Дори когато резисторът почти докосва обектива, най -късият светодиод в средата ще бъде леко смачкан от капака на калай.

Стъпка 10: Подготовка на държача на батерията

Подготовка на държача на батерията
Подготовка на държача на батерията

Плъзнете малки парчета термосвиваема тръба по двата проводника на държача на батерията. Вкарайте ги внимателно в отворите на държача и ги свийте на място. Те осигуряват известна степен на защита на проводниците. (Тази инструкция е дублирана на страницата Подготовка на превключвателя за превключване.) Нарежете черния проводник на дължина и запояйте в съответния отвор на печатната платка. Червеният проводник е запоен директно към превключвателя; вижте инструкциите на тази страница за начина на действие. След като направих това с прототипа, сега съжалявам. Батерията не иска да стои плътно на място. Оставете разделите да се стартират и ги премахнете само ако имате проблеми с изваждането на батерията. Въпреки това, снимката показва държач на батерията с отрязани фиксатори. Това е така, защото го изчистих от друг проект.

Стъпка 11: Подготовка на превключвателя

Подготовка на превключвателя
Подготовка на превключвателя

В зависимост от превключвателя може да се наложи да отрежете един от щифтовете. Правя това с превключвателите, които използвам, въпреки че може да не е напълно необходимо. Плъзнете малко парче термосвиваема тръба по червения проводник на държача на батерията. Вкарайте го внимателно в отвора на държача и го свийте на място. Той осигурява известна степен на защита на проводника. (Тази инструкция дублира инструкциите в Подготовка на държача на батерията.) Плъзнете друго малко парче тръба за радиатор върху червения проводник. Нарежете и отстранете жицата по дължина и нанесете малко спойка както върху щифта на превключвателя, така и към края на проводника. Запоявайте червения проводник от държача на батерията директно към външния щифт на превключвателя. Плъзнете парчето тръба за радиатор над съединението, за да го защитите и укрепите. Вторият проводник преминава от средния щифт на превключвателя към печатната платка. Запоявайте проводника към превключвателя, както е описано по -горе. Защитете съединението с тръби за радиатор. Запоявайте другия край към съответния отвор на печатната платка.

Стъпка 12: Подготовка на аудио жака

Подготовка на аудио жака
Подготовка на аудио жака
Подготовка на аудио жака
Подготовка на аудио жака
Подготовка на аудио жака
Подготовка на аудио жака

Всички кабели към аудио жака са доста къси. Нанесете малко спойка върху щифтовете на жака и жицата и след това ги запоявайте на място. Плъзнете парчета тръби за радиатор върху ставите, за да ги защитите и укрепите. Заземяващият проводник може да бъде запоен директно в отвора му. Краищата на сигналните проводници всеки споделя дупка с единия край на резистор. Подгответе жицата и резистора, като завъртите краищата заедно и нанесете малко спойка. Дупката, в която те влизат, трябва да бъде пробита до 3/64 , за да се поберат двата проводника. Запоявайте на място.

Стъпка 13: Подготовка на бутонния превключвател

Подготовка на бутонния превключвател
Подготовка на бутонния превключвател
Подготовка на бутонния превключвател
Подготовка на бутонния превключвател
Подготовка на бутонния превключвател
Подготовка на бутонния превключвател

Подгответе кратко парче плътна жица, като го оформите в U-образна форма, която плътно приляга над долната част на превключвателя. Нанесете петна от спойка от двете страни на отвора - оставете място за превключвателя - и поставете превключвателя на място. Разтопете спойката и натиснете жицата на място. Оставете спойката да се втвърди и повторете от другата страна. Това трябва да позиционира и закрепи превключвателя на място. Подгответе две парчета жила, като отрежете до дължина и отстраните двата края. Уверете се, че проводниците са достатъчно дълги, за да може капакът на кутията да се отвори напълно. Припоявайте към два подходящи щифта на превключвателя и след това плъзнете парчета от охладителни тръби върху ставите, за да ги защитите и подсилите. Запоявайте към други към краищата в съответните им отвори на платката. Внимателно прокарайте проводниците между светодиодите и се уверете, че не седят върху батериите. Разпънах двата щифта на превключвателя, така че най -десният светодиод да се плъзне между тях. Щифтовете на превключвателя са МНОГО крехки (другите два се откъснаха). Забележете, че щифтът PA7 PCINT7 6 е настроен да слуша промяна в състоянието. Натискането на бутонния бутон издърпва щифта високо и се изпълнява SIGNAL (PCINT0_vect). Въз основа на продължителността на натискането на бутона, или нищо не се случва (грубо отстраняване), състоянието е напреднало (кратко натискане), или програмата е напреднала (дълго натискане).

Стъпка 14: Затваряне на капака

Затваряне на капака
Затваряне на капака

Ако в този момент всичко е наред, ще искате да затворите калай. При това трябва да бъдете много внимателни относно позицията на светодиодите. Смятам, че трябва да ги бутна на място с отвертка с тънки ножове, така че да бъдат правилно поставени в отворите си. Приложете малко надолу върху капака, докато маневрирате светодиодите на място и те в крайна сметка ще се плъзнат на място. Може да се наложи да поставите проводниците така, че да попадат между компонентите, а не върху тях. Също така може да се наложи да изкривите щифтовете на превключвателя с бутон.

Препоръчано: