Inhoudsopgave:

LED-circuit met dubbele drukknop - Ajarnpa
LED-circuit met dubbele drukknop - Ajarnpa

Video: LED-circuit met dubbele drukknop - Ajarnpa

Video: LED-circuit met dubbele drukknop - Ajarnpa
Video: КИТАЙЦЫ, ЧТО ВЫ ТВОРИТЕ??? 35 СУПЕР ТОВАРОВ ДЛЯ АВТОМОБИЛЯ С ALIEXPRESS 2024, December
Anonim
LED-circuit met dubbele drukknop
LED-circuit met dubbele drukknop

Ik ga mijn uiterste best doen om te klinken als een oude rot in programmeren en werken met Arduino's, maar eerlijk gezegd, in werkelijkheid maakte ik pas een paar dagen geleden kennis met deze dingen, vandaar mijn overweldigende vreugde bij het succesvol maken en programmeren van mijn eigen project zo snel.

Dit project begon eigenlijk vanuit een uitdaging van een bevriend ingenieur van mijn ouders waar ik een paar dagen stagiaire was. Ik hou van uitdagingen, er is iets in uitgedaagd worden dat me opwindt en me een overweldigend gevoel van voldoening geeft als het me lukt, en ik hoop dat jij dat ook doet.

In deze instructable, mijn allereerste: D, zal ik je laten zien hoe je het circuit kunt aansluiten voor wat ik mijn Mark One-project noemde, een circuit waar twee drukknoppen de helderheid van de LED regelen (één zal de helderheid verhogen en de tweede zal het verminderen), evenals hoe u het programmeert en uw resultaten projecteert op de seriële monitortool. Ik zal je precies laten zien wat je nodig hebt, evenals een stapsgewijze handleiding voor het bouwen ervan. Mijn project bevat elementen van zowel de drukknop- als de fade-les op de instructables-website en is zwaar becommentarieerd voor zowel mijn eigen gemak als dat van jou. Als je nog niet bekend bent met de programmeertaal, neem dan alsjeblieft de tijd, het is de moeite waard.

Genieten van!

Stap 1: Materialen + Gereedschap:

Materialen + Gereedschap
Materialen + Gereedschap

Materialen:

1. Een Arduino-bord (ik gebruikte een Mega 2560)

2. Een breadboard (met minimaal 60 rijen)

3. Eén LED (elke kleur, ik gebruikte rood)

4. Twee standaard drukknoppen

5. Vijf blauwe draden (om de negatieve stroom aan te geven)

6. Drie rode draden (om de positieve stroom aan te geven)

7. Een oranje-, groene- en gele draad (PWM-besturingsdraden om onderscheid te maken tussen de 3 hoofdcomponenten)

8. Vier witte draden (om het circuit aan te sluiten)

9. Drie weerstanden van 10K ohm (bruin, zwart, oranje, goud)

Gereedschap:

1. Een laptop

2. De Arduino IDE-app (te downloaden van de Microsoft Play Store)

OF

2. De Arduino maakt een online website (als je dat liever hebt)

3. Behendige handen

4. Google (instructables-website heeft me veel geholpen)

5. Veel geduld;D

Stap 2: Stel uw analoge circuit in:

Stel uw analoge circuit in
Stel uw analoge circuit in

Het verschil tussen analoge en digitale systemen is dat analoge systemen coderen voor verschillende toestanden, zoals verschillende helderheid van een LED, terwijl digitale alleen codeert voor twee toestanden (AAN of UIT).

Dit circuit is analoog omdat het doel was om het licht van helderheid te laten veranderen, niet alleen aan of uit te gaan.

Om het in te stellen:

1. Neem een blauwe (voor negatieve) draad en sluit deze (op de Arduino) aan op een van de GND-poorten (aarde) bij de voedingspoorten en sluit deze aan op een breadboard in de rijen naast de blauwe negatieve aarde.

2. Neem een rode (positieve) draad en sluit deze (op de Arduino) aan op de 5V-poort bij de voedingspoorten en sluit deze aan op de rij op het breadboard naast de rode positieve aardingslijn [Maak uzelf vertrouwd met hoe de breadboard's lay-out is ingesteld en welke rijen zijn verbonden enz. Instructables en de Arduino-website hebben zeer nette lessen om precies dat te doen]

3. Aan het andere uiteinde van het breadboard gebruik je een blauwe en een rode draad om de aardleidingen te verbinden.

4. Gebruik vervolgens de vier witte draden om de grondrijen van zowel positief als negatief aan weerszijden van rij 30 van het midden te verbinden (ze moeten een kleine opening overbruggen)

Stap 3: Stel de drukknoppen in:

Stel de drukknoppen in
Stel de drukknoppen in

1. Neem nu je drukknoppen en sluit ze zo aan dat ze op elk punt over de middelste opening van het breadboard vallen (ik vind het leuk om mijn spullen een beetje uit te spreiden, zodat ik dingen gemakkelijker kan veranderen en repareren.

2. Neem twee rode draden en verbind het rechterbeen van de drukknoppen naar u toe met de positieve massalijn.

3. Neem twee blauwe draden en verbind de blauwe negatieve massalijn met de middelste rijen een paar rijen links van de linkerpoten van de drukknoppen, zodat er ruimte is voor de weerstanden.

4. Verbind nu de 10K-weerstanden (bruin, zwart, oranje, goud) met één been in dezelfde middelste rij als de negatieve blauwe draad en het andere been in dezelfde rij als het linkerbeen van de drukknop

[Dit alles is nog steeds verbonden aan de ene kant van de kloof in het midden van het breadboard, behalve de knoppen die over de kloof lopen en de witte, rode en blauwe draden voor de analoge opstelling)

5. Pak nu de gele en groene draad en sluit het linkerbeen aan de andere kant van de middenscheiding aan met pin 9 en 11 [NB: Analoog werkt alleen op pin 3, 5, 6, 9, 10 en 11]. Deze draden zijn voor communicatie met de Arduino.

Stap 4: Stel de LED in:

Stel de LED in
Stel de LED in

1. Neem de LED (kleur naar keuze) en plaats deze aan de kant van de scheidingswand waar de meeste van je aansluitingen zitten.

2. Neem één blauwe draad en verbind de negatieve blauwe massalijn met dezelfde rij als het korte been (anode) van de LED [De schakeling werkt alleen als de negatieve blauwe lijn verbonden is met het rechterbeen van de LED i.o.w. de anode.

3. Neem nog een 10K ohm weerstand en verbind de rij waarin de kathode (positieve lange poot van de LED) is aangesloten met een nabijgelegen rij aan dezelfde kant van de middenscheiding.

4. Pak nu de oranje draad en verbind de weerstand met pin 3 op de Arduino

Je circuit is nu compleet, je hoeft nu alleen nog maar alles te programmeren

Stap 5: Programmering van het circuit:

Ik ben een beetje nieuw in dit alles, dus neem me niet kwalijk dat ik alleen de code heb gekopieerd en geen video heb gemaakt …

Hier is de code voor het circuit:

// Mijn (Altus Lourens) eerste eigen project:// Gemaakt tussen 29 en 30 juni 2018

// NB voor mezelf: AnalogWrite werkt alleen op 3, 5, 6, 9, 10 en 11

// NB: Analoog heeft te maken met verschillende toestanden, Digitaal werkt alleen voor aan(HIGH) of off(LOW)

// LED zal worden uitgevoerd

// drukknoppen zullen inputs zijn

// pushButton1 verhoogt de helderheid met één fadeAmount bij elke druk op

// pushButton2 verlaagt de helderheid met één fadeAmount bij elke druk op

// constanten veranderen niet, stel PWM-pinnummers in

const int ledPin = 3; // nummer van de PWM LED-pin

const int fadeAmount = 50; // verandering in helderheid met elke druk op de knop

const int buttonPin1 = 11;

const int knopPin2 = 9; // nummer van de drukknoppin

// variabele die zal veranderen:

int helderheid = 5; // beginhelderheid van de LED's

int knopState1 = 0; // specificeer de knop die begint als LAAG

int knopState2 = 0; // specificeer de knop die begint als LAAG

ongeldige setup() {

// plaats hier je setup-code om een keer uit te voeren:

// initialiseer de LED-pin als output:

pinMode (ledPin, UITGANG);

// initialiseer de drukknoppen als ingangen:

pinMode (knopPin1, INPUT);

pinMode (knopPin2, INPUT);

Serieel.begin(9600); // snelheid van communicatie in het circuit

}

// buttonPin1 verhoogt de helderheid van de LED

// buttonPin2 zal de helderheid van de LED verminderen

lege lus() {

// plaats hier je hoofdcode om herhaaldelijk uit te voeren:

// stel de helderheid van pin 9 in:

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

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

// lees de status van de drukknopwaarde:

buttonState1 = digitalRead (buttonPin1);

buttonState2 = digitalRead (buttonPin2);

// controleer of de knoppen zijn ingedrukt:

// als het is -> buttonState = HOOG:

// drukknop1:

if (buttonState1 == HOOG) {

helderheid = helderheid + fadeAmount; // helderheid verhogen:

analogWrite (ledPin, helderheid + fadeAmount);

}

else { // helderheid blijft op hetzelfde niveau en LED is nog steeds uit:

analogWrite (ledPin, helderheid);

}

// drukknop2:

if (buttonState2 == HOOG) {

helderheid = helderheid - fadeAmount; // verminder helderheid:

analogWrite (ledPin, helderheid - fadeAmount);

}

anders {

// helderheid blijft op hetzelfde niveau, er vindt geen verandering plaats:

analogWrite (ledPin, helderheid);

}

Serial.print("helderheid");

Serial.println (helderheid); }

U kunt nu de communicatiesnelheid aanpassen en er een beetje mee spelen totdat u een snelheid vindt die perfect werkt voor de seriële monitortool [de 9600 Baud is slechts een standaardsnelheid]

Aanbevolen: