Arduino experimenten (Superformaat Instructable) (3 / 14 stap)

Stap 3: Vaardigheid niveau: Basic. (1)


  • Kale botten & Basic starten projecten (Blink & Fade LED verlichting en codering Basics) met Arduino Micro controller is bedekt met verschillende stappen.
  • Knipperen en dan langzaam verdwijnende A LED licht met behulp van getimede vertragingen met een "Digitale" Pin, vervolgens met behulp van een "Analoge" Pin naar stuurspanning input (capaciteit te gebruiken van de basic-code Setup, getimede activering vertragingen & spanningsregeling in analoge vorm)
  • Om te beginnen uw Arduino IDE (Integrated Development Environment) gebruikt op uw PC downloaden en gedownload van, om te communiceren met uw Arduino Board gebruik de volgende link... http://Arduino.CC/en/Main/software download 1.0.5 of de nieuwste versie van de IDE (geen behoefte te installeren)
  • Je Arduino aan je PC via de USB-kabel aansluiten en open de IDE-locatie doorgaans ergens in station C: van jouw PC's harde schijf (tenzij je hem elders) nu kijken naar de tools sectie en zoeken waar de "COM"-poorten bevinden zich verwijderen van je Arduino USB-kabel en kijken welke COM-poort verdwenen thats je Arduino, nu sluit het weer aan , en stel de com-poort, vervolgens kies je Arduino Board van de Raad van bestuur lijst proberen niet te vergeten dit deel wanneer u hebt overgeschakeld naar mega, micro, nano of elke andere variatie van de Raad van bestuur... Klik vervolgens op bestand "Voorbeelden" Basics en vervolgens knipperen, observeren de codering structuur,, verklaren pin opstellingen met int, void setup, nietig lus, primaire onderdelen van de codering (codering na deze regel ___)
  • / * Knipperen draait op een LED op voor een tweede, vervolgens af gedurende één seconde, herhaaldelijk. Deze voorbeeldcode is in het publieke domein. * / / / Pin 13 heeft een LED aangesloten op de meeste Arduino boards Arduino boards. Geef het een naam: int geleid = 13;

    de setup-routine wordt uitgevoerd zodra wanneer u drukt op reset: void setup {/ / initialiseren van de digitale pin als een output. pinMode (leidde, OUTPUT);}

de routine van de lus loopt over en weer forever: void loop {digitalWrite (leidde, hoog); / / de LED inschakelen (HIGH is het spanningsniveau) delay(1000); / / wachten op een tweede digitalWrite (led, laag); / / de LED uitzetten doordat de spanning lage delay(1000); / / wait voor een tweede}

  • (Kopiëren en plakken van de bovenstaande code in deel 5 in uw IDE of gebruiken er al de voorbeeld schets) Zie de primaire codering structuur en delen en te leren kennen en voor toekomstige projecten terug te verwijzen naar de basis nu en dan tot opnieuw leren vergeten codering of waarden, de sectie van de codering is in milliseconden 1000 wordt 1 seconde 5000 vertraging wordt 5seconds enzovoort, digitale 13 van de Pin op de arduino heeft een ingebouwde in LED beperken weerstand, als u een andere pincode vergeet niet om toe te voegen een 560 ohm weerstand om te stoppen met het branden uit in een bladerdeeg van rook, digitale schrijven functie waarbij beide hoge/op/of Low/Off op de LED met vertragingen aan beide uiteinden 1 seconde voor op 1 seconde voor af in de fundamentele schets.

  • Instellen van het circuit een LED + positieve Pin verbinden met digitale pin 13 en its - negatieve Pin naar grn (grond) om te voltooien van het circuit met de LED-lamp, gebruik ARDX sjablonen en een solderless breadboard met jumper draden zeer aanbevolen. (Bekijk video's en zie foto's voor setup van het circuit en testen)

  • SPIN MOTOR SPIN SKETCH (overdekte in verschillende stappen), Met behulp van een ARDX-sjabloon lay-out van het circuit meer om gemakkelijk te maken als u een solderless breadboard, onderdelen nodig zijn, veel van jumper draden diverse kleuren, TYPE Transistor: (P2N2222A) of een variatie van dit gemeenschappelijk type transistor, 2.2 k weerstand te worden gekoppeld aan de base/midden transistor pin, blokkeren diode feedback stop, dus stroom terug in de micro controller vloeien en bak het niet , of de motor itself,(Optional) 220uf condensator voor als de motor doet niet spin, en moet de macht gladstrijken van op weg naar de motor.

  • Hebben gedaand uw fundamentele codering in de laatste Project dat dit zal lijken veel meer makkelijk en meer mechanische spinnen een motor heeft vele toepassingen van huisdier speelgoed robot wielen, zie hetzelfde als vorige keer zodra het circuit opgezet, foto's en video's, uploaden van de Code aan uw IDE milieu CODE na deze regel ___

  • int motorPin = 9; definiëren van de pin die de motor is verbonden met

    (als u gebruik maken van pin 9,10,11 of 3you kunnen ook de controle van snelheid)

    / * * Setup - deze functie wordt uitgevoerd zodra wanneer u uw Arduino zet * wij de motoren pincode instellen om te worden een vermogen (het draaien van de pin hoge (+ 5v) of laag (grond) (-)) * in plaats van een ingang (controleren of een PIN-code hoog of laag is) * / void setup {pinMode (motorPin, OUTPUT);}

    / * * loop - deze functie start nadat setup is voltooid en herhaalt u vervolgens * noemen we een functie genaamd motorOnThenOff() * /

    void loop / / run over en weer {motorOnThenOff(); / / motorOnThenOffWithSpeed(); / / motorAcceleration();}

    / * * motorOnThenOff() - motor draait op dan af * (merken deze code is hetzelfde als de code die we gebruikten voor * de knipperende LED) * / void motorOnThenOff() {int onTime = 2500; //the aantal milliseconden voor de motor inschakelen voor int offTime = 1000; //the aantal milliseconden voor de motor uit te schakelen voor digitalWrite (motorPin, hoge); / / draait de motor op delay(onTime); / / wacht onTime milliseconden digitalWrite (motorPin LAAG); schakelt de motor uit delay(offTime); offTime milliseconden wacht}

    / * * motorOnThenOffWithSpeed() - motor draait op dan af maar maakt gebruik van snelheid waarden alsmede * (merken deze code is hetzelfde als de code die we gebruikten voor * de knipperende LED) * / void motorOnThenOffWithSpeed() {int onSpeed = 200; / / een getal tussen 0 (gestopt) en 255 (volledige snelheid) int onTime = 2500; //the aantal milliseconden voor de motor inschakelen voor int offSpeed = 50; / / een getal tussen 0 (gestopt) en 255 (volledige snelheid) int offTime = 1000; //the aantal milliseconden voor de motor uit te schakelen voor analogWrite (motorPin, onSpeed); draait de motor op delay(onTime); wacht op onTime milliseconden analogWrite (motorPin, offSpeed); schakelt de motor uit delay(offTime); offTime milliseconden wacht}

    / * * motorAcceleration() - versnelt de motor tot volle snelheid dan * terug tot nul * / void motorAcceleration() {int delayTime 50; = //milliseconds tussen elk toerental stap //Accelerates de motor voor (int ik = 0; ik < 256; i ++) {//goes door elke snelheid van 0 tot 255 analogWrite(motorPin, i); //sets de nieuwe snelheid delay(delayTime); / / delayTime milliseconden wacht} //Decelerates de motor voor (int ik = 255; ik > = 0; i--) {//goes door elke snelheid van 255 tot 0 analogWrite (motorPin , i); Hiermee stelt u de nieuwe snelheid delay(delayTime); wacht delayTime milliseconden}}

  • De bovenstaande code zal u toelaten om de controle de de motor wordt in- en uitschakelen met vertraging vergelijkbaar met de schets knipperen maar met een motor, in feite u kunt de dezelfde codering als de Pinken schets maken het draaien met vertraging, gewoon hernoemen LED ook Motor Pin om het gemakkelijker te begrijpen, sla de schets als spin motor spin enz , voorgestelde verbeteringen omvatten controle van de snelheid van de motor met een "Analoge" Pin hetzelfde als de LED-Fade schets, en "Optimaliseren" de codering zodat het kleiner, met behulp van nieuwe functies zoals i ++ te verhogen van de snelheid van 0 tot 256 analoge hoogste instelling 5 volt uitgang, schrijft de functie "i--" doet het tegenovergestelde stappen omlaag van 256 op 0 voor de motorsnelheid vertragen... (met behulp van de methode van deze code is alleen aan te raden in grote tot zeer grote codering programma's, zoals robotica systemen, motor/servo/IR/datalogger codering zou laten niet veel ruimte eventueel op kleinere planken met minder geheugen.

  • Met behulp van aangepaste onderdelen kan worden veel meer leuk, vooral als met behulp van een krachtige trillingen motor, met behulp van allerlei verschillende motoren om te zien welke werken beste met dit circuit ook aan te raden, kleine speelgoed werken op de beste motoren.

  • 8-BIT SHIFT REGISTER (IC) (x8 controle LED's met x3 pinnen & LED animaties) In verschillende stappen... zal nu iets interessanter dan het gebruik van geïntegreerde schakeling tech IC's, het (74HC595 Shift Register) het volgende doen, gebruik x3 Arduino pinnen te verplaatsen uit 8 bits van gegevens, waardoor LED animaties... voor een uitleg over hoe dit wordt gedaan met gegevens/Latch/Clock pinnen op de IC-Chip gelieve zoekt de microchips gegevensblad plakken van online ( http://www.nxp.com/documents/data_sheet/74HC_HCT59... ) die link in een lege zoekbalk in goggle voor het gegevensblad op dit onderdeel, en leren kennen het haar werking, en u zult begrijpen IC pinouts in geen tijd bij allen.

  • Hetzelfde zoals altijd instellen op je schakeling volgens de foto's en video toont, ook vindt on line documentatie over hoe dit te doen in nog meer detail indien nodig (Check & Controleer uw bedrading hier) dit zal de meest draden die u nog hebt gebruikt en het is gemakkelijk om miss-aline de draden of een jumper wire in helemaal niet te duwen , waardoor gevaarlijke kortsluiting als op het gebied van de levering macht, altijd controleren uw bedrading bij het doen van complexe opstellingen zoals dit, of koppelen IC chips, aangezien zij een heleboel bedrading vereisen, Upload de code onder deze lijn aan uw IDE op te slaan onder welke naam u net als in de schets ___

  • PIN definities
    PIN definities //The 74HC595 maakt gebruik van een seriële communicatie-//link heeft drie pinnen int gegevens = 2; int klok = 3; int klink = 4;

    Gebruikt voor één LED manipulatie int ledState = 0; Const int ingeschakeld = hoog; Const int uitgeschakeld = LOW;

    / * * Setup - deze functie wordt uitgevoerd zodra wanneer u uw Arduino zet * We de pinnen van de drie controle ingesteld op uitgangen * / void setup {pinMode (gegevens, OUTPUT); pinMode (klok, OUTPUT); pinMode (klink, OUTPUT);}

    / * * loop - deze functie start nadat setup is voltooid en herhaalt u vervolgens * we instellen welke LEDs we willen op dan een routine die stuurt van de Staten naar het 74HC595 bellen * / void loop / / run over en weer {int delayTime = 100; //the aantal milliseconden dat moet worden gewacht tussen LED updates voor (int ik = 0; ik < 256; i ++) {updateLEDs(i); delay(delayTime);}}

    / * * updateLEDs() - stuurt de LED staat instellen in ledStates aan de 74HC595 * volgorde * / void updateLEDs (int waarde) {digitalWrite (klink, laag); //Pulls de chips klink lage shiftOut (gegevens, klok, MSBFIRST, waarde); //Shifts uit de 8 bits aan de shift register digitalWrite (klink, hoge); //Pulls de klink hoge weergave van de gegevens}

    / * * updateLEDsLong() - stuurt de LED staat instellen in ledStates aan de 74HC595 * volgorde. Hetzelfde als updateLEDs behalve de verschuiving die in software gebeurt * zodat u kunt zien wat er gebeurt. * / void updateLEDsLong (int waarde) {digitalWrite (klink, laag); //Pulls de chips klink laag voor (int ik = 0; ik < 8; i ++) {//Will Herhaal dit 8 keer (één keer voor elke bit) int bits = waarde & B10000000; //We met een "bitmasker" kunt u selecteren alleen de achtste //bit ons nummer (degene die we deze keer door waarde pakken = waarde << 1; //we verplaatsen onze nummer één bit waarde dus volgende keer beetje 7 //bit 8 zal zijn en wij zullen doen onze wiskunde op het if(bit == 128) {digitalWrite (gegevens, hoge);} //if bit 8 is ingesteld dan stellen onze gegevens pin hoge anders {digitalWrite (gegevens, laag);} //if bit 8 unset is dan ingesteld van de gegevens pin lage digitalWrite (klok, hoge); de volgende drie regels pols de klok pin delay(1); digitalWrite (klok, laag); } digitalWrite (klink, hoge); trekt de klink hoge verschuiven onze gegevens in worden weergegeven}

  • Deze worden gebruikt in de bit-gewijze wiskunde die we gebruiken om te wijzigen van afzonderlijke LEDs //For meer details http://en.wikipedia.org/wiki/Bitwise_operation int bits [] = {B00000001, B00000010, B00000100, B00001000, B00010000, B00100000, B01000000, B10000000}; int maskers [] = {B11111110, B11111101, B11111011, B11110111, B11101111, B11011111, B10111111, B01111111}; / * * changeLED (int geleid, int land) - verandert een individuele LED * LEDs zijn 0 tot en met 7 en staat is ofwel 0 - OFF of 1 - * / void changeLED (int geleid, int land) {ledState = ledState & maskers [led]; //clears ledState van de bit wij pakken if(state == ON) {ledState = ledState | bits [led];} //if het bit op wij is zal toe te voegen aan ledState updateLEDs(ledState); //send de nieuwe LED staat de verschuiving registreren}

  • Dit is duidelijk de grootste Code nog complexer zijn dan de andere tot dusver ontleden de code voor jezelf ditmaal plukken het uit elkaar in nieuwe functies die worden vermeld, B00000001, B00000010 (Bit codes) 01 wordt de eerste 10 wordt de volgende enzovoort enzovoort, proberen te leren kennen van de belangrijkste 3 delen van de IC chip Latch/gegevens/Clock pinnen en waar zij zich bevinden voor toekomstige projecten.

  • Animaties kunnen worden gedownload is van online voor de LED te laten knipperen op een bepaalde manier, probeer met behulp van verschillende kleur of Multi kleur LED's, zoals ik deed, eerder dan allemaal hetzelfde kleur, het maakt het gemakkelijker om de animatie te zien en ziet er veel beter ook, zorg ervoor dat alle weerstanden gebonden aan de LED's op de juiste manier geplaatst zijn, soms een zal verlaten plaats terwijl u de massa van jumper draden zijn aangesloten.

  • 9 g SERVO CONTROL (gebruikt meestal in robotica) De 9g Mini Servo is enigszins gemakkelijk instellen van beweging worden getimed in peulvruchten toom die het gegevensblad servo's online voor uw type servo, kan worden gebruikt in robotic locatie systemen zoals ultrasone sensor schakelen vermogen, sloten, gezamenlijke beweging en as servo armen gebruikt bij de productie van de fabriek en bouw volledig geautomatiseerd op pre geprogrammeerd servo's binnen deze arms.less stappen dan gebruikelijke ditmaal zoals u inmiddels weet hoe om te zetten van een circuit en uploaden programma's voor uw IDE, zo goed als codering basisfuncties, en meer.

  • Instellen van uw Servo volgens de foto's geplaatst, en Voeg eventuele toevoeging labels voor betere visuele indicatie van de hoek van de servo eenmaal gedaan ga naar de Arduino Main site en zoek de servo-bibliotheek zelf leren hoe toe te voegen door het lezen van op bibliotheek, een keer gedaan en heb je het toegevoegd aan voorbeelden of sketchbook, upload de "vegen" voorbeeld dat er dit om te kunnen gebruiken de code onder deze line___ moet downloaden

  • #include servo myservo; servo-object om te bepalen van een servo maken / / maximaal acht servo-objecten kan worden gemaakt van int pos = 0; variabele op te slaan van de servo positie void setup {myservo.attach(9); / / de servo op pin 9 hecht aan de servo-object} void loop {voor (pos = 0; pos < 180; pos += 1) / / gaat van 0 graden tot 180 graden {/ / in stappen van 1 graad myservo.write(pos); / / vertellen servo naar positie in de variabele 'pos' delay(15); / / wacht 15ms voor de servo om de positie te bereiken} voor (pos = 180; pos > = 1; pos-= 1) / / gaat van 180 graden tot 0 graden {myservo.write () POS); vertellen van de servo naar positie in de variabele 'pos' delay(15); wacht 15ms voor de servo om de positie te bereiken}}

  • Spelen met de servo voor een terwijl, het kan vast komen te zitten af en toe gewoon draai de bovenkant terug naar zijn uitgangspunt en druk op reset zodat het opnieuw starten van de codering bibliotheek, de servo moet vervolgens draaien 180degrees en terug, probeer het veranderen van de timing van de pols in kleine stappen te vinden die beter voor uw servo werkt, volgende deel is vrij gemakkelijk haak omhoog een 10k Potentiometer om dit te doen hechten de pot aan analoge pin 0 evenals zoals BIND het in-/ + verbindingen/rails op het breadboard met behulp van jumper draden zien mijn foto's en video's om te zien hoe ik het heb gekoppeld, of verwijzen naar uw eigen expertise, vallen en opstaan experimenten is altijd beter, het vinden van het uit voor jezelf, zijn slechts 3 draden en 3 voor de servo die al zijn aangesloten, figuur de pinout van uw pot zelf zijn heel eenvoudig te doen u werkt het uit als u dit hebt gekregen veel en gedaan alle eerdere experimenten.

  • Gerelateerde Artikelen

    Arduino tutorial Arduino Tutorial bundel.: Arduino experimenten Kit:. (ARDX)

    Arduino tutorial Arduino Tutorial bundel.: Arduino experimenten Kit:. (ARDX)

    Geïnteresseerd in maken nette projecten met een Arduino maar niet weet waar te beginnen?Hier is een gemakkelijk te volgen gids op hoe te connect & gebruiken een schare van elektronische componenten.(schaamteloze plug)Geïnteresseerd in het doen het al
    Arduino Watch bouwen instructies

    Arduino Watch bouwen instructies

    Update: nieuwe versie erop dat werkt met Arduino 1.0 en hoger!Het horloge van de Arduino biedt augmented sensing van temperatuur en bereik, 16-bits kleuren tekenprogramma, Breakout-spel, en ook vertelt de tijd in uw keuze van digital, binair of analo
    Lessons Learned While gebouw een nutteloze doos met behulp van een Arduino en een Instructable

    Lessons Learned While gebouw een nutteloze doos met behulp van een Arduino en een Instructable

    Dus, ik vond een Instructable op de site dat leek vrij goed. U ziet, ik wilde de kracht van een Arduino te lopen van een nutteloze doos. Ik wilde bouwen en programmeren met behulp van de Instructable vond ik op de site. Niet alleen dat, maar ik ging
    Onderzoekers gids voor Arduino als uitgevoerd op OIT

    Onderzoekers gids voor Arduino als uitgevoerd op OIT

    middelenAdafruit ARDX - v1.3 experimenten Kit voor ArduinoOnderzoekers gids voor Arduino (PDF)Brood bord lay-outs (PDF)Arduino tutorial Arduino Tutorial bundel (Instructable)Deze Arduino Tutorial is gonna be zeer vergelijkbaar met de Arduino Tutorial
    Arduino Chiptune Song

    Arduino Chiptune Song

    deze tutorial is om je te leren over transistoren, flyback dioden en basisfuncties van de Arduino. Dit Instructable is gebaseerd off van een circuit uit de Arduino experimenten Kit.Dit is een goede tutorial voor iedereen beginnen met Arduino. Deze on
    Arduino Automated Garage deur System

    Arduino Automated Garage deur System

    onze TEJ klasse kreeg de uitdaging om iets te bouwen dat is ofwel origineel of en verbetering aan iets dat reeds bestaat en moet een of andere manier implementeren "Arduino"Dit Instructable kan voor het maken van een garagedeur uitgerust met een
    Een reis van Palm Arduino Kit

    Een reis van Palm Arduino Kit

    ik dit instructable verschuldigd aan mijn Palm Arduino Kit-fan!Ik heb vermeld in mijn vorige instructable "Palm Arduino Kit" dat ik de kit bouwde om samen met mij, terwijl ik het reizen.En een echte reis van mijn Palm Arduino-Kit deed is gebeurd
    Stem ingang Arduino Bi-color LED Matrix scrollen tekstweergave (Bluetooth + Android)

    Stem ingang Arduino Bi-color LED Matrix scrollen tekstweergave (Bluetooth + Android)

    Tijdens het browsen interessante projecten op Instructables, stuitte we op de indrukwekkende stem geactiveerd Arduino (Bluetooth + Android) instructable. Je kan check it out opOnlangs, hebben zetten we een instructable te bouwen een 7 Bi-color 8 x 8
    LED Arduino Clock

    LED Arduino Clock

    Na mijn laatste bouwproject, wilde ik iets met een Arduino bouwen. Instructables doorbladert voor maanden zag ik een LED Arduino Klok die ik wilde bouwen. Na sommige herontwerpt van mijn kant instellen ik op mijn verovering te bouwen deze klok.Eerst
    ESP8266 controle WS2812 Neopixel LEDs met behulp van de Arduino IDE - A Tutorial

    ESP8266 controle WS2812 Neopixel LEDs met behulp van de Arduino IDE - A Tutorial

    Hallo iedereen,Als u als me bent, hebt u zoekend rond het internet een goede tutorial over het gebruik van de ESP8266 met neopixel LEDs (AKA de WS2812 of WS2812b), geprogrammeerd via de Arduino IDE. Ik heb niet gevonden het allen in één plaats, in he
    Arduino Laser graveur

    Arduino Laser graveur

    ik begon dit project, omdat ik wilde iets maken dat had mechanische, elektrische en softwarecomponenten. Na rondkijken op Instructables, dacht ik dat dat een Arduino gebaseerd laser etser zou een interessante machine om te maken, en dat de machine ze
    Maken van een Arduino gecontroleerd licht-volgende bloem Bot

    Maken van een Arduino gecontroleerd licht-volgende bloem Bot

    In dit project van Arduino gebaseerde, maakt u een "biomimetische," of biologie-geïnspireerde, bloem die een lichtbron volgt. U heeft waarschijnlijk gezien dit probleem in uw kamerplanten! Planten vereisen zonlicht te groeien en bloeien, en &quo
    ECG shield voor Arduino

    ECG shield voor Arduino

    Onlangs maakte ik shield voor arduino die ECG, ademhaling, uiteindelijk na enkele veranderingen in PCB en code, EEG en EMG kan meten. Groot voordeel van deze shield is de mogelijkheid om het gemakkelijk thuis te maken. Het schild is uitgerust met dis
    VGA-Pong met de Arduino Uno

    VGA-Pong met de Arduino Uno

    Ik heb repruduced een kleurenversie van de klassieke Pong uitgevoerd voor een VGA-monitor, met behulp van een kale Arduino Uno.Het is voor twee spelers en heeft het geluid ook. Het heeft vier kleuren en een resolutie van 120 x 60 pixels.Mijn doel was