роботы робототехника микроконтроллеры


 Страниц (4): [1] 2 3 4 »   

> Без описания
maratino Post Id



Рядовой


Сообщений всего: 18
Дата рег-ции: Янв. 2014  



Добрый день форумчане.
Кто поможет разобраться с кодом? Св-диод плавно зажигается, но зараза, гаснет резко. Просьба чайника
1) Прокомментировать код по строчно
2) Что надо добавить или изменить, что бы гаснул плавно?

$regfile = "attiny2313.dat"
$crystal = 4000000
$hwstack = 32
$swstack = 8
$framesize = 24

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1

Dim A As Byte

Do

For A = 0 To 255
Pwm1a = A
Waitms 5

For A = 255 To 0 Step -5
Pwm1a = A
Waitms 5
Next A

Loop

End
Next
 
 Top
Predator Супермодератор Post Id


Супермодератор


Сообщений всего: 1307
Дата рег-ции: Июль 2012  



я не понял, что это за язык, но по моему надо так:
CODE:


For A = 0 To 255 // начать первый цикл (разгорается)
// шаг равен 1?
Pwm1a = A
Waitms 5
Next A // закрыть первый цикл

// максимальная яркость

For A = 255 To 0 Step -5 // начать второй цикл (потухает)
// шаг равен -5?
Pwm1a = A
Waitms 5
Next A // закрыть второй цикл
// нулевая яркость



а теперь нюансы: 1) что такое Do, Loop, End, Next в этом языке я не знаю - возможно всё так и надо..... и всё дело в шаге : тухло в 5 раз быстрее....
2) может оказаться так, что максимальная яркость на самом деле минимальная и наоборот это зависит от схемы включения.
 
 Top
morokoriss Post Id



Генералиссимус


Сообщений всего: 697
Дата рег-ции: Нояб. 2011  



Наверно это basic либо visual basic
(Добавление)
Хотя оператора wait я там не припомню.
(Добавление)
Bascom AVR это
(Добавление)
basic подобный язык, вот и похож
 
 Top
maratino Post Id



Рядовой


Сообщений всего: 18
Дата рег-ции: Янв. 2014  



PredatorНаподобие Qbasic. Bascom AVR. Ваш код что то не хочет работать. Плавное зажигаие у меня получается регулировать, а вот что бы плаво гаснул, ну ни как Тащусь
 
 Top
morokoriss Post Id



Генералиссимус


Сообщений всего: 697
Дата рег-ции: Нояб. 2011  



Используйте для примера скетч ардуиновский из примеров. Там замечательно всё работает. И загорается и гаснет плавно.
(Добавление)
/*
Пример управления яркостью светодиода
на выходе 9 контроллера Arduino
функцией analogWrite().
*/
int brightness = 0; // уставливаем начально значение яркости
int fadeAmount = 5; // шаг приращения/убывания яркости

void setup() {
// устанваливаем пин 9 в режим выхода
pinMode(9, OUTPUT);
}

void loop() {
// устанавливаем значение широты импульса на выходе 9
// задавая яркость светодиода
analogWrite(9, brightness);

// измением значение в переменной для яркости
brightness = brightness + fadeAmount;

// при достижение крайних значений для яркости
// меняем знак переменной шага приращения/убывания яркости
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
// делаем паузу для достижения плавного наращивания/убывания яркости
delay(30);
}
 
 Top
maratino Post Id



Рядовой


Сообщений всего: 18
Дата рег-ции: Янв. 2014  



Спасибо за помощь! Все равно нечего не понял. Если не трудно, скиньте код, а дальше я постараюсь разобраться. Я так понял, код на Си

(Отредактировано автором: 19 Января, 2014 - 20:45:57)

 
 Top
morokoriss Post Id



Генералиссимус


Сообщений всего: 697
Дата рег-ции: Нояб. 2011  



шаги разные, тухнуть быстрее будет. в 5 раз. Может поэтому Вам кажется что сразу тухнет. Попробуйте Step -1 во втором цикле
(Добавление)
В примере из скетча шаги одинаковые, как видно, только временная задержка после каждого шага 30мс. Так плавнее будет. Попробуйте.
(Добавление)
For A = 0 To 255 // начать первый цикл (разгорается)
// шаг равен 1?
Pwm1a = A
Waitms 30
Next A // закрыть первый цикл

// максимальная яркость

For A = 255 To 0 Step -1 // начать второй цикл (потухает)
// шаг равен -5?
Pwm1a = A
Waitms 30
Next A // закрыть второй цикл
// нулевая яркость

(Отредактировано автором: 19 Января, 2014 - 20:50:52)

 
 Top
Петр Киселев Post Id



Гуру


Сообщений всего: 2397
Дата рег-ции: Окт. 2012  



maratino, вот ссылка по управлению яркостью свечения светодиода:

http://arduino.ru/Tutorial/Fade

Там все просто. Есть комментарии. Плюс сообщение morokoriss.
 
 Top
maratino Post Id



Рядовой


Сообщений всего: 18
Дата рег-ции: Янв. 2014  



Да вот попросили сделать ПАДАЮЩИЙ МЕТЕОРИТ . Думал как то разберусь. А не то то
С миганием вроде разобрался в БАСКОМЕ. А вот как сделать плавное падение??? Жуть!!!
 
 Top
Петр Киселев Post Id



Гуру


Сообщений всего: 2397
Дата рег-ции: Окт. 2012  



Надо кроме погасания еще и перемещение его делать.
(Добавление)
Под определенным углом к горизонту.
 
 Top
elmot Post Id



Гуру


Сообщений всего: 1141
Дата рег-ции: Дек. 2010  



ыых. на светодиодной ленте на раз бы сделал
 
 Top
maratino Post Id



Рядовой


Сообщений всего: 18
Дата рег-ции: Янв. 2014  



как это? интересно стало. каждый св-диодик будет гореть? Замешательство
 
 Top
Петр Киселев Post Id



Гуру


Сообщений всего: 2397
Дата рег-ции: Окт. 2012  



Бегущий огонек. Сверхъяркие светодиоды. И расстояние от них подобрать.
(Добавление)
Так можно реализовать хоть метеоритный дождь! Молодец, elmot!
 
 Top
Vladimir72 Post Id



Великий стратег


Сообщений всего: 193
Дата рег-ции: Май 2012  



Вот простенький код на Си в CodeVision.
CODE:
/*****************************************************
бегущие огни.
*****************************************************/

#include <mega8.h>
#include <delay.h>

void main(void)
{
unsigned char temp;
DDRC=0x00;
PORTC.0=1;
DDRD=0xFF;
PORTD=0x00;

while(1)
{
if(PINC.0==0);
{
temp=0x80; // Начальное значение 0b10000000

while(temp !=0) // пока темп не равно нулю
{
PORTD=temp;
temp=temp>>1; // сдвигаем разряды
delay_ms(100);
}
else
{
temp=0x01; //0b00000001

while(temp !=0)
{
PORTD=temp;
temp=temp<<1;
delay_ms(100);
}
}
} }
}
 
 Top
elmot Post Id



Гуру


Сообщений всего: 1141
Дата рег-ции: Дек. 2010  



Вот, нарезанная на куски китайская светодиодная лента. Могу нарисовать что угодно.
http://www.youtube.com/watch?v=-myqZzcjlvk

(Отредактировано автором: 25 Января, 2014 - 22:24:13)

 
 Top
Страниц (4): [1] 2 3 4 »
« Программирование микроконтроллеров »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru