Inhoudsopgave:
- Stap 1: Materialen + Gereedschap:
- Stap 2: Stel uw analoge circuit in:
- Stap 3: Stel de drukknoppen in:
- Stap 4: Stel de LED in:
- Stap 5: Programmering van het circuit:
Video: LED-circuit met dubbele drukknop - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
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:
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:
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:
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:
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:
Teller met drukknop - Tinker Cad: 3 stappen
Teller met drukknop | Tinker Cad: Als je eenmaal een drukknop hebt laten werken, wil je vaak actie ondernemen op basis van hoe vaak de knop wordt ingedrukt. Om dit te doen, moet u weten wanneer de knop van status verandert van uit naar aan, en tellen hoe vaak deze verandering van status plaatsvindt. NS
Aan Uit Vergrendelingscircuit met UC. Eén drukknop. Een pin. Discrete component.: 5 stappen
Aan Uit Vergrendelingscircuit met UC. Eén drukknop. Een speld. Discrete Component.: Hallo allemaal, was op zoek naar een aan/uit circuit op het net. Alles wat ik vond was niet wat ik zocht. Ik was tegen mezelf aan het praten, daar is noodzakelijkerwijs een manier voor. Dat is wat ik nodig had.-Slechts één drukknop om aan en uit te doen.-Moet alleen
LED-matrix met drukknop: 4 stappen
LED-matrix met drukknop: dit project kan worden gezien als een ander inleidend Arduino-project dat iets geavanceerder is dan uw typische 'knipperende een LED'-project. Dit project bevat een LED-matrix, drukknoppen, schuifregisters (die pinnen op uw Ard kunnen opslaan
AVR-microcontroller. Schakel LED's met behulp van een drukknopschakelaar. Debouncen met drukknop: 4 stappen
AVR-microcontroller. Schakel LED's met behulp van een drukknopschakelaar. Drukknop debouncing.: In deze sectie zullen we leren hoe we programma C-code voor ATMega328PU kunnen maken om de status van de drie LED's te wisselen volgens de invoer van een knopschakelaar. We hebben ook een oplossing onderzocht voor het probleem van 'Switch Bounce'. Zoals gewoonlijk zullen we
Een drukknop aansluiten met audio-ingang en -uitgang: 13 stappen
Een drukknop aansluiten met audio-invoer en -uitvoer: Een drukknop is een van de basiscomponenten voor het vastleggen van uw actie. Je kunt dynamisch op een knop drukken om iets te doen. Er zijn al verschillende manieren om drukknoppen in je projecten te gebruiken (bijvoorbeeld het hacken van muis en toetsenbord, of Arduino, gainer, MCK). Dit