Съдържание:

LED верига с двоен бутон: 5 стъпки
LED верига с двоен бутон: 5 стъпки

Видео: LED верига с двоен бутон: 5 стъпки

Видео: LED верига с двоен бутон: 5 стъпки
Видео: Одеяло крючком Frankly Circles 2024, Ноември
Anonim
LED верига с двоен бутон
LED верига с двоен бутон

Ще направя всичко възможно да звуча като стара ръка в програмирането и работата с arduinos, но, честно казано, в действителност бях запознат с тези неща само преди няколко дни, оттук и огромната ми радост от успешното създаване и програмиране на моя собствен проект толкова скоро.

Този проект всъщност започна от смелост от приятел инженер на родителите ми, че бях стажант за няколко дни. Обичам предизвикателствата, има нещо в това да бъдеш предизвикан, което ме вълнува и ми дава и непреодолимо чувство на удовлетворение, когато успея, и се надявам и ти да го направиш.

В тази инструкция, моята първа в историята: D, ще ви покажа как да свържете веригата за това, което нарекох моя проект Mark One, схема, в която два бутони контролират яркостта на светодиода (единият ще увеличи яркостта, а вторият ще го намали), както и как да го програмирате и да проектирате резултатите си върху инструмента за сериен монитор. Ще ви покажа точно от какво имате нужда, както и стъпка по стъпка ръководство за това как да го изградите. Моят проект включва елементи както на бутоните, така и на урока за избледняване на уебсайта с инструкции и е силно коментиран за мое собствено удобство, както и вашето. Ако все още не сте запознати с езика за програмиране, моля, отделете време, заслужава си.

Наслади се!

Стъпка 1: Материали + инструменти:

Материали + инструменти
Материали + инструменти

Материали:

1. Дъска Arduino (използвах Mega 2560)

2. Макет (поне 60 реда)

3. Един светодиод (всеки цвят, използвах червено)

4. Два стандартни бутона

5. Пет сини проводника (за обозначаване на отрицателния ток)

6. Три червени проводника (за обозначаване на положителния ток)

7. Един оранжев, зелен и жълт проводник (ШИМ контролни проводници за разграничаване на 3-те основни компонента)

8. Четири бели проводника (за свързване на веригата)

9. Три 10K ома резистора (кафяв, черен, оранжев, златен)

Инструменти:

1. Лаптоп

2. Приложението Arduino IDE (може да се изтегли от магазина на Microsoft Play

ИЛИ

2. Онлайн уебсайтът за създаване на Arduino (ако предпочитате това)

3. Пъргави ръце

4. Google (уебсайт с инструкции ми помогна много)

5. Много търпение; D

Стъпка 2: Настройте вашата аналогова схема:

Настройте вашата аналогова схема
Настройте вашата аналогова схема

Разликата между аналоговите и цифровите системи е, че аналоговите системи кодират за различни състояния, като например различна яркост на светодиода, докато цифровите кодират само за две състояния (включени или изключени).

Тази схема е аналогова, защото целта беше да накарате светлината да промени яркостта, а не просто да се включва или изключва.

За да го настроите:

1. Вземете един син (за отрицателен) проводник и го включете (на Arduino) към единия от GND (заземяващите) портове на захранващите портове и го свържете навсякъде на макета в редовете до синьото отрицателно заземяване.

2. Вземете един червен (положителен) проводник и го включете (на Arduino) към 5V порта на захранващите портове и го свържете към реда на макета в непосредствена близост до червената положителна заземена линия [Запознайте се с това как оформлението е настроено и кои редове са свързани и т.н. Инструктажите и уебсайтът на Arduino имат много удобни уроци, за да направят точно това]

3. В противоположния край на макета използвате един син и един червен проводник, за да свържете заземяващите линии.

4. След това използвайте четирите бели проводника, за да свържете заземяващите редове както положителни, така и отрицателни към двете страни на ред 30 от средата (те трябва да преодолеят малка празнина)

Стъпка 3: Настройте бутоните:

Настройте бутоните
Настройте бутоните

1. Сега вземете бутоните си и ги свържете, така че да обхваща средната пролука на дъската във всеки един момент (обичам да изхвърлям малко нещата си, за да мога по-лесно да променя и поправя нещата.

2. Вземете два червени проводника и свържете десния крак на бутоните, обърнат към вас, с положителната линия на заземяване.

3. Вземете два сини проводника и свържете синята отрицателна заземителна линия с няколко реда в центъра на няколко реда вляво от лявата част на бутоните, оставяйки място за резисторите.

4. Сега свържете 10K резистора (кафяв, черен, оранжев, златен) с един крак в същия централен ред като отрицателния син проводник, а другият крак в същия ред като левия крак на бутона

[Всичко това все още е свързано от едната страна на разделението в средата на макета, с изключение на бутоните, разположени на разделението, и белите, червените и сините проводници за аналоговата настройка)

5. Сега вземете жълтия и зеления проводник и свържете левия крак от противоположната страна на централното разделяне с щифтове 9 и 11 [NB: Аналоговият работи само на щифтове 3, 5, 6, 9, 10 и 11]. Тези проводници са за комуникация с Arduino.

Стъпка 4: Настройте светодиода:

Настройте светодиода
Настройте светодиода

1. Вземете светодиода (цвят по ваш избор) и го поставете отстрани на участъка, където са повечето ви връзки.

2. Вземете един син проводник и свържете отрицателната синя заземена линия със същия ред като късия крак (анод) на светодиода [Веригата ще работи само ако отрицателната синя линия е свързана към десния крак на светодиода i.o.w. анода.

3. Вземете друг 10K ом резистор и свържете реда, в който катодът (положителният дълъг крак на светодиода) е включен с близък ред от същата страна на централното разделение.

4. Сега вземете оранжевия проводник и свържете резистора с щифт 3 на Arduino

Вашата верига вече е завършена, остава само да програмирате всичко

Стъпка 5: Програмиране на веригата:

Аз съм малко нов във всичко това, така че моля да ме извините, че само копирам кода, а не създавам видео …

Ето кода за веригата:

// Моят (Altus Lourens) първи собствен проект: // Създаден между 29 и 30 юни 2018 г.

// NB за мен: AnalogWrite работи само на 3, 5, 6, 9, 10 и 11

// Забележка: Аналоговото е свързано с различни състояния, цифровото работи само за включено (ВИСОКО) или изключено (НИСКО)

// LED ще бъде изведен

// бутоните ще бъдат входни

// pushButton1 ще увеличава яркостта с един fadeAmount с всяко натискане

// pushButton2 ще намалява яркостта с едно fadeAmount с всяко натискане

// константи няма да се променят, задайте PWM пинови номера

const int ledPin = 3; // номер на PWM LED щифта

const int fadeAmount = 50; // промяна в яркостта с всяко натискане на бутона

const int buttonPin1 = 11;

const int buttonPin2 = 9; // номер на щифта на бутона

// променлива, която ще се промени:

int яркост = 5; // начална яркост на светодиодите

int buttonState1 = 0; // посочва бутон, започващ като LOW

int buttonState2 = 0; // посочва бутон, започващ като LOW

void setup () {

// поставете кода за настройка тук, за да стартирате веднъж:

// инициализираме LED извода като изход:

pinMode (ledPin, OUTPUT);

// инициализираме бутоните като входове:

pinMode (buttonPin1, INPUT);

pinMode (buttonPin2, INPUT);

Serial.begin (9600); // скорост на комуникация във веригата

}

// buttonPin1 ще увеличи яркостта на светодиода

// buttonPin2 ще намали яркостта на светодиода

void loop () {

// поставете основния си код тук, за да се изпълнява многократно:

// задаваме яркостта на щифт 9:

analogWrite (ledPin, яркост); // яркост = 5, светодиодът свети

яркост = ограничаване (яркост, 0, 255); // ограничаване на яркостта между 0 и 255

// прочетете състоянието на стойността на бутона:

buttonState1 = digitalRead (buttonPin1);

buttonState2 = digitalRead (buttonPin2);

// проверява дали бутоните са били натиснати:

// ако е -> buttonState = HIGH:

// бутон1:

if (buttonState1 == HIGH) {

яркост = яркост + fadeAmount; // увеличаване на яркостта:

analogWrite (ledPin, яркост + fadeAmount);

}

else {// яркостта остава на същото ниво и светодиодът все още е изключен:

analogWrite (ledPin, яркост);

}

// бутон2:

if (buttonState2 == HIGH) {

яркост = яркост - fadeAmount; // намаляване на яркостта:

analogWrite (ledPin, яркост - fadeAmount);

}

иначе {

// яркостта остава на същото ниво, няма промяна:

analogWrite (ledPin, яркост);

}

Serial.print ("яркост");

Serial.println (яркост); }

Вече можете да регулирате скоростта на комуникация и да играете малко с нея, докато намерите скорост, която работи перфектно за инструмента за сериен монитор [9600 Baud е само стандартна скорост]

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