Светодиодные фонари и световые приборы. Всё о светотехнике.
Изображения Дневники Группы Поиск
Вернуться   Форум FONAREVKA.RU Лаборатория Электроника и схемотехника Электроника Микроконтроллеры
Расширенный поиск
Забыли пароль? Регистрация

  • О нашем проекте
  • Светотехника и световые приборы
  • Правила форума
Проект FONAREVKA.RU специализируется на предоставлении всей необходимой информации по светотехнике:

— светодиодные фонари;
— различные источники питания;
— разнообразные зарядные устройства;
— освещение помещений и наружное освещение;
— световые приборы для личного, пассажирского и грузового транспорта;
— специальные световые приборы для медицины, для растений, для аквариумов, для террариумов, а также аварийно-сигнальные световые приборы;
— альтернативные источники света;
— лазеры и лазерная техника.

Если у вас есть вопросы по выбору фонарей, аккумуляторов и зарядных устройств ознакомьтесь с FAQ от наших экспертов:

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Ответ  Создать новую тему
Просмотров в теме 49191   Ответов в теме 149   Подписчиков на тему 0   Добавили в закладки 0
Опции темы Поиск в этой теме
Старый 01.11.2012, 17:35   141
lasers_Ryazanec
Ветеран Фонарёвки
 
Регистрация: 04.05.2010
Последняя активность: 15.11.2019 11:47
Сообщений: 1409
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для lasers_Ryazanec с помощью ICQ
По умолчанию

Помимо плюса, на МК бывает еще несколько масс и несколько плюсовых входов, массы нужно подключать все.

Он что горит при любом раскладе? что к + что к + подключаешь его? если да, то программа работает, только задержек в ней нет.
lasers_Ryazanec вне форума   Ответить с цитированием Вверх
Старый 01.11.2012, 17:56   142
lasers_INFERION
Ветеран Фонарёвки
 
Аватар для lasers_INFERION
 
Регистрация: 15.02.2010
Последняя активность: 24.08.2019 11:36
Сообщений: 1362
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

В смысле горит? Т.е. нижние ключи в портах открываются нормально?
lasers_INFERION вне форума   Ответить с цитированием Вверх
Старый 01.11.2012, 20:48   143
SS20
Ветеран Фонарёвки
 
Аватар для SS20
 
Регистрация: 15.02.2010
Последняя активность: 17.10.2018 15:32
Сообщений: 1039
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

думаю вам пригодится!!!

http://os11.ucoz.ru/
__________________
[SIGPIC][/SIGPIC]
Все права защищены, спросите у Димана. ®


SS20 вне форума   Ответить с цитированием Вверх
Старый 12.11.2012, 12:57   144
Mexaelb
Новичок
 
Регистрация: 28.10.2012
Последняя активность: 14.11.2012 20:57
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Народ!
прошу прощения за то что пропал!
ушел на неделю в себя и вчера
сидя за столом все таки запустил МК
я от горя даже вначале недели приобрел второй МК думая что спалил первый, но после вчерашнего вечера все же оказывается оба работают)))


УРА!
взял программу из примеров MicroC for AVR переделал под себя и все заработало))))
я счастлив)

Всем Благодарен за помощь!
я еще вернусь)))
Mexaelb вне форума   Ответить с цитированием Вверх
Старый 13.11.2012, 13:46   145
Mexaelb
Новичок
 
Регистрация: 28.10.2012
Последняя активность: 14.11.2012 20:57
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Привет! подскажите пожалуйста
как как можно реализовать возможность считывания напряжения?

то есть логика проста:
если такое-то напряжение то подать напряжение на одну ножку МК,
если такое напряжение то на другую ножу МК

где об этом почитать?
спасибо
Mexaelb вне форума   Ответить с цитированием Вверх
Старый 13.11.2012, 15:54   146
ECCOsea
Новичок
 
Аватар для ECCOsea
 
Регистрация: 14.02.2010
Последняя активность: 28.04.2016 12:07
Сообщений: 464
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Напряжение считываем через ADC. В датащите все есть.

Вот мой простейший пример. Когда изучал. Надеюсь поможет. Все расписано детально. Делал все по даташиту. Даже ошибки помечал там.

PHP код:
//mega8 ADC test. Делитель 2х.
     
    #include <avr/io.h>
    #define F_CPU 1000000UL
    #include <util/delay.h>
    
int v;
    
int volt;
    
//#define volt (v*20) //Делитель 2х, пересчет на реальное напряжение с умножением на 1000.
     
     
    
int main (void)
    {
    
DDRD 0xFF//Порты D на выход.
    
DDRC 0x00//Порт PC3 на вход для ADC.
     
    //Конфигурация ADC (ИОН 2.56в встроенный, 8бит левый край, вход порт 5С)
    
ADMUX =(1<<REFS1)|(1<<REFS0)|(1<<ADLAR)|(1<<MUX0)|(1<<MUX1)|(0<<MUX2)|(0<<MUX3);
     
    
//Подключене ADC. Тактовая частота 1\8 от МК.
    
ADCSRA=(1<<ADEN)|(1<<ADPS1)|(1<<ADPS0);
     
            
//Бесконечный цикл.
            
while(1){
     
                            
ADCSRA|=(1<<ADSC); //Начать преобразование
                            
while ((ADCSRA&_BV(ADIF))==0x00); //Дождатся окончания преобразования.
                             
v=ADCH//Результат 8бит. 2бита из ADCL не читаем.
                            
ADCSRA|=_BV(ADIF); //Сброс флага преобразования. <========= это добавить
                            //Расчет напряжения. U=(ADC*2.56)\256 или U=ADC\100
                            
volt = (v*20);
                        
unsigned char pD=0;
                        if (
volt>= 4000) {pD = (1<<1)|(1<<2)|(1<<3)|(1<<4);}
                        else if (
volt>= 3900) {pD = (1<<1)|(1<<2)|(1<<3);}
                        else if (
volt>= 3800) {pD = (1<<1)|(1<<2);}
                        else if (
volt>= 3700) {pD = (1<<1);}
                        else if (
volt<= 3700) {pD = (1<<1)|(1<<3);}
                        
PORTD=pD;
                    ;}
    return 
0;
    } 
ECCOsea вне форума   Ответить с цитированием Вверх
Старый 13.11.2012, 16:53   147
Mexaelb
Новичок
 
Регистрация: 28.10.2012
Последняя активность: 14.11.2012 20:57
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от ECCOsea :
Напряжение считываем через ADC. В датащите все есть.

Вот мой простейший пример. Когда изучал. Надеюсь поможет. Все расписано детально. Делал все по даташиту. Даже ошибки помечал там.

PHP код:
//mega8 ADC test. Делитель 2х.
     
    #include <avr/io.h>
    #define F_CPU 1000000UL
    #include <util/delay.h>
    
int v;
    
int volt;
    
//#define volt (v*20) //Делитель 2х, пересчет на реальное напряжение с умножением на 1000.
     
     
    
int main (void)
    {
    
DDRD 0xFF//Порты D на выход.
    
DDRC 0x00//Порт PC3 на вход для ADC.
     
    //Конфигурация ADC (ИОН 2.56в встроенный, 8бит левый край, вход порт 5С)
    
ADMUX =(1<<REFS1)|(1<<REFS0)|(1<<ADLAR)|(1<<MUX0)|(1<<MUX1)|(0<<MUX2)|(0<<MUX3);
     
    
//Подключене ADC. Тактовая частота 1\8 от МК.
    
ADCSRA=(1<<ADEN)|(1<<ADPS1)|(1<<ADPS0);
     
            
//Бесконечный цикл.
            
while(1){
     
                            
ADCSRA|=(1<<ADSC); //Начать преобразование
                            
while ((ADCSRA&_BV(ADIF))==0x00); //Дождатся окончания преобразования.
                             
v=ADCH//Результат 8бит. 2бита из ADCL не читаем.
                            
ADCSRA|=_BV(ADIF); //Сброс флага преобразования. <========= это добавить
                            //Расчет напряжения. U=(ADC*2.56)\256 или U=ADC\100
                            
volt = (v*20);
                        
unsigned char pD=0;
                        if (
volt>= 4000) {pD = (1<<1)|(1<<2)|(1<<3)|(1<<4);}
                        else if (
volt>= 3900) {pD = (1<<1)|(1<<2)|(1<<3);}
                        else if (
volt>= 3800) {pD = (1<<1)|(1<<2);}
                        else if (
volt>= 3700) {pD = (1<<1);}
                        else if (
volt<= 3700) {pD = (1<<1)|(1<<3);}
                        
PORTD=pD;
                    ;}
    return 
0;
    } 
Спасибо! мозг мой сейчас взорвется!
а схема есть?
а даташит МК или чего?
Mexaelb вне форума   Ответить с цитированием Вверх
Старый 13.11.2012, 17:19   148
ECCOsea
Новичок
 
Аватар для ECCOsea
 
Регистрация: 14.02.2010
Последняя активность: 28.04.2016 12:07
Сообщений: 464
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

//mega8 ADC test. Делитель 2х.
Вот собственно вся схема) Делитель, и пару светодиодов. Даташит скачаете.
Там все подписано. Все порты.

ECCOsea вне форума   Ответить с цитированием Вверх
Старый 14.11.2012, 01:31   149
Mexaelb
Новичок
 
Регистрация: 28.10.2012
Последняя активность: 14.11.2012 20:57
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от ECCOsea :
//mega8 ADC test. Делитель 2х.
Вот собственно вся схема) Делитель, и пару светодиодов. Даташит скачаете.
Там все подписано. Все порты.

не понял где даташит? ссылку пожалуйста
Mexaelb вне форума   Ответить с цитированием Вверх
Старый 14.11.2012, 02:16   150
ECCOsea
Новичок
 
Аватар для ECCOsea
 
Регистрация: 14.02.2010
Последняя активность: 28.04.2016 12:07
Сообщений: 464
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

В гугл. ATMEGA 8 контроллер. Ссылок масса.
ECCOsea вне форума   Ответить с цитированием Вверх
Ответ  Создать новую тему





Copyright ©2007 - 2024, FONAREVKA.RU

Powered by vBulletin®
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot

Правила форума | Отказ от ответственности

Время генерации страницы 0.08948 секунды с 17 запросами