Syntaxis van de Arduino-taal. Arduino programmeren in C in AVR Studio

Lijkt het bestuderen van microcontrollers ingewikkeld en onbegrijpelijk? Voordat Arudino verscheen, was het echt niet eenvoudig en vereiste het een bepaald stel programmeurs en andere apparatuur.

Dit is een soort elektronische ontwerper. Het oorspronkelijke doel van het project is om mensen eenvoudig te laten leren hoe ze elektronische apparaten moeten programmeren, terwijl ze minimale tijd aan het elektronische gedeelte besteden.

Het assembleren van complexe circuits en het aansluiten van printplaten kan worden uitgevoerd zonder soldeerbout, maar met behulp van jumpers met afneembare mannelijke en vrouwelijke aansluitingen. Op deze manier kunnen zowel gemonteerde elementen als uitbreidingskaarten worden aangesloten, die in het Arduino-lexicon eenvoudigweg “Shields” worden genoemd.

Wat is het eerste Arduino-bord dat je voor een beginner kunt kopen?

Het wordt beschouwd als het basis- en populairste bord. Dit bord heeft het formaat van een creditcard. Vrij groot. De meeste schilden die in de aanbieding zijn passen daar prima bij. Het bord heeft aansluitingen voor het aansluiten van externe apparaten.

In binnenlandse winkels in 2017 is de prijs ongeveer 4-5 dollar. Op moderne modellen is het hart Atmega328.

Afbeelding van het Arduino-bord en uitleg van de functies van elke pin, Arduino UNO-pinout

De microcontroller op dit bord is een lange chip in een DIP28-behuizing, wat betekent dat deze 28 poten heeft.

Het volgende populairste bord kost bijna twee keer zoveel als het vorige: 2-3 dollar. Dit is een vergoeding. De huidige borden zijn gebouwd op dezelfde Atmega328, ze zijn functioneel vergelijkbaar met UNO, de verschillen zitten in de grootte en de oplossing voor coördinatie met USB, hierover later meer. Een ander verschil is dat er pinvormige stekkers zijn voorzien om apparaten op het bord aan te sluiten.

Het aantal pinnen (poten) van dit bord is hetzelfde, maar je kunt zien dat de microcontroller is gemaakt in een compacter TQFP32-pakket, ADC6 en ADC7 zijn aan de behuizing toegevoegd, de andere twee “extra” poten dupliceren de voedingsbus . Het formaat is vrij compact - ongeveer zo groot als je duim.

Het derde populairste bord is dat het geen USB-poort heeft om verbinding te maken met een computer; ik zal je later vertellen hoe de verbinding tot stand wordt gebracht.

Dit is het kleinste bord van allemaal beoordeeld, verder is het vergelijkbaar met de vorige twee, en het hart is nog steeds de Atmega328. We zullen geen andere boards overwegen, aangezien dit een artikel voor beginners is en het vergelijken van boards een onderwerp is voor een apart artikel.

Bovenaan staat een USB-UART-aansluitschema, de "GRN"-pin is verbonden met het resetcircuit van de microcontroller, deze kan door iets anders worden aangeroepen, waarom dit later nodig is, zul je ontdekken.

Hoewel UNO geweldig is voor het maken van prototypes, zijn Nano en Pro Mini geweldig voor het voltooien van uw project, omdat ze weinig ruimte in beslag nemen.

Hoe Arduino op computer aansluiten?

Arduino Uno en Nano worden via USB op de computer aangesloten. Er is echter geen hardwareondersteuning voor de USB-poort; hier wordt een niveauconversiecircuitoplossing gebruikt, meestal USB-naar-serieel of USB-UART (rs-232) genoemd. Tegelijkertijd wordt een speciale Arduino-bootloader in de microcontroller geflashed, waardoor het flashen via deze bussen mogelijk is.

De Arduino Uno implementeert deze verbinding op een microcontroller met USB-ondersteuning - ATmega16U2 (AT16U2). Het blijkt dat er een extra microcontroller op het bord nodig is om de firmware van de hoofdmicrocontroller te flashen.

In Arduino Nano wordt dit geïmplementeerd door de FT232R-chip, of de analoge CH340. Dit is geen microcontroller - het is een niveau-omzetter, dit feit maakt het gemakkelijker om de Arduino Nano helemaal opnieuw met je eigen handen in elkaar te zetten.

Normaal gesproken worden stuurprogramma's automatisch geïnstalleerd wanneer u het Arduino-bord aansluit. Toen ik echter een Chinees exemplaar van de Arduino Nano kocht, werd het apparaat geïdentificeerd, maar het werkte niet, er zat een ronde sticker op de converter met informatie over de releasedatum, ik weet niet of dit met opzet is gedaan , maar toen ik het eraf trok, zag ik de CH340-markering.

Ik was dit nog nooit eerder tegengekomen en dacht dat alle USB-UART converters op FT232 waren gemonteerd, ik moest de drivers downloaden, ze zijn heel gemakkelijk te vinden door te zoeken naar “Arduino ch340 drivers”. Na een eenvoudige installatie werkte alles!

De microcontroller kan ook worden gevoed via dezelfde USB-poort, d.w.z. als u hem aansluit op een adapter van een mobiele telefoon, werkt uw systeem.

Wat moet ik doen als mijn bord geen USB heeft?

Het Arduino Pro Mini-bord heeft kleinere afmetingen. Dit werd bereikt door de USB-connector voor firmware en dezelfde USB-UART-converter te verwijderen. Daarom moet het apart worden aangeschaft. De eenvoudigste converter op basis van CH340 (de goedkoopste), CPL2102 en FT232R, kost vanaf 1 dollar.

Let bij aanschaf op voor welke spanning deze adapter is ontworpen. Pro mini is verkrijgbaar in 3,3 en 5 V-converters; deze hebben vaak een jumper voor het schakelen van de voedingsspanning.

Bij het flashen van de Pro Mini-firmware moet u vlak voordat u deze start op RESET drukken, bij converters met DTR is dit echter niet nodig, het aansluitschema staat in de onderstaande afbeelding.

Ze zijn verbonden met speciale “Mama-Mama” (vrouwelijk-vrouwelijk) terminals.

Eigenlijk kunnen alle verbindingen gemaakt worden met dergelijke terminals (Dupont), ze zijn aan beide kanten voorzien van stopcontacten en van stekkers, en aan de ene kant is er een stopcontact en aan de andere kant is er een stekker.

Hoe schrijf je programma's voor Arduino?

Om met schetsen te werken (de naam van de firmware in de taal van Arduino-ingenieurs), is er een speciale geïntegreerde ontwikkelomgeving voor Arduino IDE, je kunt deze gratis downloaden van de officiële website of van een thematische bron, er zijn meestal geen problemen; met installatie.

Zo ziet de programma-interface eruit. Je kunt programma's schrijven in een vereenvoudigde C AVR-taal die speciaal is ontwikkeld voor Arduino, in wezen een reeks bibliotheken genaamd Wiring, maar ook in pure C AVR. Het gebruik hiervan vereenvoudigt de code en versnelt de werking ervan.

Bovenaan het venster bevindt zich een vertrouwd menu waarin u een bestand en instellingen kunt openen, het bord waarmee u werkt (Uno, Nano en vele, vele anderen) kunt selecteren en ook projecten kunt openen met kant-en-klare codevoorbeelden. Hieronder ziet u een reeks knoppen voor het werken met de firmware; de ​​toewijzing van de toetsen ziet u in de onderstaande afbeelding.

Onderaan het venster bevindt zich een gebied voor het weergeven van informatie over het project, de status van de code, firmware en de aanwezigheid van fouten.

Basisprincipes van Arduino IDE-programmeren

Aan het begin van de code moet je variabelen declareren en eventuele extra bibliotheken opnemen. Dit doe je als volgt:

#include biblioteka.h; // verbind de bibliotheek met de naam “Biblioteka.h”

#define changenaya 1234; // Declareer een variabele met de waarde 1234

Met het commando Define kan de compiler het type variabele zelf kiezen, maar u kunt dit ook handmatig instellen, bijvoorbeeld een geheel getal int of een float met drijvende komma.

int-led = 13; // creëerde de variabele “led” en gaf deze de waarde “13”

Het programma kan de status van de pin bepalen als 1 of 0. 1 is een logische eenheid, als pin 13 gelijk is aan 1, dan zal de spanning op zijn fysieke poot gelijk zijn aan de voedingsspanning van de microcontroller (voor Arduino UNO en Nano-5 V)

Een digitaal signaal wordt geschreven met behulp van het digitalWrite-commando (pin, waarde), bijvoorbeeld:

digitalWrite(led, hoog); //schrijf er een naar pin 13 (we hebben het hierboven aangegeven) log. Eenheden.

Zoals u begrijpt, zijn poorten toegankelijk volgens de nummering op het bord, die overeenkomt met het nummer. Hier is een voorbeeld vergelijkbaar met de vorige code:

digitalWrite(13, hoog); // stel pin 13 in op één

Een veelgebruikte tijdvertragingsfunctie wordt aangeroepen door het commando delay(), waarvan de waarde wordt gespecificeerd in milliseconden, microseconden worden bereikt met behulp van

vertragingMicroseconden() Vertraging(1000); //microcontroller wacht 1000 ms (1 seconde)

De invoer- en uitvoerpoortinstellingen worden gespecificeerd in de void setup() functie met de opdracht:

pinMode(NOMERPORTA, UITGANG/INVOER); // argumenten - variabelenaam of poortnummer, invoer of uitvoer om uit te kiezen

Het eerste Blink-programma begrijpen

Als een soort "Hallo wereld" voor microcontrollers is er een programma voor het knipperen van een LED, laten we eens kijken naar de code:

In het begin vertelden we de microcontroller met het pinMode-commando om de poort met de LED aan de uitgang toe te wijzen. Je hebt al gemerkt dat er in de code geen verklaring is van de variabele "LED_BUILTIN", het feit is dat in Uno-, Nano- en andere borden een ingebouwde LED vanuit de fabriek is aangesloten op pin 13 en deze is gesoldeerd op de bord. U kunt het gebruiken voor weergave in uw projecten of voor het eenvoudig testen van uw knipperende programma's.

Vervolgens stellen we de pin waaraan de LED is gesoldeerd in op één (5 V), de volgende regel laat de MK 1 seconde wachten en stelt vervolgens de LED_BUILTIN-pin in op nul, wacht een seconde en het programma herhaalt zich in een cirkel, dus wanneer LED_BUILTIN gelijk is aan 1 - LED (en elke andere belasting aangesloten op de poort) wordt ingeschakeld, wanneer deze op 0 staat uitgeschakeld.

We lezen de waarde van de analoge poort en gebruiken de gelezen gegevens

De AVR Atmega328-microcontroller heeft een ingebouwde 10-bit analoog-digitaalomzetter. Met de 10-bits ADC kunt u spanningswaarden van 0 tot 5 volt aflezen, in stappen van 1/1024 van de gehele signaalamplitudezwaai (5 V).

Om het duidelijker te maken, laten we de situatie eens bekijken, laten we zeggen dat de spanningswaarde aan de analoge ingang 2,5 V is, wat betekent dat de microcontroller de waarde van pin “512” zal lezen, als de spanning 0 - “0” is, en als 5 V- (1023). 1023 - omdat het tellen begint vanaf 0, d.w.z. 0, 1, 2, 3, enz. tot 1023 - 1024 waarden in totaal.

Zo ziet het eruit in code, met de standaard “analogInput”-schets als voorbeeld

int sensorPin = A0;

int ledPin = 13;

int sensorwaarde = 0;

pinMode(ledPin, UITGANG);

sensorWaarde = analogRead(sensorPin);

digitalWrite(ledPin, HOOG);

vertraging(sensorwaarde);

digitalWrite(ledPin, LAAG);

vertraging(sensorwaarde);

We declareren variabelen:

    Ledpin - we wijzen onafhankelijk een pin met een ingebouwde LED toe aan de uitgang en geven deze een individuele naam;

    sensorPin - analoge ingang, ingesteld volgens de markeringen op het bord: A0, A1, A2, enz.;

    sensorValue - een variabele voor het opslaan van de gehele leeswaarde en het verder werken ermee.

De code werkt als volgt: sensorValue slaat de analoge waarde op die is gelezen van sensorPin (analogRead-opdracht). - hier eindigt het werk met het analoge signaal, dan is alles zoals in het vorige voorbeeld.

We schrijven er een naar ledPin, de LED gaat aan en wacht een tijd gelijk aan de sensorValue-waarde, d.w.z. van 0 tot 1023 milliseconden. We schakelen de LED uit en wachten opnieuw op deze periode, waarna de code zich herhaalt.

Door de potentiometer te positioneren, stellen we dus de knipperfrequentie van de LED in.

Kaartfunctie voor Arudino

Niet alle functies voor actuatoren (ik ken er geen) ondersteunen “1023” als argument, de servo wordt bijvoorbeeld beperkt door de rotatiehoek, d.w.z. per halve draai (180 graden) (halve draai) van de servomotor het maximale functieargument is “180”

Nu over de syntaxis: kaart (de waarde die we vertalen, de minimale invoerwaarde, de maximale invoerwaarde, de minimale uitvoerwaarde, de maximale uitvoerwaarde).

In code ziet het er als volgt uit:

(kaart(analogRead(pot), 0, 1023, 0, 180));

We lezen de waarde van de potentiometer (analogRead(pot)) van 0 tot 1023, en aan de uitgang krijgen we getallen van 0 tot 180

Waardenkaartwaarden:

In de praktijk passen we dit toe op de werking van de code van dezelfde servodrive, kijk eens naar de code uit de Arduino IDE, als je de voorgaande paragrafen goed doorleest, dan heeft het geen uitleg nodig.

En het aansluitschema.

Conclusies Arduino is een zeer handig hulpmiddel om met microcontrollers te leren werken. En als je pure C AVR gebruikt, of zoals het soms "Pure C" wordt genoemd, zul je het gewicht van de code aanzienlijk verminderen, en zal er meer in het geheugen van de microcontroller passen, met als resultaat dat je een uitstekende fabrieks- gemaakt debugging board met de mogelijkheid om firmware te flashen via USB.

Ik hou van Arduino. Het is jammer dat veel ervaren microcontrollerprogrammeurs het ongegrond bekritiseren omdat het te vereenvoudigd is. In principe is alleen de taal vereenvoudigd, maar niemand dwingt je om deze te gebruiken, en je kunt de microcontroller flashen via de ICSP-connector en daar de gewenste code uploaden, zonder onnodige bootloaders.

Voor degenen die met elektronica willen spelen, zoals een gevorderde ontwerper, is dit perfect, en voor ervaren programmeurs zal het, als bord dat geen montage vereist, ook nuttig zijn!

Voor meer informatie over Arduino en de kenmerken van het gebruik ervan in verschillende circuits, zie het e-boek - .

De programmeertaal Arduino voor beginners wordt in de onderstaande tabel gedetailleerd weergegeven. De Arduino-microcontroller is geprogrammeerd in een speciale programmeertaal op basis van C/C++. De programmeertaal Arduino is een variant van C++, oftewel er is geen aparte programmeertaal voor Arduino. U kunt het PDF-boek aan het einde van de pagina downloaden.

In de Arduino IDE worden alle geschreven schetsen met minimale wijzigingen in een programma in C/C++ gecompileerd. De Arduino IDE-compiler vereenvoudigt het schrijven van programma's voor dit platform aanzienlijk en het maken van apparaten op Arduino wordt veel toegankelijker voor mensen die geen uitgebreide kennis van de C/C++-taal hebben. Hieronder geven we een korte referentie waarin de belangrijkste functies van de Arduino-taal worden beschreven met voorbeelden.

Gedetailleerde verwijzing naar de Arduino-taal

De taal kan worden onderverdeeld in vier secties: instructies, gegevens, functies en bibliotheken.

Arduino-taal Voorbeeld Beschrijving

Exploitanten

instellen() ongeldige instellingen()
{
pinModus(3, INPUT);
}
De functie wordt gebruikt om variabelen te initialiseren, de werkingsmodi van pinnen op het bord te bepalen, enz. De functie wordt slechts één keer uitgevoerd, na elke stroomtoevoer naar de microcontroller.
lus() lege lus()
{
digitalWrite(3, HOOG);
vertraging(1000);
digitalWrite(3, LAAG);
vertraging(1000);
}
De lusfunctie loopt rond, waardoor het programma berekeningen kan uitvoeren en erop kan reageren. De functies setup() en loop() moeten in elke schets aanwezig zijn, zelfs als deze instructies niet in het programma worden gebruikt.

Controleverklaringen

als
als(x>
als(x< 100) digitalWrite (3, LOW );
De if-instructie wordt gebruikt in combinatie met vergelijkingsoperatoren (==, !=,<, >) en controleert of de voorwaarde waar is. Als de waarde van de variabele x bijvoorbeeld groter is dan 100, gaat de LED aan uitgang 13 branden, als deze kleiner is, gaat de LED uit.
als..anders
als (x > 100) digitalWrite (3, HOOG);
anders digitalWrite(3, LAAG);
Met de else-operator kunt u een andere controle uitvoeren dan degene die is opgegeven in de if, om verschillende elkaar uitsluitende controles uit te voeren. Als geen van de controles een WAAR resultaat oplevert, wordt het blok met instructies in else uitgevoerd.
schakelaar...kast
schakelaar(x)
{


geval 3: breuk;

}
Net als een if-instructie bestuurt een switch-instructie een programma doordat u acties kunt opgeven die onder verschillende omstandigheden zullen worden uitgevoerd. Break is een opdracht om een ​​instructie af te sluiten; deze wordt standaard uitgevoerd als er geen alternatief is geselecteerd.
voor ongeldige instellingen()
{
pinModus(3, UITVOER);
}
lege lus()
{
voor (int i=0; ik<= 255; i++){
analoogSchrijven(3, i);
vertraging(10);
}
}
Het for-construct wordt gebruikt om uitspraken tussen accolades te herhalen. Bijvoorbeeld het soepel dimmen van een LED. De for-lusheader bestaat uit drie delen: for (initialisatie; voorwaarde; verhoging) - initialisatie wordt één keer uitgevoerd, vervolgens wordt de voorwaarde gecontroleerd. Als de voorwaarde waar is, wordt de verhoging uitgevoerd. De lus herhaalt zich totdat de voorwaarde onwaar wordt.
terwijl lege lus()
{
terwijl (x< 10)
{
x = x + 1;
Serieel.println(x);
vertraging(200);
}
}
De while-instructie wordt gebruikt als een lus die wordt uitgevoerd zolang de voorwaarde tussen haakjes waar is. In het voorbeeld herhaalt de instructie while-lus de code tussen haakjes eindeloos totdat x kleiner is dan 10.
doe...terwijl lege lus()
{
Doen
{
x = x + 1;
vertraging(100);
Serieel.println(x);
}
terwijl (x< 10);
vertraging(900);
}
De do...while-lusinstructie werkt op dezelfde manier als de while-lus. Als de uitdrukking tussen haakjes echter waar is, gaat de lus door in plaats van dat deze de lus verlaat. Als x groter is dan 10, wordt in het bovenstaande voorbeeld de optelling voortgezet, maar met een pauze van 1000 ms.
pauze
doorgaan
schakelaar(x)
{
geval 1: digitalWrite (3, HOOG);
geval 2: digitalWrite (3, LAAG);
geval 3: breuk;
geval 4: doorgaan;
standaard: digitalWrite (4, HOOG);
}
Break wordt gebruikt om het verlaten van switch-, do-, for- en while-lussen te forceren zonder te wachten tot de lus is voltooid.
De continue-instructie slaat de resterende instructies in de huidige lusstap over.

Syntaxis

;
(puntkomma)

digitalWrite(3, HOOG);
Een puntkomma wordt gebruikt om het einde van een verklaring aan te geven. Het vergeten van een puntkomma aan het einde van een regel resulteert in een compilatiefout.
{}
(beugel)
ongeldige instellingen()
{
pinModus(3, INPUT);
}
Het openingshaakje “(” moet worden gevolgd door het sluithaakje “)”. Onovereenkomende haakjes kunnen leiden tot verborgen en onbegrijpelijke fouten bij het samenstellen van een schets.
//
(opmerking)
x = 5; // opmerking

Je hebt dus een processor. U begrijpt waarschijnlijk dat de processor op de een of andere manier kan worden geprogrammeerd om te doen wat u wilt. Om nuttig werk te kunnen doen, is het noodzakelijk om (a) een nuttig programma te schrijven en (b) dit ter uitvoering aan de processor te geven.

Over het algemeen maakt het niet uit wat voor processor je hebt: de nieuwste Intel Pentium in je laptop of een microcontroller op een Arduino-bord. Principes van het schrijven van een programma, d.w.z. programmeren, in beide gevallen hetzelfde. Het enige verschil is de snelheid en reikwijdte van de mogelijkheden voor het werken met andere apparaten.

Wat is een programma en waar schrijf je het?

De processor is, ondanks alle complexiteit van de productie, in wezen een vrij eenvoudig en duidelijk ding. Hij weet niet hoe hij moet denken. Hij kan alleen blindelings, byte voor byte, de instructies uitvoeren die hem zijn overhandigd. Een ruw voorbeeld van de volgorde van instructies kan worden gegeven:

InstructiebyteWat betekent het voor de processor
00001001 betekent: neem de volgende byte en sla deze op in cel nr. 1
00000110 ...dit is precies de volgende byte die we onthouden in cel nr. 1: het getal 5
00011001 betekent: trek één af van de waarde in cel nr. 1 en laat het bijgewerkte resultaat daar staan
00101001 betekent: vergelijk de waarde in cel nr. 1 met nul en als deze nul is, spring dan door zoveel bytes als aangegeven in de volgende byte
00000100 ...als het resultaat nul was, willen we 4 bytes naar de voorlaatste instructie springen
10000011
01000001 ...de letter “A” komt exact overeen met deze code
00101000 betekent dat we zoveel bytes terug willen springen als aangegeven in de volgende byte
00000110 ...we springen 6 bytes terug naar instructie nr. 3
10000011 betekent dat we het teken waarvan de code in de volgende byte is geschreven, willen weergeven
00100001 ...teken "!" Deze code komt exact overeen

Als gevolg van het uitvoeren van deze reeks instructies wordt de paniekerige zin “AAAH!” weergegeven op het scherm.

Heel veel code voor zo'n eenvoudig doel! Het is duidelijk dat als alle programma's rechtstreeks op deze manier zouden worden geschreven, de ontwikkeling van complexe producten eeuwen zou duren.

Waarom zijn programmeertalen nodig?

Om de taak een miljoen keer te vereenvoudigen, werden programmeertalen uitgevonden. Er zijn er veel, en zelfs van degenen die constant worden gehoord, kun je er snel een tiental of twee onthouden: Assembler, C, C++, C#, Java, Python, Ruby, PHP, Scala, JavaScript.

Programma's in deze talen staan ​​veel dichter bij de natuurlijke menselijke taal. En daarom zijn ze gemakkelijker, sneller en prettiger om te schrijven, en vooral: ze zijn veel eenvoudiger lezen: aan jou direct na het schrijven, aan jou een jaar later, of aan je collega.

Het probleem is dat dergelijke talen niet begrijpelijk zijn voor de processor en voordat je hem dit programma geeft, moet je dat doen compileren: vertalen vanuit natuurlijke taal naar dezelfde instructies in de vorm van nullen en enen. Dit wordt gedaan door programma's genaamd compilers. Elke taal heeft, tenzij deze op fantasieniveau blijft, zijn eigen compiler. Voor populaire talen zijn er meestal meerdere talen om uit te kiezen, van verschillende fabrikanten en voor verschillende platforms. De meeste ervan zijn gratis beschikbaar op internet.

Er zijn dus programma's in een taal die voor mensen volkomen begrijpelijk is: ze worden ook wel ‘broncode’ genoemd, simpelweg ‘code’ of ‘broncodes’. Ze worden naar eenvoudige tekstbestanden geschreven met behulp van elk teksteditor, zelfs met Kladblok. Vervolgens worden ze omgezet in sets van nullen en enen die begrijpelijk zijn voor de processor die de compiler gebruikt: de compiler ontvangt de broncode als invoer en creëert binair uitvoerbaar, degene die begrijpelijk is voor de processor.

Binaire bestanden zijn niet leesbaar en zijn doorgaans alleen bedoeld voor uitvoering door de processor. Ze kunnen van verschillende typen zijn, afhankelijk van waarvoor ze zijn ontvangen: .exe zijn programma's voor Windows, .hex zijn programma's voor uitvoering door een microcontroller van het Arduino-type, enz.

Waarom zijn er zoveel programmeertalen en wat is het verschil?

    Waarom? Omdat er veel mensen en bedrijven op aarde zijn, en velen geloofden dat zij het beste konden: handiger, duidelijker, sneller, slanker.

    Wat is het verschil: verschillende talen hebben een verschillende balans tussen schrijfsnelheid, leesbaarheid en uitvoeringssnelheid.

Laten we eens kijken naar hetzelfde programma dat in verschillende programmeertalen een liedje over 99 flessen bier op het scherm weergeeft.

Bijvoorbeeld de Perl-taal. Het is snel geschreven; het is onmogelijk om te begrijpen wat de programmeur bedoelde; langzaam uitgevoerd:

sub b( $n = 99 - @_ - $_ || Nee; "$n fles" . "s" x!!-- $n . "bier" ) ; $w = "aan de muur"; die kaart ( b. "$w,\N" . B. ",\n Haal er één neer, geef hem door,\n " . b(0) . "$w.} 0 .. 98

\n\n"

Java-taal. Het kost relatief veel tijd om te schrijven; gemakkelijk te lezen; wordt vrij snel uitgevoerd, maar neemt veel geheugen in beslag: klasse flessen (openbare statische leegte hoofd( Snaar klasse flessen (openbare statische leegte hoofd( argumenten) ( s = "s"; voor (int bieren= 99; bieren>- 1; ) ( s = "s"; Systeem s = "s";.out .print (biertjes + "fles" + s + "bier aan de muur, " ) ; .out .println (bieren + "fles" + s + "bier, " ) ;) ; s = "s"; als (bier== 0 ) ( .uit .print () ; s = "s";'Ga naar de winkel, koop nog wat' s = "s";.out .print (biertjes + "fles" + s + "bier aan de muur, " ) ; .out .println ("99 flesjes bier aan de muur.\n " s = "s";.exit(0); ) anders) ; } } }

'Neem er één mee en geef hem door',

); s = (-- bier == 1) ?"" : "S" ; .out .println (bieren + "fles" + s +" van bier aan de muur.\n " ; druk de rest van de vierde regel af mov ah, 9 int 21h cmp cx, 0; Geen bier meer? jne loopstart; zo niet, ga verder tot 20u; stoppen met MS-DOS; subroutine om het CX-register in decimalen af ​​te drukken printcx: mov di , offset numbufferend; Vul de buffer vanaf het einde in beweeg bijl, cx; zet het getal in AX zodat we het kunnen delen printcxloop: mov dx, 0; hoge-ordewoord van de teller - altijd 0 mov bx, 10 div bx; deel DX:AX door 10. AX=quotiënt, DX=rest voeg dl, "0" toe; converteer de rest naar een ASCII-teken mov[ds:di],dl; plaats het in de printbuffer cmp ax, 0; Nog meer cijfers om te berekenen? je printcxend; zo niet, eind dec di ; plaats het volgende cijfer vóór het huidige jmp printcxloop; lus printcxend: mov dx, di ; afgedrukt, beginnend bij het laatst berekende cijfer mov ah, 9 int 21h ret; Datalijn1 db "Flesjes bier aan de muur,", 13 , 10 , "$" line2_3 db "flessen bier," 13 , 10 , 'Neem er één mee en geef hem door',, 13 , 10 , "$" regel4 db

"Flesjes bier aan de muur."

, 13 , 10 , 13 , 10 , "$" numbuffer db 0 , 0 , 0 , 0 , 0 numbufferend db 0 , "$" code eindigt einde start

Hoe wordt Arduino geprogrammeerd?

Als we het hebben over Arduino of microcontrollers van Atmel, in welke taal kun je daar programma's voor schrijven? Het theoretische antwoord: welke dan ook. Maar in de praktijk beperkt de keuze zich tot de talen Assembler, C en C++. Dit komt door het feit dat ze, vergeleken met een desktopcomputer, over zeer beperkte middelen beschikken. Kilobytes geheugen, geen gigabytes. Megahertz op de processor, niet gigahertz. Dit is een prijs die moet worden betaald voor de lage kosten en de energie-efficiëntie.

Daarom hebben we een taal nodig die efficiënt kan compileren en uitvoeren. Dat wil zeggen, het wordt zo optimaal mogelijk vertaald in die nullen en enen uit instructies, zonder kostbare instructies en geheugen te verspillen. De bovengenoemde talen hebben dit soort efficiëntie. Door ze zelfs binnen de beperkte grenzen van de microcontrollerbronnen te gebruiken, kun je programma's met veel functies schrijven die snel werken.

Waarom worden C en C++ in dezelfde zin genoemd? C++ is een bovenbouw van C. Elk C-programma is een geldig C++-programma, maar niet andersom. Je kunt beide gebruiken. Meestal zul je niet eens nadenken over wat je gebruikt bij het oplossen van het huidige probleem.

Dichter bij het punt: het eerste programma

Laten we het eerste programma voor Arduino schrijven en het bord het laten uitvoeren. U moet een tekstbestand maken met de broncode, dit compileren en het resulterende binaire bestand naar de microcontroller op het bord sturen.

Laten we in volgorde gaan. Laten we de broncode schrijven. U kunt het in Kladblok of een andere editor schrijven. Om het werk echter gemakkelijker te maken, zijn er zogenaamde ontwikkelomgevingen (IDE: Integrated Development Environment). In de vorm van één enkele tool bieden ze een teksteditor met accenten en hints, een compiler die met een knop wordt gestart, en vele andere geneugten. Voor Arduino wordt deze omgeving Arduino IDE genoemd. Het is gratis te downloaden op de officiële website.

Installeer de omgeving en voer deze uit. In het venster dat verschijnt, zie je: de meeste ruimte wordt gegeven aan de teksteditor. De code wordt erin geschreven. Code wordt in de Arduino-wereld ook wel genoemd schetsen.

Laten we dus een schets schrijven die niets doet. Dat wil zeggen, het minimaal mogelijke correcte programma in C++, dat simpelweg tijd verspilt.

void setup() ( ) void loop() ( )

Laten we ons voorlopig niet concentreren op de betekenis van de geschreven code. Laten we het compileren. Om dit te doen, is er in de Arduino IDE een knop "Verifiëren" op de werkbalk. Klik erop en binnen een paar seconden is het binaire bestand klaar. Dit wordt aangekondigd door de inscriptie "Klaar met compileren" onder de teksteditor.

Als resultaat hebben we een binair bestand met de extensie .hex, dat door de microcontroller kan worden uitgevoerd.

Nu moet je het in de Arduino stoppen. Dit proces wordt opstarten, flashen of flooden genoemd. Om te uploaden naar de Arduino IDE is er een knop "Uploaden" op de werkbalk. Sluit de Arduino via een USB-kabel aan op uw computer, klik op “Uploaden” en binnen enkele ogenblikken wordt het programma naar de Arduino geüpload. In dit geval wordt het programma dat er eerder was, gewist.

Het bericht “Done Uploading” geeft een succesvolle firmware-installatie aan.

Als u een fout tegenkomt tijdens het downloaden, zorg er dan voor dat:

    Selecteer in het menu Extra → Bord de poort waarop de Arduino daadwerkelijk is aangesloten. Je kunt de USB-kabel erin en eruit steken om te zien welke poort verschijnt en verdwijnt: dit is de Arduino.

    U hebt de benodigde stuurprogramma's voor Arduino geïnstalleerd. Dit is vereist voor Windows, niet vereist onder Linux, en alleen vereist voor oudere borden vóór Arduino Duemilanove op MacOS.

Gefeliciteerd! Je bent helemaal van een blanco lei naar een werkend programma in Arduino gegaan. Ze doet misschien niets, maar dit is al een succes.

Deze sectie is gewijd aan boeken uit de wereld van Arduino. Voor beginners en professionals.

Alle boeken en materialen worden uitsluitend ter informatie aangeboden; na het lezen vragen wij u een digitaal of papieren exemplaar aan te schaffen.

Programma's voor het lezen van boeken:

  • Boeken in PDF-formaat: Adobe Acrobat Reader of PDF Reader.
  • Boeken in DJVU-formaat: of Djvu Reader.

Praktische Arduino-encyclopedie

Het boek vat gegevens samen over de belangrijkste componenten van ontwerpen gebaseerd op het Arduino-platform, dat wordt vertegenwoordigd door de meest populaire versie van ArduinoUNO van vandaag of talrijke soortgelijke klonen. Het boek bestaat uit 33 experimentele hoofdstukken. Elk experiment onderzoekt de werking van een Arduino-bord met een specifieke elektronische component of module, beginnend bij de eenvoudigste tot de meest complexe, dit zijn onafhankelijke gespecialiseerde apparaten. Elk hoofdstuk bevat een lijst met gegevens die nodig zijn om het experiment in de praktijk uit te voeren. Voor elk experiment wordt een visueel diagram van de verbinding van onderdelen verstrekt in het formaat van de geïntegreerde Fritzing-ontwikkelomgeving. Het geeft een duidelijke en nauwkeurige weergave van hoe de samengestelde schakeling eruit zou moeten zien. Hieronder vindt u theoretische informatie over de gebruikte component of module. Elk hoofdstuk bevat schetscode (programma) in de ingebouwde Arduino-taal met commentaar.

Elektronica. Je eerste quadcopter. Theorie en praktijk

De praktische aspecten van het zelf vervaardigen en bedienen van quadcopters worden gedetailleerd beschreven. Er wordt rekening gehouden met alle stadia: van de selectie van structurele materialen en de selectie van componenten met minimalisering van de financiële kosten tot de softwareconfiguratie en reparatie na een ongeval. Er wordt aandacht besteed aan de fouten die beginnende vliegtuigmodelbouwers vaak maken. De theoretische grondslagen van de vlucht van multi-rotorsystemen en de basisconcepten van het werken met de Arduino IDE worden in een toegankelijke vorm gegeven. Er wordt een korte beschrijving gegeven van het ontwerp en het werkingsprincipe van de GPS- en Glonass-systemen, evenals van moderne gepulseerde boordvoedingen en lithium-polymeerbatterijen. Het werkingsprincipe en het proces van het opzetten van OSD-systemen, telemetrie, draadloze Bluetooth-kanalen en populaire Ublox GPS-navigatiemodules worden in detail beschreven. Het ontwerp en de werkingsprincipes van geïntegreerde sensoren en de vluchtcontroller worden beschreven. Er worden aanbevelingen gegeven voor het selecteren van FPV-apparatuur op instapniveau, en er wordt een overzicht gegeven van programma's voor computers en smartphones die worden gebruikt bij het opzetten van quadcopterapparatuur.

Projecten met behulp van de Arduino-controller (2e ed.)

Het boek behandelt de belangrijkste Arduino-kaarten en uitbreidingskaarten (schilden) die functionaliteit aan het moederbord toevoegen. De Arduino IDE-programmeertaal en -omgeving worden in detail beschreven. Projecten waarbij controllers uit de Arduino-familie worden gebruikt, worden zorgvuldig geanalyseerd. Dit zijn projecten op het gebied van robotica, creatie van weerstations, smart home, verkoopautomaten, televisie, internet, draadloze communicatie (bluetooth, radiobesturing).

De tweede editie voegt spraakbesturingsprojecten toe met behulp van Arduino, het werken met adresseerbare RGB-strips en het besturen van iRobot Create op Arduino. Projecten waarbij gebruik wordt gemaakt van het Arduino Leonardo-bord worden overwogen. Er worden stapsgewijze lessen voor beginnende ontwikkelaars aangeboden.

Arduino leren: hulpmiddelen en technieken voor technische tovenarij

Het boek is gewijd aan het ontwerp van elektronische apparaten op basis van het Arduino-microcontrollerplatform. Biedt basisinformatie over Arduino-hardware en -software. De principes van programmeren in de geïntegreerde Arduino IDE worden uiteengezet. Laat zien hoe u elektrische circuits analyseert, technische beschrijvingen leest en de juiste onderdelen selecteert voor uw eigen projecten. Er worden voorbeelden van gebruik en beschrijvingen gegeven van verschillende sensoren, elektromotoren, servo's, indicatoren, bekabelde en draadloze interfaces voor gegevensoverdracht. Elk hoofdstuk vermeldt de gebruikte componenten, biedt bedradingsschema's en beschrijft de programmaoverzichten in detail. Er zijn links naar de informatie-ondersteuningssite van het boek. Het materiaal is gericht op het gebruik van eenvoudige en goedkope componenten voor experimenten thuis.

Snel beginnen. Eerste stappen om Arduino onder de knie te krijgen

Boek ARDUINO Snelle start. Eerste stappen naar het beheersen van ARDUINO bevat alle informatie om kennis te maken met het Arduino-bord, evenals 14 praktische experimenten met verschillende elektronische componenten en modules.

Snelle start met Arduino-kit. De opgedane kennis zal het in de toekomst mogelijk maken om uw eigen projecten te creëren en deze eenvoudig uit te voeren.

Arduino, sensoren en netwerken voor apparaatcommunicatie (2e ed.)

Er worden 33 projecten besproken op basis van het Arduino-microcontrollerbord, die laten zien hoe elektronische apparaten gegevens met elkaar kunnen uitwisselen en op commando's kunnen reageren. Laat zien hoe u de instellingen van uw airconditioner in huis kunt wijzigen door deze vanaf uw smartphone te ‘bellen’; hoe u uw eigen gamecontrollers kunt maken die via het netwerk communiceren; hoe je ZigBee, Bluetooth, infrarood en reguliere radio apparaten kunt gebruiken om draadloos informatie te ontvangen van diverse sensoren etc. Er wordt gekeken naar de programmeertalen Arduino, Processing en PHP.

Na het lezen van het boek ‘Arduino, sensoren en netwerken voor het verbinden van apparaten’ leer je hoe je netwerken van slimme apparaten kunt creëren die gegevens uitwisselen en op commando’s reageren. Het boek is ideaal voor mensen die hun creatieve ideeën in de praktijk willen brengen. Je hoeft geen speciale technische kennis of vaardigheden te hebben op het gebied van elektronica. Het enige dat je nodig hebt om projecten te implementeren, is een boek, ideeën en een goedkoop bouwpakket met een Arduino-controller en enkele netwerkmodules en sensoren.

Arduino-essentials

De Arduino is een open source microcontroller gebouwd op een enkele printplaat die sensorische input uit de omgeving kan ontvangen en interactieve fysieke objecten kan besturen. Het is tevens een ontwikkelomgeving waarmee je software naar het bord kunt schrijven, en is geprogrammeerd in de programmeertaal Arduino. De Arduino is het populairste microcontrollerplatform geworden en daarom worden er honderden projecten mee ontwikkeld, van basis- tot geavanceerde niveaus.

In dit boek maak je eerst kennis met de belangrijkste bordmodellen van de Arduino-familie. Vervolgens leer je de Arduino-softwareomgeving inrichten. Vervolgens gaat u werken met digitale en analoge in- en uitgangen, beheert u de tijd nauwkeurig, brengt u seriële communicatie tot stand met andere apparaten in uw projecten en controleert u zelfs interrupts om uw project responsiever te maken. Ten slotte krijgt u een compleet voorbeeld uit de praktijk te zien, waarbij u alle concepten gebruikt die u tot nu toe in het boek hebt geleerd. Hiermee kunt u uw eigen microcontrollerprojecten ontwikkelen.

Arduino-ontwikkelingskookboek

Als je programmeer- en elektronicaprojecten wilt bouwen die interactie hebben met de omgeving, biedt dit boek je tientallen recepten om je door alle belangrijke toepassingen van het Arduino-platform te leiden. Het is bedoeld voor programmeer- of elektronicaliefhebbers die het beste van twee werelden willen combineren om interactieve projecten te bouwen.

Het single-chip computerbord Arduino is klein van formaat maar enorm van omvang en kan worden gebruikt voor elektronische projecten, van robotica tot huisautomatisering. Arduino-gebruikers zijn het populairste embedded platform ter wereld en variëren van schoolkinderen tot experts uit de industrie, die het allemaal in hun ontwerpen integreren.

Het Arduino Development Cookbook bevat duidelijke en stapsgewijze recepten die u de gereedschapskist met technieken bieden om elk Arduino-project te bouwen, van eenvoudig tot geavanceerd. Elk hoofdstuk geeft je meer essentiële bouwstenen voor Arduino-ontwikkeling, van het leren programmeren van knoppen tot het bedienen van motoren, het beheren van sensoren en het besturen van displays. Overal vindt u tips en trucs om u te helpen uw ontwikkelingsproblemen op te lossen en uw Arduino-project naar een hoger niveau te tillen!

Arduino-schetsen: hulpmiddelen en technieken voor programmeerwizards

Beheers het programmeren van Arduino met deze praktische handleiding Arduino Sketches is een praktische gids voor het programmeren van de steeds populairder wordende microcontroller die gadgets tot leven brengt. Dit boek is toegankelijk voor technologieliefhebbers op elk niveau en biedt deskundige instructies over Arduino-programmering en praktische oefeningen om uw vaardigheden te testen. Je vindt er informatie over de verschillende Arduino-borden, gedetailleerde uitleg van elke standaardbibliotheek en begeleiding bij het helemaal opnieuw maken van bibliotheken, plus praktische voorbeelden die het dagelijkse gebruik demonstreren van de vaardigheden die je leert.

Werk aan steeds geavanceerdere programmeerprojecten en krijg meer controle terwijl u hardwarespecifieke bibliotheken leert kennen en hoe u uw eigen bibliotheken kunt bouwen. Profiteer optimaal van de Arduino API en leer de tips en trucs waarmee u uw vaardigheden kunt verbreden. Het Arduino-ontwikkelbord wordt geleverd met een ingebouwde processor en aansluitingen waarmee u snel randapparatuur kunt aansluiten zonder gereedschap of soldeer. Het is eenvoudig te bouwen, eenvoudig te programmeren en vereist geen gespecialiseerde hardware. Voor de hobbyist is het een droom die uitkomt, vooral omdat de populariteit van dit open-sourceproject zelfs de grote technologiebedrijven inspireert om compatibele producten te ontwikkelen.

Arduino- en LEGO-projecten

We weten allemaal hoe geweldig LEGO is, en steeds meer mensen ontdekken hoeveel geweldige dingen je kunt doen met Arduino. In Arduino en LEGO Projects laat Jon Lazar zien hoe je twee van de coolste dingen ter wereld kunt combineren om leuke gadgets te maken, zoals een Magic Lantern RF-lezer, een LEGO-muziekdoos met sensoren en zelfs een Arduino-gestuurde LEGO-treinset.

* Leer dat SNOT echt cool is (het betekent dat Studs Not on Top)
* Zie gedetailleerde uitleg en afbeeldingen van hoe alles in elkaar past
* Leer hoe Arduino in elk project past, inclusief code en uitleg

Of je nu indruk wilt maken op je vrienden, de kat wilt irriteren, of gewoon achterover wilt leunen en genieten van de geweldigheid van je creaties, Arduino en LEGO Projects laten je precies zien wat je nodig hebt en hoe je alles in elkaar kunt zetten.

Arduino-workshop

De Arduino is een goedkoop, flexibel, open source microcontrollerplatform dat is ontworpen om het voor hobbyisten gemakkelijk te maken om elektronica in zelfgemaakte projecten te gebruiken. Met een vrijwel onbeperkt aantal invoer- en uitvoeruitbreidingen, sensoren, indicatoren, displays, motoren en meer biedt de Arduino u talloze manieren om apparaten te maken die communiceren met de wereld om u heen.

In Arduino Workshop leer je hoe deze add-ons werken en hoe je ze in je eigen projecten kunt integreren. Je begint met een overzicht van het Arduino-systeem, maar gaat snel verder met de behandeling van verschillende elektronische componenten en concepten. Praktijkprojecten door het hele boek versterken wat u hebt geleerd en laten u zien hoe u die kennis kunt toepassen. Naarmate uw begrip groeit, worden de projecten steeds complexer en verfijnder.

C-programmering voor Arduino

Het bouwen van je eigen elektronische apparaten is fascinerend leuk en dit boek helpt je de wereld van autonome maar verbonden apparaten te betreden. Na een introductie tot het Arduino-bord leer je uiteindelijk een aantal vaardigheden waarmee je jezelf kunt verrassen.

Fysiek computergebruik stelt ons in staat interactieve fysieke systemen te bouwen door software en hardware te gebruiken om de echte wereld te voelen en erop te reageren. C Programming voor Arduino laat je zien hoe je krachtige mogelijkheden kunt benutten, zoals detectie, feedback, programmeren en zelfs bedraden, en hoe je je eigen autonome systemen kunt ontwikkelen.

C Programming voor Arduino bevat alles wat je nodig hebt om direct te beginnen met het bedraden en coderen van je eigen elektronische project. Je leert C en hoe je verschillende soorten firmware voor je Arduino codeert, en gaat vervolgens verder met het ontwerpen van kleine, typische systemen om te begrijpen hoe je omgaat met knoppen, leds, LCD-schermen, netwerkmodules en nog veel meer.

Arduino voor beginnende tovenaars

Dit boek gaat over het Arduino-platform, dat elke dag populairder wordt, en een heel leger van thuisgebaseerde experimentatoren, amateurontwerpers en hackers beginnen het te gebruiken om zowel prachtige als compleet gekke projecten tot leven te brengen. Met behulp van Arduino kan elke humanist kennis maken met de basisprincipes van elektronica en programmeren en snel beginnen met het ontwikkelen van zijn eigen modellen zonder er aanzienlijke materiële en intellectuele middelen aan te besteden. Arduino combineert spelen en leren, waardoor je impulsief, verbeeldingskracht en nieuwsgierigheid iets waardevols en interessants kunt creëren. Dit platform empowert de creatieveling op het gebied van elektronica, zelfs als hij er niets vanaf weet! Experimenteer en heb plezier!

Programmeren van Arduino/Freeduino-microcontrollerkaarten

Programmering van microcontrollerkaarten Arduino/Freduino komt aan bod. De structuur en werking van microcontrollers, de Arduino-programmeeromgeving, de benodigde tools en componenten voor het uitvoeren van experimenten worden beschreven. De basisprincipes van het programmeren van Arduino-borden worden in detail besproken: programmastructuur, commando's, operators en functies, analoge en digitale gegevensinvoer/uitvoer. De presentatie van het materiaal gaat vergezeld van ruim 80 voorbeelden van de ontwikkeling van verschillende apparaten: een temperatuurrelais, een schoolklok, een digitale voltmeter, een alarm met bewegingssensor, een straatverlichtingsschakelaar, enz. Voor elk project wordt een Er wordt een lijst met benodigde componenten, een bedradingsschema en programmalijsten verstrekt. De FTP-server van de uitgever bevat broncodes voor voorbeelden uit het boek, technische beschrijvingen, referentiegegevens, ontwikkelomgeving, hulpprogramma's en stuurprogramma's.

Arduino- en Kinect-projecten

Als je wat aan Arduino hebt gesleuteld en je hebt afgevraagd hoe je de Kinect zou kunnen integreren (of andersom), dan is dit boek iets voor jou. De auteurs van Arduino en Kinect Projects laten je zien hoe je 10 geweldige, creatieve projecten kunt maken, van eenvoudig tot complex. U zult ook ontdekken hoe u Processing kunt integreren in uw projectontwerp, een taal die sterk lijkt op de Arduino-taal.

De tien projecten zijn zorgvuldig ontworpen om bij elke stap voort te bouwen op uw vaardigheden. Beginnend met het Arduino- en Kinect-equivalent van 'Hallo, wereld', nemen de auteurs je mee door een breed scala aan projecten die de enorme reeks mogelijkheden laten zien die ontstaan ​​wanneer Kinect en Arduino worden gecombineerd.

Atmosferische monitoring met Arduino

Makers over de hele wereld bouwen goedkope apparaten om het milieu te monitoren, en met deze praktische gids kunt u dat ook doen. Door middel van beknopte tutorials, illustraties en duidelijke stapsgewijze instructies leer je hoe je gadgets kunt maken om de kwaliteit van onze atmosfeer te onderzoeken, met behulp van Arduino en verschillende goedkope sensoren.

Detecteer schadelijke gassen, stofdeeltjes zoals rook en smog, en nevel in de hogere atmosfeer: stoffen en omstandigheden die vaak onzichtbaar zijn voor uw zintuigen. Je ontdekt ook hoe je de wetenschappelijke methode kunt gebruiken om nog meer te leren van je atmosferische tests.

* Maak kennis met Arduino met een snelle elektronica-inleiding
* Bouw een troposferische gassensor om koolmonoxide, LPG, butaan, methaan, benzeen en vele andere gassen te detecteren
* Maak een LED-fotometer om te meten hoeveel blauwe, groene en rode lichtgolven van de zon de atmosfeer binnendringen
* Bouw een LED-gevoeligheidsdetector en ontdek voor welke lichtgolflengten elke LED in uw fotometer ontvankelijk is
* Leer hoe u met het meten van lichtgolflengten de hoeveelheid waterdamp, ozon en andere stoffen in de atmosfeer kunt bepalen

Arduino Meesterschapsgids

De publicatie is een Russische vertaling van een van de documenten over het werken met de ARDX (Starter Kit for Arduino) kit, bedoeld voor experimenten met Arduino. De documentatie beschrijft 12 eenvoudige projecten gericht op de eerste kennismaking met de Arduino-module.

Het belangrijkste doel van deze set is om een ​​interessante en nuttige tijd te hebben. En daarnaast beheers je een verscheidenheid aan elektronische componenten door kleine, eenvoudige en interessante apparaten samen te stellen. U ontvangt een werkend apparaat en een hulpmiddel waarmee u het werkingsprincipe kunt begrijpen.

Grote encyclopedie van elektriciteit

Het meest complete boek tot nu toe, waarin je veel nuttige informatie vindt, beginnend bij de basis. Het boek onthult alle belangrijke problemen die u kunt tegenkomen bij het werken met elektriciteit en elektrische apparatuur. Beschrijving van soorten kabels, draden en snoeren, installatie en reparatie van elektrische bedrading en nog veel meer.

Het boek “The Great Electrical Encyclopedia” onthult alle belangrijke problemen die u kunt tegenkomen bij het werken met elektriciteit en elektrische apparatuur. Beschrijving van soorten kabels, draden en snoeren, installatie en reparatie van elektrische bedrading en nog veel meer. Dit boek zal een nuttig naslagwerk zijn voor zowel de gespecialiseerde elektricien als de thuisvakman.

Dit boek zal een nuttig naslagwerk zijn voor zowel de gespecialiseerde elektricien als de thuisvakman.

Arduino programmeur's notebook

Dit notebook moet worden beschouwd als een handige, eenvoudig te gebruiken gids voor de commandostructuur en syntaxis van de programmeertaal van de Arduino-controller. Om de eenvoud te behouden zijn er enkele uitzonderingen gemaakt, die de gids verbeteren wanneer deze door beginners wordt gebruikt als extra informatiebron - samen met andere websites, boeken, seminars en lessen. Deze oplossing is ontworpen om het gebruik van Arduino voor stand-alone taken te benadrukken en sluit bijvoorbeeld het complexere gebruik van arrays of het gebruik van een seriële verbinding uit.

Beginnend met een beschrijving van de structuur van een Arduino C-programma, beschrijft dit notebook de syntaxis van de meest voorkomende elementen van de taal en illustreert het gebruik ervan in voorbeelden en codefragmenten. De notebook bevat voorbeelden van Arduino-kernbibliotheekfuncties, en de bijlage biedt voorbeeldcircuits en initiële programma's.

Analoge microcontroller-interfaces

Deze publicatie is een praktische gids voor het gebruik van verschillende interfaces voor het aansluiten van analoge randapparatuur op computers, microprocessors en microcontrollers.

De bijzonderheden van het gebruik van interfaces zoals I2C, SPI/Microware, SMBus, RS-232/485/422, 4-20 mA stroomlus, etc. worden onthuld. Er wordt een overzicht gegeven van een groot aantal moderne sensoren: temperatuur, optisch , CCD, magnetisch, rekstrookjes, enz. e. Controllers, ADC's en DAC's, hun elementen - UVH, ION, codecs, encoders worden in detail beschreven.

Er wordt aandacht besteed aan de actuatoren - motoren, thermostaten - en de kwesties van hun besturing als onderdeel van automatische besturingssystemen van verschillende typen (relais, proportioneel en PID). Het boek is voorzien van illustraties die duidelijk de hardware- en softwarekenmerken van het gebruik van elementen van analoge en digitale technologie weergeven. Het zal niet alleen interessant zijn voor beginnende radioamateurs, maar ook voor specialisten met ervaring in het werken met analoge en digitale apparatuur, maar ook voor studenten van technische hogescholen en universiteiten.

Gids voor het gebruik van AT-opdrachten voor GSM/GPRS-modems

Deze handleiding geeft een gedetailleerde beschrijving van de complete set AT-opdrachten voor het werken met Wavecom-modems. Er worden speciale AT-opdrachten gegeven voor het werken met IP-stackprotocollen die zijn geïmplementeerd in software in Wavecom-modems.

Het boek is bedoeld voor ontwikkelaars die software- en hardware-softwareapplicaties maken op basis van Wavecom-producten. De handleiding wordt ook aanbevolen voor technici die verantwoordelijk zijn voor de bediening van systemen voor verschillende doeleinden die GSM-netwerken gebruiken als datatransmissiekanaal. Een uitstekend naslagwerk voor studenten die het onderwerp datatransmissie in GSM-netwerken gebruiken in hun studie- of diplomawerk.

Vertel ons over ons

Bericht

Als je ervaring hebt met het werken met Arduino en echt tijd hebt voor creativiteit, nodigen we iedereen uit om auteur te worden van artikelen die op ons portaal zijn gepubliceerd. Dit kunnen lessen zijn of verhalen over je experimenten met Arduino. Beschrijving van diverse sensoren en modules. Tips en instructies voor beginners. Schrijf en post uw artikelen op .

Arduino is erg populair onder alle designliefhebbers. Ook degenen die er nog nooit van hebben gehoord, moeten er kennis mee maken.

Wat is Arduino?

Hoe kun je Arduino kort omschrijven? De beste woorden zouden zijn: Arduino is een hulpmiddel dat kan worden gebruikt om verschillende elektronische apparaten te maken. In wezen is dit een echt hardwarecomputerplatform voor algemene doeleinden. Het kan zowel worden gebruikt voor het construeren van eenvoudige circuits als voor het implementeren van vrij complexe projecten.

De ontwerper is gebaseerd op de hardware, een invoer-uitvoerbord. Voor het programmeren van het bord worden talen gebruikt die gebaseerd zijn op C/C++. Ze worden respectievelijk Processing/Wiring genoemd. Van groep C hebben ze extreme eenvoud geërfd, waardoor ze door iedereen heel snel onder de knie kunnen worden, en het toepassen van kennis in de praktijk geen groot probleem is. Om het werkgemak te begrijpen, wordt er vaak gezegd dat Arduino voor beginnende wizard-ontwerpers is. Zelfs kinderen kunnen Arduino-borden begrijpen.

Wat kun je erop verzamelen?

De toepassingen van Arduino zijn behoorlijk divers; het kan zowel voor de eenvoudigste voorbeelden worden gebruikt, die aan het einde van het artikel worden aanbevolen, als voor vrij complexe mechanismen, waaronder manipulatoren, robots of productiemachines. Sommige vakmensen slagen erin dergelijke systemen te gebruiken om tablets, telefoons, bewakings- en beveiligingssystemen voor thuis, slimme thuissystemen of gewoon computers te maken. Arduino-projecten voor beginners, waarmee zelfs mensen zonder ervaring aan de slag kunnen, staan ​​aan het einde van het artikel. Ze kunnen zelfs worden gebruikt om primitieve virtual reality-systemen te creëren. Allemaal dankzij de redelijk veelzijdige hardware en mogelijkheden die Arduino-programmering biedt.

Waar kan ik de componenten kopen?

Componenten gemaakt in Italië worden als origineel beschouwd. Maar de prijs van dergelijke kits is niet laag. Daarom maken een aantal bedrijven of zelfs individuen ambachtelijke methoden van Arduino-compatibele apparaten en componenten, die gekscherend productieklonen worden genoemd. Bij het kopen van dergelijke klonen kan niet met zekerheid worden gezegd dat ze zullen werken, maar de wens om geld te besparen eist zijn tol.

Componenten kunnen worden gekocht als onderdeel van kits of afzonderlijk. Er zijn zelfs kant-en-klare kits voor het assembleren van auto's, helikopters met verschillende soorten besturingen of schepen. Een set zoals hierboven afgebeeld, gemaakt in China, kost $ 49.

Meer over de uitrusting

Het Arduino-bord is een eenvoudige AVR-microcontroller, die is geflashed met een bootloader en over de minimaal vereiste USB-UART-poort beschikt. Er zijn nog andere belangrijke componenten, maar binnen de reikwijdte van dit artikel zou het beter zijn om alleen op deze twee componenten te focussen.

Ten eerste over de microcontroller, een mechanisme gebouwd op een enkel circuit waarin het ontwikkelde programma zich bevindt. Het programma kan worden beïnvloed door op knoppen te drukken, signalen te ontvangen van de componenten van de creatie (weerstanden, transistors, sensoren, enz.), enz. Bovendien kunnen de sensoren heel verschillend zijn in hun doel: verlichting, versnelling, temperatuur, afstand, druk, obstakels enz. Eenvoudige onderdelen kunnen worden gebruikt als weergaveapparaten, van LED's en tweeters tot complexe apparaten, zoals grafische displays. De kwaliteit die in aanmerking wordt genomen zijn motoren, kleppen, relais, servo's, elektromagneten en vele andere, het zou heel, heel lang duren om ze op te noemen. De MK werkt rechtstreeks met sommige van deze lijsten, met behulp van verbindingsdraden. Voor sommige mechanismen zijn adapters nodig. Maar als je eenmaal begint met ontwerpen, zal het moeilijk voor je zijn om jezelf los te rukken. Laten we het nu hebben over Arduino-programmering.

Meer informatie over het bordprogrammeringsproces

Een programma dat al klaar is om op een microcontroller te draaien, wordt firmware genoemd. Er kan één project of Arduino-projecten zijn, dus het is raadzaam om elke firmware in een aparte map op te slaan om het proces van het vinden van de benodigde bestanden te versnellen. Het wordt op het MK-kristal geflitst met behulp van gespecialiseerde apparaten: programmeurs. En hier heeft Arduino één voordeel: er is geen programmeur voor nodig. Alles is gedaan zodat het programmeren van Arduino voor beginners niet moeilijk is. De geschreven code kan via een USB-kabel in de MK worden geladen. Dit voordeel wordt niet bereikt door een vooraf gebouwde programmeur, maar door speciale firmware - een bootloader. De bootloader is een speciaal programma dat onmiddellijk na het verbinden start en luistert of er commando's zijn, of het kristal moet flashen, of er Arduino-projecten zijn of niet. Er zijn verschillende zeer aantrekkelijke voordelen aan het gebruik van een bootloader:

  1. Met slechts één communicatiekanaal, wat geen extra tijdskosten met zich meebrengt. Voor Arduino-projecten hoef je dus niet veel verschillende draden aan te sluiten en er zal verwarring ontstaan ​​bij het gebruik ervan. Eén USB-kabel is voldoende voor een succesvolle werking.
  2. Bescherming tegen kromme handen. Het is vrij eenvoudig om de microcontroller in een stenen staat te brengen met behulp van directe firmware; je hoeft niet hard te werken. Als je met een bootloader werkt, heb je geen toegang tot potentieel gevaarlijke instellingen (uiteraard met behulp van een ontwikkelingsprogramma, anders kan alles kapot gaan). Daarom is Arduino voor beginners niet alleen bedoeld vanuit het oogpunt dat het begrijpelijk en handig is, maar u kunt ook ongewenste financiële kosten vermijden die verband houden met de onervarenheid van de persoon die ermee werkt.

Projecten om van start te gaan

Als je een kit, een soldeerbout, hars en soldeer hebt aangeschaft, moet je niet meteen zeer complexe structuren vormgeven. Natuurlijk kun je ze maken, maar de kans op succes in Arduino voor beginners is bij complexe projecten vrij laag. Om je vaardigheden te trainen en te verbeteren, kun je proberen een paar eenvoudigere ideeën te implementeren die je zullen helpen de interactie en werking van Arduino te begrijpen. Als eerste stappen in het werken met Arduino voor beginners kunnen wij u adviseren om het volgende te overwegen:

  1. Maak er een die werkt dankzij Arduino.
  2. Een aparte knop aansluiten op Arduino. In dit geval kunt u ervoor zorgen dat de knop de gloed van de LED vanaf punt nr. 1 kan aanpassen.
  3. Potentiometer-aansluiting.
  4. Servo-besturing.
  5. Aansluiten en werken met een driekleurige LED.
  6. Het piëzo-elektrische element aansluiten.
  7. Een fotoresistor aansluiten.
  8. Een bewegingssensor aansluiten en signalen geven over de werking ervan.
  9. Een vochtigheids- of temperatuursensor aansluiten.

Projecten voor de toekomst

Het is onwaarschijnlijk dat u geïnteresseerd bent in Arduino om individuele LED's aan te sluiten. Hoogstwaarschijnlijk wordt u aangetrokken door de mogelijkheid om uw eigen auto of vliegende draaitafel te maken. Deze projecten zijn moeilijk te implementeren en vergen veel tijd en doorzettingsvermogen, maar eenmaal voltooid krijg je wat je wilt: waardevolle Arduino-ontwerpervaring voor beginners.