Stap 3: Stap 3: schets van de Arduino
Check out de Arduino schets, merkte ik het een belachelijk bedrag. Uit de verklaring moeten alle delen van de code, en het zal zelfs helpen verklaren welke pins Arduino verbinden met welke apparatuur pinnen. Als er niet iets die u begrijpt, neem dan gerust contact met mij op.
Dit is de Arduino schets, om het te gebruiken, moet u beschikken over de IRremote.h-bibliotheek, de bestanden die zijn geupload zijn de IRremote.h bestanden. Om de schets te werken, moet u alle bestanden downloaden, zet ze in een map "IRremote.h" en plaats ze in uw bibliotheek van de Arduino.
U moet Kopieer en plak deze code in uw Arduino:
/*
* Sketch gewijzigd door genieten van elektronica: Code gebaseerd off van:
* IRremote
* Versie 0.1 juli 2009
* Copyright 2009 Ken Shirriff
* Voor meer informatie, Zie http://arcfn.com/2009/08/multi-protocol-infrared-...
* Mijn gegevens (als er iets gaat verkeerd, voel je vrij om contact met mij)
* Roberto Infante
* Student bij de Universiteit van Zuid-Florida
* Chemische Engineering afdeling
* MakeCourse: Nexus kwal
* Dit instructable ontstond vervulling de project-eis van de Makecourse bij de Universiteit van Zuid-Florida (www.makecourse.com)
* Schets gaat de IR-Sensor gebruiken als een controlesysteem, zodra het juiste ingangssignaal heeft ontvangen * de LED RGB als u wilt bladeren tussen blauw en magenta, dit zal gebeuren terwijl de dc-motor loopt zal activeren. *
* Er zal worden twee macht rails, één met 5V doorheen is getrokken, en een ander met 12V gaan door het
* De 5V wilskracht de IR-sensor, de LED-licht, en zullen het controlemechanisme voor de transistor
* * De 12V power spoor zal worden uitgevoerd door de transistor, en macht van de DC-motor.
* Hierbij moet worden opgemerkt dat de spanning die door deze macht spoor loopt hoe snel bepalen zal de * DC motor loopt ** laat aan de slag:
De regeling van de stroomvoorziening naar de gelijkstroommotor is aangesloten op de Arduino zoals zo: basis van transistor tot en met 2 pin op de Arduino
*
CODE BEGINT HIER ***
* Dit zal omvatten de bibliotheek te controleren, en te decoderen de IR-sensor * /
#include
/ * De IR-sensor pinnen zijn aangesloten op de Arduino zoals zo: Pin 1 naar Vout (pin 9 op Arduino) Pin 2 naar GND Pin 3 Vcc (+ 5v macht spoor) * /
int IRpin = 9; IRrecv irrecv(IRpin); decode_results resultaten;
/ * De RGB LED pinnen zijn aangesloten op de Arduino zoals zo: Pin rood tot en met 3 pin op de Arduino (PMW) Pin blauw naar pin 5 op Pin van de Arduino (PMW) groen naar pin 6 op Arduino (PMW) * / int redPin = 3; int bluePin = 6; int greenPin = 5;
int redVal; int greenVal; int blueVal;
/********************************Void Setup**************************************/
void setup {//Set van het controlesysteem voor de motor pinMode (2, OUTPUT);
Dit zijn de beginwaarden van de RGB
LED redVal = 255; greenVal = 255; blueVal = 255; Update();
Dit begint de ontvanger en maakt het verschijnen op de seriële monitor
Serial.begin(9600); irrecv.enableIRIn();
}
/*************************Void Update*****************************************/
VOID update() {}
Dit zal de LED op shift kleuren vertellen door langzaam draaien op blauw en rood te maken
magenta, en vervolgens en inschakelen van rode uit naar blauw maken, tenslotte allemaal af
analogWrite (redPin, redVal);
analogWrite (greenPin, greenVal);
analogWrite (bluePin, blueVal); }
VOID color_morph (int * waarde, int get_brighter) {//this is de code voor het wijzigen van de kleur
for (int i = 0; ik < 255; i ++)
{
Als (get_brighter) {}
(* waarde)--;
}
else {}
(* waarde) ++;
} update();
delay(5); Dit zal de snelheid van de LED kleur veranderen instellen
} }
/*********************************Main Loop*************************************/
void loop
Deze code zal decoderen wat de externe ir-verzendt, en de waarde op de seriële afdrukmonitor weergeven
{
Als (irrecv.decode (& resultaten))
{
Serial.println (results.value, DEC); Afdrukken van de serie 'results.value'
irrecv.resume(); De volgende waarde ontvangen
}
/ *** Dit is de goede spullen ***
/ Dit zal de motor uitzetten tijdens normale activiteit
digitalWrite (2, HIGH);
/ * Nu als de bovenste rechterknop is geduwd (zonder het ingedrukt), dan zal deze lusinstructie activeren
* Als een andere knop wordt ingedrukt, dan de lus stopt * /
Als (results.value == 16769565) / / Dit is waar u in uw IR-afstandsbediening knop #
{
deze lus zal worden gebruikt voor het activeren van de LED/Motor
digitalWrite (2, laag); LED
uitgaan op zwart (allemaal uit)
color_morph (& blueVal, 1); inschakelen blue
color_morph (& redVal, 1); inschakelen op rood te maken magenta
color_morph (& redVal, 0); Draai van rood
color_morph (& blueVal, 0); overgang naar zwart (allemaal uit)
De IR-sensor tijdens de lus, houd lezend als de kleurwijzigingen
Als (irrecv.decode (& resultaten))
{
Serial.println (results.value, DEC); Afdrukken van de serie 'results.value'
irrecv.resume(); De volgende waarde ontvangen
}
}
}