Почетак рада са Ардуином: Водич за почетнике

Почетак рада са Ардуином: Водич за почетнике

Ардуино је платформа за прототипирање електронике отвореног кода и једна је од најпопуларнијих у свету-са могућим изузетком Распберри Пи. Након што сте продали више од 3 милиона јединица (и још много тога у облику клонираних уређаја трећих страна): шта га чини тако добрим и шта можете учинити с њим?





Шта је Ардуино?

Ардуино је заснован на лаком за коришћење, флексибилном, хардверу и софтверу. Направљен је за уметнике, дизајнере, инжењере, хобисте и свакога ко има и најмање интересовање за програмабилну електронику.





Ардуино осећа окружење читајући податке са различитих тастера, компоненти и сензора. Они могу утицати на животну средину контролом ЛЕД диода, мотори , серво, релеји и још много тога.





Ардуино пројекти могу бити самостални или могу комуницирати са софтвером који ради на рачунару ( Обрада је најпопуларнији софтвер за ово). Они могу разговарати са другим Ардуинос -ом, Распберри Пис -ом, НодеМЦУ -ом или скоро било чим другим. Обавезно прочитајте наше поређење микроконтролера од 5 УСД за темељно поређење разлика између ових микроконтролера.

Можда се питате, зашто изабрати Ардуино? Ардуино заиста поједностављује процес изградње програмабилног пројекта електронике, чинећи га одличном платформом за почетнике. Можете лако започети рад на једном без претходног искуства у електроници. Доступне су хиљаде водича, а ови се крећу у потешкоћама, па можете бити сигурни у изазов када савладате основе.



Поред Ардуинове једноставности, он је и јефтин, за више платформи и отвореног кода. Ардуино Уно (најпопуларнији модел) заснован је на Атмеловим микроконтролерима АТМЕГА 16У2. Произведено је много различитих модела који се разликују по величини, снази и спецификацијама, па погледајте разлике у нашем водичу за куповину.

Планови за одборе објављени су под а Цреативе Цоммонс лиценцу, па су искусни хобисти и други произвођачи слободни да направе властиту верзију Ардуина, потенцијално га прошире и побољшају (или га једноставно копирају, што доводи до умножавања јефтиних Ардуино плоча које данас налазимо).





Шта можете учинити са Ардуином?

Ардуино може учинити запањујући број ствари. Они су мозак избора за већину 3Д штампача. Њихова ниска цена и једноставна употреба значе да су хиљаде произвођача, дизајнера, хакера и креатора направили невероватне пројекте. Ево само неких од Ардуино пројеката које смо направили овде на МакеУсеОф:

Шта је унутар Ардуина?

Иако постоји много различитих врста Ардуино плоча, овај приручник се фокусира на Ардуино уно модел. Ово је најпопуларнија Ардуино плоча. Па шта ову ствар чини откуцаном? Ево спецификација:





  • Процесор: 16 Мхз АТмега16У2
  • Флеш меморија: 32КБ
  • РАМ: 2КБ
  • Радни напон:
  • Улазни напон: 7-12В
  • Број аналогних улаза: 6
  • Број дигиталних И/О: 14 (од тога 6 модулација ширине импулса - ПВМ )

Спецификације се могу чинити бесмисленим у поређењу са вашим стоним рачунаром, али запамтите да је Ардуино уграђени уређај, са много мање података за обраду од ваше радне површине. Више је него способан за већину електроничких пројеката.

Још једна дивна карактеристика Ардуина је могућност коришћења такозваних 'штитова' или додатних плоча. Иако штитови неће бити обухваћени овим приручником, они су заиста згодан начин за проширење функција и функционалности вашег Ардуина.

Шта ће вам требати за овај водич

Испод ћете пронаћи списак куповина компоненти које ће вам требати за овај водич за почетнике. Све ове компоненте би требало да коштају мање од 50 УСД. Овај попис би требао бити довољан да вам пружи добро разумијевање основне електронике и има довољно компоненти за изградњу неких прилично кул пројеката користећи овај или било који други Ардуино водич. Ако не желите да изаберете сваку компоненту, уместо тога размислите о куповини почетног комплета.

Ако не можете добити одређену вриједност отпорника, нешто што је могуће ближе обично ће радити добро.

Преглед електричних компоненти

Погледајмо шта су све ове компоненте, шта раде и како изгледају.

Бреадбоард

Користе се за прототипирање електронских кола, они пружају привремено средство за повезивање компоненти. Огласне плоче су пластични блокови са рупама у које се могу уметнути жице. Рупе су поређане у редове, по пет група. Када желите да преуредите коло, извуците жицу или део из рупе и померите је. Многе матичне плоче садрже две или четири групе рупа које се протежу дуж плоче дуж страница и све су повезане - оне су типично за дистрибуцију енергије и могу бити означене црвеном и плавом линијом.

Огласне плоче су одличне за брзо стварање кола. Они могу постати веома неуредни за велики круг, а јефтинији модели могу бити ноторно поуздани, па вреди потрошити мало више новца на добар.

ЛЕД диоде

ЛЕД означава Светлећа диода . Они су веома јефтин извор светлости и могу бити веома светли - посебно ако су груписани заједно. Могу се купити у различитим бојама, не загревају се посебно и дуго трају. Можда имате ЛЕД диоде на телевизору, контролној табли у аутомобилу или у сијалицама Пхилипс Хуе.

Ваш Ардуино микроконтролер такође има уграђену ЛЕД лампицу на пину 13 која се често користи за означавање радње или догађаја или само за тестирање.

Пхото Ресистор

Фото отпорник ( п хотоцелл или Отпорник зависан од светлости ) омогућава вашем Ардуину да мери промене светлости. Ово можете користити за укључивање рачунара, на пример, при дневном светлу.

Тактилни прекидач

како брисати недавно гледано на нетфлику?

Тактилни прекидач је у основи дугме. Притиском на њега круг ће се довршити и (обично) променити са 0В на +5В. Ардуинос може открити ову промену и реаговати у складу с тим. Ово су често тренутни - што значи да су „притиснути“ само док их прст држи притиснутим. Када га пустите, они ће се вратити у подразумевано стање („без притиска“ или искључено).

Пиезо звучник

Пиезо звучник је мали звучник који производи звук из електричних сигнала. Често су груби и лимени и не звуче ништа попут правог звучника. Међутим, они су веома јефтини и лако се програмирају. Наша Бузз Вире игра користи једну за играње Тема Монти Питхон 'Флиинг Цирцус' .

Ресистор

Отпорник ограничава проток електричне енергије. Они су врло јефтине компоненте и саставни су део аматерских и професионалних електронских кола. Скоро увек су потребни да заштите компоненте од преоптерећења. Они су такође потребни за спречавање кратког споја ако се Ардуино +5В споји право у масу. Укратко: врло згодно и апсолутно неопходно.

Јумпер Вирес

Жице за спајање користе се за стварање привремених веза између компоненти на вашој матичној плочи.

Постављање вашег Ардуина

Пре него што започнете било који пројекат, потребно је да ваш Ардуино разговара са вашим рачунаром. Ово вам омогућава писање и компајлирање кода за извршавање Ардуина, као и пружање начина да ваш Ардуино ради заједно са вашим рачунаром.

Инсталирање софтверског пакета Ардуино на Виндовс

Пређите на Ардуино веб локација и преузмите верзију софтвера Ардуино која одговара вашој верзији оперативног система Виндовс. Након преузимања, следите упутства за инсталирање Ардуина Интегрисано развојно окружење (ОВДЕ).

Инсталација укључује управљачке програме, па би теоретски било добро да одмах кренете. Ако то из неког разлога не успе, покушајте са овим корацима да бисте ручно инсталирали управљачке програме:

  • Прикључите плочу и сачекајте да Виндовс започне процес инсталације управљачког програма. Након неколико тренутака, процес ће пропасти, упркос свим напорима.
  • Кликните на Мени Старт > Контролна табла .
  • Иди на Систем и безбедност > Систем . Када се прозор система отвори, отворите Менаџер уређаја .
  • Под Портови (ЦОМ & ЛПТ), требало би да видите отворени порт са именом Ардуино УНО (ЦОМкк) .
  • Десни клик на Ардуино УНО (ЦОМкк) > Ажурирајте софтвер управљачког програма .
  • Одаберите Потражите софтвер управљачког програма на мом рачунару .
  • Идите до и изаберите датотеку управљачког програма Уно, названу АрдуиноУНО.инф , који се налази у Возачи фасциклу за преузимање софтвера Ардуино.

Виндовс ће одатле завршити инсталацију управљачког програма.

Инсталирање софтверског пакета Ардуино на Мац ОС

Преузмите Ардуино софтвер за Мац са Ардуино веб локација . Издвојите садржај .зип датотеку и покрените апликацију. Можете га копирати у фасциклу са апликацијама, али ће се из ваше датотеке добро покренути десктоп или преузимања фасцикле. Не морате инсталирати додатне управљачке програме за Ардуино УНО.

Инсталирање Ардуино софтвера на пакет Убунту/Линук

Инсталирај гцц-авр и авр-либц :

sudo apt-get install gcc-avr avr-libc

Ако већ немате опењдк-6-јре, инсталирајте и конфигуришите и то:

sudo apt-get install openjdk-6-jre
sudo update-alternatives --config java

Изаберите исправну ЈРЕ ако имате инсталирано више од једног.

Идите на Ардуино веб локација и преузмите Ардуино софтвер за Линук. Можете ширење и покрените га следећом командом:

tar xzvf arduino-x.x.x-linux64.tgz
cd arduino-1.0.1
./arduino

Без обзира на то који ОС користите, горња упутства претпостављају да имате оригиналну, заштићену Ардуино Уно плочу. Ако сте купили клон, готово ће вам бити потребни трећи управљачки програми пре него што се плоча препозна преко УСБ -а.

Покретање Ардуино софтвера

Сада када је софтвер инсталиран и ваш Ардуино подешен, хајде да проверимо да ли све ради. Најлакши начин да то учините је помоћу узорка апликације „Блинк“.

Отворите Ардуино софтвер двоструким кликом на апликацију Ардуино ( ./ардуино на Линук -у ). Уверите се да је плоча повезана са рачунаром, а затим отворите ЛЕД трепери пример скице: Датотека > Примери > 1.основе > Блинк . Требало би да видите код за апликацију отворен:

Да бисте учитали овај код на свој Ардуино, изаберите унос у Алати > Одбор, табла мени који одговара вашем моделу - Ардуино уно у овом случају.

Одаберите серијски уређај ваше плоче са Алати > Серијски порт мени. У оперативном систему Виндовс ово ће вероватно бити ЦОМ3 или више. На Мац -у или Линук -у ово би требало да буде нешто /дев/тти.усбмодем у томе.

На крају кликните на Отпремити дугме у горњем левом углу вашег окружења. Сачекајте неколико секунди и требало би да видите РКС и ТКС ЛЕД диоде на Ардуину трепере. Ако је отпремање успешно, на статусној траци ће се појавити порука „Готово учитавање“.

Неколико секунди по завршетку отпремања требало би да видите пин 13 ЛЕД диода на плочи почиње да трепери. Честитам! Ваш Ардуино је покренут.

Почетни пројекти

Сада када знате основе, погледајмо неке почетничке пројекте.

Раније сте користили Ардуино узорак кода за трептање уграђене ЛЕД диоде. Овај пројекат ће трептати спољашњом ЛЕД диодом помоћу плоче. Ево кола:

Прикључите дугачку ногу ЛЕД диоде (позитивна нога, названа анода ) до а 220 Охм отпорник а затим у дигитални пин 7 . Спојите кратку ногу (негативна нога, тзв катода ) директно на тло (било који од Ардуино портова са ГНД -ом на вашем избору). Ово је једноставно коло. Ардуино може дигитално управљати овим пином. Укључивањем пина ЛЕД ће се упалити, а искључењем ће се ЛЕД искључити. Отпорник је неопходан да заштити ЛЕД од превелике струје - изгореће без њега.

Ево кода који вам је потребан:

void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the pin as an output
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(7, HIGH); // turn LED on
delay(1000); // wait 1 second
digitalWrite(7, LOW); // turn LED off
delay(1000); // wait one second
}

Овај код ради неколико ствари:

воид сетуп (): Ардуино ово покреће сваки пут када се покрене. Овде можете да конфигуришете променљиве и све што вам је потребно за покретање Ардуина.

пинМоде (7, ОУТПУТ): Ово говори Ардуину да користи овај пин као излаз, без ове линије, Ардуино не би знао шта да ради са сваким пином. Ово мора да се конфигурише само једном по пину, а потребно је само да конфигуришете пинове које намеравате да користите.

воид лооп (): Било који код унутар ове петље се непрестано понавља изнова, све док се Ардуино не искључи. Ово може учинити веће пројекте сложенијим, али делује невероватно добро за једноставне пројекте.

дигиталВрите (7, ХИГХ): Ово се користи за постављање пина ХИГХ или ЛОВ - НА или ВАН . Баш као прекидач за светло, када је пин ВИСОК, ЛЕД ће светлети. Када је пин ЛОВ, ЛЕД ће се искључити. Унутар заграда морате навести неке додатне информације како би ово радило исправно. Додатне информације су познате као параметри или аргументи.

Први (7) је број пина. На пример, ако сте ЛЕД диоду повезали на други пин, променили бисте је са седам на други број. Други параметар мора бити ХИГХ или ЛОВ , који одређује да ли ЛЕД треба да се укључује или искључује.

кашњење (1000): Каже Ардуину да чека одређено време у милисекундама. 1000 милисекунди једнако је једној секунди, па ће ово натерати Ардуино да чека једну секунду.

Када се ЛЕД укључи на једну секунду, Ардуино покреће исти код, само што наставља да искључује ЛЕД и чека још једну секунду. Када се овај процес заврши, петља почиње поново, а ЛЕД се поново укључује.

Изазов: Покушајте да подесите временско кашњење између укључивања и искључивања ЛЕД диоде. Шта посматрате? Шта се дешава ако кашњење поставите на врло мали број, на пример један или два? Можете ли изменити код и коло да трепћу два ЛЕД диоде?

Додавање дугмета

Сада када ЛЕД ради, додајмо дугме у ваше коло:

Повежите дугме тако да премости канал на средини матичне плоче. Повежите Горе десно нога до Пин 4 . Повежите доле десно нога до а 10к Охм отпорник, а затим на тло . Повежите Доњи леви нога до .

Можда се питате зашто је једноставном дугмету потребан отпорник. Ово има две сврхе. То је повуци доле отпорник - везује иглу за масу. Ово осигурава да се не открију лажне вредности и спречава Ардуино размишљајући притиснули сте дугме када нисте. Друга сврха овог отпорника је ограничавање струје. Без тога, 5В би ишло директно у земљу, магични дим би био ослобођен, а ваш Ардуино би умро. Ово је познато као кратки спој, па употреба отпорника спречава да се то догоди.

Када дугме није притиснуто, Ардуино детектује тло ( пин 4 > отпорник > тло ). Када притиснете дугме, 5В је прикључено на масу. Ардуино пин 4 може открити ову промену, пошто је пин 4 сада промењен са земље на 5В;

Ево кода:

boolean buttonOn = false; // store the button state
void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the LED as an output
pinMode(4, INPUT); // configure the button as an input
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(4)) {
delay(25);
if(digitalRead(4)) {
// if button was pressed (and was not a spurious signal)
if(buttonOn)
// toggle button state
buttonOn = false;
else
buttonOn = true;
delay(500); // wait 0.5s -- don't run the code multiple times
}
}
if(buttonOn)
digitalWrite(7, LOW); // turn LED off
else
digitalWrite(7, HIGH); // turn LED on
}

Овај код се надовезује на оно што сте научили у претходном одељку. Хардверско дугме које сте користили је а тренутни поступак. То значи да ће радити само док га држите притиснутим. Алтернатива је а закључавање поступак. Ово је исто као и прекидачи за светло или утичницу, притисните једном за укључивање, притисните поново за искључивање. Срећом, понашање закључавања се може применити у коду. Ево шта ради додатни код:

боолеан буттонОн = фалсе: Ова променљива се користи за складиштење стања дугмета - УКЉУЧЕНО или ИСКЉУЧЕНО, ВИСОКО или НИСКО. Подразумевана вредност је фалсе.

пинМоде (4, ИНПУТ): Слично као код који се користи за ЛЕД, ова линија говори Ардуину да сте прикључили улаз (ваше дугме) на пин 4.

иф (дигиталРеад (4)): На сличан начин као дигиталВрите () , дигиталРеад () користи се за читање стања пина. Морате да му дате пин број (4, за своје дугме).

Када притиснете дугме, Ардуино чека 25 мс и поново проверава дугме. Ово је познато као а дебоунце софтвера . Ово осигурава да је оно што Ардуино мисли био притискање дугмета, заиста био је притисак на дугме, а не бука. Не морате то да радите, и у већини случајева ствари ће добро функционисати без тога. То је више од најбоље праксе.

Ако је Ардуино сигуран да сте заиста притиснули дугме, тада мења вредност буттонОн променљива. Ово мења стање:

БуттонОн је тачно: Подесите на фалсе.

БуттонОн је лажно: Поставите на труе.

Коначно, ЛЕД се искључује у складу са стањем сачуваним у буттонОн .

Светлосни сензор

Пређимо на напредни пројекат. Овај пројекат ће користити а Отпорник зависан од светлости (ЛДР) за мерење доступне количине светлости. Ардуино ће затим вашем рачунару пренети корисне поруке о тренутном нивоу осветљења.

копирање музике са иПод -а у итунес

Ево кола:

Пошто су ЛДР -ови врста отпорника, није важно на коју страну су постављени - немају поларитет. Цоннецт на једну страну ЛДР -а. Спојите другу страну на тло преко а 1к Охм отпорник. Такође повежите ову страну са аналогни улаз 0 .

Овај отпорник делује као отпорник на спуштање, баш као и у претходним пројектима. Потребан је аналогни пин, јер су ЛДР аналогни уређаји, а ови пинови садрже посебна кола за прецизно читање аналогног хардвера.

Ево кода:

int light = 0; // store the current light value
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //configure serial to talk to computer
}
void loop() {
// put your main code here, to run repeatedly:
light = analogRead(A0); // read and save value from LDR

//tell computer the light level
if(light <100) {
Serial.println('It is quite light!');
}
else if(light > 100 && light <400) {
Serial.println('It is average light!');
}
else {
Serial.println('It is pretty dark!');
}
delay(500); // don't spam the computer!
}

Овај код чини неколико нових ствари:

Сериал.бегин (9600): Ово говори Ардуину да желите да комуницирате серијски брзином од 9600. Ардуино ће припремити све потребно за ово. Брзина није толико важна, али и ваш Ардуино и рачунар морају користити исти.

аналогРеад (А0): Ово се користи за читање вредности која долази из ЛДР -а. Нижа вредност значи да има више светла на располагању.

Сериал.принтлн (): Ово се користи за писање текста у серијски интерфејс.

Једноставно ако наредба шаље различите низове (текст) на ваш рачунар у зависности од расположивог светла.

Отпремите овај код и држите УСБ кабл повезан (тако ће Ардуино комуницирати и одакле долази напајање). Отворите серијски монитор ( Горе десно > Серијски монитор ), Требало би да видите да ваше поруке стижу сваких 0,5 секунди.

Шта посматрате? Шта се дешава ако покријете ЛДР или га осветлите јаким светлом? Можете ли изменити код тако да се вредност ЛДР штампа преко серијске?

Направите буку

Овај пројекат користи звучник Пиезо за стварање звукова. Ево кола:

Примећујете ли нешто познато? Ово коло је скоро потпуно исто као и ЛЕД пројекат. Пиезо су врло једноставне компоненте - производе звук када добију електрични сигнал. Повежите позитиван нога до дигиталног пин 9 преко а 220 Охм отпорник. Повежите негативан нога до тло .

Ево кода, врло је једноставан за овај пројекат:

void setup() {
// put your setup code here, to run once:
pinMode(9, OUTPUT); // configure piezo as output
}
void loop() {
// put your main code here, to run repeatedly:
tone(9, 1000); // make piezo buzz
delay(1000); // wait 1s
noTone(9); // stop sound
delay(1000); // wait 1s
}

Овде постоји само неколико нових функција кода:

тон (9, 1000): Ово чини пиезо генерисање звука. Потребна су два аргумента. Први је пин који се користи, а други је фреквенција тона.

ноТоне (9): Ово престаје да производи било који звук на приложеном пину.

Покушајте да промените овај код да бисте произвели другу фреквенцију. Промените одлагање на 1 мс - шта примећујете?

Куда ићи Одавде

Као што видите, Ардуино је једноставан начин да уђете у електронику и софтвер. То је један од најбољих микроконтролера за почетнике. Надамо се да сте видели да је лако изградити једноставне електронске пројекте са Ардуином. Можете саградити далеко сложеније пројекте када разумете основне:

  • Направите божићне светлосне украсе
  • Ардуино штитови за надмоћ вашег пројекта
  • Изградите своју игру понг -а са Ардуином
  • Повежите свој Ардуино са интернетом
  • Направите систем кућне аутоматизације са својим Ардуином

Који Ардуино поседујете? Постоје ли неки забавни пројекти које волите да правите? За више информација погледајте како побољшати своје Ардуино кодирање помоћу ВС кода и ПлатформИО.

Објави Објави Твеет Емаил 15 Команде Виндовс командне линије (ЦМД) које морате знати

Командна линија је и даље моћан алат за Виндовс. Ево најкориснијих ЦМД команди које сваки Виндовс корисник треба да зна.

Прочитајте следеће
Повезане теме
  • ДИИ
  • Ардуино
  • Електроника
О аутору Јое Цобурн(136 објављених чланака)

Јое је дипломирао рачунарство на Универзитету Линцолн, УК. Он је професионални програмер софтвера и када не лети беспилотним летелицама или не пише музику, често га се може затећи како фотографише или производи видео записе.

Више од Јоеа Цобурна

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили