Cum să înveți să programezi cu Arduino de la zero și fără cunoștințe anterioare, 100% gratuit? Ghid pas cu pas

Ultima actualizare: 03/09/2022
Cum să înveți să programezi cu Arduino de la zero și fără cunoștințe anterioare 100% gratuit

Las plăci arduino Sunt dispozitive electronice versatile, foarte populare în rândul utilizatorilor.Acest lucru se datorează costului său redus și tuturor caracteristicilor pe care le oferă. Unul dintre cele mai remarcabile avantaje ale sale este ușurința în utilizare oferită de mediul său de programare. 

Prin urmare, dacă doriți să realizați orice proiect, Arduino IDE Nu va fi o problemă pentru tine, chiar dacă ai puține cunoștințe de informatică.

Dar asta nu înseamnă că nu ar trebui să cunoști toate secretele programării Arduino. Veți găsi aceste informații mai jos, așa că vă invităm să continuați să citiți.

Ce este programarea Arduino și care sunt cele mai importante elemente fundamentale ale acesteia?

Ce este programarea Arduino și care sunt cele mai importante elemente fundamentale ale acesteia?

Primul lucru pe care ar trebui să-l știi este că Arduino este o placă mică cu circuite digitale integrate, folosită pentru a construi o mare varietate de dispozitive. Pentru a face acest lucru, trebuie să programezi această placă folosind... cod care este executat într-un mediu numit IDE. În această aplicație de dezvoltare multiplatformă, Liniile de cod de programare sunt introduse în IDE. pentru a automatiza sarcinile pe care le va îndeplini Arduino.

Acest lucru este posibil datorită citirilor efectuate de senzori, care sunt apoi transmise actuatoarelor proiectului digital. Un exemplu clar în acest sens ar fi Construirea unui semafor cu ArduinoPentru a face acest lucru, este necesar (explicat în termeni generali) să scrieți codurile, să conectați diferitele LED-uri la pinii digitali și analogici, Aplicați curent electric și așteptați ca placa să interacționeze cu mediul înconjurător..

IDE-ul este un software simplu care necesită câteva instrumente pentru a compila programul și a-l elimina din memorie. Procesorul este software-ul care nu mai este folosit. Unul dintre aceste instrumente este schița, care este atribuită fiecărui proiect pe care doriți să îl creați (de aceea schița este adesea numită proiect). Este important să țineți cont de folderul care va conține schița. Trebuie să aparțină unui director care trebuie să aibă același nume ca și proiectul.Altfel, fișierul nu va fi recunoscut.

Structura unui proiect ar trebui să înceapă întotdeauna în același mod:

void setup() { // Aici începi să scrii codul care va fi rulat } void loop() { // Aceasta permite codului să ruleze într-o buclă }

Acest lucru este posibil include blocurile de cod și face ca acestea să se repete continuu pentru a menține instrucțiunile și declarațiile programului. Este important să clarificăm asta înființat() Va fi întotdeauna funcția responsabilă de colectarea tuturor datelor pentru configurare și buclă() Permite repetarea constantă a programului, astfel încât proiectul să aibă sens.

Toate cele de mai sus pot fi stocate într-o bibliotecă astfel încât acest set de funcții să poată fi bine definit de către programator și utilizat fără a fi nevoie să se restabiliască fiecare dintre pașii de cod.

În plus, IDE-ul vă permite să introduceți comentarii în programare pentru a stabili o declarație de funcție sau pentru a introduce biblioteca sau programul.Pentru a realiza acest lucru, este necesar să se stabilească niște reguli care să permită ignorarea comentariilor scurte sau lungi. Arduino. Tot ce se găsește Secțiunea dintre /* și */ nu este luată în considerare prin intermediul mediului de programare.

De exemplu:

/*

Internet Paso a Paso Curs Arduino * Acesta este un program de bază pentru semaforizare, care vă ajută să înțelegeți diferitele comenzi și argumente ale unei plăci Arduino. Va aprinde un LED roșu pentru o secundă, apoi un LED galben în timp ce cel roșu se stinge, apoi se va stinge pentru a aprinde cel verde și așa mai departe... Se va utiliza pinul 13, deși acest lucru va depinde de modelul plăcii Arduino și de componentele pe care doriți să le adăugați. De asemenea, va fi inclus un rezistor, dacă este necesar. * Mai multe informații https://internetpasoapaso.com/cursos-online-gratis/informatica/arduino/ */

De asemenea, este posibil să faceți comentarii pe aceeași linie. inclusiv la începutul acestuia //Acest lucru permite programului să evite luarea în considerare a acestor parametri, dar îi ajută pe dezvoltatori să înțeleagă motivul includerii acelui cod.

Un exemplu în acest sens este:

  • int ledPin = 13; // conectamos el LED al pin 13, pero debes tener en cuenta el modelo de tu placa de Arduino

Variabilele sunt factori pe care trebuie să îi luați în considerare și Pentru a economisi timp în programare. Este un spațiu folosit pentru stocarea datelor, care trebuie să conțină un nume, un tip și o valoare. Urmând exemplul semaforului, a fost folosit ca variabilă. int ledPin = 13. Unde int este tipul variabilei, Pin LED numele tău și 13 Valoarea atribuită unui pin de pe placă. Aceasta permite modificări rapide ale schiței dacă se modifică atribuirea pinilor.

Setul de variabile care pot fi găsite într-un program include, printre altele:

  • constante: adevărat, întreg, înalt și jos.
  • Tip de date: matrice și octet bool.
  • Domeniu de aplicare și calificări: constantă, cu scop și volatilă
  • conversie: float, long, cuvânt, șir de caractere și octet.
  • Alții: Dimensiunea PROGMEM, caracter nesemnat și caracter lung nesemnat.

În cele din urmă, Funcțiile rămâncare sunt proceduri care trebuie incluse în cod astfel încât placa, prin intermediul senzorilor săi, să execute o acțiune specifică.

Există un număr mare de funcții care pot fi împărțite în:

  • Intrare și ieșire digitală
  • Intrare și ieșire analogică
  • Matematică
  • Numere aleatorii
  • Biți și octeți
  • Special conceput pentru plăcile de bază Zero, Due și MKR
  • Trigonometrie
  • Întreruperi externe
  • Personaje
  • Intrare și ieșire avansate
  • întreruperi
  • Timp
  • Comunicare
  • USB

Un exemplu de utilizare a funcțiilor este:

/* Tot ce se află între acolade { } se numește corpul funcției *Este folosit pentru a înțelege tot ce face funcția */ void setup() { pinMode(ledPin, OUTPUT); // Acest cod apelează funcția pinMode folosind // doi parametri ledPin și OUTPUT // pinMode funcționează ca o funcție de intrare și ieșire }

Un tutorial pe care îl puteți exersa pentru a aprinde LED-ul de pe placa de circuit este următorul:

/*

Internet Paso a Paso

LED pe pinul 2 al plăcii Arduino. Mai multe informații: https://internetpasoapaso.com/cursos-online-gratis/informatica/arduino/ */ // Pinului digital 2 i se atribuie un nume: int pushButton = 2; // Rutina de configurare pornește când se apasă butonul de resetare: void setup() { // Comunicația serială este inițiată la 9600 biți pe secundă: begin(9600); // Modificați intrarea pinului pentru a deveni o intrare: pinMode(pushButton, INPUT); } // Aceasta face ca bucla să se repete iar și iar: void loop() { // Pentru a citi pinul de intrare al plăcii: int buttonState = digitalRead(pushButton); // Starea butonului: println(buttonState); delay(1); // O întârziere este setată pentru a îmbunătăți stabilitatea procesului }

Tipuri de programare în Arduino: Care sunt toate tipurile care există până în prezent?

Tipuri de programare în Arduino: Care sunt toate tipurile care există până în prezent?

În prezent, există două metode de programare pe care le puteți utiliza cu Arduino. Una dintre ele este calculul fizic sau dezvoltarea unui computer fizic Constă în coordonarea acțiunilor software-ului și hardware-ului pentru a interacționa cu oamenii. Acest lucru se realizează folosind tastatura și mouse-ul, printre alte elemente. Această metodă Este util pentru proiecte care sunt realizate într-un mod simplu. și care nu necesită progrese tehnice majore.

În general, implică utilizarea senzorilor și microcontrolerelor de pe placa Arduino prin conectarea dispozitivelor electromecanice analogice. Acest lucru face posibilă controlul iluminatului, servomotoarelor și motoarelor. În timp ce al doilea tip de programare se numește calcul în timp real sau reactiv. Este o modalitate de a configura o placă Arduino să răspundă într-un anumit interval de timp prin recepția de date și prin inputul din mediul înconjurător.

Acest tip de programare necesită cunoștințe avansate de informatică, deoarece Răspunsurile microcontrolerului trebuie să fie date în milisecunde.La rândul său, codul trebuie să includă bucle care funcționează corect pentru a reporni întregul proces, prevenind erorile de programare și operare.

Există diferite sisteme de operare care utilizează programarea în timp real, Acest lucru îl diferențiază de alte sisteme de operare care pot răspunde la comenzile utilizatorului în câteva minute. Un exemplu în acest sens este FreeRTOS.care este un sistem de operare în timp real pentru microcontrolere pe care nu îl puteți descărca de pe site-ul său web https://www.freertos.org/.

Cerințe de bază pentru programarea în Arduino: Ce ar trebui să știu înainte de a începe în această lume?

Cerințe de bază pentru programarea în Arduino: Ce ar trebui să știu înainte de a începe în această lume?

Dacă vrei să devii expert în programarea Arduino Va trebui să cunoști câteva concepte de bază care te vor ajuta în acest domeniu.

Prin urmare, aruncați o privire la următoarea listă care vă va ghida prin această etapă: 

  • Primul lucru pe care ar trebui să-l știi este ce este o placă Arduino și cum este construită. Această componentă electronică este o placă de circuit care conține circuite integrate și diverși conectori care îi permit să interacționeze cu mediul extern. Include pini analogici și digitali, o intrare de alimentare, o conexiune la masă, un regulator de tensiune și un ceas, printre alte elemente.
  • Odată ce știi ce este o placă Arduino, trebuie să îi cunoști modelul.Mulți oameni cred că toate plăcile Arduino sunt la fel, ceea ce este incorect, deoarece există diferite versiuni care sunt mai potrivite nevoilor fiecărui utilizator datorită funcțiilor și caracteristicilor pe care le oferă. Este important, așadar, să știi ce model de placă ai.
  • Cele de mai sus vă vor ajuta să știți exact unde sunt amplasate toate intrările și ieșirile plăcii. Acest lucru vă va permite să înțelegeți mai bine intervalul de tensiune de funcționare, numărul de pini digitali și analogici, microprocesorul și alte caracteristici. Cunoașterea acestor detalii vă va ajuta să determinați ce tipuri de proiecte puteți întreprinde.
  • După ce cunoști hardware-ul, e timpul să te uiți la software. Mediul de programare Arduino este Integrated Development Environment sau IDE. Este un program gratuit și open-source care rulează pe Windows, macOS și Linux, ceea ce îl face un instrument versatil. Acceptă limbajele de programare C și C++.
  • În continuare, va trebui să descărcați IDE-ul gratuit. Pentru a face acest lucru, veți avea nevoie de un computer cu oricare dintre sistemele de operare menționate anterior și apoi veți accesa pagina cu browserul dvs. https://www.arduino.cc/en/softwareAcest lucru vă va permite să alegeți sistemul de operare pe care l-ați instalat și să continuați pașii într-un mod simplu.
  • După ce ați instalat programul, va trebui să accesați desktopul. și faceți clic pe comanda rapidă creată de software. Aceasta va deschide o nouă schiță care va include primele două comenzi de programare necesare. înființat() y buclă().
  • Înțelegeți structura programării. În acest pas, va trebui să înțelegi structura programării, inclusiv ce sunt un proiect, o funcție, o variabilă și un argument. Vei găsi aceste informații în paragrafele anterioare ale acestei postări. Accesează-le și vei găsi tot ce ai nevoie.

Manual de programare Arduino: De unde pot descărca acest ghid pentru programatorii începători?

Manual de programare Arduino: De unde pot descărca acest ghid pentru programatorii începători?

Există diferite locuri unde poți Descărcați un manual de programare Arduino pentru începătoriTotuși, trebuie să fii conștient că unele nu sunt atât de simple pe cât par, altele conțin cod spart, iar altele necesită o investiție semnificativă. Prin urmare, îți recomandăm să descarci un ghid complet, fără viruși, pentru dezvoltarea de software Arduino, asigurându-te că este sigur și lipsit de viruși.

Vei putea descărca manualul de programare Arduino de pe site-ul lor web. link aici. Acesta este un proiect care prezintă structura, variabilele și tipurile de date pe care le puteți utiliza în programare. În plus, veți găsi un ghid complet despre comunicarea dintre Arduino și alte sisteme de programare, cum să trimiteți la cerere și cum să convertiți un port analogic în digital.

Învață pas cu pas cum funcționează diferitele moduri de programare Arduino de la zero

Învață pas cu pas cum funcționează diferitele moduri de programare Arduino de la zero

Mai jos, vă vom arăta procesul pas cu pas pe care ar trebui să îl urmați în diferitele moduri de a programa Arduino de la zero:

Programare cu Android

Puteți folosi smartphone-ul sau tableta Android pentru a programa o placă Arduino; consultați mai jos procedura de urmat:

  • Primul lucru pe care va trebui să-l faceți este să descărcați aplicația ArduinoDroid – Arduino/ESP8266/ESP32 IDE din Magazinul Google Play.
  • apoi Conectați un cablu OTG sau USB la ArduinoAcest lucru va depinde de modelul plăcii. Dacă versiunea Arduino este ADK, cu atât mai bine, deoarece acest model este conceput să fie compatibil cu Android.
  • Conectați placa la computer prin USB.
  • Mergeți în colțul de sus al ecranului și atingeți puncte 3Aceasta se va implementa meniul de opțiuni.
  • Faceți clic pe ultimul instrument, Mod de adăugare.
  • Aceasta va deschide un meniu nou unde trebuie să introduceți ADK în bara de căutare. Când ați terminat, apăsați [numele butonului]. Căutare.
  • După ce găsiți opțiunea, faceți clic pe ea și apoi apăsați pe instalaDe asemenea, puteți face acest pas descărcând fișierul http://processing.arduino.cc/AdkMode.zip.

După ce ați finalizat pașii anteriori, va trebui să descărcați bibliotecile Arduino urmând acest ghid:

  • Conținut scăzut de http://processing.arduino.cc/UsbHost.zip fișierul UsbHost.zip.
  • După ce ați dezarhivat fișierul, veți găsi folderul USB-ADKSelectați-l și mutați-l la Caiet de schițe Arduino.
  • Opriți și porniți din nou placa Arduino.

Acum instalați SDK-ul Android:

  • Intrați la http://developer.android.com/sdk/index.html și faceți clic pe buton DESCĂRCAȚI ANDROID STUDIO.
  • Urmareste pasii pe care vi le va solicita expertul de instalare.
  • Se deschide Manager SDKVeți găsi o listă cu toate instrumentele disponibile. Alegeți Android 3.1.
  • Acceptați condițiile de utilizare și politicile de securitate ale platformei.

Activează-ți dispozitivul ca dezvoltator. Pentru a face acest lucru, urmează acești pași:

  • Conectați-vă în meniul Android.
  • alege configuraţiile.
  • Faceți clic pe funcție Despre telefon.
  • Apăsați în mod repetat (la unele modele este 6, iar la altele numărul este 8) în opțiunea Număr de construcțieAceasta va activa opțiunea pentru dezvoltatori.
  • Întoarce-te și apasă mai departe Opțiuni pentru dezvoltatori.
  • Activați funcția Depanare ADB prin USB.

Instalați driverele pe telefon și efectuați un test de citire analogică folosind acest ghid:

  • Se deschide Prelucrare și alegeți Mod ADK în colțul din stânga.
  • Accesați meniul și selectați instrumentul Arhivă.
  • Găsiți funcția Exemple și selectați-l.
  • Faceți clic pe Elementele de bază și apoi alegeți instrumentul Citire analogică.
  • selecta Rulați pe dispozitiv și așteptați câteva minute.
  • Veți vedea un cod pe care trebuie să-l copiați-l în IDE-ul ArduinoAcest lucru vă va permite să conectați Arduino-ul la dispozitivul mobil și să asigurați compatibilitatea.
  • După câteva secunde, apăsați pe Sarcină.
  • presa înapoi pentru a închide aplicația.
  • Deconectat Conectați cablul USB al computerului la Arduino.
  • Dacă ați efectuat toți pașii corect Vei găsi un semn pe ecranul telefonului tău vă întreabă dacă doriți cu adevărat să conectați o placă Arduino, așa că va trebui să apăsați pe Ok.

Încercați aceste exemple de coduri pentru a vedea dacă ați finalizat corect procesul:

#include <LiquidCrystal.h>

#include <Servo.h>

#include <Wire.h>

#include <RFID.h>

#include <SPI.h>

Servo doorservo;

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int inputPin = 6;

int pirState = LOW;

int val = 0;

#define SS_PIN 9

#define RST_PIN 8

RFID rfid(SS_PIN,RST_PIN);

int serNum[5];

int cards[5] = {128,169,132,122,215};

int checkcard[5];

int loopcounter=0;

int chicagofirecheck;

int chicagofire;

int rfidcounter;

int r1 = 22;

int r2 = 24;

int r3 = 26;

int r4 = 28;

int c1 = 30;

int c2 = 32;

int c3 = 34;

int c4 = 36;

int colm1;

int colm2;

int colm3;

int colm4;

int a, b, c, d, e, f;

int buzzer=38;

int pos=0; // para ubicar la posición del servomotor

static int x[4];

static int y[4];

static int i, j, p, s, k;

int initial = 0, attempts = 0;

int count = 0;

int error;

void setup()

{

pinMode(r1, OUTPUT);

pinMode(r2, OUTPUT);

pinMode(r3, OUTPUT);

pinMode(r4, OUTPUT);

pinMode(c1, INPUT);

pinMode(c2, INPUT);

pinMode(c3, INPUT);

pinMode(c4, INPUT);

pinMode(buzzer, OUTPUT);

pinMode(7, OUTPUT);

pinMode(13, OUTPUT);

digitalWrite(buzzer, LOW);

begin();

// pinMode(inputPin, INPUT); // sensor entrada

begin(9600);

attach(10); // conecta el servomotor al pin 38

begin();

init();

digitalWrite(c1, HIGH);

digitalWrite(c2, HIGH);

digitalWrite(c3, HIGH);

digitalWrite(c4, HIGH);

begin(9600);

begin(16, 2);

clear();

}

void loop()

{

if (initial == 0)

newpassword();

if (attempts < 3)

enterpassword();

if (attempts >= 3)

lockdoor();

if (count == 4)

{

println("control de claves");

rfidcounter=0;

loopcounter=0;

clear();

setCursor(0,0);

print("control de claves");

delay(1000);

clear();

setCursor(0,0);

print("Por favor, identifíquese");

setCursor(0,1);

print("RFID tag");

while(rfidcounter==0)

{

if(rfid.isCard())

{

if(rfid.readCardSerial())

{

checkcard[0]= rfid.serNum[0];

checkcard[1]= rfid.serNum[1];

checkcard[2]= rfid.serNum[2];

checkcard[3]= rfid.serNum[3];

checkcard[4]= rfid.serNum[4];

for(chicagofire=0; chicagofire<5; chicagofire++)

{

if(checkcard[chicagofire]==cards[chicagofire])

{

chicagofirecheck++;

}

}

}

}

delay(1000);

loopcounter++;

if(loopcounter==5)

{

rfidcounter=1;

}

}

if((chicagofirecheck==5)||(chicagofirecheck==10)||(chicagofirecheck==15)||(chicagofirecheck==20)||(chicagofirecheck==25))

{

clear();

setCursor(0,0);

print("Bienvenido");

digitalWrite(13, HIGH);

delay(2000);

delay(500);

for(pos=90; pos>=0; pos--)

{

write(pos);

delay(50);

}

clear();

attempts = 0;

count = 0;

error = 0;

initial = 1;

delay(5000);

println(" La puerta se cerrará en 10 segundos ");

setCursor(0,0);

print("Se cerrará en 10 seg");

for (s = 10; s >= 0; s--)

{

clear();

print("Cerrando");

setCursor(11,0);

print(s);

setCursor(13,0);

print("sec");

delay(1000);

}

for(pos=0; pos<90; pos++)

{

write(pos);

delay(50);

}

clear();

print("Puerta cerrada");

println("Puerta cerrada");

digitalWrite(13, LOW);

delay(1000);

chicagofirecheck=0;

}

else

{

clear();

setCursor(0,0);

print("Sorry RFID");

setCursor(0,1);

print("doesn't match");

digitalWrite(7, HIGH);

delay(5000);

attempts = 0;

count = 0;

error = 0;

initial = 1;

chicagofirecheck=0;

digitalWrite(7 , LOW);

}

}

if (error > 0)

{

println(" Clave incorrecta");

clear();

setCursor(0, 0);

print("Clave incorrecta");

digitalWrite(7, HIGH);

delay(2000);

initial = 1;

attempts++;

error = 0;

count = 0;

digitalWrite(7, LOW);

}

}

void newpassword() //sirve para crear una nueva clave de acceso

{

clear();

println(" Ingrese una nueva clave ");

setCursor(0,0);

print("Ingrese una nueva clave");

while (1)

{

digitalWrite(r1, LOW);

digitalWrite(r2, HIGH);

digitalWrite(r3, HIGH);

digitalWrite(r4, HIGH);

colm1 = digitalRead(c1);

colm2 = digitalRead(c2);

colm3 = digitalRead(c3);

colm4 = digitalRead(c4);

if (colm1 == LOW)

{

x[i] = 1;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

else

{

if (colm2 == LOW)

{

x[i] = 2;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

else

{

if (colm3 == LOW)

{

x[i] = 3;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

else

{

if (colm4 == LOW)

{

x[i] = 10;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

}

}

}

digitalWrite(r1, HIGH);

digitalWrite(r2, LOW);

digitalWrite(r3, HIGH);

digitalWrite(r4, HIGH);

colm1 = digitalRead(c1);

colm2 = digitalRead(c2);

colm3 = digitalRead(c3);

colm4 = digitalRead(c4);

if (colm1 == LOW)

{

x[i] = 4;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

else

{

if (colm2 == LOW)

{

x[i] = 5;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

else

{

if (colm3 == LOW)

{

x[i] = 6;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

else

{

if (colm4 == LOW)

{

x[i] = 11;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

}

}

}

digitalWrite(r1, HIGH);

digitalWrite(r2, HIGH);

digitalWrite(r3, LOW);

digitalWrite(r4, HIGH);

colm1 = digitalRead(c1);

colm2 = digitalRead(c2);

colm3 = digitalRead(c3);

colm4 = digitalRead(c4);

if (colm1 == LOW)

{

x[i] = 7;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

else

{

if (colm2 == LOW)

{

x[i] = 8;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

else

{

if (colm3 == LOW)

{

x[i] = 9;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

else

{

if (colm4 == LOW)

{

x[i] = 12;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

}

}

}

digitalWrite(r1, HIGH);

digitalWrite(r2, HIGH);

digitalWrite(r3, HIGH);

digitalWrite(r4, LOW);

colm1 = digitalRead(c1);

colm2 = digitalRead(c2);

colm3 = digitalRead(c3);

colm4 = digitalRead(c4);

if (colm1 == LOW)

{

x[i] = 15;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

else

{

if (colm2 == LOW)

{

x[i] = 0;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

else

{

if (colm3 == LOW)

{

x[i] = 14;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

else

{

if (colm4 == LOW)

{

x[i] = 13;

println(x[i]);

setCursor(i,1);

print(x[i]);

delay(400);

i++;

}

}

}

}

if (i == 4)

{

break;

}

}

clear();

}

void enterpassword() //para controlar la clave

{

clear();

println("Ingrese la clave");

setCursor(0, 0);

print("Ingrese la clave de acceso");

while (1)

{

val = digitalRead(inputPin);

if (val == HIGH)

{

if (pirState == LOW) {

println("Detección de movimiento");

pirState = HIGH;

opendoor();

}

}

if(val==LOW) {

if (pirState == HIGH){

println("Movimiento finalizado");

pirState = LOW;

closedoor();

}

}

digitalWrite(r1, LOW);

digitalWrite(r2, HIGH);

digitalWrite(r3, HIGH);

digitalWrite(r4, HIGH);

colm1 = digitalRead(c1);

colm2 = digitalRead(c2);

colm3 = digitalRead(c3);

colm4 = digitalRead(c4);

if (colm1 == LOW)

{

y[j] = 1;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

else

{

if (colm2 == LOW)

{

y[j] = 2;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

else

{

if (colm3 == LOW)

{

y[j] = 3;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

else

{

if (colm4 == LOW)

{

y[j] = 10;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

}

}

}

digitalWrite(r1, HIGH);

digitalWrite(r2, LOW);

digitalWrite(r3, HIGH);

digitalWrite(r4, HIGH);

colm1 = digitalRead(c1);

colm2 = digitalRead(c2);

colm3 = digitalRead(c3);

colm4 = digitalRead(c4);

if (colm1 == LOW)

{

y[j] = 4;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

else

{

if (colm2 == LOW)

{

y[j] = 5;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

else

{

if (colm3 == LOW)

{

y[j] = 6;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

else

{

if (colm4 == LOW)

{

y[j] = 11;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

}

}

}

digitalWrite(r1, HIGH);

digitalWrite(r2, HIGH);

digitalWrite(r3, LOW);

digitalWrite(r4, HIGH);

colm1 = digitalRead(c1);

colm2 = digitalRead(c2);

colm3 = digitalRead(c3);

colm4 = digitalRead(c4);

if (colm1 == LOW)

{

y[j] = 7;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

else

{

if (colm2 == LOW)

{

y[j] = 8;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

else

{

if (colm3 == LOW)

{

y[j] = 9;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

else

{

if (colm4 == LOW)

{

y[j] = 12;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

}

}

}

digitalWrite(r1, HIGH);

digitalWrite(r2, HIGH);

digitalWrite(r3, HIGH);

digitalWrite(r4, LOW);

colm1 = digitalRead(c1);

colm2 = digitalRead(c2);

colm3 = digitalRead(c3);

colm4 = digitalRead(c4);

if (colm1 == LOW)

{

y[j] = 15;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

else

{

if (colm2 == LOW)

{

y[j] = 0;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

else

{

if (colm3 == LOW)

{

y[j] = 14;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

else

{

if (colm4 == LOW)

{

y[j] = 13;

println(y[j]);

setCursor(j,1);

print("*");

delay(400);

j++;

}

}

}

}

if (j == 4)

break;

}

clear();

check();

}

void check()

{

clear();

println("Verificando");

setCursor(0, 0);

print("Verificando");

delay(1000);

for (k = 0; k < 4; k++)

{

if (x[k] == y[k])

{

count++;

i = 0;

j = 0;

}

else

{

error++;

i = 0;

j = 0;

}

}

}

void lockdoor()

{

println(" La Puerta se cerró");

clear();

setCursor(0, 0);

print("puerta cerrada");

digitalWrite(7, HIGH);

delay(1000);

clear();

int op=1;

beginTransmission(9);

write(op);

endTransmission();

delay(500);

for (p = 30; p >= 0; p--)

{

if(p<10)

{

digitalWrite(buzzer, HIGH);

delay(100);

clear();

print("try after");

setCursor(10,0);

print(p);

setCursor(13,0);

print("sec");

delay(1000);

}

else

{

digitalWrite(buzzer, HIGH);

delay(100);

clear();

print("try after");

setCursor(10,0);

print(p);

setCursor(13,0);

print("sec");

delay(1000);

}

digitalWrite(38, LOW);

digitalWrite(7, LOW);

delay(100);

}

attempts = 0;

}

void opendoor()

{

digitalWrite(13, HIGH);

for(pos=100; pos>=0; pos--)

{

write(pos);

delay(50);

}

delay(20000);

attempts=0;

}

void closedoor()

{

for(pos=0; pos<100; pos++)

{

write(pos);

delay(50);

}

digitalWrite(13, LOW);

}

Programare în blocuri

Programare în blocuri

Unul dintre avantajele pe care le are Arduino este posibilitatea oferită de programarea în blocuriAceasta înseamnă că un set de cod predefinit poate fi utilizat și inclus în dezvoltarea generală. Acest lucru permite progresul, pe măsură ce blocurile se îmbină, formând pași care au fost deja rezolvați de alți utilizatori Arduino. Pentru a îndeplini această sarcină puteți utiliza diferite medii de dezvoltare, în acest caz vom folosi UIFlow.

Pașii pe care va trebui să îi urmați sunt:

  • Accesați site-ul web folosind browserul dvs. de încredere. https://m5stack-store.myshopify.com/pages/download și apoi căutați butonul de descărcare numit M5BurnerVeți găsi acest lucru în secțiunea Software.
  • Apoi, deschideți fișierul executabil pe care tocmai l-ați descărcat și accesați M5Burner.
  • Accesați panoul din stânga și selectați opțiunea UIFlow (în cea mai recentă versiune).
  • Introduceți numele de utilizator și parola de internet. Acest lucru vă va permite să configurați setările de rețea Wi-Fi necesare pentru placă, permițându-i să apară. Pe ecran este afișat un cod QR cu API-ul.Dacă nu doriți să o faceți prin WiFi, o puteți face printr-un port USB, pe care îl vom folosi pentru a continua cu exemplul.
  • Configurați câmpul COM (cu portul corespunzător) și rata de transfer (alegeți 750000).
  • După aceasta, va trebui să apăsați mai departe Arde.
  • apoi Veți găsi un ecran cu dezvoltarea și informațiile întregului mediu.

Uită-te la acest exemplu:

Programare în blocuri

  • Deschideți mediul de programare. Veți găsi ecranul împărțit în două; partea stângă afișează meniul de funcții, în timp ce cealaltă secțiune este pentru dezvoltarea programării.
  • În panoul din stânga Accesați meniul superior și alegeți Titlu.
  • scrie un nume și trageți-l cu mouse-ul în desenul dispozitivului.
  • Apoi, selectați „Când se deschide o fereastră, tastați în câmp”. Text orice ai nevoie.
  • După ce ați finalizat acești pași, reveniți la meniu și selectați etichetăÎn dreapta va apărea o serie de opțiuni; alegeți-o pe prima.
  • Pasul anterior este plasarea automată a grupului de coduri aparținând acelei etichete. Modificați meniul în label0 și tastați ce doriți să apară. De exemplu, IP@P.
  • Apoi apăsați Eveniment Alegeți un buton. Trageți-l în secțiunea de programare și definiți cu ce îl veți asocia. IMU, TRC, LED-uri o AXP.
  • De exemplu, dacă alegeți LED-uri Va trebui să selectați ce doriți să facă butonul. Adică, dacă doriți ca LED-ul să se oprească sau să se aprindă.
  • Când ați terminat această parte, puteți apăsa butonul „Salvare”Trebuie să ții cont de faptul că pentru ca blocurile să funcționeze, trebuie să le conectezi la comenzi; pentru a face acest lucru, trebuie să le conectezi cât mai aproape posibil până când devin de aceeași culoare.

Programare cu Python

Programare cu Python

Avantajul oferit de Python este că nu este necesară efectuarea întregului procesSpre deosebire de alte limbaje, unde instrucțiunile sunt introduse, iar programul le interpretează fără alți pași, acesta este un mediu ideal pentru a învăța programarea Arduino. Versiunile actuale ale acestui limbaj sunt: Piton y Python 3Acesta din urmă fiind singurul care primește sprijin.

Programul poate fi pornit dintr-o consolă Linux folosind comanda superuser sudo apt-get install idle3Dar dacă nu aveți Linux, deoarece computerul dvs. are un sistem de operare Windows sau MacOS, va trebui să utilizați Thonny Python IDEPentru a face acest lucru, va trebui să vizitați https://thonny.org/ y selectați butonul cu sistemul de operare corespunzător.

După ce ați descărcat acest software, va trebui să cunoașteți aceste subiecte pentru a programa placa Arduino: 

  • Variabile și date: Este important de știut că variabilele pot avea valori diferite și se pot modifica în funcție de programul care le execută. Spre deosebire de alte medii, în Python nu este necesar să definim variabile înainte de a le utiliza.
  • Liste: Aceste elemente sunt definite atunci când datele sunt incluse între paranteze pătrate, fiind numerotate de la 0 la lungimea -1. Este important să se ia în considerare dacă se includ sau nu elementele finale.
  • Tupluri: Diferența față de liste este că tuplurile conțin datele incluse între paranteze.
  • Operatori: Există un număr mare de operatori care vă permit să efectuați diferite acțiuni. Cei mai comuni sunt operatorii aritmetici, operatorii de atribuire și operatorii de fire de execuție relaționale.

După ce ați definit aceste concepte, trebuie să parcurgeți următorul proces: 

  • Dacă vrei să scrii Curs de Arduino în Internet Paso a PasoVa trebui să tastați următoarea comandă în terminal print("Curs Arduino în Internet Paso a Paso").
  • În continuare, puteți rula programul introducând python3 uno.py.

A practica efectuați exemplul de Programarea unei stații meteo cu Arduino.

După ce ați deschis programul pe computer și cunoașteți portul, tastați următoarele:

  • ~/Descargas/UIFlowIDE$ screen /dev/ttyUSB1 115200

Reporniți dispozitivul apăsând și ținând apăsat timp de 6 secunde pentru a-l opri și 2 secunde pentru a-l porni, apoi introduceți următoarele:

I (9) bootare: ESP-IDF v3.3-beta1-270-g6ffef3bc1 bootloader etapă a doua I (9) bootare: ora compilării 09:26:17 I (9) bootare: Activarea sursei de entropie timpurie RNG...

I (14) bootare: SPI Viteză: 80MHz I (18) bootare: SPI Mod: DIO I (22) bootare: SPI Dimensiune Flash: 4MB I (26) bootare: Tabelă de partiții: I (29) bootare: ## Etichetă Tip Utilizare ST Lungime Offset I (37) bootare: 0 nvs Date WiFi 01 02 00009000 00006000 I (44) bootare: 1 phy_init Date RF 01 0 >>> I (9) bootare: ESP-IDF v3.3-beta1-270-g6ffef3bc1 Bootloader etapă a 2-a I (9) bootare: ora compilării 09:26:17 I (9) bootare: Activare sursă de entropie timpurie RNG...

I (14) bootare: SPI Viteză: 80MHz I (18) bootare: SPI Mod: DIO I (22) bootare: SPI Dimensiune Flash: 4MB I (26) bootare: Tabelă de partiții: I (29) bootare: ## Etichetă Tip Utilizare ST Lungime Offset I (37) bootare: 0 nvs Date WiFi 01 02 00009000 00006000 I (44) bootare: 1 phy_init Date RF 01 01 0000f000 00001000 I (52) bootare: 2 fabrică aplicație fabrică 00 00 00010000 001e0000 I (59) bootare: 3 internalfs Date necunoscute 01 81 001f0000 00210000 I (52) bootare: 2 fabrică aplicație fabrică 00 00 00010000 001e0000 I (59) boot: 3 internalfs Date necunoscute 01 81 001f0000 00210000 I (67) boot: Sfârșitul tabelei de partiții I (71) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0xdad24 (896292) map I (337) esp_image: segment 1: paddr=0x000ead4c vaddr=0x3ffb0000 size=0x02e9c (11932) load I (341) esp_image: segment 2: paddr=0x000edbf0 vaddr=0x40080000 size=0x00400 (1024) load I (344) esp_image: segment 3: paddr=0x000edff8 vaddr=0x40080400 size=0x02018 (8216) load I (355) esp_image: segment 4: paddr=0x000f0018 vaddr=0x400d0018 size=0xd3a10 (866832) map I (611) esp_image: segment 5: paddr=0x001c3a30 vaddr=0x40082418 size=0x116c0 (71360) load I (634) esp_image: segment 6: paddr=0x001d50f8 vaddr=0x400c0000 size=0x00064 (100) load I (635) esp_image: segment 7: paddr=0x001d5164 vaddr=0x50000000 size=0x00808 (2056) load I (654) boot: Aplicație încărcată din partiția la offset-ul 0x10000 I (654) boot: Se dezactivează sursa de entropie timpurie RNG...

I (655) cpu_start: Pro procesor pornit.

I (659) cpu_start: Informații despre aplicație: I (664) cpu_start: Ora compilării: 09:26:24 I (669) cpu_start: Data compilării: 10 iunie 2019 I (674) cpu_start: ESP-IDF: 3-beta1-270-g6ffef3bc1 I (680) cpu_start: Se pornește procesorul aplicației, punctul de intrare este 0x400831f4 I (0) cpu_start: CPU-ul aplicației este pornit.

I (691) heap_init: Se inițializează. RAM disponibilă pentru alocare dinamică: I (698) heap_init: La 3FFAE6E0 len 00001920 (6 KiB): DRAM I (704) heap_init: La 3FFB9970 len 00026690 (153 KiB): DRAM I (710) heap_init: La 3FFE0440 len 00003AE0 (14 KiB): D/IRAM I (716) heap_init: La 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM I (723) heap_init: La 40093AD8 len 0000C528 (49 KiB): IRAM I (729) cpu_start: Cod utilizator de pornire CPU Pro I (75) cpu_start: Pornire planificator pe CPU PRO.

I (0) cpu_start: Pornește programatorul pe CPU APP.

FS intern (FatFS): Montat pe partiția 'internalfs' [dimensiune: 2162688; Adresă flash: 0x1F0000] ---------------- Dimensiunea sistemului de fișiere: 2101248 B Utilizat: 503808 B Liber: 1597440 B ---------------- I (388) [TFTSPI]: dispozitiv de afișare atașat, viteză=8000000 I (388) [TFTSPI]: magistrala utilizează pini nativi: fals [ M5 ] ID nod: 1234567890ab, cheie api: 12345678 I (4344) system_api: Adresa MAC de bază nu este setată, citiți adresa MAC de bază implicită din BLK0 al EFUSE I (4344) system_api: Adresa MAC de bază nu este setată, citiți adresa MAC de bază implicită din BLK0 al EFUSE I (4432) phy: phy_version: 4007, 1234567, 11 ian. 2019, 16:45:07, 0, 0 I (4436) modsocket: Se inițiază conexiunea Wi-Fi: SSID:Miwifi PASSWD:Mipass rețea...

..................

Configurație rețea: ('192.168.43.185', '255.255.255.0', '192.168.43.1', '192.168.43.1') M5Cloud conectat.

Începutul firului de discuție m5cloud .....

Apoi, apăsați simultan Ctrl + C pentru a întrerupe software-ul; acest lucru vă va permite să vedeți:

Excepție netratată în firul de discuție inițiat de Traceback (cel mai recent apel la sfârșit): Fișierul „flowlib/lib/time_ex.py”, linia 56, în timeCb KeyboardInterrupt: Excepție netratată în firul de execuție pornit de Traceback (cel mai recent apel ultimul): Fișierul "flowlib/m5cloud.py", linia 187, în _daemonTask Fișierul "flowlib/lib/time_ex.py", linia 56, în timeCb KeyboardInterrupt: Traceback (cel mai recent apel ultimul): Fișierul "flow.py", linia 43, în Fișierul „flowlib/m5cloud.py”, linia 224, în run Fișierul „flowlib/m5cloud.py”, linia 199, în _backend Fișierul „flowlib/m5cloud.py”, linia 187, în _daemonTask Fișierul „flowlib/lib/time_ex.py”, linia 56, în timeCb Întrerupere tastatură:

În final, interfața MicroPython va fi:

MicroPython v1.10-273-g4616ff72f-dirty pe 10.06.2019; Modul ESP32 cu ESP32 Tastați „help()” pentru mai multe informații. >>> Bun venit la MicroPython pe ESP32! Pentru documentație online generică, vă rugăm să vizitați http://docs.micropython.org/ Pentru acces la hardware, utilizați modulul 'machine': import machine pin12 = machine.Pin(12, machine.Pin.OUT) value(1) pin13 = machine.Pin(13, machine.Pin.IN, machine.Pin.PULL_UP) print(pin13.value()) i2c = machine.I2C(scl=machine.Pin(21), sda=machine.Pin(22)) scan() writeto(addr, b'1234') readfrom(addr, 4) Configurație WiFi de bază: import network sta_if = network.WLAN(network.STA_IF); sta_if.active(True) scan() # Scanare pentru puncte de acces disponibile connect(" ", " ") # Conectare la un punct de acces (AP) isconnected() # Verificare conexiune reușită Comenzi de control: CTRL-A – pe o linie goală, intră în modul REPL brut CTRL-B – pe o linie goală, intră în modul REPL normal CTRL-C – întrerupe un program care rulează CTRL-D – pe o linie goală, efectuează o resetare soft a plăcii CTRL-E – pe o linie goală, intră în modul lipire Pentru ajutor suplimentar despre un anumit obiect, tastați help(obj) Pentru o listă de module disponibile, tastați help('modules') >>>

Programare cu Scratch

Programare cu Scratch

Scratch, ca mediu de programare, are avantajul simplității pe care o oferă utilizatorilor în realizarea proiectelor de robotică. și electronică fără cunoștințe avansate de limbaje de programare. Pentru aceasta, utilizați blocuri care sunt asamblate în funcție de funcțiile și caracteristicile de care are nevoie utilizatorul.

Dacă vrei să programezi o placă Arduino cu Scratch, va trebui să urmezi acești pași: 

  • Primul lucru pe care va trebui să-l faci este să descarci IDE-ul ScratchPentru a face acest lucru, va trebui să accesați pagina utilizând browserul preferat. https://mblock.makeblock.com/en-us/Așteptați câteva secunde pentru ca platforma să detecteze sistemul de operare al computerului, apoi faceți clic pe buton. descărcare.
  • odată După ce deschideți acest program, veți găsi ecranul împărțit în trei secțiuni.Cel din mijloc este locul unde veți vedea toate funcțiile, iar cel din dreapta este mediul în care veți scrie codurile bloc.
  • Acum Va trebui să conectați placa la computer.
  • Introduceți instrumentul bord și alege-ți modelul Arduino.
  • mergi la meniu Extensii Alege Arduino și, de asemenea, Comunicare.
  • Apoi, accesați fila Lega și check-in-ul Port serial că programul a recunoscut conexiunea Arduino. Puteți verifica acest lucru tastând numele portului la care ați conectat placa.
  • După ce ați finalizat acești pași, în coloana din mijloc veți găsi numele plăcuței de înmatriculare cu un buton verdeCeea ce înseamnă că toate conexiunile sunt făcute corect.
  • Accesați meniul din mijlocul ecranului și selectați fila Programe.
  • Va apărea un meniu din care va trebui să alegeți roboți (Dacă realizați un proiect de acest gen, puteți alege și altele), pentru a începe programarea, opțiunea Programul Arduino.
  • Apoi, faceți clic pe fila Mod de control:.
  • Alegeți blocul de comenzi pe care vrei să o facă robotul.
  • Reveniți la instrumentul Roboți și apăsați pe următoarea acțiune pe care o va efectua placa.
  • Când ați terminat, alegeți din nou. Controlează și alege o funcție nouăAcest lucru se repetă până când termini programarea.

Cele mai bune cursuri online gratuite pentru a învăța cum să programezi Arduino de la zero, despre care ar trebui să știi

Dacă ești dispus Pentru a avansa în lumea programării Arduino, este important să cunoști cele mai bune cursuri online. Aceste platforme sunt gratuite și te vor ajuta să înveți de la zero toate variantele oferite de placa electronică.

Verifică: 

Arduino în Internet Paso a Paso

Arduino în Internet Paso a Paso

Nu puteam începe această listă fără să recomandăm propriul nostru curs gratuit pentru a învăța cum să programezi Arduino. Oferim o gamă largă de subiecte, separate strategic, pentru a face învățarea mult mai rapidă. Și mai bine, indiferent de experiența de utilizare a calculatorului.

Pentru a vă bucura de ghiduri și tutoriale despre diferitele plăci Arduino, mediul de programare și proiectele de robotică pentru adulți și copii, va trebui să vă conectați la Curs Arduino IPAP și alege tema care îți place cel mai mult. În plus, Ne puteți adresa orice tip de întrebare în secțiunea din comentarii.

Hub Arduino Project

Acesta este site-ul oficial Arduino Aici veți găsi o gamă largă de proiecte și idei pentru construirea de dispozitive electronice cu plăci de circuite, materiale și cod de programare. Aceste proiecte Acestea sunt încărcate chiar de utilizatori, așadar comunitatea formează o parte strategică a acestui site web.Va trebui să accesați folosind browserul dvs. https://create.arduino.cc/projecthub pentru a învăța despre diferitele idei care pot fi folosite în funcție de abilitățile tale de utilizare a calculatorului.

Ikkaro.com

Este o platformă dedicată experimentelor acasă....nu doar robotică, ci și o gamă largă de alte subiecte. Din acest motiv, placa Arduino este o parte importantă a proiectului. Dacă doriți să aflați mai multe și să descărcați tutorialele, va trebui să vizitați site-ul web și să explorați conținutul acestuia.

Cărți electronice de IPAP
Ebooks IPAP

🔥ALĂTURĂ-TE🔥 NOII COMUNITĂȚI IP@P! ÎNSCRIE-TE AICI!

Tematică

Autor: Félix Albornoz

Am peste 20 de ani de experiență în sectorul tehnologic, ajutând companii și utilizatori să se dezvolte și să se formeze în acest domeniu. Învăț mereu lucruri noi.

Legate de