как увидеть показания с аналогового датчика на attiny13
- Войдите на сайт для отправки комментариев
Чт, 10/09/2015 - 10:21
Подскажите, как можно увидеть показания, снятые с аналог. входа тини13, сериал принт - не поддерживается, как тогда быть? Скетч, например такой:
void setup() {
pinMode(3, OUTPUT);
}
int sensorValue = analogRead(2);
void loop() {
sensorValue = analogRead(2);
if (sensorValue >= 887 && sensorValue <= 888) {
digitalWrite(3, HIGH) ;
delay(1000);
digitalWrite(3, LOW) ;
delay(1000);
}
else {
digitalWrite(3, LOW);
}
}
Если скорость опроса аналогового входа не критична, то можно считанные данные отправлять в функцию имитирующую работу UART. Далее преобразователь UART -> USB и программа "монитор".
как это осуществить программно , знаний, к сожалению пока не хватает(
Странный вопрос, а как надо-то? Вариантов-то миллион - можно семисегментный индикатор присобачить, можно по смс послать, можно сделать web-страницу и смотреть её браузером. Чего надо-то?
romiras, что-то мне подсказывает, что долго вы будете ждать выполнение вашего условия if (sensorvalue....
как увидеть результат на пк напрямую, через usb кабель
Почему, если не секрет?)
romiras, ну как, условие сработает только при значениях 887 или 888.
это было накидано просто для примера, цифры из головы
Можно ли по spi подключить lcd 1602 к attiny? если да, тогда проблема решена
https://www.google.ru/search?q=attiny13+serial+communication+arduino&new...
Ну дак это хороший повод поднабраться знаний. Изучите протокол UART, задайтесь конкретной скоростью, например 9600. С помощью функций delay научитесь передавать какой либо символ. Пока это научитесь делать, поймёте работу UART углублённо. Затем немного модифицируете программу и будете передавать уже нужные Вам символы. Не думаю, что с это очень сложная задача. Было бы достаточная мотивация.
будем разбираться
http://arduino.ru/forum/programmirovanie/attiny13a-101-primenenie?page=1...
Посмотри тут. Attiny и LCD http://rfanat.ru/s21/avr-atyny13-voltm.html
То что надо! Спасибо!
https://habr.com/ru/post/251141/
OCR0A = 75; //115200 baudrate at prescaler 1
Как сделать скорость 9600 ? В протеусе не поддерживается скорость 115200
Очевидно увеличить значение в столько раз, в сколько 115200 отличается от 9600 .
Такой ответ устроит ?
Вряд ли.
Потому как 75*12=900
Что совсем чуть чуть не влазит в 1 байт.
Ну значит нужно пересчитать значение с другим прескалером.
Ну и не забыть его выставить
Кстати, странное значение 75.
Оно под эту частоту и скорость вроде как и не подходит
Там зависимость от частоты тактирования и предделителя. Тактовая указана как 9.6МГц
в смысле? у него регистр не 16 битный разве? и сам отвечу - 8 битный, стр.80 даташита
тогда видимо так?
На 57600
На остальных скоростях иероглифы
Калькулятор говорит:
Прескалер 8
OCRx 124
а делители как выставили?
а если прескалер на 64?
Что мне сделать?)
Что мне сделать?)
покажите настройки порта
В протеусе? Я в протеусе пробую.
#21 картинки
В протеусе? Я в протеусе пробую.
#21 картинки
и получилось 57600?
Получается, да
Получается, да
странно! очень странно! вот этот лживый С )))
а попробуйте сударыня по данным калькулятора от Кактуса
Так?
Так?
да
Работает
Где тут смайл в темных очках?))))
Большое спасибо))) А то бы делала семисегментные индикаторы на 595...
Большое спасибо))) А то бы делала семисегментные индикаторы на 595...
поинтересуюсь, для чего тини13?
Делаю резистивную клавиатуру, при нажатии на определённую кнопку, например 3, будет три звуковых сигнала и мигание лампоки, и т.п. Для детского творчества)
Вот и нужно было посмотреть что будет на входе при различных резисторах.
а если прескалер на 64?
То тогда OCRx=15, но реальная частота будет 9375.
А при прескалере 8 и OCRx=124 , ровно 9600
Калькулятор под андроид брал тут:
https://play.google.com/store/apps/details?id=ru.chipenable.avrcalculato...
Делаю резистивную клавиатуру, при нажатии на определённую кнопку, например 3, будет три звуковых сигнала и мигание лампоки, и т.п. Для детского творчества)
Вот и нужно было посмотреть что будет на входе при различных резисторах.
Делаю резистивную клавиатуру, при нажатии на определённую кнопку, например 3, будет три звуковых сигнала и мигание лампоки, и т.п. Для детского творчества)
Вот и нужно было посмотреть что будет на входе при различных резисторах.
Если привести считываемое значение к диапазону 0-99. То можно просто мигать светодиодом для считывания.
Например 67- мигаем 6 раз, пауза мигаем 7 раз. Затем - по новой
Что вы все в математике магию ищите, всегда же ей сами пользуетесь )))
Что вы все в математике магию ищите, всегда же ей сами пользуетесь )))
патамушта в природе нет десятичной арифметики, совсем нет )))
Что мне сделать?)
а вот так?
Что мне сделать?)
а вот так?
Написал же уже.
"Вот так" скорость будет 9375бод
Что мне сделать?)
а вот так?
ты не увидел мой косяк, было 57600... )))
ЗЫ это при 15, а я высчитал 14 )))
В протеусе? Я в протеусе пробую.
#21 картинки
ошибка в строке 4, разбор идёт справа на лево, установит делитель на 8, получит true и нулевой бит устанавливать не будет, ну а ниже мы умножили значением счетчика в 6 раз, итого получили делитель на 2, то-есть 57600 )))
Что мне сделать?)
а вот так?
ты не увидел мой косяк, было 57600... )))
ЗЫ это при 15, а я высчитал 14 )))
А прескалер 64 и OCRx 14 дадут 10000бод
Что мне сделать?)
а вот так?
ты не увидел мой косяк, было 57600... )))
ЗЫ это при 15, а я высчитал 14 )))
9300 тогда ближе, эта тема кстати озвучивалась, что при выборе стараться выбирать OCR максимально возможный
Чего ты пристал то к прескалеру 64 ?
Если с прескалером 8, частота именно та что нужна
не к прескалеру, а ошибке в выборе прескалера как такового (коду программы), одна лишняя палка, а каков результат )))
ошибка в строке 4, разбор идёт справа на лево, установит делитель на 8, получит true и нулевой бит устанавливать не будет
Нет, как раз только нулевой бит и установит. TCCR0B = 1;