mirror of
https://github.com/AlexGyver/GyverCore.git
synced 2025-07-04 15:22:25 +03:00
add
This commit is contained in:
@ -142,6 +142,7 @@ int analogRead(uint8_t pin)
|
|||||||
ADMUX &= ~((1 << MUX3) | (1 << MUX2) | (1 << MUX1) | (1 << MUX0)); // обнуляем мультиплексор
|
ADMUX &= ~((1 << MUX3) | (1 << MUX2) | (1 << MUX1) | (1 << MUX0)); // обнуляем мультиплексор
|
||||||
ADMUX = ADMUX | pin; // задвигаем номер входа
|
ADMUX = ADMUX | pin; // задвигаем номер входа
|
||||||
sei();
|
sei();
|
||||||
|
if (pin == 8 || pin == 14) delay(2); // Wait for Vref to settle для VCC и термометра
|
||||||
ADCSRA |= (1 << ADSC); // начинаем преобразование
|
ADCSRA |= (1 << ADSC); // начинаем преобразование
|
||||||
while (ADCSRA & (1 << ADSC)); // ждем окончания
|
while (ADCSRA & (1 << ADSC)); // ждем окончания
|
||||||
return ADCL | (ADCH << 8); // склеить и вернуть результат
|
return ADCL | (ADCH << 8); // склеить и вернуть результат
|
||||||
|
@ -96,8 +96,7 @@ parseFloat | 1070 | 246 | 824
|
|||||||
Убраны всякие сервисные файлы и прочий хлам, не относящийся к ATmega328 (wifi, USB). Ядро полностью совместимо с остальными библиотеками, ничего из стандартных функций не вырезано.
|
Убраны всякие сервисные файлы и прочий хлам, не относящийся к ATmega328 (wifi, USB). Ядро полностью совместимо с остальными библиотеками, ничего из стандартных функций не вырезано.
|
||||||
|
|
||||||
## Дополнительно
|
## Дополнительно
|
||||||
### Настройки прошивки
|
- Смотри примеры в папке **examples** (в корне этого репозитория!)
|
||||||
- Смотри примеры в папке examples (в корне этого репозитория!)
|
|
||||||
- Добавлен вариант прошивки без загрузчика **ATmega 328/168 without bootloader** (во всю доступную Flash память) для прошивки через ISP
|
- Добавлен вариант прошивки без загрузчика **ATmega 328/168 without bootloader** (во всю доступную Flash память) для прошивки через ISP
|
||||||
- Добавлен вариант прошивки с отключенными функциями времени **with/without millis** (освобождает вектор **TIMER0_OVF_vect** для личного пользования)
|
- Добавлен вариант прошивки с отключенными функциями времени **with/without millis** (освобождает вектор **TIMER0_OVF_vect** для личного пользования)
|
||||||
|
|
||||||
|
16
examples/temp_measure/temp_measure.ino
Normal file
16
examples/temp_measure/temp_measure.ino
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
// измерение приблизительной температуры ядра
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
uartBegin(9600);
|
||||||
|
analogReference(INTERNAL); // подключаем АЦП к опорному
|
||||||
|
analogPrescaler(128); // установить предделитель 128 (иначе некорректно измеряет)
|
||||||
|
// в стандартном ядре делитель 129 является стандартным
|
||||||
|
// в GyverCore по умполчанию 4 (быстрее измеряет)
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
// analogRead(THERMOMETR) вернёт напряжение в мв
|
||||||
|
// (val - 324.31 ) / 1.22 - примерное уравнение перевода в градусы по цельсию
|
||||||
|
uartPrintln((float)(analogRead(THERMOMETR) - 324.31) / 1.22);
|
||||||
|
delay(100);
|
||||||
|
}
|
14
examples/vcc_measure/vcc_measure.ino
Normal file
14
examples/vcc_measure/vcc_measure.ino
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// измерение опорного напряжения
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
uartBegin(9600);
|
||||||
|
analogPrescaler(128); // установить предделитель 128 (иначе некорректно измеряет)
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
// 1100 является константной, которую нужно калибровать (+- лапоть)
|
||||||
|
int vcc = (float)1100 * 1023 / (analogRead(INTERNAL));
|
||||||
|
uartPrint("vcc: ");
|
||||||
|
uartPrintln(vcc); // напряжение в милливольтах
|
||||||
|
delay(300);
|
||||||
|
}
|
@ -16,8 +16,8 @@
|
|||||||
"category": "Contributed",
|
"category": "Contributed",
|
||||||
"url": "https://github.com/AlexGyver/GyverCore/releases/download/GyverCore/GyverCore.zip",
|
"url": "https://github.com/AlexGyver/GyverCore/releases/download/GyverCore/GyverCore.zip",
|
||||||
"archiveFileName": "GyverCore.zip",
|
"archiveFileName": "GyverCore.zip",
|
||||||
"checksum": "MD5:c304d158e055df8911457ed1aa42fae4",
|
"checksum": "MD5:a559f0299e7b815f5148a623f7fd70c6",
|
||||||
"size": "137283",
|
"size": "137346",
|
||||||
"boards": [
|
"boards": [
|
||||||
{"name": "ATmega328/168 based boards"}
|
{"name": "ATmega328/168 based boards"}
|
||||||
],
|
],
|
||||||
|
Reference in New Issue
Block a user