FLProg je alternativno Arduino programsko okruženje. Opis projekta. Programiranje Arduina pomoću ArduBlocka na primjeru robota koji se kreće po traci Grafička okruženja koja prikazuju kod kao grafiku

💖 Sviđa li vam se? Podijelite vezu sa svojim prijateljima

Ova lekcija pruža minimalno znanje potrebno za programiranje Arduino sustava u C-u. Možete je samo pregledati i zatim koristiti kao popratne informacije. Za one koji su programirali u C-u na drugim sustavima, možete preskočiti članak.

Ponavljam da je ovo minimalne informacije. Opis pokazivača, klasa, string varijabli itd. bit će dani u narednim lekcijama. Ako vam nešto nije jasno, ne brinite. U budućim lekcijama bit će mnogo primjera i objašnjenja.

Struktura Arduino programa.

Struktura Arduino programa je prilično jednostavna i, u svom minimalnom obliku, sastoji se od dva dijela setup() i loop().

void setup() (

void petlja() (

Funkcija setup() se izvršava jednom, kada se kontroler uključi ili resetira. Obično se u njemu odvijaju početne postavke varijabli i registara. Funkcija mora biti prisutna u programu, čak i ako u njemu nema ničega.

Nakon što setup() završi, kontrola prelazi na funkciju loop(). Izvršava naredbe zapisane u njegovom tijelu (između vitičastih zagrada) u beskonačnoj petlji. Zapravo, ove naredbe izvode sve algoritamske radnje kontrolera.

Izvorna pravila sintakse jezika C.

; točka i zarez Izrazi mogu sadržavati koliko god želite razmaka i prijeloma redaka. Kraj izraza označen je simbolom točke i zareza.

z = x + y;
z=x
+ y ;

( ) vitičaste zagrade definirati blok funkcija ili izraza. Na primjer, u funkcijama setup() i loop().

/* … */ blok komentara, obavezno zatvoriti.

/* ovo je blok komentara */

// komentar u jednom redu, nema potrebe za zatvaranjem, vrijedi do kraja retka.

// ovo je jedan red komentara

Varijable i tipovi podataka.

Varijabla je ćelija RAM memorija, u kojem se pohranjuju informacije. Program koristi varijable za pohranjivanje međuizračunskih podataka. Za izračune se mogu koristiti podaci različitih formata i različitih bitnih dubina, pa varijable u jeziku C imaju sljedeće tipove.

Tip podataka Dubina, bitovi Raspon brojeva
Booleov 8 točno netočno
char 8 -128 … 127
unsigned char 8 0 … 255
bajt 8 0 … 255
int 16 -32768 … 32767
nepotpisani int 16 0 … 65535
riječ 16 0 … 65535
dugo 32 -2147483648 … 2147483647
unsigned long 32 0 … 4294967295
kratak 16 -32768 … 32767
plutati 32 -3.4028235+38 … 3.4028235+38
dvostruko 32 -3.4028235+38 … 3.4028235+38

Tipovi podataka odabiru se na temelju potrebne točnosti izračuna, formata podataka itd. Na primjer, ne biste trebali odabrati dugi tip za brojač koji broji do 100. Radit će, ali operacija će zauzeti više podataka i programske memorije te će trebati više vremena.

Deklaracija varijabli.

Naveden je tip podataka, a zatim naziv varijable.

int x; // deklaracija varijable imena x tipa int
float widthBox; // deklaracija varijable imena widthBox tipa float

Sve varijable moraju biti deklarirane prije upotrebe.

Varijabla se može deklarirati bilo gdje u programu, ali to određuje koji programski blokovi je mogu koristiti. Oni. Varijable imaju opsege.

  • Varijable deklarirane na početku programa, prije funkcije void setup(), smatraju se globalnim i dostupne su bilo gdje u programu.
  • Lokalne varijable su deklarirane unutar funkcija ili blokova kao što je for petlja i mogu se koristiti samo unutar deklariranih blokova. Moguće je imati više varijabli s istim imenom, ali različitim opsegom.

način int; // varijabla dostupna svim funkcijama

void setup() (
// prazan blok, nisu potrebne početne postavke
}

void petlja() (

dugo brojanje; // varijabla brojanja dostupna je samo u funkciji loop().

za (int i=0; i< 10;) // переменная i доступна только внутри цикла
{
i++;
}
}

Prilikom deklaracije varijable možete postaviti njezinu početnu vrijednost (inicijalizirati).

int x = 0; // varijabla x je deklarirana s početnom vrijednošću 0
char d = 'a'; // varijabla d je deklarirana s početnom vrijednošću jednakom kodu znaka “a”

Za aritmetičke operacije sa različiti tipovi tipovi podataka se automatski pretvaraju. Ali uvijek je bolje koristiti eksplicitnu konverziju.

int x; // int varijabla
char y; // char varijabla
int z; // int varijabla

z = x + (int)y; // varijabla y eksplicitno se pretvara u int

Aritmetičke operacije.

Relacijske operacije.

Logičke operacije.

Operacije na pokazivačima.

Bit operacije.

& I
| ILI
^ ISKLJUČIVO ILI
~ INVERZIJA
<< POmak ULJEVO
>> POmak DESNO

Mješovite operacije dodjele.

Odabir opcija, upravljanje programom.

IF operator testira uvjet u zagradama i izvršava sljedeći izraz ili blok u vitičastim zagradama ako je uvjet istinit.

if (x == 5) // ako je x=5, tada se z=0 izvršava
z=0;

ako je (x > 5) // ako je x >
( z=0; y=8; )

AKO...INAČE omogućuje odabir između dvije opcije.

if (x > 5) // ako je x > 5, tada se blok izvodi z=0, y=8;
{
z=0;
y=8;
}

{
z=0;
y=0;
}

INACIJE AKO– omogućuje višestruki odabir

if (x > 5) // ako je x > 5, tada se blok izvodi z=0, y=8;
{
z=0;
y=8;
}

inače ako (x > 20) // ako je x > 20, ovaj blok se izvršava
{
}

else // inače se ovaj blok izvršava
{
z=0;
y=0;
}

PREKIDAČNO KUĆIŠTE- više izbora. Omogućuje vam da usporedite varijablu (u primjeru je to x) s nekoliko konstanti (u primjeru 5 i 10) i izvršite blok u kojem je varijabla jednaka konstanti.

prekidač (x) (

slučaj 5:
// kod se izvršava ako je x = 5
pauza;

slučaj 10:
// kod se izvršava ako je x = 10
pauza;

zadano:
// kod se izvršava ako se niti jedna od prethodnih vrijednosti ne podudara
pauza;
}

FOR petlja. Dizajn vam omogućuje organiziranje petlji s određenim brojem ponavljanja. Sintaksa izgleda ovako:

for (akcija prije početka petlje;
uvjet nastavka petlje;
radnja na kraju svake iteracije) (

// kod petlje tijela

Primjer petlje od 100 ponavljanja.

za (i=0; i< 100; i++) // начальное значение 0, конечное 99, шаг 1

{
zbroj = zbroj + I;
}

WHILE petlja. Operator vam omogućuje organiziranje petlji s konstrukcijom:

dok (izraz)
{
// kod petlje tijela
}

Petlja se izvodi sve dok je izraz u zagradama istinit. Primjer petlje za 10 ponavljanja.

x = 0;
dok (x< 10)
{
// kod petlje tijela
x++;
}

TRAJ DOK– petlja s uvjetom na izlazu.

čini
{
// kod petlje tijela
) dok (izraz);

Petlja se izvodi sve dok je izraz istinit.
PAUZA– operator izlaza iz petlje. Koristi se za prekidanje izvođenja for, while, do while petlji.

x = 0;
dok (x< 10)
{
if (z > 20) break; // ako je z > 20, izađite iz petlje
// kod petlje tijela
x++;
}

IĆI– operator bezuvjetnog prijelaza.

gotovometka1; // idi do metke1
………………
metka1:

NASTAVITI- preskakanje naredbi do kraja tijela petlje.

x = 0;
dok (x< 10)
{
// kod petlje tijela
ako (z > 20) nastavi; // ako je z > 20, vraća se na početak tijela petlje
// kod petlje tijela
x++;
}

Nizovi.

Niz je memorijsko područje u kojem se uzastopno pohranjuje nekoliko varijabli.

Niz se deklarira ovako:

int dobi; // niz od 10 varijable tipa int

težina plovka // niz od 100 float varijabli

Kada se deklariraju, nizovi se mogu inicijalizirati:

int dobi = (23, 54, 34, 24, 45, 56, 23, 23, 27, 28);

Varijablama polja se pristupa ovako:

x = dobi; // x je dodijeljena vrijednost iz 5. elementa niza.
godine = 32; // 9. element niza je postavljen na 32

Numeriranje elemenata niza je uvijek od nule.

Funkcije.

Funkcije vam omogućuju izvođenje istih radnji s različitim podacima. Funkcija ima:

  • ime kojim se zove;
  • argumenti – podaci koje funkcija koristi za izračun;
  • tip podataka koji vraća funkcija.

Opisuje korisnički definiranu funkciju izvan funkcija setup() i loop().

void setup() (
// kod se izvršava jednom kada se program pokrene
}

void petlja() (
// glavni kod, koji se izvodi u petlji
}

// deklaracija prilagođene funkcije pod nazivom functionName
tip functionName(tip argument1, tip argument1, … , tip argument)
{
// tijelo funkcije
povratak();
}

Primjer funkcije koja izračunava zbroj kvadrata dvaju argumenata.

int sumQwadr(int x, int y)
{
return(x* x + y*y);
}

Poziv funkcije ide ovako:

d= 2; b= 3;
z= zbroj Qwadr(d, b); // z će biti zbroj kvadrata varijabli d i b

Funkcije mogu biti ugrađene, prilagođene ili plug-in.

Vrlo kratko, ali ovi bi podaci trebali biti dovoljni za početak pisanja C programa za Arduino sustave.

Zadnje što vam želim reći u ovoj lekciji je kako je uobičajeno formatirati programe u C-u. Mislim da ako ovu lekciju čitate prvi put, trebate preskočiti ovaj odjeljak i vratiti mu se kasnije, kada imate nešto za formatiranje.

Glavni cilj vanjskog dizajna programa je poboljšati čitljivost programa i smanjiti broj formalnih pogrešaka. Stoga, da biste postigli ovaj cilj, možete sigurno prekršiti sve preporuke.

Imena u C jeziku.

Imena koja predstavljaju tipove podataka moraju biti napisana velikim i velikim slovima. Prvo slovo imena mora biti veliko (veliko).

Signal, TimeCount

Varijable moraju biti napisane imenima mješovitih slova, s prvim malim slovom (malim slovima).

Kategorija: . Možete ga označiti.

Ovaj blog posvećen je ovom projektu, a ovdje ću govoriti o novostima projekta i postignućima članova zajednice korisnika programa. Projekt je posvećen stvaranju okruženja za vizualno programiranje za Arduino ploče i stoga, prije nego što pričam o programu FLProg, želim učiniti kratki osvrt postojeće programe namijenjene programiranju ovih ploča.

Programska okruženja za Arduino ploče mogu se podijeliti u sljedeće vrste:

  1. Nadograđene "Bilježnice"
  2. Okruženja za razvoj teksta
  3. Grafička okruženja koja vizualiziraju strukturu koda.
  4. Grafička okruženja koja prikazuju kod kao grafiku.
  5. Vizualna programska okruženja koja ne koriste kod.
Pogledajmo svaku vrstu.

Nadograđene "Bilježnice"

Ova vrsta uključuje izvorno Arduino-IDE programsko okruženje, kao i mnoge njegove klonove.

Program za upravljač dizajniran je u jeziku Processing/Wiring, koji je dijalekt jezika C (najvjerojatnije C++). Ovo okruženje je u biti obični uređivač teksta s mogućnošću učitavanja pisanog koda u kontroler

Okruženja za razvoj teksta

Alternativa Arduino IDE-u je razvojno okruženje proizvođača mikrokontrolera Atmel - AVRStudio.

Programiranje u njemu se radi u čistom C-u, a već ima puno više mogućnosti i sličniji je ozbiljnim IDE-ima za “prave” programske jezike.

Ove dvije vrste programa namijenjene su iskusnim programerima koji dobro poznaju jezik i mogu pomoću njih izraditi ozbiljne projekte.

Grafička okruženja koja vizualiziraju strukturu koda.

To su programi koji, u biti, formatiraju ekstenzije za obične uređivač teksta kodirati. U njemu je program također napisan u C-u, ali u prikladnijoj verziji. Sada postoji mnogo takvih okruženja, najupečatljiviji primjeri: Scratch, S4A, Ardublock. Vrlo su prikladni za početnike u C programiranju jer odlično prikazuju strukturu i sintaksu jezika. Ali za velike, ozbiljne projekte program se pokazao glomaznim.

Grafička okruženja koja prikazuju kod kao grafiku

To su programi koji skrivaju kod i zamjenjuju ga grafičkim analogama. Oni također ponavljaju strukturu jezika, tvoreći cikluse, prijelaze i uvjete. Također su vrlo pogodni za učenje izrade algoritama, s naknadnim prijelazom na programiranje na klasičnim jezicima. Također nisu prikladni za izgradnju velikih projekata zbog glomaznosti dobivenog zaslona. Primjer takvog programa: MiniBlog, Algorithm Builder, Flowcode

Gore opisane vrste programa namijenjene su programerima ili onima koji odluče studirati klasično programiranje. Ali za proizvodnju konačnog uređaja, osim izravnog programiranja kontrolera, obično je potreban razvoj vanjskog strujnog kruga ploče, razvoj i proračun energetskog dijela, ulaznih spojeva i još mnogo toga. Programeri s tim često imaju problema. Ali električari i elektroničari rade izvrstan posao s ovim. Ali među njima je malo programera koji bi mogli napisati program za kontroler. Kombinacija programera i elektroničara prilično je rijedak slučaj. Kao rezultat ove situacije, postoji vrlo malo stvarnih, završenih projekata temeljenih na Arduino pločama (i drugim kontrolerima). Potonja vrsta programa koristi se za rješavanje ovog problema.

Vizualna programska okruženja koja ne koriste kod.

Ovi programi implementiraju princip koji već godinama koriste gotovo svi proizvođači industrijskih kontrolera. Sastoji se od izrade programa za upravljač u FBD ili LAD jezicima. Strogo govoreći, oni nisu jezici kao takvi. Radi se zapravo o grafičkim okruženjima za crtanje sklopova ili logičkih dijagrama. Podsjetimo, procesori nisu uvijek bili mikroprocesori, već su nastali na temelju digitalnih čipova. Stoga će oni koji su navikli raditi s digitalnom tehnologijom više uživati ​​raditi na njima nego pisati kod u klasičnim programskim jezicima. Primjeri takvih programa su projekti Horizont i FLProg. Programi ove vrste dobro su prilagođeni kako za proučavanje konstrukcije pulsne i relejne tehnologije, tako i za stvaranje ozbiljnih projekata.


I na kraju, junak ovog bloga, projekt FLProg.

Budući da već dugi niz godina radim kao programer sustava upravljanja procesima, nastojao sam u programu FLProg prikupiti sve ono što mi se najviše sviđalo u okruženjima vodećih proizvođača industrijske opreme (Tia-Portal, Zelio Soft, Logo Soft Comfort).
Program vam omogućuje izradu dijagrama u dvije vrste: funkcionalni dijagrami (FBD) i relejni dijagrami (LAD).

FBD (Function Block Diagram) je grafički programski jezik prema standardu IEC 61131-3. Program se formira iz popisa sklopova koji se izvode uzastopno od vrha prema dolje. Pri programiranju se koriste skupovi knjižničnih blokova. Blok (element) je potprogram, funkcija ili funkcijski blok(I, ILI, NE, okidači, mjerači vremena, brojači, jedinice za obradu analognog signala, matematičke operacije itd.). Svaki pojedinačni sklop je izraz sastavljen grafički od pojedinačnih elemenata. Sljedeći blok spojen je na izlaz bloka, tvoreći krug. Unutar lanca, blokovi se izvršavaju strogo redoslijedom kojim su povezani. Rezultat izračuna kruga zapisuje se u internu varijablu ili šalje na izlaz regulatora.



Ljestvičasti dijagram (LD, LAD, RKS) je jezik relejne (ljestvičaste) logike. Sintaksa jezika je prikladna za zamjenu logičkih sklopova napravljenih korištenjem relejne tehnologije. Jezik je namijenjen stručnjacima za automatizaciju koji rade u industrijskim poduzećima. Pruža vizualno sučelje logike rada kontrolera, olakšavajući ne samo zadatke programiranja i samog puštanja u pogon, već i brzo rješavanje problema opreme spojene na kontroler. Program u jeziku relejne logike ima grafičko sučelje koje je vizualno i intuitivno za inženjere elektrotehnike, predstavljajući logičke operacije kao električni krug sa zatvorenim i otvorenim kontaktima. Protok ili odsutnost struje u ovom krugu odgovara rezultatu logičke operacije (točno - ako struja teče; lažno - ako struja ne teče). Glavni elementi jezika su kontakti, koji se figurativno mogu usporediti s parom kontakata releja ili gumba. Par kontakata identificira se logičkom varijablom, a stanje tog para identificira se vrijednošću varijable. Postoje normalno zatvoreni i normalno otvoreni kontaktni elementi, koji se mogu usporediti s normalno zatvorenim i normalno otvorenim tipkama u električnim krugovima.

Ova metoda programiranja pokazala se vrlo pogodnom za inženjere elektrotehnike i elektronike da lako uđu u razvoj automatiziranih sustava upravljanja. Prilikom razvoja projekata uređaja, oni mogu jednostavno povezati rad ovih instalacija s radnim algoritmima kontrolera.

Program FLProg izgrađen na ovim prikazima radi s Arduinom. Zašto?
Ploča je vrlo zgodna za brzo razvijanje i otklanjanje pogrešaka vaših uređaja, što je važno ne samo za radio amatere, već je vrlo korisno, na primjer, u školskim klubovima i fakultetskim obrazovnim laboratorijima. Jedna prednost je što vam ne treba programer. Spojite Arduino ploču na svoje računalo i skinete gotov program iz razvojnog okruženja. Trenutno postoji širok izbor Arduino modula, dodatnih modula koji rade s Arduinom, senzora i izvršnih uređaja.

Trenutno program podržava sljedeće verzije Arduina: Arduino Diecimila, Arduino Duemilanove, Arduino Leonardo, Arduino Lilypad, Arduino Mega 2560, Arduino Micro, Arduino Mini, Arduino Nano (ATmega168), Arduino Nano (ATmega328), Arduino Pro Mini, Arduino Pro (ATmega168), Arduino Pro (ATmega328), Arduino UNO. Osim toga, ploča Intel Galileo gen2 nedavno se pojavila na popisu podržanih kontrolera. U budućnosti se planira proširiti ovaj popis i eventualno dodati ploče temeljene na STM kontrolerima.

Projekt u programu FLProg je skup originalnih ploča, na svakoj od kojih je sastavljen kompletan modul opća shema. Radi lakšeg korištenja, svaka ploča ima naziv i komentare. Također, svaka ploča se može sklopiti (kako bi se uštedio prostor u radnom prostoru kada se rad na njoj završi) i rasklopiti.

Trenutačni sastav biblioteke elemenata za FBD jezik.

Dekor

  • Natpis
  • Slika
Osnovni elementi
  • Državni stol
Specijalni blokovi
Okidači
Tajmeri
Brojači
Matematika
Algebra
Usporedba
UART
  • Pošalji na UART
  • Primi od UART-a
  • Slanje varijable u UART
  • Primanje varijable od UART-a
Sklopka
Motori
  • Servomotor
  • StepMotor
Sat stvarnog vremena
Prikazi
  • Zaslon na HD44780 čipu
  • Pozadinsko osvjetljenje zaslona na HD44780 I2C čipu
Žice
  • Dodavanje niza
  • Usporedba nizova
  • Dužina linije
  • Potražite podniz
  • Dobivanje podniza
  • Uzmite znak iz niza
  • Dodavanje znaka nizu
Nizovi
  • Zapisivanje elementa u niz
  • Dobivanje elementa niza
  • Zbroj elemenata niza
  • Pronalaženje elementa u nizu
Senzori
SD kartica
  • Prijenos datoteke sa SD kartice
  • Zapisivanje varijable na SD karticu
Pretvorba tipa
  • Pretvorba niza
  • -> Bajt
  • -> Char
Čipovi za proširenje
  • Ekspander terminala 74HC595
  • MAX7219 LED upravljački program
Bit operacije
  • Dekoder
  • Koder
  • Pročitaj malo
  • Snima malo
Razno
  • Matrix tipkovnica
  • Piezo zvučnik
  • OneWare skeniranje sabirnice
EEPROM
  • Pišite u EEPROM
  • Čitanje iz EEPROM-a
Komunikacije
  • ResiveVariableFromCommunication
  • WebServerPage
  • SendVariableFromCommunication
  • WebClient
Gotove usluge
  • narodmon.ru
  • goplusplatform.com

Trenutačni sastav biblioteke elemenata za LAD jezik.

Dekor

  • Natpis
  • Slika
Osnovni blokovi
  • Kontakt
  • Zavojnica
  • Protuodbijanje
  • Vrhunski odabir
  • Državni stol
Specijalni releji
  • Bistabilni relej
  • Vremenski relej
  • Generator
  • Usporedni relej
Algebra
  • SLUČAJNO
Analogni blokovi
  • Skaliranje
  • Matematika
  • Brojač
  • Analogni prekidač
  • Prebacivanje više na jednog
  • Prebacivanje jedan na više
  • Ulaz analognog regulatora
  • Izlaz analognog regulatora
  • Ulaz analognog konektora
  • Izlaz analognog konektora
  • Mjerač brzine
UART
  • Pošalji na UART
  • Primi od UART-a
  • Slanje varijable u UART
  • Primanje varijable od UART-a
Motori
  • Servomotor
  • Koračni motor
Sat stvarnog vremena
  • Da biste dobili podatke
  • Alarm
  • Postavljanje vremena
Prikazi
  • Zaslon na čipu HD44780
  • Kontrolna jedinica pozadinskog osvjetljenja zaslona na HD4480 I2C čipu
  • Blok za dekodiranje indikatora od sedam segmenata
Žice
  • Dodavanje niza
  • Usporedba nizova
  • Dužina linije
  • Potražite podniz
  • Dobivanje podniza
  • Uzmite znak iz niza
  • Dodavanje znaka nizu
Nizovi
  • Zapisivanje elementa u niz
  • Dobivanje elementa niza
  • Zbroj elemenata niza
  • Pronalaženje elementa u nizu
Senzori
  • Ultrazvučni daljinomjer HC-SR04
  • Senzor temperature i vlage DHT11 (DHT21, DHT22)
  • Senzor temperature DS18x2x
  • IR osjetljiv
  • BMP-085
  • Svjetlomjer BH1750
SD kartica
  • Zapisivanje varijable na SD karticu
  • Prijenos datoteke sa SD kartice
Pretvorba tipa
  • Pretvorba niza
  • Pretvori Float u Integer
  • -> Bajt
  • -> Char
Čipovi za proširenje
  • Ekspander terminala 74HC595
  • MAX7219 LED upravljački program
Bit operacije
  • Koder
  • Dekoder
  • Pročitaj malo
  • Snima malo
Razno
  • Matrix tipkovnica
  • Piezo zvučnik
  • OneWare skeniranje sabirnice
EEPROM
  • Pišite u EEPROM
  • Čitanje iz EEPROM-a
Komunikacije
  • Blok za slanje varijable putem komunikacije
  • Primanje varijable putem komunikacije
  • Web stranica poslužitelji
  • Web klijent
Gotove usluge
  • Prijenos podataka na narodmon.ru
  • Daljinsko upravljanje putem RemoteXY

Više o projektu ću vam ispričati u narednim postovima, a na kraju i kratki video koji prikazuje principe rada programa i mogućnost upravljanja pločom iz aplikacije na pametnom telefonu.

Možete pomoći i dodijeliti neka sredstva za razvoj stranice

Zdravo! Ja sam Alikin Alexander Sergeevich, učitelj dodatnog obrazovanja, vodim klubove "Robotika" i "Radiotehnika" u Centru za mlade i tehnologiju mladih u Labinsku. Želio bih malo razgovarati o pojednostavljenoj metodi programiranja Arduina pomoću programa ArduBlock.

Uveo sam ovaj program u obrazovni proces i oduševljen sam rezultatom, vrlo je tražen među djecom, posebno pri pisanju jednostavnih programa ili izradi neke vrste početno stanje složeni programi. ArduBlock je grafičko programsko okruženje, tj. sve radnje se izvode s nacrtanim slikama s potpisanim akcijama na ruskom, što uvelike pojednostavljuje učenje Arduino platforme. Djeca od 2. razreda mogu lako savladati rad s Arduinom zahvaljujući ovom programu.

Da, netko bi mogao reći da Scratch još uvijek postoji i da je također vrlo jednostavno grafičko okruženje za Arduino programiranje. Ali Scratch ne flashira Arduino, već ga samo kontrolira pomoću USB kabl. Arduino ovisi o računalu i ne može raditi samostalno. Prilikom izrade vlastitih projekata, autonomija je glavna stvar za Arduino, posebno kada stvarate robotske uređaje.

Čak i dobro poznati LEGO roboti, poput NXT-a ili EV3, dolaskom ArduBlock programa u Arduino programiranje više nisu toliko zanimljivi našim studentima. Arduino je također mnogo jeftiniji od bilo kojeg LEGO konstrukcionog kompleta, a mnoge se komponente mogu jednostavno uzeti iz stare kućne elektronike. Program ArduBlock pomoći će ne samo početnicima, već i aktivnim korisnicima Arduino platforme.

Dakle, što je ArduBlock? Kao što sam već rekao, ovo je okruženje za grafičko programiranje. Gotovo u potpunosti preveden na ruski. Ali vrhunac ArduBlocka nije samo to, već i činjenica da ArduBlock program koji smo napisali pretvara u Arduino IDE kod. Ovaj program je ugrađen u Arduino IDE programsko okruženje, tj. plugin je.

Ispod je primjer trepćućeg LED-a i konvertiranog programa u Arduino IDE. Sav rad s programom je vrlo jednostavan i svaki učenik ga može razumjeti.

Kao rezultat rada s programom, ne možete samo programirati Arduino, već i proučavati naredbe koje ne razumijemo u format teksta Arduino IDE, ali ako ste previše lijeni za pisanje standardnih naredbi, možete brzo upotrijebiti miš za skiciranje jednostavnog programa u ArduBloku i uklanjanje pogrešaka u njemu u Arduino IDE.

Da biste instalirali ArduBlok, prvo morate preuzeti i instalirati Arduino IDE sa službene Arduino web stranice i razumjeti postavke kada radite s Arduino ploča UNO. Kako to učiniti opisano je na istoj web stranici ili na Amperki ili pogledajte na YouTubeu. Pa, kad sve ovo shvatite, morate preuzeti ArduBlok sa službene stranice, ovdje. Ne preporučam preuzimanje najnovijih verzija, vrlo su komplicirane za početnike, ali verzija od 2013-07-12 je najbolja, ova datoteka je tamo najpopularnija.

Zatim preimenujte preuzetu datoteku u ardublock-all i u mapu “documents”. Kreiramo sljedeće mape: Arduino > tools > ArduBlockTool > tool i u potonju bacamo preuzetu i preimenovanu datoteku. ArduBlok radi na svim operativnim sustavima, čak i na Linuxu, osobno sam ga testirao na XP, Win7, Win8, svi primjeri su za Win7. Instalacija programa je ista za sve sustave.

Pa, jednostavno rečeno, pripremio sam arhivu na 7z Mail disku, raspakirajući koju ćete pronaći 2 mape. U jednom već radni program Arduino IDE, au drugoj mapi sadržaj se mora poslati u mapu dokumenata.

Da biste radili u ArduBloku, morate pokrenuti Arduino IDE. Zatim idemo na karticu Alati i tamo nalazimo stavku ArduBlok, kliknemo na nju - i evo ga, naš cilj.

Sada pogledajmo sučelje programa. Kao što ste već shvatili, u njemu nema postavki, ali ima puno ikona za programiranje i svaka od njih nosi naredbu u tekstualnom formatu Arduino IDE. Nove verzije imaju još više ikona, tako da je razumijevanje najnovije verzije ArduBloka teško, a neke od ikona nisu prevedene na ruski.

U odjeljku "Upravljanje" pronaći ćemo razne cikluse.

U odjeljku "Priključci" možemo upravljati vrijednostima priključaka, kao i emiterom zvuka, servo ili ultrazvučnim senzorom blizine koji je na njih povezan.

U odjeljku "Brojevi/konstante" možemo odabrati digitalne vrijednosti ili stvoriti varijablu, ali malo je vjerojatno da ćete koristiti ono što je ispod.

U odjeljku “Operatori” pronaći ćemo sve potrebne operatore za usporedbu i izračun.

Odjeljak Uslužni programi uglavnom koristi ikone s vremenskim ograničenjima.

"TinkerKit Bloks" je dio za kupljene TinkerKit senzore. Mi, naravno, nemamo takav set, ali to ne znači da ikone nisu prikladne za druge setove, naprotiv, vrlo je zgodno za dečke da koriste ikone poput uključivanja LED-a ili dugme. Ovi se znakovi koriste u gotovo svim programima. Ali imaju jednu osobitost - kada ih odaberete, pojavljuju se netočne ikone koje označavaju priključke, pa ih trebate ukloniti i zamijeniti ikonom iz odjeljka "brojevi/konstante" na vrhu popisa.

“DF Robot” - ovaj odjeljak se koristi ako su senzori navedeni u njemu prisutni, ponekad se pronađu. I naš današnji primjer nije iznimka, mi imamo “Adjustable IR Switch” i “Line Sensor”. “Line senzor” je drugačiji od ovog na slici, jer je iz firme Amperka. Radnje su im identične, ali je Ampere senzor puno bolji jer ima regulator osjetljivosti.

“Seedstudio Grove” - Nikada nisam koristio senzore u ovom odjeljku, iako postoje samo joystickovi. U novim verzijama ovaj odjeljak je proširen.

I posljednji odjeljak je "Linker Kit". Nisam naišao na senzore predstavljene u njemu.

Želio bih pokazati primjer programa na robotu koji se kreće duž trake. Robot je vrlo jednostavan, kako za sastavljanje tako i za kupnju, ali na prvom mjestu. Počnimo s njegovom nabavom i montažom.

Evo i samog seta dijelova, sve je kupljeno na web stranici Amperka.

  1. AMP-B001 Motor Shield (2 kanala, 2 A) 1890 RUB
  2. AMP-B017 Troyka Shield 1690 RUB
  3. AMP-X053 Pretinac za baterije 3×2 AA 1 60 RUR
  4. AMP-B018 Digitalni linijski senzor 2580 RUB
  5. ROB0049 MiniQ platforma na dva kotača 11890 RUB
  6. SEN0019 Infracrveni senzor prepreka 1390 RUB
  7. FIT0032 Nosač za infracrveni senzor prepreka 1,90 RUB
  8. A000066 Arduino Uno 1 1150 RUR

Prvo, sastavimo platformu s kotačima i zalemimo žice na motore.

Zatim ćemo instalirati nosače za montažu Arduino UNO ploče, koji su uzeti sa stare matične ploče ili drugih sličnih nosača.

Zatim pričvrstimo Arduino UNO ploču na te police, ali ne možemo pričvrstiti jedan vijak - konektori su na putu. Možete ih, naravno, odlemiti, ali to je po vašem nahođenju.

Zatim pričvrstimo infracrveni senzor prepreka na njegov poseban nosač. Imajte na umu da se regulator osjetljivosti nalazi na vrhu, radi lakšeg podešavanja.

Sada postavljamo digitalne linijske senzore, ovdje ćete morati potražiti par vijaka i 4 matice za njih.Instaliramo dvije matice između same platforme i linijskog senzora, a s ostatkom pričvrstimo senzore.

Zatim instaliramo Motor Shield, ili ga inače možete nazvati pokretačkim programom motora. U našem slučaju obratite pozornost na skakač. Nećemo koristiti zasebno napajanje za motore, pa je instalirano u ovom položaju. Donji dio je zalijepljen električnom trakom kako ne bi došlo do slučajnog kratkog spoja s Arduino UNO USB konektora, za svaki slučaj.

Instaliramo Troyka Shield na vrh Motor Shielda. Potrebno je za praktičnost povezivanja senzora. Svi senzori koje koristimo su digitalni, tako da su linijski senzori spojeni na priključke 8 i 9, kako se još nazivaju pinovi, a infracrveni senzor prepreka spojen je na priključak 12. Imajte na umu da ne možete koristiti priključke 4, 5, 6, 7 jer ih koristi Motor Shield za upravljanje motorima. Čak sam te luke posebno obojao crvenim flomasterom kako bi učenici to mogli shvatiti.

Ako ste već primijetili, dodao sam crnu čahuru, za svaki slučaj, da pretinac za bateriju koji smo ugradili ne bi izletio van. I na kraju, učvrstimo cijelu strukturu običnom elastičnom trakom.

Postoje 2 vrste priključaka odjeljka za baterije. Prvo spajanje žica na Troyka Shield. Također je moguće zalemiti strujni utikač i spojiti ga na samu Arduino UNO ploču.

Naš robot je spreman. Prije nego počnete programirati, morat ćete naučiti kako sve funkcionira, naime:
- Motori:
Priključci 4 i 5 služe za upravljanje jednim motorom, a 6 i 7 drugim;
Reguliramo brzinu vrtnje motora pomoću PWM na priključcima 5 i 6;
Naprijed ili unatrag slanjem signala na priključke 4 i 7.
- Senzori:
Svi smo mi digitalni, pa oni daju logične signale u obliku 1 ili 0;
A za podešavanje imaju posebne regulatore, a uz pomoć odgovarajućeg odvijača mogu se kalibrirati.

Detalje možete pronaći na Amperke. Zašto ovdje? Jer postoji mnogo informacija o radu s Arduinom.

Pa vjerojatno smo sve površno pogledali, proučili i, naravno, sklopili robota. Sada ga treba programirati, evo ga - dugo očekivani program!

I program pretvoren u Arduino IDE:

Void setup() ( pinMode(8 , INPUT); pinMode(12 , INPUT); pinMode(9 , INPUT); pinMode(4 , IZLAZ); pinMode(7 , IZLAZ); pinMode(5, IZLAZ); pinMode(6 , OUTPUT); ) void loop() ( if (digitalRead(12)) ( if (digitalRead(8)) ( if (digitalRead(9)) ( digitalWrite(4 , HIGH); analogWrite(5, 255); analogWrite( 6, 255); digitalWrite(7, HIGH); ) else ( digitalWrite(4, HIGH); analogWrite(5, 255); analogWrite(6, 50); digitalWrite(7, LOW); ) ) else ( if (digitalRead) (9)) ( digitalWrite(4, LOW); analogWrite(5, 50); analogWrite(6, 255); digitalWrite(7, HIGH); ) else ( digitalWrite(4, HIGH); analogWrite(5, 255); analogWrite(6, 255); digitalWrite(7 , HIGH); ) ) ) else ( digitalWrite(4 , HIGH); analogWrite(5, 0); analogWrite(6, 0); digitalWrite(7 , HIGH); ) )

Zaključno, želim reći da je ovaj program jednostavno božji dar za obrazovanje; čak i za samostalno učenje, pomoći će vam da naučite Arduino IDE naredbe. Glavni naglasak je da postoji više od 50 instalacijskih ikona, počinje "gljakati". Da, doista, ovo je vrhunac, budući da vas stalno programiranje samo na ArduBloku neće naučiti programiranju u Arduino IDE. Takozvani “glitch” vam daje priliku da razmislite i pokušate zapamtiti naredbe za precizno otklanjanje pogrešaka programa.

Želim ti uspjeh.

Sergej Glušenko

Trenutno je u svijetu počeo procvat korištenja mikrokontrolera u raznim domaćim proizvodima i startupima. Doista, cijene mikrokontrolera su pale, ali njihove mogućnosti stalno rastu. A naši prijatelji Kinezi su naučili raditi periferiju za njih, i još ih prodaju po smiješnim cijenama. Ali s programiranjem mikrokontrolera sve nije tako ružičasto...

Kako je sve počelo i kako se razvijalo

Od pojave mikroprocesora, razvoj principa rada s njima išao je putem sve veće apstrakcije. Prva faza predstavljala je programiranje izravno u strojnim kodovima. Programiranje je bilo složeno, dugotrajno i zahtijevalo je vrlo specifičan način razmišljanja. Stoga je bilo vrlo malo programera.

Ali čovjek je lijeno stvorenje, a lijenost je, kao što znamo, motor napretka. Došli smo do prve razine apstrakcije - asemblera. Pisanje programa postalo je lakše i zabavnije. Povećao se broj programera. Ipak, asembler se nije mnogo razlikovao od strojnog koda.

Stoga se pojavila sljedeća razina apstrakcije. Jezici visoke razine. Glavna svrha ovih jezika bila je mogućnost da stroju objasne što žele od njega, na jeziku što je moguće bližem ljudskom. To je omogućilo ljudima s manje specifičnim načinom razmišljanja da se uključe u programiranje. Stoga je s razvojem jezika visoke razine rastao broj programera, a broj korisni programi koje su stvorili.

Kako sada stoje stvari?

Naravno, za izravan rad s kontrolerom potrebna je određena priprema. Odnosno, potreban vam je programer, prilagođeno okruženje za programiranje na računalu i naravno poznavanje programskog jezika. Osim toga, razvija se vještina rada s lemilom tiskane ploče, znanje iz elektrotehnike i elektronike. Dakle, prag za ulazak u područje izrade vlastitih uređaja na mikrokontrolerima ostaje visok.

Osim toga, ova vrsta posla zahtijeva kombinaciju vještina koje se rijetko mogu naći zajedno. Programeri su rijetko prijatelji s lemilom, a inženjeri elektronike nisu često programeri. Za programere, problem je riješen stvaranjem Arduino ploče, koja vam omogućuje sastavljanje uređaja bez upotrebe alata.

Za elektroničare i električare stvari su sve gore. Sve do nedavno, kako bi stvorili vlastiti uređaj pomoću mikrokontrolera, imali su dva načina. Ili sami naučite programski jezik C ili zamolite programera za pomoć. Oba načina nisu najbolja. Da biste postali programer, potreban vam je određeni način razmišljanja, koji nije uvijek kompatibilan s čitalačkim iskustvom električni dijagrami. A programer kojeg poznajete možda neće biti pri ruci.

Istodobno, odavno postoje programska okruženja prilagođena prosječnom elektroničaru ili samo električaru. Mislim na programska okruženja za industrijske kontrolere. PLC. Oni vam omogućuju stvaranje softver za kontrolere u jezicima FBD I LAD. Strogo govoreći, oni nisu jezici kao takvi. Radi se zapravo o grafičkim okruženjima za crtanje sklopova ili logičkih dijagrama.

FBD (funkcijski blok dijagram)

- standard za grafički programski jezik IEC 61131-3. Program se formira iz popisa sklopova koji se izvode uzastopno od vrha prema dolje. Pri programiranju se koriste skupovi knjižničnih blokova. Blok (element) je potprogram, funkcija ili funkcijski blok (I, ILI, NE, okidači, mjerači vremena, brojači, blokovi obrade analognog signala, matematičke operacije itd.). Svaki pojedinačni sklop je izraz sastavljen grafički od pojedinačnih elemenata. Sljedeći blok spojen je na izlaz bloka, tvoreći krug. Unutar lanca, blokovi se izvršavaju strogo redoslijedom kojim su povezani. Rezultat izračuna kruga zapisuje se u internu varijablu ili šalje na izlaz regulatora.

Ljestvičasti dijagram (LD, LAD, RKS)


- jezik relejne (ljestvičaste) logike. Sintaksa jezika je prikladna za zamjenu logičkih sklopova napravljenih korištenjem relejne tehnologije. Jezik je namijenjen inženjerima automatizacije koji rade u industrijskim postrojenjima. Pruža vizualno sučelje logike rada kontrolera, olakšavajući ne samo zadatke programiranja i samog puštanja u pogon, već i brzo rješavanje problema opreme spojene na kontroler. Program u jeziku relejne logike ima grafičko sučelje koje je vizualno i intuitivno za inženjere elektrotehnike, predstavljajući logičke operacije kao električni krug sa zatvorenim i otvorenim kontaktima. Protok ili odsutnost struje u ovom krugu odgovara rezultatu logičke operacije (točno - ako struja teče; lažno - ako struja ne teče). Glavni elementi jezika su kontakti, koji se figurativno mogu usporediti s parom kontakata releja ili gumba. Par kontakata identificira se logičkom varijablom, a stanje tog para identificira se vrijednošću varijable. Postoje normalno zatvoreni i normalno otvoreni kontaktni elementi, koji se mogu usporediti s normalno zatvorenim i normalno otvorenim tipkama u električnim krugovima.

Pokazalo se da je ovaj pristup vrlo pogodan za inženjere elektrotehnike i elektronike da lako uđu u razvoj automatiziranih sustava upravljanja. Prilikom izrade instalacijskih projekata mogli su jednostavno povezati rad tih instalacija s radnim algoritmima kontrolera. Također je bolje za održavanje ovih instalacija na licu mjesta kada postojeće osoblje za održavanje može lako provjeriti rad automatiziranog upravljačkog sustava i pronaći problem. A pritom nema potrebe za svaku sitnicu zvati programera iz “Centra”. I ovaj se pristup isplatio. Danas se gotovo svi sustavi industrijske automatizacije stvaraju korištenjem takvih razvojnih alata.

Takvo razvojno okruženje imaju Siemens, ABB, Schneider Electric... i gotovo svi proizvođači PLC-ova. Čini se idealno rješenje za ljubitelje DIY. Ali, kao i uvijek, postoji "ali". Sva ta programska okruženja vezana su za industrijske kontrolere određenog proizvođača. A cijene ovih kontrolera nisu baš inspirativne. Vrlo je rijetko da će vam bilo koji obiteljski proračun omogućiti kupnju kontrolera koji košta nekoliko desetaka tisuća rubalja.

Ali Arduino ploče idealne su za majstore „uradi sam“ i majstore, kojima je naša zemlja uvijek bila, jest i bit će bogata. Ali, opet "ali". Ove ploče su programirane u jeziku C. Za većinu ovih najpametnijih ljudi, s vrlo ravnim rukama koje rastu s pravog mjesta, jezik C je kineska abeceda. Oni mogu izmisliti, nacrtati, sastaviti, otkloniti pogreške i pokrenuti najsloženije sklopove, ali If, For, Case, Void itd. - ovo nije za njih. Naravno, možete pročitati upute na internetu, malo se poigrati i na primjeru treptati LED-om. Ali za ozbiljniju primjenu potrebno je detaljno proučavanje jezika. Zašto im ovo treba?

Neće biti profesionalni programeri. Oni imaju drugačiji put. Nešto su smislili. Da, jednostavnije je i ljepše sastaviti pomoću mikrokontrolera, ali postaje li se za to programer nakon mjeseci provedenih u učenju jezika? Naravno da ne. Skupljaju ga na starinski način, naravno jednostavniji, ali u svom kraju.

Na temelju svih ovih izračuna nastao je projekt FLProg. Glavna ideja projekta je kombinirati principe industrijskog programiranja s niskom cijenom i praktičnošću Arduina. Projekt nudi novu razinu apstrakcije s prilično hrabrom izjavom -

Ne morate znati programske jezike za programiranje mikrokontrolera!

Rezultat je alat koji svakome tko je upoznat s elektrotehnikom i elektronikom omogućuje stvaranje vlastitih projekata na Arduinu, što im omogućuje stvaranje vlastitih proizvoda pomoću ovih ploča.

Projekt se sastoji od dva dijela.

Prvi dio je desktop aplikacija FLProg, koje je grafičko programsko okruženje za Arduino ploče.

Prilikom izrade novog projekta od vas će se tražiti da odaberete programski jezik u kojem ćete izraditi projekt i kontroler na kojem će se taj projekt implementirati.

Evo popisa Arduino ploča koje danas podržava program:

Arduino Diecimila
Arduino Duemilanove
Arduino Leonardo
Arduino Lilypad
Arduino Mega 2560
Arduino Micro
Arduino Mini
Arduino Nano (ATmega168)
Arduino Nano (ATmega328)
Arduino Pro Mini
Arduino Pro (ATmega168)
Arduino Pro (ATmega328)
Arduino Uno

Uskoro se očekuje novi dodatak obitelji podržanih ploča. Arduino Due je već na putu, a Intel Galileo (gen.2) ploču obećao je voditelj laboratorija za internet stvari na St. Petersburg State University of Telecommunications. prof. M.A. Bonch-Bruevich. S vremenom, kako akvizicija napreduje, planira se podržavati ploče temeljene na STM kontrolerima.

Projekt u FLProg-u je skup ploča, na svakoj od kojih je sastavljen kompletan modul općeg kruga. Radi lakšeg korištenja, svaka ploča ima naziv i komentare. Svaka ploča se također može sklopiti (kako bi se uštedio prostor u radnom prostoru kada se rad na njoj završi) i rasklopiti. Crveni indikator u nazivu ploče označava da postoje pogreške u dijagramu ploče.

Na desnoj strani radnog područja nalazi se biblioteka elemenata. Elementi se prenose na dijagram jednostavnim povlačenjem i ispuštanjem. Kada dvaput kliknete na element, prikazat će se informacije o njemu.

Ovdje je popis blokova koji su danas dostupni.

Osnovni elementi



Specijalni blokovi

Okidači



Tajmeri


Brojači


Matematika



Algebra




Usporedba

Kom port

Poslati
SendVariable
ReceiveVariable

Sklopka


Motori

Servomotor
StepMotor

Sat stvarnog vremena


Prikazi

Zaslon na HD44780 čipu
Pozadinsko osvjetljenje zaslona na HD44780 I2C čipu

Žice

Dodavanje niza

Senzori



SD kartica

Zapisivanje varijable na SD karticu
Prijenos datoteke sa SD kartice

Pretvorba tipa

Pretvorba niza

Čipovi za proširenje

Ekspander terminala 74HC595

Bit operacije

Koder
Dekoder
Pročitaj malo
Snima malo

Razno

Matrix tipkovnica
Piezodinamički

Pišite u EEPROM
Čitanje iz EEPROM-a

Komunikacije

SendVariableFromCommunication
ResiveVariableFromCommunication
WebServerPage
WebClient

Osnovni blokovi

Kontakt
Zavojnica
Protuodbijanje
Vrhunski odabir

Specijalni releji

Bistabilni relej
Vremenski relej
Generator
Usporedni relej

Algebra

GRIJEH
COS
TAN
ABS
MAKS
MIN
S.Q.
SQRT
POW
SLUČAJNO

Analogni blokovi

Skaliranje
Matematika
Brojač
Analogni prekidač
Prebacivanje više na jednog
Prebacivanje jedan na više
Ulaz analognog regulatora
Izlaz analognog regulatora
Ulaz analognog konektora
Izlaz analognog konektora
Mjerač brzine

CommPort

Prijenos na ComPort
Prijenos varijable preko Comm porta
Primite varijablu putem Comm porta

Motori

Servomotor
Koračni motor

Sat stvarnog vremena

Da biste dobili podatke
Alarm
Postavljanje vremena

Prikazi

Zaslon na čipu HD44780
Kontrolna jedinica pozadinskog osvjetljenja zaslona na HD4480 I2C čipu
Blok za dekodiranje indikatora od sedam segmenata

Žice

Dodavanje niza

Senzori

Ultrazvučni daljinomjer HC-SR04
Senzor temperature i vlage DHT11 (DHT21, DHT22)
Senzor temperature DS18x2x
IR osjetljiv
BMP-085

SD kartica

Zapisivanje varijable na SD karticu
Prijenos datoteke sa SD kartice

Pretvorba tipa

Pretvorba niza
Pretvori Float u Integer

Čipovi za proširenje

Ekspander terminala 74HC595

Bit operacije

Koder
Dekoder
Pročitaj malo
Snima malo

Razno

Matrix tipkovnica
Piezodinamički

Pišite u EEPROM
Čitanje iz EEPROM-a

Komunikacije

Blok za slanje varijable putem komunikacije
Primanje varijable putem komunikacije
Stranica web poslužitelja
Web klijent

Trenutno se razvijaju funkcionalni blokovi za rad s troosnim žiroskopom, luxmetrom i drugim senzorima. Također se radi na organizaciji razmjene podataka putem Bluetootha, radija i RS-485 sučelja. U budućim planovima. izrada SCADA sustava za organizaciju sučelja sustava razvijenih u programu FLProg na osobnom računalu ili grafičkim zaslonima.

Popis periferne opreme koju podržava program dostupan je na web stranici projekta na poveznici:

Za neku opremu odjeljak na web-mjestu sadrži pregledne članke koji olakšavaju razumijevanje korištenja u programu.

Na vrhu radnog područja nalazi se popis oznaka (varijabli i ulaza/izlaza) (FBD) ili instalirane opreme (LAD). Oznake ili oprema prenose se na dijagram jednostavnim povlačenjem i ispuštanjem.

Nakon završetka rada na projektu slijedi njegovo sastavljanje. Nakon kompilacije, program "Arduino 1.5.7" automatski će se otvoriti s učitanom skicom vašeg projekta. U programu "Arduino IDE 1.5.7" morat ćete navesti broj COM porta na koji je vaš kontroler spojen, odabrati njegovu vrstu i učitati skicu na kontroler. Više o programu "Arduino IDE 1.5.7" možete pročitati na web stranici Arduino.ru.

Gdje mogu preuzeti FLProg?

U sklopu projekta postoji web stranica http://flprog.ru. Glavna zadaća stranice je omogućiti korisnicima preuzimanje Najnovija verzija programe, upoznajte se s novostima i promjenama.

Program možete preuzeti bez registracije na web mjestu, ali za registrirane korisnike funkcionalnost web mjesta je značajno proširena. Registracija je vrlo jednostavna i zahtijeva samo potvrdu E-mail. Ne morate unositi nikakve druge podatke.

Na stranici za preuzimanje programa uvijek su dostupne dvije verzije: instalacijska i prijenosna verzija koja ne zahtijeva instalaciju. Ako je moguće, također objavljujem puno manju datoteku ažuriranja koja vam omogućuje ažuriranje prethodne verzije.

Također na stranici za preuzimanje možete vidjeti popis inovacija i ispravki grešaka za ovu verziju i otići u arhivu prethodnih verzija.

Klubovi programiranja i robotike posljednjih su godina postali iznimno popularni i dostupni čak i studentima osnovna škola. To je omogućeno korištenjem grafičkih programskih okruženja, koja, treba napomenuti, aktivno koriste velike tvrtke. Kako bismo govorili o grafičkim programskim okruženjima, odabrali smo tri najpopularnija.

Visuino je besplatno grafičko okruženje koje pokreću Arduino kompatibilni Controllino industrijski kontroleri (PLC). Omogućuje stvaranje složenih sustava automatizacije i IoT (Internet of Things) rješenja, a to se može učiniti jednostavnim pomicanjem i povezivanjem vizualnih blokova. Softversko okruženje automatski generira kod za industrijske kontrolere.

Dakle, što treba učiniti. Odaberite komponente (module) s ploče s komponentama i premjestite ih u područje dizajna. Zatim ih je potrebno povezati i konfigurirati svojstva. To se radi pomoću Object Inspectora.

Prednosti Visuina uključuju velik skup komponenti za matematičke i logičke funkcije, servo uređaje, zaslone, internet itd.

Kada je PLC programiran, grafičko okruženje traži pristupačan način veze s kontrolerom. To može biti serijski priključak, Ethernet, Wi-Fi ili GSM.

Konačno, vaš projekt je spreman: svi kontroleri su registrirani, sve radi. Sada, klikom na Arduino logo koji se nalazi na gornja ploča, natjerat ćete Visuino da kreira kodove za Arduino i otvori njegovo razvojno okruženje (Arduino IDE), preko kojeg već možete kompajlirati kod i učitati ga u PLC.

Savjet. Ako instalirana ploča ne odgovara vašem Arduinu, možete je promijeniti pomoću naredbe Select Board.

Ovo grafičko programsko okruženje nastalo je 2003. godine, kada je grupa zaposlenika MIT Media Laba odlučila razviti programski jezik koji će biti dostupan apsolutno svima. Kao rezultat toga, nakon nekog vremena, Scratch je predstavljen javnosti.

Najviše od svega, možda, izgleda kao Lego. Barem je princip isti: to je objektno orijentirano okruženje u kojem se programi sklapaju iz dijelova, šarenih i svijetlih. Ti se dijelovi mogu pomicati, modificirati i međusobno djelovati na različite načine. Osnova Scratch-a su blokovi naredbi, kao što su senzori, varijable, pokret, zvuk, operateri, izgled, olovka, kontrola, itd. Ugrađeni grafički urednik omogućuje crtanje bilo kojeg predmeta. Nije prošlo ni pet godina od nastanka Scratch-a kada se pojavio projekt Scratch for Arduino (skraćeno S4A) koji omogućuje programiranje Arduino PLC-a.

Prednosti sustava uključuju činjenicu da je rusificiran i potpuno lokaliziran - svatko može pronaći puno podataka o njemu. Osim toga, rad u ovom grafičkom okruženju dostupan je čak i osnovnoškolcima koji još nisu dovoljno sigurni u čitanju.

Savjet. Za početnike u Scratchu postoji poseban resurs: https://scratch-ru.info.

Kada je osoba već u potpunosti savladala Scratch, ali još nije stigla do ožičenja, na kojem su programirane ploče kompatibilne s Arduinom, vrijeme je da preporučite alat ArduBlock napisan u Javi. Posebno je dobar za one koje zanima robotika.

Koja je razlika? Činjenica je da Scratch ne zna flashati Arduino, on samo kontrolira svoj PLC preko USB-a. Dakle, Arduino ne može raditi sam, jer ovisi o računalu.

Zapravo, ArduBlosk je međufaza između dječjeg Scratch-a i potpuno profesionalnog, iako cjenovno prihvatljivog Visuina, budući da, poput potonjeg, ima mogućnost flashanja Arduino-kompatibilnih kontrolera.

Savjet. Ne zaboravite instalirati Java stroj na svoje računalo. Ne oduzima puno vremena.

Dakle, više grafičkih okruženja - dobrih i drugačijih. Neka Arduino bude s vama.

Foto: proizvodne tvrtke, pixabay.com Zanima vas programiranje? Da, programer sam. Da, ovo je vrlo zanimljiva stvar koja me ne zanima, ali moje dijete je Ne, ne zanima me ovo. Pogledajte rezultate Učitavanje... Pročitajte također: Arduino: kako pretvoriti LCD monitor u termometar

Mini-PC Raspberry Pi 3 Model B+ može postati središte pametnog doma



reci prijateljima