Veel systemen of machines ondergaan verschillende gebeurtenissen. Bijvoorbeeld, wanneer u de macht van uw laptopcomputer, lampje een LED-brandt om macht te tonen op staat evenement. Een andere LED licht op wanneer u de stekker in uw lader; deze andere LED een opladen staat evenement aangeven.
Wat te doen:
1. Toon macht op staat: wanneer Arduino is ingeschakeld, geven een knipoogje 100 microseconde elke 1 tweede.
2. Toon opladen staat: wanneer een knop wordt ingedrukt, bieden een 2 tweede elke 3 seconden knipperen.
3. show seriële communicatie gebeurtenis: wanneer de microcontroller ontvangt een letter "S", een 200 microseconde knipoogje elke 300 microseconden voorzien in 5 seconden.
Wat je nodig hebt:
1) 1 LED (elke kleur kiezen).
2) 1 220Ohms weerstand.
3) 1 drukknop.
4) Arduino Uno (of equivalent).
5) male naar vrouwelijke jumper draden of breadboard.
Hoe maak je je schakeling
Uit het bovenstaande diagram, merken dat de grond terminals voor LED en knop met een pin common ground (GND verbonden bent). De positieve aansluitklem van de LED (de langere terminal anode genoemd) gaat naar de signaal-pin (pin 2) door middel van 220 Ohm weerstand. De weerstand van 220 Ohm biedt een mogelijke drop; onze LED beschermt dit krijgen vernietigd. De andere terminal van de knop gaat direct naar de signaal pin (pin 3). Er is geen technische reden over de vraag waarom pin 2 en 3 werden gekozen. U kunt hen op uw gemak.
Hoe te programmeren:
Het programma hieronder toont het hoofdprogramma. U mag het deel van de functies opnemen (het deel van de functies is niet inbegrepen; downloaden beschikbaar):
#define LEDPIN 2
#define CHARGERPIN 3
#define ONESECOND 1000
Const unsigned int baudRate = 9600;
VOID Setup
{
pinMode (CHARGERPIN, INPUT);
digitalWrite (CHARGERPIN, hoge);
pinMode (LEDPIN, uitvoer);
Serial.begin(baudRate);
}
void loop
{
Boole notCharging = digitalRead(CHARGERPIN);
schakelaar (notCharging)
{
zaak false:
showChargingState();
breken;
standaard:
showPowerOnState();
breken;
}
Als (Serial.available())
{
opdracht char = Serial.read();
Als (opdracht == de ')
{
voor (int x = 0 x < 10; x ++)
{
showSerialCommState();
}
}
}
}
Kunt u een volledig programma van mijn originele post hier. U kunt de volledige code downloaden en testen. Vergeet niet te abonneren op mijn website voor meer informatie. Laat mij nog een reactie er aangezien ik niet reacties hier controleren kan zo veel als ik hier doen
BEDANKT!