INHOUDSOPGAWE:

Dubbele drukknop LED -stroombaan: 5 stappe
Dubbele drukknop LED -stroombaan: 5 stappe

Video: Dubbele drukknop LED -stroombaan: 5 stappe

Video: Dubbele drukknop LED -stroombaan: 5 stappe
Video: Шьём сумку шоппер вручную и на швейной машине 2024, November
Anonim
Dubbele drukknop LED -stroombaan
Dubbele drukknop LED -stroombaan

Ek gaan my uiterste bes probeer om soos 'n ou hand te klink in die programmering en werk met arduino's, maar om die waarheid te sê, in werklikheid is ek eers 'n paar dae gelede aan hierdie dinge voorgestel, vandaar my oorweldigende vreugde om my suksesvol te skep en te programmeer eie projek so gou.

Hierdie projek het eintlik begin uit 'n waagstuk van 'n ingenieurvriend van my ouers waarvoor ek 'n paar dae 'n intern was. Ek hou van uitdagings, daar is iets wat uitgedaag word wat my opgewonde maak en my 'n oorweldigende gevoel van tevredenheid gee as ek slaag, en ek hoop dat u dit ook doen.

In hierdie instruksionele, my eerste ooit: D, ek sal jou wys hoe om die kring aan te sluit vir wat ek my Mark One-projek genoem het, 'n stroombaan waar twee drukknoppies die helderheid van die LED beheer (een verhoog die helderheid en die tweede sal dit verminder) sowel as hoe om dit te programmeer en u resultate op die seriële monitorhulpmiddel te projekteer. Ek sal u presies wys wat u nodig het, asook 'n stap-vir-stap gids oor hoe u dit kan bou. My projek bevat elemente van beide die drukknop- sowel as die vervaagles op die instruksionele webwerf en word sterk kommentaar gelewer vir my eie gemak sowel as u s'n. As u nog nie vertroud is met die programmeertaal nie, neem die tyd, dit is die moeite werd.

Geniet dit!

Stap 1: Materiaal + gereedskap:

Materiaal + gereedskap
Materiaal + gereedskap

Materiaal:

1. 'n Arduino -bord (ek het 'n Mega 2560 gebruik)

2. 'n Broodplank (met ten minste 60 rye)

3. Een LED (enige kleur, ek het rooi gebruik)

4. Twee standaard drukknoppies

5. Vyf blou drade (om die negatiewe stroom aan te dui)

6. Drie rooi drade (om die positiewe stroom aan te dui)

7. Een oranje, groen en geel draad (PWM-beheerdrade om tussen die 3 hoofkomponente te onderskei)

8. Vier wit drade (om die stroombaan aan te sluit)

9. Drie 10K ohm weerstande (bruin, swart, oranje, goud)

Gereedskap:

1. 'n Skootrekenaar

2. Die Arduino IDE -app (aflaai van die Microsoft Play -winkel

OF

2. Die Arduino -aanlynwebwerf (as dit is wat u verkies)

3. Vinnige hande

4. Google (instruksies webwerf het my baie gehelp)

5. Baie geduld; D

Stap 2: Stel u analoge stroombaan op:

Stel u analoogbaan op
Stel u analoogbaan op

Die verskil tussen analoog en digitaal stelsels is dat analoog stelsels kodeer vir verskillende toestande, soos verskillende helderhede van 'n LED, terwyl Digital slegs vir twee toestande (AAN of UIT) kodeer.

Hierdie stroombaan is analoog omdat die doel was om die helderheid van die lig te laat verander, nie net aan of uit nie.

Om dit op te stel:

1. Neem een blou (vir negatiewe) draad en steek dit (op die Arduino) by een van die GND (grond) poorte by die kragpoort en verbind dit oral op die broodbord in die rye langs die blou negatiewe grond.

2. Neem een rooi (positiewe) draad en steek dit (op die Arduino) by die 5V -poort by die kragpoort en verbind dit met 'n ry op die broodbord langs die rooi positiewe grondlyn [Maak kennis met hoe die broodbord uitleg is opgestel en watter rye is verbind, ens. Instruksies en die Arduino -webwerf het baie netjiese lesse om dit te doen]

3. Aan die teenoorgestelde kant van die broodbord gebruik u een blou en een rooi draad om die grondlyne te verbind.

4. Gebruik dan die vier wit drade om die grondrye van beide positief en negatief aan weerskante van ry 30 van die middel te verbind (hulle moet 'n klein gaping oorbrug)

Stap 3: Stel die drukknoppies op:

Stel die drukknoppies op
Stel die drukknoppies op

1. Neem nou u drukknoppies en verbind dit sodat dit op enige stadium in die middelste gaping van die broodbord kan kom (ek hou daarvan om my goed 'n bietjie uit te sprei, sodat ek dinge makliker kan verander en regmaak.

2. Neem twee rooi drade en verbind die regterbeen van die drukknoppies wat na u toe wys met die positiewe grondlyn.

3. Neem twee blou drade en verbind die blou negatiewe grondlyn met met middelste rye 'n paar rye links van die linkerbene van die drukknoppies, en laat ruimte vir die weerstande.

4. Verbind nou die 10K-weerstande (bruin, swart, oranje, goud) met een been in dieselfde middelry as die negatiewe blou draad en die ander been in dieselfde ry as die linkerbeen van die drukknop

[Dit alles is nog steeds aan die een kant van die skeiding in die middel van die broodbord verbind, behalwe die knoppies wat oor die skeiding en die wit, rooi en blou drade vir die analoog opstelling is)

5. Neem nou die geel en groen draad en verbind die linkerbeen aan die teenoorgestelde kant van die middel, deel met penne 9 en 11 [NB: Analoog werk slegs op pen 3, 5, 6, 9, 10 en 11]. Hierdie drade is vir kommunikasie met die Arduino.

Stap 4: Stel die LED op:

Stel die LED op
Stel die LED op

1. Neem die LED (kleur van u keuse) en plaas dit aan die kant van die skeiding waar die meeste van u verbindings is.

2. Neem een blou draad en verbind die negatiewe blou grondlyn met dieselfde ry as die kort been (anode) van die LED [Die stroombaan werk slegs as die negatiewe blou lyn aan die regterbeen van die LED i.o.w. die anode.

3. Neem nog 'n weerstand van 10K ohm en verbind die ry waarin die katode (positiewe lang been van die LED) ingeprop is met 'n nabygeleë ry aan dieselfde kant van die middellyn.

4. Neem nou die oranje draad en verbind die weerstand met pen 3 op die Arduino

U kring is nou voltooi; al wat nou oorbly, is om alles te programmeer

Stap 5: Die kringprogrammeer:

Ek is 'n bietjie nuut hieroor, verskoon my dat ek slegs die kode kopieer en nie 'n video maak nie …

Hier is die kode vir die stroombaan:

// My (Altus Lourens) eerste eie projek: // Geskep tussen 29 en 30 Junie 2018

// NB vir myself: AnalogWrite werk slegs op 3, 5, 6, 9, 10 en 11

// NB: Analoog het te doen met verskillende toestande; Digital werk slegs vir aan (HOOG) of af (LAAG)

// LED sal uitgegee word

// drukknoppies sal insette wees

// pushButton1 verhoog die helderheid met een fadeMount met elke druk

// pushButton2 verminder die helderheid met een fadeAmount met elke druk

// konstante verander nie, stel PWM -speldnommers in

const int ledPin = 3; // nommer van die PWM LED -pen

const int fadeAmount = 50; // verandering in helderheid met elke druk op die knoppie

const int buttonPin1 = 11;

const int buttonPin2 = 9; // nommer van die drukknoppen

// veranderlike wat sal verander:

int helderheid = 5; // begin helderheid van die LED's

int buttonState1 = 0; // spesifiseer knoppie wat begin met LAAG

int buttonState2 = 0; // spesifiseer knoppie wat begin met LAAG

ongeldige opstelling () {

// plaas u opstellingskode hier om een keer te werk:

// initialiseer die LED -pen as uitset:

pinMode (ledPin, OUTPUT);

// initialiseer die drukknoppies as insette:

pinMode (buttonPin1, INPUT);

pinMode (buttonPin2, INPUT);

Serial.begin (9600); // spoed van kommunikasie in die kring

}

// buttonPin1 verhoog die helderheid van die LED

// buttonPin2 verminder die helderheid van die LED

leemte -lus () {

// plaas u hoofkode hier om herhaaldelik te werk:

// stel die helderheid van pen 9 in:

analogWrite (ledPin, helderheid); // helderheid = 5, LED is aan

helderheid = beperking (helderheid, 0, 255); // beperk die helderheid tussen 0 en 255

// lees die toestand van die drukknopwaarde:

buttonState1 = digitalRead (buttonPin1);

buttonState2 = digitalRead (buttonPin2);

// kyk of die knoppies ingedruk is:

// as dit is -> buttonState = HOOG:

// drukknop1:

as (buttonState1 == HOOG) {

helderheid = helderheid + fadeAmount; // verhoog die helderheid:

analogWrite (ledPin, helderheid + fadeAmount);

}

anders {// helderheid bly op dieselfde vlak en LED is steeds af:

analogWrite (ledPin, helderheid);

}

// drukknop2:

as (buttonState2 == HOOG) {

helderheid = helderheid - fadeAmount; // verlaag die helderheid:

analogWrite (ledPin, helderheid - fadeAmount);

}

anders {

// helderheid bly op dieselfde vlak, geen verandering vind plaas nie:

analogWrite (ledPin, helderheid);

}

Serial.print ("helderheid");

Serial.println (helderheid); }

U kan nou die kommunikasiesnelheid aanpas en 'n bietjie daarmee speel totdat u 'n spoed kry wat perfek werk vir die seriële monitorinstrument [die 9600 Baud is slegs 'n standaardsnelheid]

Aanbeveel: