Turinys:

Dvigubo mygtuko LED grandinė: 5 žingsniai
Dvigubo mygtuko LED grandinė: 5 žingsniai

Video: Dvigubo mygtuko LED grandinė: 5 žingsniai

Video: Dvigubo mygtuko LED grandinė: 5 žingsniai
Video: СХЕМА ПОДКЛЮЧЕНИЯ ДВУХКЛАВИШНОГО ВЫКЛЮЧАТЕЛЯ 2024, Liepa
Anonim
Dvigubo mygtuko LED grandinė
Dvigubo mygtuko LED grandinė

Aš stengsiuosi, kad programuodamas ir dirbdamas su arduino skamba kaip sena ranka, bet, tiesą pasakius, iš tikrųjų su šiais dalykais buvau supažindintas tik prieš kelias dienas, todėl didžiulis mano džiaugsmas sėkmingai sukurti ir programuoti savo projektą taip greitai.

Šis projektas iš tikrųjų prasidėjo nuo drąsos iš mano tėvų draugo inžinieriaus, kad keletą dienų buvau stažuotojas. Man patinka iššūkiai, kai yra iššūkių, kurie mane jaudina ir suteikia man didžiulį pasitenkinimą, kai man sekasi, ir tikiuosi, kad tau taip pat.

Šioje pamokoje pirmą kartą: D, aš jums parodysiu, kaip prijungti grandinę, kurią pavadinau savo „Mark One“projektu-grandine, kurioje du mygtukai valdo šviesos diodo ryškumą (vienas padidins ryškumą, o antrasis-) sumažės), taip pat kaip ją užprogramuoti ir projektuoti savo rezultatus serijinio monitoriaus įrankyje. Aš jums tiksliai parodysiu, ko jums reikia, ir žingsnis po žingsnio instrukcijas, kaip jį sukurti. Mano projektas apima tiek mygtukų, tiek pamokos pamokų instrukcijų svetainėje elementus ir yra labai komentuojamas mano ir jūsų patogumui. Jei dar nesate susipažinęs su programavimo kalba, skirkite laiko, tai verta.

Mėgautis!

1 žingsnis: medžiagos + įrankiai:

Medžiagos + įrankiai
Medžiagos + įrankiai

Medžiagos:

1. „Arduino“plokštė (naudojau „Mega 2560“)

2. Duonos lenta (bent 60 eilučių)

3. Vienas šviesos diodas (bet kokia spalva, aš naudoju raudoną)

4. Du standartiniai mygtukai

5. Penki mėlyni laidai (norint parodyti neigiamą srovę)

6. Trys raudoni laidai (norint parodyti teigiamą srovę)

7. Viena oranžinė, žalia ir geltona viela (PWM valdymo laidai, skirti atskirti 3 pagrindinius komponentus)

8. Keturi balti laidai (grandinei prijungti)

9. Trys 10K omų rezistoriai (rudi, juodi, oranžiniai, auksiniai)

Įrankiai:

1. Nešiojamasis kompiuteris

2. „Arduino IDE“programa (galima atsisiųsti iš „Microsoft Play“parduotuvės

ARBA

2. „Arduino“sukuria internetinę svetainę (jei to norite)

3. Judrios rankos

4. „Google“(instrukcijų svetainė man labai padėjo)

5. Kantrybės; D

2 veiksmas: nustatykite analoginę grandinę:

Nustatykite savo analoginę grandinę
Nustatykite savo analoginę grandinę

Skirtumas tarp analoginių ir skaitmeninių sistemų yra tas, kad analoginės sistemos koduoja skirtingas būsenas, pvz., Skirtingą šviesos diodo ryškumą, o skaitmeninis - tik dvi būsenas (įjungtas arba išjungtas).

Ši grandinė yra analoginė, nes tikslas buvo priversti šviesą keisti ryškumą, o ne tik įsijungti ar išjungti.

Norėdami jį nustatyti:

1. Paimkite vieną mėlyną (neigiamam) laidą ir prijunkite jį („Arduino“) prie bet kurio iš GND (įžeminimo) prievadų prie maitinimo prievadų ir prijunkite bet kur ant lentos, esančios eilutėse šalia mėlynos neigiamos žemės.

2. Paimkite vieną raudoną (teigiamą) laidą ir prijunkite jį („Arduino“) prie 5 V prievado prie maitinimo prievadų ir prijunkite jį prie duonos lentos eilutės greta raudonos teigiamos įžeminimo linijos [Susipažinkite su duonos lentos išdėstymas yra nustatytas ir kokios eilutės yra sujungtos ir tt „Instructables“ir „Arduino“svetainė turi labai gražių pamokų tai padaryti]

3. Priešingame duonos lentos gale įžeminimo linijoms prijungti naudojate vieną mėlyną ir vieną raudoną laidą.

4. Tada keturiais baltais laidais prijunkite teigiamas ir neigiamas įžeminimo eilutes prie bet kurios vidurio 30 eilutės pusės (jos turėtų užpildyti nedidelį tarpą)

3 žingsnis: nustatykite mygtukus:

Nustatykite mygtukus
Nustatykite mygtukus

1. Dabar paimkite savo mygtukus ir prijunkite juos taip, kad bet kuriuo momentu jis peržengtų vidurinį lentos tarpą (man patinka šiek tiek išskleisti savo daiktus, kad galėčiau lengviau pakeisti ir pataisyti dalykus.

2. Paimkite du raudonus laidus ir prijunkite dešinę į save nukreiptų mygtukų koją su teigiama įžeminimo linija.

3. Paimkite du mėlynus laidus ir prijunkite mėlyną neigiamą įžeminimo liniją su centrinėmis eilėmis, esančiomis keliomis eilėmis kairėje nuo kairiųjų mygtukų kojelių, palikdami vietos rezistoriams.

4. Dabar prijunkite 10K rezistorius (ruda, juoda, oranžinė, auksinė) viena koja toje pačioje centrinėje eilutėje kaip ir neigiama mėlyna viela, o kita kojelė toje pačioje eilutėje kaip ir kairioji mygtuko kojelė

[Visa tai vis dar prijungta vienoje skyrybos pusėje, duonos lentos viduryje, išskyrus mygtukus, esančius skiriamuoju tašku ir baltos, raudonos ir mėlynos spalvos laidus analoginei sąrankai)

5. Dabar paimkite geltoną ir žalią vielą ir prijunkite kairę koją, esančią priešingoje vidurinės pertvaros pusėje, su 9 ir 11 kaiščiais [NB: Analoginis veikia tik su 3, 5, 6, 9, 10 ir 11 kaiščiais]. Šie laidai skirti ryšiui su „Arduino“.

4 žingsnis: nustatykite šviesos diodą:

Nustatykite šviesos diodą
Nustatykite šviesos diodą

1. Paimkite šviesos diodą (pasirinkta spalva) ir padėkite jį toje pusėje, kur yra dauguma jūsų jungčių.

2. Paimkite vieną mėlyną laidą ir prijunkite neigiamą mėlyną įžeminimo liniją su ta pačia eilute, kaip ir trumpa šviesos diodo kojelė (anodas) [Grandinė veiks tik tuo atveju, jei neigiama mėlyna linija bus prijungta prie dešinės šviesos diodo kojos i.o.w. anodas.

3. Paimkite kitą 10 K omų rezistorių ir prijunkite eilutę, prie kurios prijungtas katodas (teigiama ilga LED kojelė), su netoliese esančia eilute toje pačioje centrinės pertvaros pusėje.

4. Dabar paimkite oranžinę vielą ir prijunkite rezistorių prie „Arduino“kaiščio 3

Jūsų grandinė baigta, dabar belieka viską užprogramuoti

5 žingsnis: grandinės programavimas:

Aš esu šiek tiek nauja visa tai, todėl atsiprašau, kad tik nukopijavau kodą ir nesukūriau vaizdo įrašo …

Čia yra grandinės kodas:

// Mano (Altus Lourens) pirmasis savas projektas: // Sukurtas 2018 m. Birželio 29–30 d

// Pastaba sau: „AnalogWrite“veikia tik 3, 5, 6, 9, 10 ir 11

// NB: Analogas yra susijęs su skirtingomis būsenomis, skaitmeninis veikia tik įjungus (HIGH) arba išjungus (LOW)

// bus išvestas šviesos diodas

// mygtukai bus įvestys

// „pushButton1“padidins ryškumą vienu fadeAmount kiekvienu paspaudimu

// „pushButton2“sumažins ryškumą vienu fadeAmount kiekvieną kartą paspaudus

// konstantos nesikeis, nustatykite PWM kaiščių numerius

const int ledPin = 3; // PWM LED kaiščio numeris

const int fadeAmount = 50; // ryškumo pasikeitimas kiekvienu mygtuko paspaudimu

const int mygtukasPin1 = 11;

const int mygtukasPin2 = 9; // mygtuko kaiščio numeris

// kintamasis, kuris pasikeis:

int ryškumas = 5; // šviesos diodų pradinis ryškumas

int mygtukasStatus1 = 0; // nurodykite mygtuką, prasidedantį LOW

int mygtukasStatus2 = 0; // nurodykite mygtuką, prasidedantį LOW

void setup () {

// įdėkite čia savo sąrankos kodą, kad paleistumėte vieną kartą:

// inicijuoti LED kaištį kaip išvestį:

pinMode (ledPin, OUTPUT);

// inicijuoti mygtukus kaip įvestis:

pinMode (buttonPin1, INPUT);

pinMode (buttonPin2, INPUT);

Serial.begin (9600); // ryšio greitis grandinėje

}

// buttonPin1 padidins šviesos diodo ryškumą

// mygtukasPin2 sumažins šviesos diodo ryškumą

void loop () {

// Įdėkite savo pagrindinį kodą čia, kad paleistumėte pakartotinai:

// nustatykite 9 kaiščio ryškumą:

analogWrite (ledPin, ryškumas); // ryškumas = 5, šviesos diodas dega

ryškumas = suvaržymas (ryškumas, 0, 255); // apriboti ryškumą nuo 0 iki 255

// skaityti mygtuko vertės būseną:

buttonState1 = digitalRead (buttonPin1);

buttonState2 = digitalRead (buttonPin2);

// patikrinkite, ar mygtukai buvo paspausti:

// jei tai yra -> buttonState = HIGH:

// mygtukas1:

if (buttonState1 == HIGH) {

ryškumas = ryškumas + išblukimasAmount; // padidinti ryškumą:

analogWrite (ledPin, ryškumas + išblukimasAmount);

}

else {// ryškumas išlieka tame pačiame lygyje, o šviesos diodas vis tiek nedega:

analogWrite (ledPin, ryškumas);

}

// mygtukas2:

if (buttonState2 == HIGH) {

ryškumas = ryškumas - fadeAmount; // sumažinti ryškumą:

analogWrite (ledPin, ryškumas - fadeAmount);

}

Kitas {

// ryškumas išlieka tame pačiame lygyje, jokių pokyčių neįvyksta:

analogWrite (ledPin, ryškumas);

}

Serial.print („ryškumas“);

Serial.println (ryškumas); }

Dabar galite reguliuoti ryšio greitį ir šiek tiek pažaisti, kol rasite greitį, kuris puikiai tinka serijinio monitoriaus įrankiui [9600 Baud yra tik standartinis greitis]

Rekomenduojamas: