Ви не увійшли.
Сторінки 1
Доброго дня. Є стандартний екран з енкодером RepRapDiscountFullGraphicSmartController, плата RAMPS та Mega 2560.
Також є такий скетч, який робить наступне - генерується частота за допомогою tone() та виводиться на екран, частота регулються потенціометром. Переробити треба так, щоби частота змінювалась не потенциометром, а енкодером в діапазоні від 1000 до 10000герц з кроком 500гц, а також щоби ця частота була на виходах 26 та 36, як відомо, tone() може працювати одночасно тільки на одному порті, тому треба зробти якесь швидке перекидання чи якийсь інший фокус, щоби вона була на цих двух портах.
#include <U8glib.h>
#define DOGLCD_CS 16
#define DOGLCD_MOSI 17
#define DOGLCD_SCK 23
#define BTN_EN1 31
#define BTN_EN2 33
#define pson 5
const int potPin = A1;
const int StepA = 26;
const int StepB = 36;
int potValue = 0;
int frequency = 1000;
U8GLIB_ST7920_128X64_1X u8g(DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS);
void setup(void) {
u8g.begin();
pinMode(StepA, OUTPUT);
pinMode(StepB, OUTPUT);
pinMode(pson, OUTPUT);
u8g.setColorIndex(1);
}
void loop() {
u8g.firstPage();
do {
u8g.setFont(u8g_font_unifont);
u8g.setPrintPos(30, 30);
u8g.print(frequency);
u8g.print(" Hz");
} while (u8g.nextPage());
potValue = analogRead(potPin);
frequency = map(potValue, 0, 1023, 1000, 10000);
tone(StepA, frequency);
tone(StepB, frequency);
digitalWrite(pson, HIGH);
}
Неактивний
а також щоби ця частота була на виходах 26 та 36, як відомо, tone() може працювати одночасно тільки на одному порті, тому треба зробти якесь швидке перекидання чи якийсь інший фокус, щоби вона була на цих двух портах.
припаяйте перемичку
Неактивний
Сторінки 1