Filament Meter
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
-
- Příspěvky: 7
- Registrován: 26 kvě 2018, 23:27
- Reputation: 0
Filament Meter
Zdravím, pokouším se překompilovat tento soubor:
https://www.thingiverse.com/thing:2904046
Je určený pro čip ATTiny85, chtěl bych použít desku Arduino Nano. Protože jsem úplný začátečník, nějak se mi to nevede...
Jedná se o jednoduché počítadlo délky filamentu pro 3D tiskárnu. Pomůže někdo?
Předem děkuji.
https://www.thingiverse.com/thing:2904046
Je určený pro čip ATTiny85, chtěl bych použít desku Arduino Nano. Protože jsem úplný začátečník, nějak se mi to nevede...
Jedná se o jednoduché počítadlo délky filamentu pro 3D tiskárnu. Pomůže někdo?
Předem děkuji.
- SkullKeep
- Příspěvky: 290
- Registrován: 23 srp 2017, 18:51
- Reputation: 0
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Filament Meter
Zkus tohle snad to pojede je to uprava pro Nano.
Kód: Vybrat vše
#include "U8x8lib.h"
#define inter 6 //interrupt PIN
U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8( 8, 7, 9);// 8-clock PIN ,7- data PIN ,9-reset PIN
int pulse = 0;
void setup() {
pinMode(inter, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(inter), stopa, CHANGE);
u8x8.begin();
}
void loop() {
u8x8.setFont(u8x8_font_victoriabold8_r);
u8x8.drawString(1, 2, "Reset and drag");
u8x8.setCursor(1, 4);
u8x8.print(" fillament ");
u8x8.setCursor(2 , 6);
u8x8.print("cm: ");
u8x8.setCursor(8, 6);
u8x8.print(pulse / 3.53);
}
void stopa()
{
pulse = pulse + 1;
}
P. Q. M.
-
- Příspěvky: 7
- Registrován: 26 kvě 2018, 23:27
- Reputation: 0
Re: Filament Meter
Díky!!! Funkční!!!
-
- Příspěvky: 7
- Registrován: 26 kvě 2018, 23:27
- Reputation: 0
Re: Filament Meter
Předčasná radost, kompilace OK, displej OK, ale impulzy to nepočítá(délku).....
Re: Filament Meter
Arduino Nano má interrupt piny 2 a 3. Takže pin 6 fungovat nebude.
Pak by ještě ta přičítací proměnná měla být "volatile int".
Pak by ještě ta přičítací proměnná měla být "volatile int".
Re: Filament Meter
Vůbec to nepočítá, nebo to je nesprávný výsledek? Jak je konstruovaný snímač impulsů? Máš to připojeno na pin interrupt? Uno a Nano by měly mít pin 2 a 3. A místo pulse = pulse +1 by mělo stačit pulse ++
Teď si nejsem jist, ale volba CHANGE při přerušení počítá jakoukoli změnu, takže to bude nejspíš počítat 2 pulsy na otáčku.
Pokud je to celý kód nemáš přerušení povolené. Implicitně je zakázané a povolí se voláním interrupt().
Teď si nejsem jist, ale volba CHANGE při přerušení počítá jakoukoli změnu, takže to bude nejspíš počítat 2 pulsy na otáčku.
Pokud je to celý kód nemáš přerušení povolené. Implicitně je zakázané a povolí se voláním interrupt().
Naposledy upravil(a) rejze69 dne 27 kvě 2018, 19:33, celkem upraveno 1 x.
-
- Příspěvky: 7
- Registrován: 26 kvě 2018, 23:27
- Reputation: 0
Re: Filament Meter
Jo,jo, piny 2 nebo 3 fungují. Zatím jsem připojil jen tlačítko+PULLUP odpor. Je pravda, že počítá sepnutí i rozepnutí
Re: Filament Meter
Pullup rezistor máš povolenej u input, tak by externi neměl být potřeba. Jestli chceš počítat jen náběžnou hranu použij místo CHANGE příkaz RISING jestli sestupnou FALLING. K tomu bych si vygooglil něco o debouncingu kvůli zákmitům tlačítka. Jestli je ale snímač bezkontaktní pak to nebudeš po pokusech s tlačítkem potřebovat.
-
- Příspěvky: 7
- Registrován: 26 kvě 2018, 23:27
- Reputation: 0
Re: Filament Meter
OK, díky všem. Až bude vše jak má být (opto čidlo,atd), napíšu jak to dopadlo .
-
- Příspěvky: 7
- Registrován: 26 kvě 2018, 23:27
- Reputation: 0
Re: Filament Meter
Tak se po zkouškách s optozávorou znovu vracím. Vše funguje, ale má to chybu v tom, že to registruje oba směry, takže to vlastně počítá impuls i při zatažení zpět. Je mi jasné, že by to chtělo optozávory dvě aby byl rozlišen směr. Jako jednodušší mě napadl rotační enkodér a na jeho hřídel namontovat kolečko přímo. Nevím ale jak bych upravil program......
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 7 hostů