jes
Katılımcı Üye
- Katılım
- 9 Tem 2022
- Mesajlar
- 403
- Puanları
- 56
- Yaş
- 30
Merhabalar,
Nano ve tm 1638 shield ile step motor sürücülerin hızını kalibre edebileceğim bi menü tasarımı yapmam gerekiyor yardımlarınızı bekliyorum,
şimdilik nano ve tm1638 bağlantılarını yaptım ve bi test atışı yaptım, kütüphane olarak TM1638lite kullanıyorum.
V1: Şimdilik sadece basılan butonun ledini yakıyor ve seri porttan 1.5 sn de bir starttan beri geçen zamanı milisaniye cinsinden ekrana basıyor.
V1: Code
Şimdi totelde 2 step motor için asenkron clock sinyali almam gerekiyor butonlar aracığılıyla clock hz setlerini değiştirmem gerekiyor biraz multithread bi yapı var o yüzden kafam karışıyor. Seri porta zaman basarken kullandığım yöntemle mi yapmalıyım(orda hafif modifiye yaptım yoksa ledlerin realtime davranışları kesintiye uğruyordu) yoksa başka bi tecrübesi olan var mı acaba?
Nano ve tm 1638 shield ile step motor sürücülerin hızını kalibre edebileceğim bi menü tasarımı yapmam gerekiyor yardımlarınızı bekliyorum,
şimdilik nano ve tm1638 bağlantılarını yaptım ve bi test atışı yaptım, kütüphane olarak TM1638lite kullanıyorum.
V1: Şimdilik sadece basılan butonun ledini yakıyor ve seri porttan 1.5 sn de bir starttan beri geçen zamanı milisaniye cinsinden ekrana basıyor.
V1: Code
C++:
#include <TM1638lite.h>
// I/O pins on the Arduino connected to strobe, clock, data
// (power should go to 3.3v and GND)
TM1638lite tm(A0, A1, A2);
unsigned long myTime;
void setup() {
Serial.begin(9600);
tm.reset();
tm.displayText("Eh");
tm.setLED(0, 1);
delay(2000);
tm.displayASCII(6, 'u');
tm.displayASCII(7, 'p');
tm.setLED(7, 1);
delay(2000);
tm.displayHex(0, 8);
tm.displayHex(1, 9);
tm.displayHex(2, 10);
tm.displayHex(3, 11);
tm.displayHex(4, 12);
tm.displayHex(5, 13);
tm.displayHex(6, 14);
tm.displayHex(7, 15);
delay(2000);
tm.displayText("buttons");
myTime = millis();
}
void loop() {
uint8_t buttons = tm.readButtons();
doLEDs(buttons);
if( (millis() - myTime) >1500)
{
// prints time since program started
Serial.print("Time: ");
Serial.println(myTime);
myTime = millis();
}
}
// scans the individual bits of value
void doLEDs(uint8_t value) {
for (uint8_t position = 0; position < 8; position++) {
tm.setLED(position, value & 1);
value = value >> 1;
}
}
Şimdi totelde 2 step motor için asenkron clock sinyali almam gerekiyor butonlar aracığılıyla clock hz setlerini değiştirmem gerekiyor biraz multithread bi yapı var o yüzden kafam karışıyor. Seri porta zaman basarken kullandığım yöntemle mi yapmalıyım(orda hafif modifiye yaptım yoksa ledlerin realtime davranışları kesintiye uğruyordu) yoksa başka bi tecrübesi olan var mı acaba?