Kaip išmokti programuoti su Arduino nuo nulio ir be išankstinių žinių, 100% nemokamai? Žingsnis po žingsnio vadovas

Paskutiniai pakeitimai: 03/09/2022
Kaip išmokti programuoti su Arduino nuo nulio ir be išankstinių žinių 100% nemokamai

The Arduino plokštės Tai universalūs elektroniniai prietaisai, kurie yra labai populiarūs tarp vartotojų.Taip yra dėl mažos kainos ir visų turimų funkcijų. Vienas ryškiausių jo privalumų yra paprastas naudojimas, kurį užtikrina programavimo aplinka. 

Todėl, jei norite įgyvendinti kokį nors projektą, Arduino IDE Tau tai nebus nepatogumas, net jei turite mažai kompiuterinio raštingumo žinių.

Bet tai nereiškia, kad neturėtumėte žinoti visų Arduino programavimo paslapčių. Šią informaciją rasite žemiau, todėl kviečiame skaityti toliau.

Kas yra Arduino programavimas ir kokie yra svarbiausi jo pagrindai?

Kas yra Arduino programavimas ir kokie yra svarbiausi jo pagrindai?

Pirmiausia turėtumėte žinoti, kad „Arduino“ yra maža plokštė su integruotomis skaitmeninėmis grandinėmis, naudojama įvairiems įrenginiams kurti. Norėdami tai padaryti, turite užprogramuoti šią plokštę naudodami... kodas, vykdomas aplinkoje, vadinamoje IDE. Šioje kelių platformų kūrimo programoje Programavimo kodo eilutės įvedamos į IDE. automatizuoti užduotis, kurias atliks „Arduino“.

Tai įmanoma dėl jutiklių nuskaitomų rodmenų, kurie vėliau perduodami skaitmeninio projekto pavaroms. Ryškus to pavyzdys būtų Šviesoforo konstravimas naudojant ArduinoNorėdami tai padaryti, būtina (bendrai paaiškinta) parašyti kodus, prijungti skirtingus šviesos diodus prie skaitmeninių ir analoginių kaiščių, Prijunkite elektros srovę ir palaukite, kol plokštė sąveikaus su aplinka..

IDE yra paprasta programinė įranga, kuriai reikia tam tikrų įrankių programai sukompiliuoti ir pašalinti iš atminties. Procesorius yra nebenaudojama programinė įranga. Vienas iš šių įrankių yra eskizas, kuris priskiriamas kiekvienam norimam sukurti projektui (todėl eskizas dažnai vadinamas projektu). Svarbu nepamiršti aplanko, kuriame bus eskizas. Jis turi priklausyti katalogui, kurio pavadinimas turi sutapti su projekto pavadinimu.Priešingu atveju failas nebus atpažintas.

Projekto struktūra visada turėtų prasidėti tuo pačiu būdu:

void setup() { // Čia pradedate rašyti vykdomą kodą } void loop() { // Tai leidžia kodui veikti cikle }

Tai įmanoma Apriboti kodo blokus ir priversti juos nuolat kartotis, kad būtų išlaikytos programos instrukcijos ir deklaracijos. Svarbu tai paaiškinti sąranka () Tai visada bus funkcija, atsakinga už visų konfigūravimo duomenų rinkimą ir kilpa () Tai leidžia programą nuolat kartoti, kad projektas būtų prasmingas.

Visa tai, kas išdėstyta aukščiau, gali būti saugoma bibliotekoje. kad programuotojas galėtų aiškiai apibrėžti šį funkcijų rinkinį ir jį naudoti nereikalaudamas iš naujo nustatyti kiekvieno kodo žingsnio.

Be to, IDE leidžia įvesti komentarus programavime, kad būtų galima nustatyti funkcijos deklaraciją arba pristatyti biblioteką ar programą.Tam reikia nustatyti tam tikras taisykles, kurios leistų nepaisyti trumpų ar ilgų komentarų. Arduino. Viskas, kas randama Į dalį tarp /* ir */ neatsižvelgiama per programavimo aplinką.

Pavyzdžiui:

/*

Internet Paso a Paso Arduino kursas * Tai pagrindinė šviesoforo programa, padėsianti suprasti skirtingas Arduino plokštės komandas ir argumentus. Ji įjungs raudoną šviesos diodą vienai sekundei, tada geltoną šviesos diodą, kol raudonas šviesos diodas užges, tada užges ir įjungs žalią ir t. t. Bus naudojamas 13 kontaktas, nors tai priklausys nuo jūsų Arduino plokštės modelio ir komponentų, kuriuos norite pridėti. Jei reikia, taip pat bus pridėtas rezistorius. * Daugiau informacijos https://internetpasoapaso.com/cursos-online-gratis/informatica/arduino/ */

Taip pat galima rašyti komentarus toje pačioje eilutėje. įskaitant ir jo pradžią //Tai leidžia programai išvengti šių parametrų įtraukimo, bet padeda kūrėjams suprasti, kodėl tas kodas buvo įtrauktas.

To pavyzdys yra:

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

Kintamieji yra veiksniai, į kuriuos taip pat turite atsižvelgti Siekiant sutaupyti laiko programuojant. Tai erdvė, naudojama duomenims saugoti, kurioje turi būti pavadinimas, tipas ir reikšmė. Remiantis šviesoforo pavyzdžiu, ji buvo naudojama kaip kintamasis. sveikasis ledPin = 13. Kur int yra kintamojo tipas, ledPin tavo vardas ir 13 Plokštės kaiščiui priskirta reikšmė. Tai leidžia greitai pakeisti eskizą, jei pasikeičia kaiščio priskyrimas.

Programoje esančių kintamųjų rinkinys, be kita ko, apima:

  • Konstantos: tiesa, visa, aukšta ir žema.
  • Duomenų tipas: masyvas ir loginė reikšmė (bool) baitas.
  • Taikymo sritis ir apibūdinimai: pastovus, apimties ir nepastovus
  • Konversija: float, long, word, string ir bait.
  • Kiti: PROGMEM dydis, nepasirašytas simbolis ir nepasirašytas ilgas.

Galiausiai, Funkcijos išliekakurie yra procedūros, kurios turi būti įtrauktos į kodą kad lenta, per savo jutiklius, atliktų konkretų veiksmą.

Yra daugybė funkcijų, kurias galima suskirstyti į:

  • Skaitmeninė įvestis ir išvestis
  • Analoginis įėjimas ir išėjimas
  • Matematika
  • Atsitiktiniai skaičiai
  • Bitai ir baitai
  • Specialiai sukurta „Zero“, „Due“ ir „MKR“ pagrindinėms plokštėms
  • Trigonometrija
  • Išoriniai pertraukimai
  • Personažai
  • Išplėstinis įėjimas ir išėjimas
  • Pertraukimai
  • Laikas
  • Komunikacija
  • USB

Funkcijų naudojimo pavyzdys yra toks:

/* Viskas, kas yra tarp riestinių skliaustų { }, vadinama funkcijos kūnu *Jis naudojamas suprasti viską, ką daro funkcija */ void setup() { pinMode(ledPin, OUTPUT); // Šis kodas iškviečia pinMode funkciją naudodamas // du parametrus ledPin ir OUTPUT // pinMode veikia kaip įvesties ir išvesties funkcija }

Pamoka, kurią galite praktikuoti, kad įjungtumėte šviesos diodą savo plokštėje, yra tokia:

/*

Internet Paso a Paso

Šviesos diodas ant Arduino plokštės 2 kaiščio. Daugiau informacijos: https://internetpasoapaso.com/cursos-online-gratis/informatica/arduino/ */ // Skaitmeniniam 2 kaiščiui priskiriamas pavadinimas: int pushButton = 2; // Sąrankos procesas prasideda paspaudus atstatymo mygtuką: void setup() { // Nuoseklusis ryšys inicijuojamas 9600 bitų per sekundę greičiu: begin(9600); // Pakeičia kaiščio įvestį, kad ji taptų įvestimi: pinMode(pushButton, INPUT); } // Tai priverčia ciklą kartotis vėl ir vėl: void loop() { // Norint nuskaityti plokštės įvesties kaištį: int buttonState = digitalRead(pushButton); // Mygtuko būsena: println(buttonState); delay(1); // Nustatomas vėlinimas, siekiant pagerinti proceso stabilumą }

Arduino programavimo tipai: kokie tipai egzistuoja iki šiol?

Arduino programavimo tipai: kokie tipai egzistuoja iki šiol?

Šiuo metu yra du programavimo metodai, kuriuos galite naudoti su „Arduino“. Vienas iš jų yra fizinis skaičiavimas arba fizinio kompiuterio kūrimas Tai programinės ir aparatinės įrangos veiksmų koordinavimas, siekiant sąveikauti su žmonėmis. Tai atliekama naudojant klaviatūrą ir pelę, be kitų elementų. Šis metodas... Tai naudinga projektams, kurie įgyvendinami paprastais būdais. ir tam nereikia didelių techninių pasiekimų.

Paprastai tai apima jutiklių ir mikrovaldiklių naudojimą Arduino plokštėje, prijungiant analoginius elektromechaninius įrenginius. Tai leidžia valdyti apšvietimą, servo variklius ir pavaras. Antrasis programavimo tipas vadinamas realaus laiko arba reaktyviuoju skaičiavimu. Tai būdas sukonfigūruoti „Arduino“ plokštę taip, kad ji reaguotų per tam tikrą laiką priimdama duomenis ir įvesdama informaciją iš aplinkos.

Šio tipo programavimui reikia daugiau kompiuterinių žinių, nes Mikrovaldiklio atsakymai turi būti pateikti milisekundėmis.Savo ruožtu, kode turi būti tinkamai veikiantys ciklai, kad būtų galima iš naujo paleisti visą procesą, taip išvengiant programavimo ir veikimo klaidų.

Yra įvairių operacinių sistemų, kurios naudoja realaus laiko programavimą, Tai skiria ją nuo kitų operacinių sistemų, kurioms reaguoti į vartotojo komandas gali prireikti iki kelių minučių. To pavyzdys yra „FreeRTOS“.kuri yra realaus laiko operacinė sistema mikrovaldikliams, kurios negalima atsisiųsti iš jos svetainės https://www.freertos.org/.

Pagrindiniai programavimo reikalavimai Arduino sistemoje: ką turėčiau žinoti prieš pradėdamas dirbti šiame pasaulyje?

Pagrindiniai programavimo reikalavimai Arduino sistemoje: ką turėčiau žinoti prieš pradėdamas dirbti šiame pasaulyje?

Jei norite tapti Arduino programavimo ekspertu Turėsite žinoti keletą pagrindinių sąvokų, kurios jums padės šioje srityje.

Todėl peržiūrėkite šį sąrašą, kuris padės jums šiame etape: 

  • Pirmiausia reikia žinoti, kas yra Arduino plokštė ir kaip ji sukonstruota. Šis elektroninis komponentas yra grandinės plokštė, kurioje yra integriniai grandynai ir įvairios jungtys, leidžiančios jam sąveikauti su išorine aplinka. Ją sudaro analoginiai ir skaitmeniniai kontaktai, maitinimo įvestis, įžeminimo jungtis, įtampos reguliatorius ir laikrodis, be kitų elementų.
  • Kai jau žinote, kas yra Arduino plokštė, turite žinoti jos modelį.Daugelis žmonių mano, kad visos „Arduino“ plokštės yra vienodos, tačiau tai neteisinga, nes yra skirtingų versijų, kurios dėl savo funkcijų ir savybių geriau atitinka kiekvieno vartotojo poreikius. Todėl svarbu žinoti, kokį plokštės modelį turite.
  • Tai padės tiksliai žinoti, kur yra visi plokštės įėjimai ir išėjimai. Tai leis jums geriau suprasti darbinės įtampos diapazoną, skaitmeninių ir analoginių kontaktų skaičių, mikroprocesorių ir kitas savybes. Žinodami šias detales, galėsite nuspręsti, kokių projektų galite imtis.
  • Kai jau susipažinsite su aparatine įranga, laikas pažvelgti į programinę įrangą. „Arduino“ programavimo aplinka yra integruota kūrimo aplinka (IDE). Tai nemokama ir atvirojo kodo programa, veikianti „Windows“, „macOS“ ir „Linux“ sistemose, todėl yra universalus įrankis. Ji palaiko C ir C++ programavimo kalbas.
  • Toliau turėsite nemokamai atsisiųsti IDE. Norėdami tai padaryti, jums reikės kompiuterio su bet kuria iš anksčiau minėtų operacinių sistemų, o tada naršyklėje pasiekti puslapį. https://www.arduino.cc/en/softwareTai leis jums pasirinkti įdiegtą OS ir paprastai tęsti veiksmus.
  • Įdiegę programą, turėsite eiti į darbalaukį. ir spustelėkite programinės įrangos sukurtą nuorodą. Tai atvers naują eskizą, kuriame bus pirmosios dvi reikalingos programavimo komandos. sąranka () y kilpa ().
  • Suprasti programavimo struktūrą. Šiame žingsnyje turėsite suprasti programavimo struktūrą, įskaitant tai, kas yra projektas, funkcija, kintamasis ir argumentas. Šią informaciją rasite ankstesnėse šio įrašo pastraipose. Eikite į jas ir rasite viską, ko jums reikia.

„Arduino“ programavimo vadovas: kur galiu atsisiųsti šį vadovą pradedantiesiems programuotojams?

„Arduino“ programavimo vadovas: kur galiu atsisiųsti šį vadovą pradedantiesiems programuotojams?

Yra įvairių vietų, kur galite Atsisiųskite „Arduino“ programavimo vadovą pradedantiesiemsTačiau turėtumėte žinoti, kad kai kurie iš jų nėra tokie paprasti, kaip atrodo, kituose yra neveikiančio kodo, o kai kuriems reikia didelių investicijų. Todėl rekomenduojame atsisiųsti išsamų, be virusų „Arduino“ programinės įrangos kūrimo vadovą, užtikrinantį, kad jis būtų saugus ir be virusų.

„Arduino“ programavimo vadovą galėsite atsisiųsti iš jos svetainės. nuoroda čia. Tai projektas, kuriame rodoma struktūra, kintamieji ir duomenų tipai, kuriuos galite naudoti programavime. Be to, rasite išsamų vadovą apie ryšį tarp „Arduino“ ir kitų programavimo sistemų, kaip siųsti duomenis pagal pareikalavimą ir kaip konvertuoti analoginį prievadą į skaitmeninį.

Žingsnis po žingsnio sužinokite, kaip veikia skirtingi „Arduino“ programavimo būdai nuo nulio

Žingsnis po žingsnio sužinokite, kaip veikia skirtingi „Arduino“ programavimo būdai nuo nulio

Žemiau parodysime jums nuoseklų procesą, kurio turėtumėte laikytis skirtingais būdais, norėdami programuoti „Arduino“ nuo nulio:

Programavimas naudojant „Android“

„Arduino“ plokštę galite programuoti naudodami „Android“ išmanųjį telefoną arba planšetinį kompiuterį; toliau pateiktą procedūrą rasite toliau:

  • Pirmas dalykas, kurį jums reikės padaryti, tai atsisiųsti programėlę ArduinoDroid – Arduino/ESP8266/ESP32 IDE iš „Google Play“ parduotuvės.
  • Tada Prijunkite OTG arba USB kabelį prie ArduinoTai priklausys nuo plokštės modelio. Jei „Arduino“ versija yra ADK, dar geriau, nes šis modelis sukurtas suderinamumui su „Android“.
  • Prijunkite plokštę prie kompiuterio per USB.
  • Eikite į viršutinį ekrano kampą ir bakstelėkite 3 taškaiTai dislokuos parinkčių meniu.
  • Spustelėkite paskutinį įrankį, Pridėti režimą.
  • Tai atidarys naują meniu, kuriame paieškos juostoje turėsite įvesti ADK. Baigę paspauskite [mygtuko pavadinimas]. paieška.
  • Radę parinktį, spustelėkite ją ir paspauskite ĮrengtiŠį veiksmą taip pat galite atlikti atsisiųsdami failą http://processing.arduino.cc/AdkMode.zip.

Atlikę ankstesnius veiksmus, turėsite atsisiųsti „Arduino“ bibliotekas vadovaudamiesi šiuo vadovu:

  • Mažai http://processing.arduino.cc/UsbHost.zip byla UsbHost.zip.
  • Išskleidę failą, rasite aplanką USB ADKPasirinkite jį ir perkelkite į Arduino eskizų knygelė.
  • Išjunkite ir vėl įjunkite Arduino lenta.

Dabar įdiekite „Android SDK“:

  • Įeiti į http://developer.android.com/sdk/index.html ir spustelėkite mygtuką ATSISIŲSTI „ANDROID STUDIO“.
  • Sekite žingsnius kurio jūsų paprašys diegimo vedlys.
  • Atidaryti SDK tvarkyklėRasite visų galimų įrankių sąrašą. Pasirinkite "Android" 3.1.
  • Sutikite su naudojimo sąlygomis ir platformos saugumo politikos.

Įjunkite savo įrenginį kaip kūrėją. Norėdami tai padaryti, atlikite šiuos veiksmus:

  • Įveskite į „Android“ meniu.
  • Pasirinkite Konfigūracijos.
  • Spustelėkite funkciją Apie telefoną.
  • Paspauskite pakartotinai (kai kuriuose modeliuose jis yra 6, o kituose – 8) pasirinktyje Sukurti skaičiusTai įgalins kūrėjo parinktį.
  • Grįžkite ir paspauskite Kūrėjo parinktys.
  • Suaktyvinkite funkciją ADB derinimas per USB.

Įdiekite tvarkykles telefone ir atlikite analoginio skaitymo testą naudodami šį vadovą:

  • Atidaryti Apdorojimas ir pasirinkite ADK režimas kairiajame kampe.
  • Eikite į meniu ir pasirinkite įrankį archyvas.
  • Raskite funkciją Pavyzdžiai ir pasirinkite jį.
  • Spustelėkite pagrindai ir tada pasirinkite įrankį Analoginis skaitymas.
  • Pasirinkite Paleisti įrenginyje ir palaukite kelias minutes.
  • Pamatysite kodą, kurį turite nukopijuokite jį į Arduino IDETai leis jums prijungti „Arduino“ prie mobiliojo įrenginio ir užtikrinti suderinamumą.
  • Po kelių sekundžių paspauskite Apkrova.
  • spauda Atgal norėdami uždaryti programą.
  • Atsijungti Prijunkite kompiuterio USB laidą prie „Arduino“.
  • Jei visus veiksmus atlikote teisingai Telefono ekrane rasite ženklą klausia, ar tikrai norite prijungti „Arduino“ plokštę, todėl turėsite paspausti Ok.

Išbandykite šiuos kodų pavyzdžius, kad pamatytumėte, ar teisingai atlikote procesą:

#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);

}

Blokų programavimas

Blokų programavimas

Vienas iš jo turimų privalumų Arduino yra blokinio programavimo teikiama galimybėTai reiškia, kad iš anksto parengtas kodas gali būti naudojamas ir įtraukiamas į bendrą kūrimą. Tai leidžia tęsti procesą, nes blokai dera tarpusavyje ir sudaro žingsnius, kuriuos jau išsprendė kiti „Arduino“ naudotojai. Šiai užduočiai atlikti galite naudoti skirtingas kūrimo aplinkas, šiuo atveju naudosime UIFlow.

Jums reikės atlikti šiuos veiksmus:

  • Prisijunkite prie svetainės naudodami patikimą naršyklę. https://m5stack-store.myshopify.com/pages/download ir tada ieškokite atsisiuntimo mygtuko, vadinamo M5BurnerTai rasite skyriuje programinė įranga.
  • Tada atidarykite ką tik atsisiųstą vykdomąjį failą ir eikite į M5Burner.
  • Eikite į kairįjį skydelį ir pasirinkite parinktį UIFlow (naujausioje versijoje).
  • Įveskite savo interneto vartotojo vardą ir slaptažodį. Tai leis jums sukonfigūruoti reikiamus „Wi-Fi“ tinklo nustatymus lentai, kad ji būtų rodoma. Ekrane rodomas QR kodas su API sąsaja.Jei nenorite to daryti per „Wi-Fi“, galite tai padaryti per USB prievadą, kurį naudosime tęsdami pavyzdį.
  • Lauko konfigūravimas KOM (su atitinkamu prievadu) ir Sparta (pasirinkite 750000).
  • Po to reikės paspausti Sudeginti.
  • Tada Rasite ekraną su visos aplinkos plėtra ir informacija.

Pažvelkite į šį pavyzdį:

Blokų programavimas

  • Atidarykite programavimo aplinką. Ekranas bus padalintas į dvi dalis; kairėje pusėje rodomas funkcijų meniu, o kita dalis skirta programavimui.
  • Į kairysis skydelis Eikite į viršutinį meniu ir pasirinkite pavadinimas.
  • parašyk vardą ir pele nuvilkite jį į įrenginio brėžinį.
  • Toliau pasirinkite „Kai atsidarys langas, įveskite tekstą lauke“. Tekstas ko tik reikia.
  • Atlikę šiuos veiksmus, grįžkite į meniu ir pasirinkite ŽymaDešinėje pusėje pasirodys eilė parinkčių; pasirinkite pirmąją.
  • Ankstesnis žingsnis – automatiškai įterpti tai etiketei priklausančią kodų grupę. Pakeiskite meniu etiketė0 ir įveskite, ką norite matyti. Pavyzdžiui, IP@P.
  • Tada paspauskite Evento Pasirinkite mygtuką. Nuvilkite jį į programavimo skyrių ir apibrėžkite, su kuo jį susiesite. IMU, TRC, LED o AXP.
  • Pavyzdžiui, jei pasirinksite LED Turėsite pasirinkti, ką norite, kad mygtukas atliktų. Tai yra, ar norite, kad šviesos diodas išsijungtų, ar įsijungtų.
  • Kai baigsite šią dalį, galite paspausti „Išsaugoti“Turite nepamiršti, kad norint, jog blokai veiktų, turite juos prijungti prie komandų; norėdami tai padaryti, turite juos prijungti kuo arčiau, kol jie taps tos pačios spalvos.

Programavimas su Python

Programavimas su Python

„Python“ pranašumas yra tas, kad nebūtina atlikti viso proceso.Kitaip nei kitose kalbose, kur įvedamos instrukcijos, o programa jas interpretuoja be jokių tolesnių veiksmų, tai ideali aplinka mokytis programuoti Arduino. Dabartinės šios kalbos versijos yra: Pitonas y python 3Pastarasis yra vienintelis, kuris sulaukia paramos.

Programą galima paleisti iš „Linux“ konsolės naudojant „superuser“ komandą sudo apt-get install idle3Bet jei neturite „Linux“, nes jūsų kompiuteryje veikia „Windows“ arba „MacOS“ operacinė sistema, turėsite naudoti Thonny's Python IDENorėdami tai padaryti, turėsite apsilankyti https://thonny.org/ y pasirinkite mygtuką su atitinkama OS.

Atsisiuntę šią programinę įrangą, norėdami programuoti „Arduino“, turėsite žinoti šias temas: 

  • Kintamieji ir duomenys: Svarbu žinoti, kad kintamieji gali turėti skirtingas reikšmes ir keistis priklausomai nuo programos, kuri juos vykdo. Skirtingai nuo kitų aplinkų, „Python“ kalboje nebūtina apibrėžti kintamųjų prieš juos naudojant.
  • Sąrašai: Šie elementai apibrėžiami, kai duomenys pateikiami laužtiniuose skliaustuose ir yra sunumeruoti nuo 0 iki ilgio -1. Svarbu apsvarstyti, ar įtraukti galinius elementus.
  • Rinkiniai: Skirtumas nuo sąrašų yra tas, kad rinkiniuose yra skliausteliuose esantys duomenys.
  • Operatoriai: Yra daug operatorių, leidžiančių atlikti įvairius veiksmus. Dažniausiai naudojami yra aritmetiniai operatoriai, priskyrimo operatoriai ir reliaciniai gijų operatoriai.

Apibrėžę šias sąvokas, turite atlikti šiuos veiksmus: 

  • Jei norite rašyti Arduino kursas Internet Paso a PasoTerminale turėsite įvesti šią komandą print("Arduino kursas Internet Paso a Paso).
  • Toliau programą galite paleisti įvesdami python3 uno.py.

Praktikuoti atlikti pavyzdį, Meteorologinės stoties programavimas naudojant Arduino.

Atidarę programą kompiuteryje ir žinodami prievadą, įveskite:

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

Įrenginį iš naujo paleiskite paspausdami ir palaikydami 6 sekundes, kad išjungtumėte, ir 2 sekundes, kad įjungtumėte, tada įveskite:

I (9) paleidimas: ESP-IDF v3.3-beta1-270-g6ffef3bc1 antro etapo įkrovos įkroviklis I (9) paleidimas: kompiliavimo laikas 09:26:17 I (9) paleidimas: RNG ankstyvojo entropijos šaltinio įjungimas...

I (14) įkrovimas: SPI Greitis: 80MHz I (18) įkrovimas: SPI Režimas: DIO I (22) įkrovimas: SPI Blykstės dydis: 4MB I (26) įkrovimas: Skirsnių lentelė: I (29) įkrovimas: ## Žymės naudojimas Tipas ST Poslinkis Ilgis I (37) įkrovimas: 0 nvs WiFi duomenys 01 02 00009000 00006000 I (44) įkrovimas: 1 phy_init RF duomenys 01 0 >>> I (9) įkrovimas: ESP-IDF v3.3-beta1-270-g6ffef3bc1 2 etapo įkrovos įkroviklis I (9) įkrovimas: kompiliavimo laikas 09:26:17 I (9) įkrovimas: Įjungiamas ankstyvosios entropijos šaltinio RNG...

I (14) įkrovimas: SPI Greitis: 80MHz I (18) įkrovimas: SPI Režimas: DIO I (22) įkrovimas: SPI Blykstės dydis: 4MB I (26) įkrovimas: Skirsnių lentelė: I (29) įkrovimas: ## Etiketės naudojimas Tipas ST Poslinkis Ilgis I (37) įkrovimas: 0 nvs WiFi duomenys 01 02 00009000 00006000 I (44) įkrovimas: 1 phy_init RF duomenys 01 01 0000f000 00001000 I (52) įkrovimas: 2 gamykla gamyklinė programa 00 00 00010000 001e0000 I (59) įkrovimas: 3 internalfs Nežinomi duomenys 01 81 001f0000 00210000 I (52) įkrovimas: 2 gamykla gamyklinė programa 00 00 00010000 001e0000 I (59) boot: 3 internalfs Nežinomi duomenys 01 81 001f0000 00210000 I (67) boot: I skirsnio lentelės pabaiga (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: 3 segmentas: paddr=0x000edff8 vaddr=0x40080400 dydis=0x02018 (8216) įkelti I (355) esp_image: 4 segmentas: paddr=0x000f0018 vaddr=0x400d0018 dydis=0xd3a10 (866832) žemėlapis I (611) esp_image: 5 segmentas: paddr=0x001c3a30 vaddr=0x40082418 dydis=0x116c0 (71360) įkelti I (634) esp_image: 6 segmentas: paddr=0x001d50f8 vaddr=0x400c0000 dydis=0x00064 (100) įkelti I (635) esp_image: segmentas 7: paddr=0x001d5164 vaddr=0x50000000 size=0x00808 (2056) load I (654) boot: Programa įkelta iš skaidinio, kurio poslinkis 0x10000 I (654) boot: Išjungiamas ankstyvosios entropijos šaltinio RNG...

I (655) cpu_start: Paleidžiamas „Pro“ procesorius.

I (659) cpu_start: Programos informacija: I (664) cpu_start: Kompiliavimo laikas: 09:26:24 I (669) cpu_start: Kompiliavimo data: 2019 m. birželio 10 d. I (674) cpu_start: ESP-IDF: 3-beta1-270-g6ffef3bc1 I (680) cpu_start: Paleidžiamas programos procesorius, įėjimo taškas yra 0x400831f4 I (0) cpu_start: Programos procesorius įjungtas.

I (691) heap_init: Inicializuojama. Dinaminiam paskirstymui prieinama RAM: I (698) heap_init: ties 3FFAE6E0 len 00001920 (6 KiB): DRAM I (704) heap_init: ties 3FFB9970 len 00026690 (153 KiB): DRAM I (710) heap_init: ties 3FFE0440 len 00003AE0 (14 KiB): D/IRAM I (716) heap_init: ties 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM I (723) heap_init: ties 40093AD8 len 0000C528 (49 KiB): IRAM I (729) cpu_start: „Pro“ procesoriaus paleidimo vartotojo kodas I (75) cpu_start: Planuoklės paleidimas „PRO“ procesoriuje.

I (0) cpu_start: APP CPU paleidžiamas planuoklis.

Vidinė FS (FatFS): Prijungta prie skaidinio „internalfs“ [dydis: 2162688; „Flash“ adresas: 0x1F0000] ---------------- Failų sistemos dydis: 2101248 B Naudojama: 503808 B Laisva: 1597440 B ---------------- I (388) [TFTSPI]: prijungtas ekranas, greitis = 8000000 I (388) [TFTSPI]: magistralė naudoja vietinius kontaktus: false [M5] mazgo ID: 1234567890ab, API raktas: 12345678 I (4344) system_api: Bazinis MAC adresas nenustatytas, nuskaitykite numatytąjį bazinį MAC adresą iš EFUSE I BLK0 (4344) system_api: Bazinis MAC adresas nenustatytas, nuskaitykite numatytąjį bazinį MAC adresą iš EFUSE I BLK0 (4432) phy: phy_version: 4007, 1234567, 2019 m. sausio 11 d., 16:45:07, 0, 0 I (4436) modsocket: Inicijuojamas „Wi-Fi“ prisijungimas: SSID: Miwifi PASSWD: Mipass tinklas...

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

Tinklo konfigūracija: ('192.168.43.185', '255.255.255.0', '192.168.43.1', '192.168.43.1') Prisijungta prie „M5Cloud“.

m5cloud temos pradžia .....

Tada vienu metu paspauskite Ctrl + C, kad pertrauktumėte programinę įrangą; tai leis jums pamatyti:

Neapdorota išimtis gijoje, kurią pradėjo vartotojas Traceback (most recent call last): File "flowlib/lib/time_ex.py", line 56, in timeCb KeyboardInterrupt: Unhanded exception in the thread started by Traceback (most recent call last): File "flowlib/m5cloud.py", line 187, in _daemonTask File "flowlib/lib/time_ex.py", line 56, in timeCb KeyboardInterrupt: Traceback (most recent call last): File "flow.py", line 43, in Failas „flowlib/m5cloud.py“, 224 eilutė, vykdymo faile Failas „flowlib/m5cloud.py“, 199 eilutė, _backend Failas „flowlib/m5cloud.py“, 187 eilutė, _daemonTask Failas „flowlib/lib/time_ex.py“, 56 eilutė, timeCb KeyboardInterrupt:

Galiausiai, „MicroPython“ sąsaja bus tokia:

„MicroPython“ v1.10-273-g4616ff72f-dirty, 2019-06-10; ESP32 modulis su ESP32. Norėdami gauti daugiau informacijos, įveskite „help()“. >>> Sveiki atvykę į „MicroPython“ su ESP32! Bendrųjų internetinių dokumentų ieškokite adresu http://docs.micropython.org/. Prieigai prie aparatinės įrangos naudokite modulį „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) Pagrindinė „Wi-Fi“ konfigūracija: import network sta_if = network.WLAN(network.STA_IF); sta_if.active(True) scan() # Ieškoma galimų prieigos taškų connect(" ", " ") # Prisijungimas prie AP isconnected() # Sėkmingo prisijungimo patikrinimas Valdymo komandos: CTRL-A – tuščioje eilutėje, įeiti į neapdorotą REPL režimą CTRL-B – tuščioje eilutėje, įeiti į įprastą REPL režimą CTRL-C – nutraukti veikiančią programą CTRL-D – tuščioje eilutėje, atlikti programinės įrangos atstatymą CTRL-E – tuščioje eilutėje, įeiti įklijavimo režimu Norėdami gauti daugiau pagalbos apie konkretų objektą, įveskite help(obj) Norėdami pamatyti galimų modulių sąrašą, įveskite help('modules') >>>

Programavimas su Scratch

Programavimas su Scratch

„Scratch“, kaip programavimo aplinka, turi pranašumą tuo, kad vartotojams paprasta vykdyti robotikos projektus. ir elektroniką be pažangių programavimo kalbų žinių. Tam naudojami blokai, kurie surenkami pagal vartotojo poreikius atitinkančias funkcijas ir charakteristikas.

Jei norite programuoti „Arduino“ plokštę naudodami „Scratch“, turėsite atlikti šiuos veiksmus: 

  • Pirmas dalykas, kurį jums reikės padaryti, tai atsisiųsti Pradinė IDENorėdami tai padaryti, turėsite pasiekti puslapį naudodami pageidaujamą naršyklę. https://mblock.makeblock.com/en-us/Palaukite kelias sekundes, kol platforma aptiks jūsų kompiuterio operacinę sistemą, tada spustelėkite mygtuką. parsisiųsti.
  • Vieną kartą Atidarę šią programą, pamatysite ekraną, suskirstytą į tris dalis.Vidurinėje matysite visas funkcijas, o dešinėje – aplinką, kurioje rašysite blokų kodus.
  • Dabar Jums reikės prijungti plokštę prie kompiuterio.
  • Įveskite įrankį Valstybinis numeris ir išsirinkite savo modelį Arduino.
  • Eikite į meniu Plėtiniai Pasirinkite Arduino ir Komunikacija.
  • Toliau eikite į skirtuką Prisijungti ir užsiregistruoti Nuoseklusis prievadas kad programa atpažino „Arduino“ jungtį. Tai galite patikrinti įvesdami prievado, prie kurio prijungėte plokštę, pavadinimą.
  • Atlikę šiuos veiksmus, viduriniame stulpelyje rasite valstybinio numerio ženklo pavadinimą su žalias mygtukasTai reiškia, kad visos jungtys atliktos teisingai.
  • Eikite į meniu ekrano viduryje ir pasirinkite skirtuką Programos.
  • Atsiras meniu, iš kurio turėsite pasirinkti Robotai (Jei vykdote tokio pobūdžio projektą, galite pasirinkti ir kitus), norėdami pradėti programuoti, pasirinkite parinktį Arduino programa.
  • Toliau spustelėkite skirtuką Kontrolė.
  • Pasirinkite komandų bloką kurį norite, kad robotas atliktų.
  • Grįžti į robotų įrankį ir paspauskite kitą veiksmą, kurį atliks plokštelė.
  • Kai baigsite, rinkitės dar kartą. Valdykite ir pasirinkite naują funkcijąTai kartojasi tol, kol baigiate programuoti.

Geriausi nemokami internetiniai kursai, skirti išmokti programuoti „Arduino“ nuo nulio, apie kuriuos turėtumėte žinoti

Jei nori Norint tobulėti Arduino programavimo pasaulyje, svarbu žinoti apie geriausius internetinius kursus. Šios platformos yra nemokamos ir padės jums nuo nulio išmokti visus elektroninės lentos siūlomus variantus.

Patikrinkite: 

Arduino į Internet Paso a Paso

Arduino į Internet Paso a Paso

Negalėtume pradėti šio sąrašo nerekomenduodami savo nemokamo kurso, skirto išmokti programuoti „Arduino“. Siūlome platų strategiškai suskirstytų temų spektrą, kad mokymasis būtų daug greitesnis. Ir dar geriau, nepriklausomai nuo naudotojo kompiuterinės patirties.

Norėdami mėgautis vadovais ir pamokomis apie įvairias „Arduino“ plokštes, programavimo aplinką ir robotikos projektus suaugusiems ir vaikams, turėsite prisijungti prie „Arduino“ kursai IPAP ir pasirinkite jums labiausiai patinkančią temą. Be to, Galite užduoti mums bet kokio tipo klausimą skyriuje Komentarai.

„Arduino“ projektų centras

Tai oficiali Arduino svetainė Čia rasite įvairiausių projektų ir idėjų, kaip kurti elektroninius prietaisus naudojant plokštes, medžiagas ir programavimo kodą. Šie projektai Juos įkelia patys vartotojai, todėl bendruomenė yra strateginė šios svetainės dalis.Turėsite apsilankyti naudodami savo naršyklę https://create.arduino.cc/projecthub sužinoti apie įvairias idėjas, kurias galima pritaikyti atsižvelgiant į jūsų kompiuterinius įgūdžius.

Ikkaro.com

Tai platforma, skirta namų eksperimentams....ne tik robotika, bet ir daugybė kitų temų. Dėl šios priežasties „Arduino“ plokštė yra svarbi projekto dalis. Jei norite sužinoti daugiau ir atsisiųsti mokymo programas, turėsite apsilankyti svetainėje ir susipažinti su jos turiniu.

El. knygos IPAP
Ebooks IPAP

🔥PRISIJUNKITE🔥 PRIE NAUJOS IP@P BENDRUOMENĖS! REGISTRUOKITĖS ČIA!

Tematika

Autorius: Félix Albornoz

Turiu daugiau nei 20 metų darbo patirties technologijų sektoriuje, padėdamas įmonėms ir vartotojams tobulėti ir mokytis šioje srityje. Nuolat mokausi naujovių.

Susijęs