Arduino - projekti, ideje, savjeti, problemi izdvojena tema

poruka: 1.220
|
čitano: 163.140
|
moderatori: DrNasty, Danny_HR, pirat, XXX-Man, Lazarus Long, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
Ova tema je sadržajno povezana sa sljedećim temama: Uvod u elektrotehniku (istosmjerna struja)
5 tjedana
offline
Arduino - projekti, ideje, savjeti, problemi

Zamolio bih poznavatelje programiranja Arduino aplikacije da pogledaju ovaj Sketch i upute me gdje griješim. Naime želio bih napraviti napravu kojom bih mogao raditi slijedeće. Kad se preko tastature unese neki broj, isti je vidljiv na LCD-u. Kad se pritisne tipka 1,stepper motor napravi koraka koliko je određeno naredbom myStepper.step Unesena vrijednost mora ostati spremljena u EEPROM. Trenutno nije bitno da se kontra smijer upravlja sa vrijednostima sa tastature. Kontra smijer se može postavit programski i uvijek je isti.

(imajte u vidu da sam ja skoro šezdesetgodišnjak i da mnoge stvari mi nisu baš sjele).

 

platforma je ARDUINO UNO V.3

 

// program za pokretanje step motora napred nazad
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#include <Stepper.h> //including stepper motor library
#include <EEPROM.h>

int button1Pin = A0; // (u ovoj verziji koda koristi se analogni ulaz kao digitalni)
int button2Pin = A1; // (u ovoj verziji koda koristi se analogni ulaz kao digitalni)
int stepIN1Pin = 10;
int stepIN2Pin = 13;
int stepIN3Pin = 12;
int stepIN4Pin = 11;
int stepsPerRevolution = 2060; // amount of steps per revolution

//char password[4];
char dist[4];
int j=0;
char customKey=0;

 

const byte ROWS = 4;
const byte COLS = 4;

char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
LiquidCrystal_I2C lcd(0x27, 16, 2);
Stepper myStepper(stepsPerRevolution, stepIN2Pin, stepIN4Pin, stepIN3Pin, stepIN1Pin);
void setup(){
pinMode(button1Pin, INPUT);
pinMode(button2Pin, INPUT);
myStepper.setSpeed(15);
lcd.backlight();
lcd.init();
}
void loop(){
char customKey = customKeypad.getKey();
if (customKey){

//lcd.clear();
lcd.setCursor(0,0);
// lcd.print(customKey);
for(int j=0;j<4;j++)
EEPROM.write(j,customKey);
for(int j=0;j<4;j++)

dist[j]=EEPROM.read(j);
//j=EEPROM.read(j);

lcd.print( dist[j]);
}
{
int button1State, button2State;
button1State = digitalRead(button1Pin);
button2State = digitalRead(button2Pin);
// for(int j=0;j<4;j++)
// dist[j]=EEPROM.read(j);
// lcd.clear();

// lcd.print( dist[j]);

if (((button1State == LOW) && !(button2State == LOW))) // if we're pushing button 1 OR button 2
myStepper.step(-stepsPerRevolution* dist[j]);  // ova naredba ne radi motor se uvijek vrti 10 revolucija bez obzira na vrijednost tastature
// myStepper.step(stepsPerRevolution*2);     // ova naredba radi ali ne očitava vrijednost sa tastature
if (((button2State == LOW) && !(button1State == LOW))) // if we're pushing button 1 OR button 2
myStepper.step(-stepsPerRevolution/2);



}
}

 
0 0 hvala 0
7 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Neke stvari mi nisu jasne:

sa funkcijom 

char customKey = customKeypad.getKey();

dobiješ vrijednost tastature, koja je char (veličina 8 bitova=1 byte)

a funkcija EEPROM.write(j,customKey);

to zapiše na 4 mjesta u eeprom? zašto?

i onda opet to sve poročitaš i zapišeš u polje dist[j]=EEPROM.read(j);

 

i onda zavrtiš motor naredbom 

myStepper.step(-stepsPerRevolution* dist[j]);?

pitanje je koja je vrijednost tu dist[j]? vrijednost varijable "j" ti je j u tom trenutku 4 i na polju dist[4] nemaš ništa zapisano.

probaj stavit fiksno dist[0], znači vrijednost koja je zapisana na prvu adresu u EEPROM-u. ili stavi j=0; nakon što pročitaš stanje tipkala.

i mislim da imaš višak zagrada (linija 60 i 78)

 

Pozdrav!

5 tjedana
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Ma nisam ja programer. Ovo sam skalupio od nekoliko primjera koje sam pronašao na internetu i kombinacijom određenih naredbi probao napravit program koji bi mi nakon pritiska na tipku pomknuo radnu traku za onoliko mm koliko napišem pomoću tastature. Zapeo sam na ovom dijelu gdje je trebalo pročitat vrijednost u memoriji i tu vrijednost ubacit u naredbu

 

 

myStepper.step(-stepsPerRevolution* dist[j]);

 

pokušao sam na par načina ali nisam uspio. Probat ću kasnije napravit ove preinake pa javim što sam dobio. inaće cijela ideja je na skici.

 

Meni bi ustvari trebalo da ja mogu upisat neku vrijednost i recimo stisnem tipku "A" i to se umemorira. Dlje je postupak kao što sam gore napisao, ali nisam uspio dobit dvocifrenu ili trocifrenu vrijednost  upisa preko keypad-a već mi svaki put  prikaže samo jednocifreni broj. Znaći imam dosta problema (zbog mog neznanja) ali pokušavam riješiti dio po dio. Kao što rekoh stariji sam čovjek i nisam vičan programiranju ali eto pokušavam naučit nešto novijega osim tranzistora i elktronskih cijevi.

 

Poruka je uređivana zadnji put sri 11.9.2019 10:52 (hrmnk).
7 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Ajmo prvo definirati šta upisujemo preko tastature? samo brojeve?

koji je raspon tih brojeva? Da li nakon unosa na tipkovnici imaš potvrdu unosa (nekakav oblik enter tipke)?

 

 

5 tjedana
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Da recimo želim da se traka pomakne 50 mm upišem 50 i svaki put kad stisnem tipku motor se pomakne za taj iznos. znači u samom kodu treba postojati naredba koja će taj broj pretvorit u broj koraka motora. Broj koraka po punom okretu motora je poznat, Opseg kruga valjka koji pokreće traku isto je poznat. mislim poznat . Za sad je to samo imaginarna vrijednost ali recimo ti parametri se postave na neku stvarnu vrijednost i ne mijenjaju se. Osim same dužine pomaka. Za to mi je dovoljna trocifrena vrijednost dužine koju sam upisujem preko tastature. U stvari to je i jedini parametar koji mora biti promjenjiv. Bilo bi super kad bi se ta upisana vrijednost dala memorirati i po potrebi mijenjati. 

 

Npr.

 

235 utipkam na tastaturi pa recimo "A" i to je spremljeno. Kad pritisnem taster motor napravi koraka taman toliko da se transportna traka pomakne za 235mm, ili neku drugu vrijednost koja je napisana preko tastature. Znači imam mogučnost beskonačnog ponavljanja postupka svaki put kad pritisnem tipkalo a da prije toga ne moram ponovno upisivati recimo ovih 235 ili slično. znaći upisujem od 1 do 999 ili 001 do 999 već kako to programski mora biti . sada recimo želim promjeniti vrijednost. Pritisnem npr "#" i upišem novu vrijednost, recimo 025 ili 25 stisnem "A" i ta nova vrijednost je aktivna sve do ponovne promjene. Recimo takav nekakav način rada step motora. Druga tipka se koristi za kontra smjer vrtnje i nije uvjetovana nikakvim upisivanjima. tj. kad je držim stisnutu motor se vrti kontra sve dok ju ne otpustim.

 

Konkretno u mom slućaju motor treba 2060 koraka za jedan okretaj. Recimo da je opseg valjka i trake 100mm (50mm za pola kruga), kad upišem preko tastature 50, motor treba napraviti 1030 koraka.

Poruka je uređivana zadnji put sri 11.9.2019 14:31 (hrmnk).
7 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Evo novi kod koji nije testiran, ali u teoriji bi trebao funkcionirati.

Definicije pinova i LCD-a nisam ništa dirao.

Ono što sam uveo je prilikom setup-a da pročita zadnju spremljenu vrijednost u eeprom-u i da bude spreman za rad. moglo bi biti problema prilikom prvog paljena, jer neznam koje su mu default vrijednostu u eeprom-u.

dodao sam i prepoznavanje tipki za unos i potvrdu unosa.

program čeka unos tipke i kad se unese "#" ulazi u programobilni mod (ispisuje na lcdu ""enter dist:", te u donjem redu ispisuje tipke koje se kasnije unose.

daljnim unosom znamenki svaka se zapisuje u polje "digits []" sve dok se na tipkovnici ne pritisne "A".

kada se pritisne "A", unešene znamenke se spremaju u eeprom, svaka znamenka na svoju poziciju (to bi se moglo i bolje riješiti) i generira se varijabla "distance" koja će iz unešenih znamenki napraviti broj koji je od 0-999.

nakon toga pritiskom na tipkala okreces traku. jedino što ces ti ubaciti korekcijski faktor u kod tako da brojeve od 0-999 konvertiraš u centimetre.

 

myStepper.step(-stepsPerRevolution* distance*"korekcijski_faktor");

 

 

Molim ekipu na forumu, ako ima kakvih primjedbi i sugestija nek se slobodno uključe u problematiku.

 

 

 

 

// program za pokretanje step motora napred nazad
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#include <Stepper.h> //including stepper motor library
#include <EEPROM.h>

int button1Pin = A0; // (u ovoj verziji koda koristi se analogni ulaz kao digitalni)
int button2Pin = A1; // (u ovoj verziji koda koristi se analogni ulaz kao digitalni)
int stepIN1Pin = 10;
int stepIN2Pin = 13;
int stepIN3Pin = 12;
int stepIN4Pin = 11;
int stepsPerRevolution = 2060; // amount of steps per revolution

//char password[4];
char dist[4];
int j=0;
char customKey=0;

 

const byte ROWS = 4;
const byte COLS = 4;

char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
LiquidCrystal_I2C lcd(0x27, 16, 2);
Stepper myStepper(stepsPerRevolution, stepIN2Pin, stepIN4Pin, stepIN3Pin, stepIN1Pin);

void setup(){
pinMode(button1Pin, INPUT);
pinMode(button2Pin, INPUT);
myStepper.setSpeed(15);
lcd.backlight();
lcd.init();
const byte entryMaxSize = 3; //maksimalan broj znamenki 0-999
static char digits[entryMaxSize + 1]; // array gdje cemo spremati unešene znamenke, treba nam još jedno ekstra mjesto za znak za terminaciju "\0"
bool a = true; // varijabla koja označava unošenje broja

//čitanje iz eeproma zadnju spremljenu vrijednost; kad se arduino upali da ostane na zadnjoj podešenoj vrijednosti
for(int i=0;i<entryMaxSize;i++){
digits[i]=EEPROM.read(i);
}
long int distance = atol(digits); //konverzija unešenih znakova u jednu brojku
//ispisivanje učitanih vrijednosti
lcd.clear();
lcd.print("Dist set:");
lcd.setCursor(0, 1); //lcd u drugi red
for (i = 0; i < entryMaxSize; i++) {
lcd.print(digits[i]);
}
}


void loop(){
static byte x; // index znamnki

char key = keypad.getKey();
if (key != NO_KEY) // Check for a valid key.
{
switch (key)//prouči malo switch-case funkcije u C-u... ako imaš vremena i volje učiti 
{
case '#': //ako je unešena znamenka "#"
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("enter dist:");
lcd.setCursor(0, 1); //lcd u drugi red
x = 0; // reset the position of array
a = true;
break;

case 'A':
if (a) // ako je u programibilnom modu
{
lcd.clear();
lcd.print("Dist set:");
lcd.setCursor(0, 1); //lcd u drugi red
for (i = 0; i < entryMaxSize; i++)
{
lcd.print(digits[i]);
EEPROM.write(i,digits[i]);
}
a = false; // izlaz iz programibilnog moda
long int distance = atol(digits); //konverzija unešenih znakova u jednu brojku

}
}
break;

default:
if (a)// ako je u programibilnom modu
{
// add key to userinput array and increment counter
if ( key >= '0' && key <= '9' ){ // key is of type char and has a value between 0 and 9 so do something with it.
digits[x++] = key; //zapisujemo pritisnutu vrijednost na poziciju x, te povecavamo poziciju da bi upisali sljedeću znamenku
digits[x] = '\0';
lcd.print( key ) ; // new print statement <<<<<<<<<<<<<<<<
}
}
break;
}
}

if (((button1State == LOW) && !(button2State == LOW))) // if we're pushing button 1 OR button 2
myStepper.step(-stepsPerRevolution* distance); // tu još unesi korekcijski faktor (ako je potrebno)
if (((button2State == LOW) && !(button1State == LOW))) // if we're pushing button 1 OR button 2
myStepper.step(-stepsPerRevolution/2);
}

5 tjedana
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Probao sam ga verificirat ali mi izbacuje sljedeću poruku 'i' was not declared in this scope

 

for (i = 0; i < entryMaxSize; i++)  //ovdje ne znam da li dolazi ; na kraju. kad sm to stavio ond mi poruku prebacuje na sljedeći red //

lcd.print(digits[i]);

 

 

Poruka je uređivana zadnji put sri 11.9.2019 19:00 (hrmnk).
5 tjedana
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Da li je ovo dobro jer 'j' više nigdje ne nalazim u kodu.

 

Kad promjenim j u i onda dobijem ovu drugu poruku

7 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi

ispravak u liniji 18:

int i=0;

ispravak u liniji 66:

char key = customKeypad.getKey();

 

iza one for petlje ne ide ; ta petlja služi za ispis znamenki

 

5 tjedana
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Ispravio sam 

 

Sad mi se ovo pojavilo .

 

 

Poruka je uređivana zadnji put čet 12.9.2019 3:17 (hrmnk).
7 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi

ajde prebaci linije koje se nalaze u setup() funkciji izvan nje.

znači prebaci sljedeće tri linije:

const byte entryMaxSize = 3; //maksimalan broj znamenki 0-999

static char digits[entryMaxSize + 1]; // array gdje cemo spremati unešene znamenke, treba nam još jedno ekstra mjesto za znak za terminaciju "\0"
bool a = true; // varijabla koja označava unošenje broja

 

u liniju 22, tj. u red iza:

char customKey=0;

 

 

Problem je što nemam instaliran arduino IDE, pa nemogu provjeriti ispravnost koda.

5 tjedana
offline
Re: Arduino - projekti, ideje, savjeti, problemi

prebačeno

 poruka i greška

 

7 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Natjerao si me da instaliram Arduino te probam kod.

Meni sad kompajlira bez greške, a sad dal' ce program raditi onak kak sam zamislio, neznam...

 

// program za pokretanje step motora napred nazad
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
#include <Stepper.h> //including stepper motor library
#include <EEPROM.h>

int button1Pin = A0; // (u ovoj verziji koda koristi se analogni ulaz kao digitalni)
int button2Pin = A1; // (u ovoj verziji koda koristi se analogni ulaz kao digitalni)
int stepIN1Pin = 10;
int stepIN2Pin = 13;
int stepIN3Pin = 12;
int stepIN4Pin = 11;
int stepsPerRevolution = 2060; // amount of steps per revolution

//char password[4];
char dist[4];
int i=0;
char customKey=0;
const byte entryMaxSize = 3; //maksimalan broj znamenki 0-999
static char digits[entryMaxSize + 1]; // array gdje cemo spremati unešene znamenke, treba nam još jedno ekstra mjesto za znak za terminaciju "\0"
bool a = true; // varijabla koja označava unošenje broja

const byte ROWS = 4;
const byte COLS = 4;

char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
LiquidCrystal_I2C lcd(0x27, 16, 2);
Stepper myStepper(stepsPerRevolution, stepIN2Pin, stepIN4Pin, stepIN3Pin, stepIN1Pin);
int button1State, button2State;
long int distance;

void setup(){
pinMode(button1Pin, INPUT);
pinMode(button2Pin, INPUT);
myStepper.setSpeed(15);
lcd.backlight();
lcd.init();

//čitanje iz eeproma zadnju spremljenu vrijednost; kad se arduino upali da ostane na zadnjoj podešenoj vrijednosti
for(int i=0;i<entryMaxSize;i++){
digits[i]=EEPROM.read(i);
}
distance = atol(digits); //konverzija unešenih znakova u jednu brojku
//ispisivanje učitanih vrijednosti
lcd.clear();
lcd.print("Dist set:");
lcd.setCursor(0, 1); //lcd u drugi red
for (i = 0; i < entryMaxSize; i++) {
lcd.print(digits[i]);
}
}


void loop(){
static byte x; // index znamnki

char key = customKeypad.getKey();
if (key != NO_KEY) // Check for a valid key.
{
switch (key)//prouči malo switch-case funkcije u C-u... ako imaš vremena i volje učiti
{
case '#': //ako je unešena znamenka "#"
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("enter dist:");
lcd.setCursor(0, 1); //lcd u drugi red
x = 0; // reset the position of array
a = true;
break;

case 'A':
if (a){ // ako je u programibilnom modu
lcd.clear();
lcd.print("Dist set:");
lcd.setCursor(0, 1); //lcd u drugi red
for (i = 0; i < entryMaxSize; i++){
lcd.print(digits[i]);
EEPROM.write(i,digits[i]);
}
a = false; // izlaz iz programibilnog moda
distance = atol(digits); //konverzija unešenih znakova u jednu brojku
}
break;

default:
if (a){ // ako je u programibilnom modu
// add key to userinput array and increment counter
if ( key >= '0' && key <= '9' ){ // key is of type char and has a value between 0 and 9 so do something with it.
digits[x++] = key; //zapisujemo pritisnutu vrijednost na poziciju x, te povecavamo poziciju da bi upisali sljedeću znamenku
digits[x] = '\0';
lcd.print( key ) ; // new print statement <<<<<<<<<<<<<<<<
}
}
break;
}
}

button1State = digitalRead(button1Pin);
button2State = digitalRead(button2Pin);
if (((button1State == LOW) && !(button2State == LOW))) // if we're pushing button 1 OR button 2
myStepper.step(-stepsPerRevolution* distance); // tu još unesi korekcijski faktor (ako je potrebno)
if (((button2State == LOW) && !(button1State == LOW))) // if we're pushing button 1 OR button 2
myStepper.step(-stepsPerRevolution/2);
}

5 tjedana
offline
Arduino - projekti, ideje, savjeti, problemi

Svaka čast majstore. Kod radi upravo onako kako sam zamislio. E sad još trebam složit mehaniku i sve to skalupit i mislim da će biti super.

 

Hvala na trudu i pomoći

 
0 0 hvala 0
7 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Nema problema. Drago mi je da radi.

 

ajde samo promijeni

bool a = true; // varijabla koja označava unošenje broja

u:

bool a = false; // varijabla koja označava unošenje broja

 

tako da pri pokretanju nije automatski u programibilnom modu, nego tek nakon pritiska na tipku "#"

 

i snimi video kad sve složiš :)

8 godina
offline
Arduino - projekti, ideje, savjeti, problemi

Bok

Ima li netko iskustva sa nRF24L01? Ne mogu uspostavit komunikaciju izmedu 2 modula, prije mi je bilo sve normalno radilo, i pospremio sam ih na 2 tjedna, i nakon toga vise se ne zele povezati. Probao sam testove s ove stranice, test na postu #29 prode na oba modula, dok test na postu #1 ne zeli. Kada probam poslat obican Hello World test, ili ne salje nista ili ako posalje posalje corruptan paket. Moze neki savjet? Probao sam zice mjenjat, prespajat sve ali ne radi

 

 

EDIT: nakon nekoliko sati igranja, proradio je, radio sve dok ga nisam zgasio da spojim gljivice, nakon toga ponovno ne zeli uspostavit komunikaciju. Sve mi se cini da nesto hardverski ne valja

 

 

Ako sam nešto progriješio, ispravite me. :D Mlad sam, još učim! :D
Poruka je uređivana zadnji put pon 23.9.2019 21:33 (Tony1999).
Moj PC  
0 0 hvala 0
8 godina
online
Arduino - projekti, ideje, savjeti, problemi

Na koji način pravilno koristiti I2C? Pitam za STM32 pločicu.

Naime, otvorim sam Wire library i tamo(gdje je definiran objekat Wire) promjenio da želim koristiti I2C2(pinovi B11 i B10, STM32F103C8), te sam u WireBase.h proširio buffer s 32 na 34 bajta(kako bi na AT24C32 mogao zapisati cijeli page iz jednog pucnja).

No izgleda da mi SH1106 library stvara problem. To je Lib za 1.3 OLED ekran. Pogledao sam library i našao da se Wire.begin(adresa) koristi dva puta unutar nje.

 

Prvo korištenje begin funkcije je u funkciji za podešavanje ekrana(pozivam ju iz setupa), drugo korištenje je unutar funkcije koja šalje komande ekranu.

 

Kod -> https://github.com/Pararera/Onboard-computer-for-bicycle/blob/master/Software/Libraries/Adafruit_SH1106_STM32-master/Adafruit_SH1106_STM32.cpp

 

Našao sam ovaj link -> http://wiring.org.co/reference/libraries/Wire/Wire_begin_.html

U njemu jasno piše da se begin funkcija poziva samo jednom iz setup funkcije. Ako upišemo adresu onda STM32 postaje slave, ako pozovem funkciju bez adrese(Wire.begin()) tad STM32 postaje master.

Pokušao sam ukloniti Wire.begin iz SH1106 no opet ne radi, jednostavno moram izbaciti library da bi komunikacija između radila.

 

 

@Stavio sam I2C scanner, pokrenem ga i dođe do Scanning... i tu stane.

Izvućem USB iz kompa(ugasim ga totalno) i ponovno ga upalim, kad gle ono radi.

Pronalazi 3 uređaja, kako i treba.

Ekran je 0x3C kao što je i do sad bio.

Jedino šta mi pada na pamet je to da kad izvućem USB, programator i dalje radi. Njegova masa je spojena s masom od svih modula.

Do prije koji dan je sve radilo kako treba.

Pločica s modula mi je bila na kućištu kompa, jučer odlučio dovršiti EEPROM lib kad ono ništa ne radi više.

Poruka je uređivana zadnji put uto 24.9.2019 18:07 (Dex.pwn).
Moj PC  
0 0 hvala 0
8 godina
online
Re: Arduino - projekti, ideje, savjeti, problemi

Evo ako netko treba library ta AT24C32 ili AT24C64 EEPROM čip.

Trenutno radi samo za STM32 pločicu(nekako i logično jel Arduino ima svoj EEPROM). Podržava write-page metodu, write, read i update.

Koristim ga za svoj projekat, pa reko da i drugima podjelim zasebno.

Razlog zašto sam odbacio recimo ovaj library je taj što njegova funkcija writePage traje 27ms za 80 bajtova, dok s ovim libom treba 15ms.

Dalje nisam tražio pa sam odlučio svoj lib napraviti.

 

https://github.com/Pararera/AT24CXX_STM32

10 godina
offline
Arduino - projekti, ideje, savjeti, problemi

https://blog.arduino.cc/2019/10/18/arduino-pro-ide-alpha-preview-with-advanced-features/

Arduino Pro IDE

Izgleda da ce konacno dovesti IDE na neku standardnu razinu.

Isprobao sam i trebutno mi se autocomplete cini ok, ali ima nekih bugova sto je normalno za alfa verziju.

Uglavnom kroz nekih pola god- god dana bi mogli imati dobar IDE na raspolaganju i necemo se vise morati oslanjati na platformIO za autocomplete.

Moj PC  
3 0 hvala 3
8 godina
online
Re: Arduino - projekti, ideje, savjeti, problemi

I dalje mi je Sublime bolji 

Jednostavno sam navikao na njega

Ova tema je sadržajno povezana sa sljedećim temama: Uvod u elektrotehniku (istosmjerna struja)
Nova poruka
E-mail:
Lozinka:
 
vrh stranice