Innholdsfortegnelse:

Dobbel trykknapp LED -krets: 5 trinn
Dobbel trykknapp LED -krets: 5 trinn

Video: Dobbel trykknapp LED -krets: 5 trinn

Video: Dobbel trykknapp LED -krets: 5 trinn
Video: password code requires push button 1 be pushed three times, button 2 five times to light LED 2024, November
Anonim
Dobbel trykknapp LED -krets
Dobbel trykknapp LED -krets

Jeg kommer til å prøve mitt ytterste for å høres ut som en gammel hånd på programmering og arbeid med arduinoer, men sant å si, i virkeligheten ble jeg bare introdusert for disse tingene for noen dager siden, derav min overveldende glede over å kunne lage og programmere min eget prosjekt så snart.

Dette prosjektet startet faktisk fra en tør fra en ingeniørvenn av mine foreldre som jeg var praktikant i noen dager. Jeg elsker utfordringer, det er noe i å bli utfordret som begeistrer meg og gir meg en overveldende følelse av tilfredshet når jeg lykkes, og jeg håper du også gjør det.

I dette instruerbare, mitt første noensinne: D, jeg vil vise deg hvordan du kobler kretsen til det jeg kalte Mark One-prosjektet mitt, en krets der to trykknapper styrer lysstyrken til LED-en (en vil øke lysstyrken og den andre vil redusere det) samt hvordan du programmerer det og projiserer resultatene dine på det serielle skjermverktøyet. Jeg vil vise deg nøyaktig hva du trenger, samt en trinnvis veiledning om hvordan du bygger det. Prosjektet mitt inneholder elementer fra både trykknapp- og fade-leksjonen på instruksjonsnettstedet og blir sterkt kommentert både for min egen bekvemmelighet og for deg. Hvis du ennå ikke er kjent med programmeringsspråket, vennligst ta deg tid, det er vel verdt det.

Nyt!

Trinn 1: Materialer + verktøy:

Materialer + verktøy
Materialer + verktøy

Materialer:

1. Et Arduino -brett (jeg brukte en Mega 2560)

2. Et brødbrett (med minst 60 rader)

3. En LED (hvilken som helst farge, jeg brukte rødt)

4. To standard trykknapper

5. Fem blå ledninger (for å indikere den negative strømmen)

6. Tre røde ledninger (for å indikere den positive strømmen)

7. En oransje-, grønn- og gul ledning (PWM-kontrolltråder for å skille mellom de tre hovedkomponentene)

8. Fire hvite ledninger (for å koble til kretsen)

9. Tre 10K ohm motstander (brun, svart, oransje, gull)

Verktøy:

1. En bærbar datamaskin

2. Arduino IDE -appen (kan lastes ned fra Microsoft Play -butikken

ELLER

2. Arduino -nettstedet på nett (hvis det er det du foretrekker)

3. Smidige hender

4. Google (instruksjonsnettstedet hjalp meg mye)

5. Masse tålmodighet; D

Trinn 2: Konfigurer din analoge krets:

Sett opp din analoge krets
Sett opp din analoge krets

Forskjellen mellom analoge og digitale systemer er at analoge systemer koder for forskjellige tilstander, for eksempel forskjellig lysstyrke på en LED, mens Digital bare koder for to tilstander (enten PÅ eller AV).

Denne kretsen er en analog fordi målet var å få lyset til å endre lysstyrke, ikke bare gå på eller av.

Slik konfigurerer du det:

1. Ta en blå (for negativ) ledning og koble den (på Arduino) til en av GND (bakkeportene) ved strømportene, og koble den hvor som helst på brødbrettet i radene ved siden av den blå negative bakken.

2. Ta en rød (positiv) ledning og plugg den (på Arduino) ved 5V -porten ved strømportene og koble den til a -raden på brødbrettet ved siden av den røde positive jordlinjen [Gjør deg kjent med hvordan brødbrettet er oppsett er satt opp og hvilke rader som er koblet osv. Instrukserbare og Arduino -nettstedet har veldig fine leksjoner å gjøre nettopp det]

3. I motsatt ende av brødbrettet bruker du en blå og en rød ledning for å koble jordlinjene.

4. Bruk deretter de fire hvite ledningene til å koble bakkeradene av både positive og negative til hver side av rad 30 i midten (de skal bygge et lite hull)

Trinn 3: Sett opp trykknappene:

Sett opp trykknappene
Sett opp trykknappene

1. Ta nå trykknappene dine og koble dem til slik at det når som helst går over det midtre gapet på brødbrettet (jeg liker å sprite ut tingene mine litt, slik at jeg lettere kan endre og fikse ting.

2. Ta to røde ledninger og koble høyre ben på trykknappene mot deg med den positive jordlinjen.

3. Ta to blå ledninger og koble den blå negative jordlinjen med med senterader noen rader igjen av venstre ben på trykknappene, slik at det blir plass til motstandene.

4. Koble nå 10K-motstandene (brun, svart, oransje, gull) med ett ben i samme midtre rad som den negative blå ledningen og det andre benet i samme rad som venstre ben på trykknappen

[Alt dette er fortsatt tilkoblet på den ene siden av skillelinjen i midten av brødbrettet bortsett fra knappene som strekker seg over skillelinjen og de hvite, røde og blå ledningene for det analoge oppsettet)

5. Ta nå den gule og grønne ledningen og koble det venstre benet på motsatt side av midtdelingen med pinnene 9 og 11 [NB: Analog fungerer bare på pinne 3, 5, 6, 9, 10 og 11]. Disse ledningene er for kommunikasjon med Arduino.

Trinn 4: Sett opp LED -en:

Sett opp LED
Sett opp LED

1. Ta lysdioden (farge du ønsker) og legg den på siden av skillet der de fleste tilkoblingene er.

2. Ta en blå ledning og koble den negative blå jordlinjen med samme rad som den korte etappen (anoden) på LED -en [Kretsen vil bare fungere hvis den negative blå linjen er koblet til høyre ben på LED i.o.w. anoden.

3. Ta en annen 10K ohm motstand og koble raden som katoden (positivt langt ben på LED -en) er plugget inn i med en rad i nærheten på samme side av midtdelingen.

4. Ta nå den oransje ledningen og koble motstanden med pin 3 på Arduino

Kretsen din er nå fullført, alt som gjenstår nå er å programmere alt

Trinn 5: Programmering av kretsen:

Jeg er litt ny på alt dette, så unnskyld meg for at jeg bare har kopiert koden og ikke laget en video …

Her er koden for kretsen:

// Mitt (Altus Lourens) første eget prosjekt: // Opprettet mellom 29. og 30. juni 2018

// NB for meg selv: AnalogWrite fungerer bare på 3, 5, 6, 9, 10 og 11

// NB: Analog har å gjøre med forskjellige tilstander, Digital fungerer bare for på (HIGH) eller off (LOW)

// LED vil komme ut

// trykknapper vil være innganger

// pushButton1 øker lysstyrken med en fadeAmount for hvert trykk

// pushButton2 vil redusere lysstyrken med en fadeAmount for hvert trykk

// konstanter vil ikke endres, angi PWM -pin -tall

const int ledPin = 3; // nummeret på PWM LED -pinnen

const int fadeAmount = 50; // endring i lysstyrke for hvert trykk på knappen

const int buttonPin1 = 11;

const int buttonPin2 = 9; // nummeret til trykknappen

// variabel som vil endre seg:

int lysstyrke = 5; // startlysstyrke på LED -lampene

int buttonState1 = 0; // spesifiser knappen som begynner som LAV

int buttonState2 = 0; // spesifiser knappen som begynner som LAV

ugyldig oppsett () {

// legg oppsettskoden her for å kjøre en gang:

// initialiser LED -pinnen som utgang:

pinMode (ledPin, OUTPUT);

// initialiser trykknappene som innganger:

pinMode (buttonPin1, INPUT);

pinMode (buttonPin2, INPUT);

Serial.begin (9600); // kommunikasjonshastighet i kretsen

}

// buttonPin1 øker lysstyrken på LED -en

// buttonPin2 vil redusere lysstyrken til LED -en

void loop () {

// legg hovedkoden her for å kjøre gjentatte ganger:

// angi lysstyrken til pin 9:

analogWrite (ledPin, lysstyrke); // lysstyrke = 5, LED er på

lysstyrke = begrensning (lysstyrke, 0, 255); // begrense lysstyrken mellom 0 og 255

// les tilstanden til trykknappverdien:

buttonState1 = digitalRead (buttonPin1);

buttonState2 = digitalRead (buttonPin2);

// sjekk om knappene er trykket:

// hvis det er -> buttonState = HIGH:

// trykknapp 1:

hvis (buttonState1 == HIGH) {

lysstyrke = lysstyrke + fadeAmount; // øke lysstyrken:

analogWrite (ledPin, lysstyrke + fadeAmount);

}

ellers {// lysstyrke forblir på samme nivå og LED er fortsatt slukket:

analogWrite (ledPin, lysstyrke);

}

// trykknapp 2:

hvis (buttonState2 == HIGH) {

lysstyrke = lysstyrke - fadeAmount; // reduser lysstyrken:

analogWrite (ledPin, lysstyrke - fadeAmount);

}

annet {

// lysstyrken forblir på samme nivå, ingen endring skjer:

analogWrite (ledPin, lysstyrke);

}

Serial.print ("lysstyrke");

Serial.println (lysstyrke); }

Du kan nå justere kommunikasjonshastigheten og leke litt med den til du finner en hastighet som fungerer perfekt for det serielle skjermverktøyet [9600 Baud er bare en standardhastighet]

Anbefalt: