Светофор на Attiny 13, 85 (схема, скетч) (видео)
Одна из самых простых и банальных поделок на микроконтроллерах это пищалки и мигалки. По факту поделка светофор является частным случаем такой вот мигалки, разве что управляющих и питающих цепей здесь будет три, на каждый цвет. Благо даже самые простые серии микроконтроллеров 13, 13а уже поддерживают 5 выходов, поэтому уж 3 выхода для 3 светодиодов найдется. При этом две ножки еще и ШИМ модуляцией, что позволит при необходимости регулировать “розжиг” (яркость свечения). Но это уже собственно отдельная тема.
Так вот, как же сделать этот самый светофор на микроконтроллере, об этом я сегодня вам и расскажу.
Начать следует с того, что вы уже должны обладать искусством заливки скетчей в микроконтроллер. Просто так вот прийти спаять и включить не получится. Необходимо будет заливать так называемый скетч, то есть код, ПО, как вы его не назовите, в этот самый микроконтроллер. Для того чтобы овладеть этими навыками, посмотрите статью “Программируем микроконтроллер с помощью Arduino”.
Что же, если вы это освоили или знали и без меня, то продолжим. Далее заливаем программку. Приведу ее в виде текстового файла, который можно скопировать и вставить в программную среду Arduino.
Смотреть скетч для светофора
Пару слов надо сказать о задержке и о частоте работы микроконтроллера. Максимальная задержка для delay порядка 6-7 секунд, даже если вы поставить 100000 мкс, то есть буфер в памяти не хранит такие большие значения и задержка организуется за счет циклов. А раз это так, то надо понимать, что скорость у всех микроконтроллеров разная, так как скажем Атинька 13 работает на 128 КГц, а 85 на 1 МГц. Поэтому подбираем именно нужное нам количество циклов, меняя их количество или меняя значение прибавляемое к переменной f в скетче.
Теперь перехожу к схеме. Собственно схема хоть и приведена, но она условна. Что я этим хочу сказать!? А то, что вы без труда можете перезалить программу под нужные вам ножки, просто сменив цифру в программе. В этом то и есть вся прелесть микроконтроллеров!
Но если говорить о конкретной программе, то да эта схема к ней подходит!
Ну самое главное я уже рассказал, может что-то и забыл по мелочи, так это можно будет дополнить уже по вашим вопросам в комментариях. Осталось немного и показать, как и что.
Айтехникс
- Мобильные светофоры ITS отличаются простотой и удобством первоначальной настройки по сравнению с аналогами.
В корпусе светофора установлен высокочастотный микроконтроллер обеспечивающий, точный отсчет заданных промежутков работы сигналов светофоров, а значит постоянную синхронную работу светофоров на объекте при одновременном включении. Временные интервалы настройки могут быть заданы от 10 до 990 секунд каждого из 3-х режимов (красный, кругом красный, зеленый).
В комплект мобильного светофора типа «СТАНДАРТ-АТ» входят:
- Светофор дорожный Т8.I-АТ со встроенным контроллером и креплением – 2 шт
- Мобильная светофорная составная стойка-пилон – 2 шт
- Защитный футляр для установки аккумуляторных батарей ёмкостью до 100 А/ч – 2 шт
- Комплект коммутационных проводов для АКБ – 2 шт
Малая потребляемая мощность обеспечивает долгий срок работы светофора от аккумуляторной батареи без подзарядки.
Максимальная потребляемая мощность светофора составляет 0,3А, аккумуляторная батарея емкостью 60Ач обеспечит работу светофора
Функциональность стойки–пилона позволяет устанавливать её как на стационарные места на анкерный блок АБ-1 (производимый нами), так и на временные места установки при помощи анкерных шпилек, груза-противовеса (укладывается на горизонтальную часть стойки-пилона) или просто вбитых в грунт стержней арматуры.
Высота установки светофоров на стойке-пилоне отвечает требованиям ГОСТ Р 52289-2004.
Разработка системы управления светофором – презентация онлайн
1.
Разработка системы управления светофором2. Вопросы лекции
1. Постановка задачи.2. Разработка аппаратной части.
3. Разработка программной части.
3. Постановка задачи
Имеется: макет светофора.В качестве излучателей света в светофоре
используются маломощные светодиоды.
Требуется: разработать систему программного
управления этим светофором.
4. 1 Вопрос
Разработка аппаратной части5. Макет светофора
6. Микроконтроллер ATtiny2313
7. Микроконтроллер ATmega32
8. Электрическая схема светофора
9. Схема подключения светофора
10. Схема подключения микроконтроллера
11. Схема системы управления
12. 3 Вопрос
Разработка программной части13. Таблица состояний светофора
№ D7__
D6
К_1
D5 D4
Ж_1 З_1
D3 D2 D1 D0 H___ К_0 Ж_0 З_0 код
1
0
1
1
1
1
1
0
ВЕ
1
1
1
0
1
1
1
0
1
DD
2
1
1
1
0
1
0
1
1
EB
3
1
1
0
1
1
1
0
1
DD
4
1
1
5
1
1
6
1
1
14.
Разработка программы 1. Заголовок в виде комментария2. Инициализация микроконтроллера
Подключение библиотек(и)
Настройка портов на ввод или вывод
Настройка стека
3. Главный цикл программы
Метка начала
Тело цикла
Переход в начало
15. Заголовок в виде комментария
; SVETOFOR_342_201116. Подключение библиотеки имен
;для микроконтроллера ATmega32;используем директиву .include
17. Подключение библиотеки имен
; для микроконтроллера ATtiny2313;используем директиву .include
.include “tn2313def.inc”
18. Настройка порта «В» на вывод
LDI R16, $FF; загрузить константу в регистрOUT DDRB, R16; загрузка регистра направления
19. Настройка стека
;для микроконтроллера ATmega32ldi r16, low (RAMEND)
out SPL, r16
ldi r16, high (RAMEND)
out SPH, r16
20. Настройка стека
; для микроконтроллера ATtiny2313;ldi r16, (RAMEND)
;out SPL,R16
;nop
21.
Метка начала главного циклаSTART: wdr22. Формирование состояния светофора
LDI R16, $BE; загрузить константу в регистрOUT PORTB, R16; вывод в порт из регистра
23. Переход в начало
;длинный прыжок для микроконтроллеров megaJMP START
;короткий прыжок для всех микроконтроллеров
24. Схема системы управления
proteus_pic
proteus_picМикроконтроллеры и Proteus
На одном из форумов я встретил сообщение о разочаровании в Pic-контроллерах, человек, отправивший это сообщение, решил перейти на AVR-контроллеры.
Не знаю, что вызвало его разочарование, но сама постановка вопроса мне не кажется правильной. Попробую пояснить, что я имею ввиду.
Как любой компонент электронной схемы: транзистор, резистор, индуктивность и т.д., — микроконтроллер выбирается на соответствующем этапе разработки устройства. При выборе учитываются многие факторы, порой выбор зависят от храктера предприятия, осуществляющего проект. Один из факторов при выборе конкретного типа — это выполнение задачи данным элементом. Если он выполняет свою задачу, не выходит ни по стоимости, ни по габаритам за пределы заданных параметров, то выбор между PIC и AVR контроллером может определяться только тем, что специалисты предприятия имеют большой опыт работы с одним типом и малый с другим, что совсем не характерно даже для предприятия среднего размера. Или выбор может быть обусловлен возможностями постоянного поставщика элементной базы. Но в любом случае невозможно говорить о разочаровании. Другое дело, если предприятие-изготовитель микроконтроллера рекламировало его, делая упор на свойствах, которых не обнаруживается в готовом изделии. Здесь вполне уместно говорить о разочаровании.
Вместе с тем, вопрос о микроконтроллерах дает возможность поговорить о тех свойствах программы Proteus, которые лично меня очаровывают, я не побоюсь этого слова.
Я пока оставлю вопрос о возможности полной разработки электронной схемы, базирующейся на микроконтроллере, включая написание и отладку программы на ассемблере или языке высокого уровня для микроконтроллера, с тем, чтобы вернуться к нему позже. Но даже если для создания программы использовать, положим, MPLAB или Piklab для Pic-контроллера, программа ISIS, составная часть Proteus, позволяет проверить работу не только контроллера, но всего устройства. Для начала очень простой пример. В программе KTechlab я некогда приводил пример создания работающей программы для игрушечного светофора. Нет сомнений, что не составляет особого труда проверить работу этой программы в средствах отладки той программы, в которой код получен, но меня очень порадовало, что в Proteus есть такой элемент, как симулятор светофора. Достаточно выбрать в компонентах микроконтроллер PIC16F628A, для которого создавалась программа светофора, найти в разделе
И не то, чтобы это было целью, не то, чтобы я хотел показать безграничные возможности среды разработки Proteus, но легче оценить работу программы при полной симуляции работы устройства, и приятно, что разработчики среды проектирования учитывают нужды даже потребителей простых решений.
Рис. 4.1. Симуляция работы устройства с микроконтроллером
Чтобы показать, что возможности проверки в Proteus позволяют быть применены к более сложным решениям, я использую другую программу, созданную ранее для PIC16F628A. Несколько предварительных слов о программе и схеме.
Схема на рисунке ниже и программа для микроконтроллера предназначались для демонстрации начинающим любителям электроники, что они могут не только повторять готовые простые электрические схемы, но и подступиться к разработке более сложных устройств. Устройств, которые можно реализовать в виде готового изделия, чтобы порадовать младшего брата или сестру в качестве забавной игрушки, или могут быть использованы для автоматизации каких-то домашних процессов. Само устройство, к проверке которого в Proteus я перехожу, это релейный модуль. Он должен получать команды извне по интерфейсу RS485 в виде строк R00$0N от компьютера или центрального управляющего устройства, по которым включать (или выключать) соответствующее реле. Последнее, если выбрать реле с контактами, способными коммутировать, например, обычную лампу для освещения, будет включать или выключать свет. Команда вида R00$0S запрашивает состояние соответствующего реле, на которое контроллер отвечает R00#0N, если реле включено, или R00#0F, если выключено. Для упрощения рисунка я не добавлял микросхему интерфейса RS485, но это мало влияет на конечный результат. Схема изображена с двумя реле, лампы на схеме, опять-таки для упрощения схемы, 12-вольтовые и подключены к тому же источнику питания, что и реле. В качестве источника команд использован терминал программы Proteus, а сигналы команд в линии отображаются на экране осциллографа.
Более подробное (может быть, излишне подробное) описание модулей есть в моей книге «Умный дом своими руками», и здесь я опущу все детали, включая программу, но результат эксперимента в программе Proteus приведу. Мне нравится то, как Proteus справляется с задачей.
Рис. 4.2. Эмуляция работы релейного модуля на PIC16F628A
Как видно на рисунке лампа послушно включается и выключается командами терминала системы проектирования Proteus.
Я допускаю, что профессионалов может что-то не устраивать в работе программы. Возможно, никакая программа не может быть столь универсальна, чтобы удовлетворить всем потребностям всех профессионалов, но мне она очень нравится, и я пока не придумал, что бы такого она не могла сделать. Более того, ранее мой знакомый, занимавшийся конвертером Чука, сообщил мне, что симуляция этого конвертера в программе Qucs не проходит. Собственно, уж не знаю правильно ли в количественном плане, но в качественном и в программе Qucs симуляция проходит, но без применения источника переменного напряжения и выпрямителя. Профессионалы, работающие с силовой электроникой, справедливо предпочитают такие программы, как PSIM и SwCADIII, специализирующиеся на этих задачах, но меня заинтересовало, пройдет ли симуляция в Proteus.
Я вновь не готов утверждать, что графика в точности соответствует реальной работе устройства, для этого мне понадобилось бы потратить некоторое время на чтение документации по этому вопросу, что не отвечает моим намерениям, но симуляция этой схемы проходит, а результаты очень похожи на те, что получены в других программах.
Рис. 4.3. Симуляция работы конвертера Чука в программе Proteus
Столь обширная область применения Proteus, по моему мнению, должна в полной мере удовлетворять запросам любителей. Профессионалы, я думаю, с удовольствием будут использовать программу там, где она их устраивает, и искать другие решения, там где они хотели бы большего, в частности создавая свои версии САПР. Но для этого должны быть серьезные причины.
Однако вернемся к микроконтроллерам. В поставку системы Proteus входит множество примеров и, в частности, программа для микроконтроллера PIC16F84. Следуя руководству пользователя, находим раздел SAMPLES, затем Tutorials. В нем готовый проект Traffic.DSN и исходный текст на ассемблере TL.ASM:
LIST p=16F84 ; PIC16F844 is the target processor#include “P16F84.INC” ; Include header file
CBLOCK 0x10 ; Temporary storage
state
l1,l2
ENDC
org 0 ; Start
up vector.
goto setports
; Go to start up code.
org 4 ;
Interrupt vector.
halt goto
halt ; Sit in endless loop and do nothing.
setports clrw
; Zero in to W.
movwf PORTA ;
Ensure PORTA is zero before we enable it.
movwf PORTB ;
Ensure PORTB is zero before we enable it.
bsf
STATUS,RP0 ; Select Bank 1
clrw ; Mask
for all bits as outputs.
movwf TRISB ;
Set TRISB register.
bcf
STATUS,RP0 ; Reselect Bank 0.
initialise
clrw ; Initial state.
movwf state ;
Set it.
loop call
getmask ; Convert state to bitmask.
movwf PORTB ;
Write it to port.
incf state,W
; Increment state in to W.
andlw 0x04 ;
Wrap it around.
movwf state ;
Put it back in to memory.
call wait ;
Wait 🙂
goto loop ;
And loop 🙂
; Function to
return bitmask for output port for current state.
; The top
nibble contains the bits for one set of lights and the
; lower
nibble the bits for the other set. Bit 1 is red, 2 is amber
; and bit
three is green. Bit four is not used.
getmask movf
state,W ; Get state in to W.
addwf PCL,F ;
Add offset in W to PCL to calc. goto.
retlw 0x41 ;
state==0 is Green and Red.
retlw 0x23 ;
state==1 is Amber and Red/Amber
retlw 0x14 ;
state==3 is Red and Green
retlw 0x32 ;
state==4 is Red/Amber and Amber.
; Function
using two loops to achieve a delay.
wait movlw 5
movwf l1
w1 call wait2
decfsz l1
goto w1
return
wait2 clrf l2
w2 decfsz l2
goto w2
return
END
Далее, следуя инструкции, выберем исходный файл (если это уже не сделано в проекте): раздел основного меню Source пункт Add/Remove Source Files, где в окне диалога можно выбрать и исходный файл, и нужный компилятор.
Рис. 4.4. Диалоговое окно выбора исходного файла и компилятора
И завершает подготовку добавление hex-файла к схеме через выпадающее меню и раздел редактирования свойств компонента, где можно указать файл TL.HEX.
Программа содержит преднамеренную ошибку, о чем есть предупреждение в руководстве:
There is, in fact, a deliberate mistake in the above code…
Кроме того, руководство сообщает, что hex-файл получен с помощью MPASM, и в случае использования другого компилятора, вам следует:
Note that If you are planning to use a new assembler or compiler for the first time, you will need to register it using the Define Code Generation Tools command.
Заметьте, что если вы намерены использовать новый ассемблер или компилятор, вначале вам нужно зарегистрировать его, используя команду Define Code Generation Tools.
Запуск симуляции клавишей Play приводит к тому, о чем сообщает руководство, зажигаются два огня светофоров и ничего больше не происходит — работает преднамеренная ошибка.
Рис. 4.5. Пример для отлаживания программы из набора Proteus
Последуем далее за руководством. Для отладки рекомендуется нажать Ctrl+F12 или выбрать соответствующий пункт в разделе основного меню Debug. В этом же разделе после того, как откроется окно с кодом ассемблера можно открыть другие окна отладки: окно состояния регистров, наблюдения и т.д. Откроем рекомендуемые руководством окна наблюдения.
Рис. 4.6. Окна наблюдения за состоянием микроконтроллера при отладке
В окне с исходным кодом можно задать или снять точку останова, используя клавишу F9 или выбирая эту команду из выпадающего меню, получаемого после выделения левой клавишей мышки нужной строки, по которой следует щелкнуть правой клавишей мышки. Руководство рекомендует выбрать строку 000E, где начинается цикл (отмеченный в ассемблерном коде loop). После задания точки останова клавишей F12 запускается симуляция, доходящая до точки останова, что можно видеть в строке состояния, где показано, что остановка симуляции по точке останова произошла при состоянии счетчика контроллера 000E, что соответствует заказанной строке для остановки. Клавиша F11 или соответствующий пункт в меню Debug позволяют сделать шаг внутрь цикла, красная стрелка, отмечающая перемещения в окне исходного кода, переместится соответственно ниже. При этом, если посмотреть на регистр w в окне отображения состояния регистров контроллера, то можно увидеть, что регистр очистился, что соответствует выполнению команды clrw.
Далее программа должна перенести содержимое регистра w в PORT A, то есть, очистить порт А. Продолжая выполнение инструкций можно в этом убедиться. Кроме использования основного меню и горячих клавиш для пошаговой отладки можно использовать инструментальное меню окна исходного кода. В окно наблюдения, используя выпадающее меню, можно добавить наблюдение за определенным адресом или именованной переменной, выбирая формат отображения. Как описывается далее в руководстве, предопределенная ошибка находится по адресу 0011, где операция andlw записана в виде 0x4 вместо 0x3.
Система имеет встроенный текстовый редактор, открывающийся после двойного щелчка по имени ассемблерного файла в пункте основного меню Source. В Linux это не получается, появляющийся редактор исчезает немного «помучившись». Но текст ассемблера можно открыть любым другим редактором, тем более, что после исправления его предстоит транслировать с помощью, я полагаю, MPASMWIN. Возможно, встроенный редактор позволяет сделать это без выхода из Proteus, но невелик труд использовать и внешние средства. Правда, пакет MPASM, входящий в поставку системы, который можно найти в папке Tools, приходится перенести на диск С:. Без этой процедуры появляется ошибка при трансляции, но, тем не менее, ошибка исправлена, текст оттранслирован. Теперь в программе Proteus можно заменить hex-файл новым и запустить программу на исполнение.
Рис. 4.7. Выполнение демонстрационной программы после исправления ошибки
Программа работает, огни светофора последовательно переключаются. При необходимости в отладочных операциях, а иногда такая необходимость возникает, можно использовать для наблюдения сигналов осциллограф или графические средства отображения сигналов после расстановки пробников напряжения в нужные точки, например, на выводы микроконтроллера. При выборе типа отображения графика для демонстрационной программы естественно применить DIGITAL. Дальнейшая работа с графиком проводится обычным образом: рисуется окно графики, добавляются трассы наблюдения и запускается симуляция графика. Для удобства наблюдения сигналов в свойствах микроконтроллера можно изменить частоту с 10 кГц на 1 МГц.
Рис. 4.8. Наблюдение сигналов на выводах контроллера с помощью осциллографа
Словом, среда разработки Proteus предлагает все удобные средства для разработки устройств, использующих микроконтроллеры, включая средства отладки программы. В простых случаях, как в демонстрационной программе, преимущества Proteus не столь очевидны, но если вы используете достаточно много дополнительных элементов, возможность увидеть не только сигналы на выводах микроконтроллера, но и их «дальнейшую судьбу», невозможно переоценить.
Остается добавить, что я использовал систему Proteus в Linux под эмулятором Wine, который изначально предназначался для Windows игр. Система разработки достаточно сложна, она никак не задумывалась для запуска в Linux, в Windows ее работа значительно удобнее, например, в плане исправления ошибок в тексте во внутреннем редакторе — достаточно исправить ошибку, запустить команду Build All в разделе Source, чтобы получить все необходимые для дальнейшей работы файлы.
Использование Proteus в Linux, готов согласиться, чистейшей воды спекуляция. Но даже то, что удалось попробовать, а в этом я убедился собственноручно, вполне достаточно для любительской практики. Мне кажется, если купить Proteus, то будет смысл «повозиться» с тем, что не работает в Linux, возможно, оно заработает. Например, не слишком утруждая себя можно заменить встроенный редактор на внешний, в качестве которого подойдет notepad, блокнот Windows. Достаточно в разделе Source основного меню зайти в диалог настройки с помощью пункта Set External Text Editor…, где указать блокнот в качестве внешнего редактора и теперь можно открыть ассемблерный текст для правки в блокноте. Или, не проходит трансляция исходного текста, значит можно использовать MPASMWIN и MPASDDX из перенесенной в корневой каталог диска C:\ папки MPASM. Эти изменения производятся в диалоговом окне настроек через раздел Source основного меню, где есть пункт Define Cod Generation Tools… Диалоговое окно после внесенных изменений может выглядеть следующим образом:
Рис. 4.9. Диалоговое окно настроек компилятора ассемблера
Кроме этих изменений лучше, хотя это может получаться только у меня, но лучше перенести файл проекта и все файлы исходного текста в свою папку, например, /home/vladimir/asm.
Теперь можно открыть и поправить текст, сохранить его, оттранслировать его, включить файл ассемблерного текста для отладки и загрузить после компиляции (Build All) hex-файл в микроконтроллер. Работает отладка, работает контроллер. Остались проблемы с окном наблюдения, оно отказывается работать, но это не самое ужасное.
Повторюсь еще
раз, все это чистейшей воды спекуляции, но кто сказал, что этого
нельзя делать, если программа работает, а меня больше устраивает
работать с ней в Linux? Будут серьезные проблемы, последуют
«оргвыводы», не возникнет серьезных проблем, отчего бы нет?
Главным остается то, что система проектирования Proteus имеет
все необходимые средства работы и микроконтроллерами!
Далее или
Домой
TLD-2016-6 Детектор светофоров ,16 каналов
Детектор светофоров ,16 каналов ,6 выходов RS-485 ,1 выход DC 5 B ,5-контактный свитч ,16 индикаторов статуса ,Обнаружение и связь с помощью микроконтроллера ,Защита входа от перенапряжения ,Отображение статуса светофора в реальном времени ,16 каналов ,6 выходов RS-485 ,1 выход DC 5 B ,5-контактный свитч ,16 индикаторов статуса ,Обнаружение и связь с помощью микроконтроллера ,Защита входа от перенапряжения ,Отображение статуса светофора в реальном времени
Основные особенности TLD-2016-6:
- 16 каналов
- 6 выходов RS-485
- 1 выход DC 5 B
- 5-контактный свитч
- 16 индикаторов статуса
- Обнаружение и связь с помощью микроконтроллера
- Защита входа от перенапряжения
- Отображение статуса светофора в реальном времени
- 16 каналов
- 6 выходов RS-485
- 1 выход DC 5 B
- 5-контактный свитч
- 16 индикаторов статуса
- Обнаружение и связь с помощью микроконтроллера
- Защита входа от перенапряжения
- Отображение статуса светофора в реальном времени
Технические характеристики:
AC-сигнал |
16 каналов |
Выход RS-485 |
6 |
DC-выход |
1 х 5 В |
Разъем |
5-контактный |
Индикаторы |
16 |
Диапазон напряжения при обнаружении |
AC 140 B~AC 270 B,50Гц/60Гц |
Рабочее напряжение |
AC 220 B @ 50Гц/60Гц,AC 100 B~AC 240 B |
Потребляемая мощность |
Менее 5 Вт |
Рабочие условия |
-30 °C…+70 °C |
Размеры |
440 × 44 × 213. 5 мм |
Задайте вопрос специалисту о TLD-2016-6 Детектор светофоров ,16 каналов
Самовывоз из офиса: Пункт выдачи:* Доставка курьером:* Транспортные компании: Почта России:** Срок доставки указан для товара в наличии на складе в Москве
Простой светофор-мигалка на PIC16F84A – Световые эффекты – Микроконтроллеры – Каталог статей
.Схема пояснений никаких не требует, думаю разберетесь:
Чтобы посмотреть анимацию работы схемы (cимуляцию схемы в программе Proteus) нажмите на ссылку (~1мб.)Если вам не нравится время задержки свечения светодиодов, вы можете попробовать отредактировать программу:
LIST p=16F84 ; PIC16F844 is the target processor
#include “P16F84.INC” ; Include header file
CBLOCK 0x10 ; Temporary storage
state
l1,l2
ENDC
org 0 ; Start up vector.
goto setports ; Go to start up code.
org 4 ; Interrupt vector.
halt goto halt ; Sit in endless loop and do nothing.
setports clrw ; Zero in to W.
movwf PORTA ; Ensure PORTA is zero before we enable it.
movwf PORTB ; Ensure PORTB is zero before we enable it.
bsf STATUS,RP0 ; Select Bank 1
clrw ; Mask for all bits as outputs.
movwf TRISB ; Set TRISB register.
bcf STATUS,RP0 ; Reselect Bank 0.
initialise clrw ; Initial state.
movwf state ; Set it.
loop call getmask ; Convert state to bitmask.
movwf PORTB ; Write it to port.
incf state,W ; Increment state in to W.
andlw 0x03 ; Wrap it around.
movwf state ; Put it back in to memory.
call wait ; Wait 🙂
goto loop ; And loop 🙂
; Function to return bitmask for output port for current state.
; The top nibble contains the bits for one set of lights and the
; lower nibble the bits for the other set. Bit 1 is red, 2 is amber
; and bit three is green. Bit four is not used.
getmask movf state,W ; Get state in to W.
addwf PCL,F ; Add offset in W to PCL to calc. goto.
retlw 0x41 ; state==0 is Green and Red.
retlw 0x23 ; state==1 is Amber and Red/Amber
retlw 0x14 ; state==3 is Red and Green
retlw 0x32 ; state==4 is Red/Amber and Amber.
; Function using two loops to achieve a delay.
wait movlw 5
movwf l1
w1 call wait2
decfsz l1
goto w1
return
wait2 clrf l2
w2 decfsz l2
goto w2
return
В архиве ниже имеются файлы проекта, а так же прошивка.
Скачать файлы.
Неделя программирования: в Перми детей научили программировать светофор
20 октября 2018 года в Перми прошел мастер-класс «СамоСвет – сборка и программирование светофора». Мероприятие провели сотрудники «Академии цифровой экономики» в рамках Европейской недели программирования и инициативы Meet and Code.
В мастер-классе участвовали ученики школы № 9 г. Перми в возрасте от 8 до 12 лет. Преподаватели показали детям, из чего состоит светофор и как он работает.
«Основная идея – объяснить детям, что любой, даже очень технически сложный объект, например, такой как светофор, состоит из простых компонентов и может быть частично или полностью построен в учебном классе». Руслан Гайнанов, организатор мастер-класса.
Чему научились дети
В начале занятия преподаватель Анастасия Батуева на примере простой электрической цепи показала детям, что такое ток и как он течет от батарейки к потребителям – светодиодам, как переключатель осуществляет разрыв цепи и «гасит» источник света. Затем дети по электрической схеме собрали свою первую электрическую цепь – основу маленькой модели светофора.
Детям объяснили внутреннее устройство светофора. Фото: К.А. Аленина.Участникам рассказали о передвижении на дороге по сигналам большого светофора. Дети разделились на три группы и модулировали движение транспорта, ориентируясь на сигналы светофора. Переключение сигналов происходило дистанционно со смартфона. Роль регулировщика заключалась в управлении ситуацией на дороге во избежание пробок и аварий.
Позже преподаватель Андрей Федоров объяснил, как происходит управление светофором без участия человека. Детям показали, как писать программы для микроконтроллера Arduino на примере переключения цветных светодиодов (красного, желтого и зеленого).
На занятии проходило обучение основам программирования для микроконтроллера Arduino. Фото: К.А. Аленина.Дети попробовали программировать команды для микроконтроллера Arduino. В конце мероприятия организаторы подарили каждому участнику комплекты для сборки маленьких моделей светофоров.
«В итоге каждый ребенок ушел с мастер-класса довольный, многие впервые услышали про Arduino и хотели знать больше о программировании на нем». Руслан Гайнанов, организатор мастер-класса
Мастер-класс «СамоСвет – сборка и программирование светофора» организовал Руслан Гайнанов. Мероприятие прошло в рамках инициативы Meet and Code при поддержке Теплицы социальных технологий.
Организаторы мастер-класса благодарят куратора проекта Пермский детский университет Карину Анатольевну Аленину и директора школы № 9 Наталью Анатольевну Курдину за предоставленную площадку и помощь в организации мероприятия.
(PDF) Система управления светофором с использованием микроконтроллера
AL-Qadisiyah Journal of pure Science Vol.23 No. 2 Year 2018
271
дорожка, зеленая, желтая и красная, с использованием
микроконтроллера PIC16F84A для получения
выходы вольт в определенное время
в соответствии с данными, указанными в программе
, которая будет управлять двенадцатью
светодиодами, которые представляют различные
сигналы для каждой дорожки.
2- Теоретическая основа:
2-1 Микроконтроллер против
Микропроцессор:
Несмотря на то, что процессоры имеют большое
значение в цифровых системах,
но они сравнительно небольшие по размеру
которые сложны в
устройствах, которые нам нужно контролировать, и
они обладают высокими возможностями, которые нам
часто не нужны для целей управления устройствами, что делает его
очень энергоемким.Эти проблемы
делают использование микропроцессоров для целей автоматизации
ограниченным,
что привело к разработке микроконтроллеров
в качестве инструмента, превышающего
эти ограничения, чтобы сделать
автоматизацию типов устройств и
более эффективной.
Микроконтроллер содержит в простой форме
все основные элементы
микропроцессорной системы на одном кристалле
.В результате, менее сложные приложения могут быть спроектированы
и построены быстро и дешево. Рабочая система
может содержать микросхему микроконтроллера
и всего несколько внешних компонентов
для подачи данных
и сигналов IN и OUT. Они, как правило,
используются для операций управления
, требующих ограниченного объема памяти
, но работающих на высокой скорости,
только с внешним оборудованием, подключенным
в соответствии с требованиями конкретного приложения.
2-2 Микроконтроллер PIC:
PIC Микроконтроллер
первоначально был разработан компанией
General Instruments. Это был
, предназначенный для простого управления
приложениями, название – Peripheral
Interface Controller. В 1970-х годах
General Instruments производила процессоры
PIC 1650 и 1655.
Несмотря на то, что конструкция была
сравнительно грубой и
нетрадиционной, она была полностью
автономной и содержала некоторые
важные и перспективные
функции. Простой ЦП представлял собой структуру RISC
с одним рабочим регистром
и всего 30 инст. Выходные
контакта могли генерировать или потреблять гораздо больше
тока, чем большинство других
микропроцессоров того времени.
Уже появились торговые марки PIC
– простота,
одна, высокая скорость и низкая стоимость.
В 1990-х годах ассортимент доступных микроконтроллеров
PIC рос, и по мере того, как они это делали, они постепенно обогнали многих своих более зарекомендовавших себя
конкурентов.Во многих случаях микроконтроллеры PIC
могли работать быстрее,
нуждались в более простом наборе микросхем, и их прототипы
быстрее создавались, чем их конкуренты
. В отличие от многих конкурентов
. Microchip сделала свои средства разработки
простыми и дешевыми
::.IJSETR.::
International Journal of Scientific Engineering and Technology Research (IJSETR) — это международный журнал, предназначенный для профессионалов и исследователей во всех областях информатики и электроники. IJSETR публикует исследовательские статьи и обзоры по всей области инженерных наук и технологий, новых методов обучения, оценки, проверки и влияния новых технологий и будет продолжать предоставлять информацию о последних тенденциях и разработках в этой постоянно расширяющейся теме. Публикации статей отбираются путем двойного рецензирования для обеспечения оригинальности, актуальности и удобочитаемости. Статьи, опубликованные в нашем журнале, доступны в Интернете.
Журнал соберет ведущих исследователей, инженеров и ученых в интересующей области со всего мира.Темы, представляющие интерес для подачи, включают, но не ограничиваются:
• Электроника и связь
Машиностроение
• Электротехника
• Зеленая энергия и нанотехнологии
• Машиностроение
• Вычислительная техника
• Разработка программного обеспечения
• Гражданское строительство
• Строительная техника
• Строительная инженерия
• Электромеханика
• Телекоммуникационная техника
• Техника связи
• Химическое машиностроение
• Пищевая промышленность
• Биологическая и биосистемная инженерия
• Сельскохозяйственная техника
• Геологическая инженерия
• Биомеханическая и биомедицинская инженерия
• Экологическая инженерия
• Новые технологии и передовые технологии
• Беспроводная связь и проектирование сетей
• Теплотехника и инженерия
• Управление бизнесом, экономика и информационные технологии
• Органическая химия
• Науки о жизни, биотехнологии и фармацевтические исследования
• Тепломассообмен и технология
• Биологические науки
• Пищевая микробиология
• Сельскохозяйственная наука и технология
• Водные ресурсы и экологическая инженерия
• Городские и региональные исследования
• Управление человеческими ресурсами
• Инженерное проектирование
• Математика
• Наука
• Астрономия
• Биохимия
• Биологические науки
• Химия
• Натуральные продукты
• Физика
• Зоология
• Пищевая наука
• Материаловедение
• Прикладные науки
• Науки о Земле
• Универсальная аптека и LifeScience
• Квантовая химия
• Аптека
• Натуральные продукты и научные исследования
• Челюстно-лицевая и челюстно-лицевая хирургия
• Вопросы маркетинга и торговой политики
• Глобальный обзор деловых и экономических исследований
• управление бизнесом, экономика и информационные технологии
Особенность IJSETR. ..
• Прямая ссылка на реферат
• Открытый доступ для всех исследователей
• Автор может искать статью по названию, названию или ключевым словам
• Прямая ссылка на реферат по каждой статье
• Статистика каждой статьи как нет. просмотрено и скачано
раза• Быстрый процесс публикации
• Предложение автору, если статья нуждается в доработке
• Послепубликационная работа, такая как индексация каждой статьи в другую базу данных.
• Журнал издается как онлайн, так и в печатной версии.
• Версия для печати отправляется автору в течение недели после онлайн-версии
• Надлежащий процесс экспертной оценки
• Журнал предоставляет электронные сертификаты с цифровой подписью всем авторам после публикации статьи
• Полная статистика каждого выпуска будет отображаться на одну и ту же дату выпуска выпуска
Система сигналов дорожного движенияна основе плотности с использованием микроконтроллера PIC
Система светофоров на основе плотности с использованием PIC-микроконтроллер
| Международный журнал компьютерных тенденций и технологий (IJCTT) | |
© 2017 IJCTT Journal | ||
Том-47 Номер-1 | ||
Год выпуска: 2017 | ||
Авторы: Сайба П. А., Афифа М.У., Аруна Т.С., Клинси Хосе, Радхика В.М. | ||
10.14445/22312803/ИЖКТТ-В47П109 |
Сайба П.А., Афифа М.У., Аруна Т.С., Клинси Хосе, Радхика В.М. «Система сигналов дорожного движения на основе плотности с использованием Микроконтроллер PIC “. Международный журнал компьютерных тенденций и технологий (IJCTT) V47 (1): 74-78, май 2017 г. ISSN: 2231-2803. www.ijcttjournal.org. Опубликовано Seventh Sense Research Group.
Реферат –
Целью нашего проекта является разработка
Система сигналов дорожного движения на основе плотности с использованием PIC
микроконтроллер.В настоящее время контроль за движением
усложняется из-за быстрого роста
количество автомобилей и из-за большого времени
задержки между сигналами светофора. Чтобы уменьшить
эта проблема, мы можем выбрать трафик на основе плотности
сигнальная система. В этой системе мы будем использовать ИК-датчики.
для измерения плотности движения. Мы должны смонтировать
по три ИК-датчика на каждую дорогу; расстояние между
эти датчики будут зависеть от характера трафика на
конкретный узел.Эти датчики улавливают
трафика на этой конкретной дороге. Все эти датчики
подключен к микроконтроллеру PIC. На основе
эти датчики, контроллер обнаруживает движение и
динамически настраивать временную задержку сигналов.
Ссылки
[1] Фозия Мехбуб, Мухаммад Аббас, Ричард Цзян,
Сомайя Аль-Маадид, Ахмед Буридан, Мухаммад Атиф
Тахир, Автоматическая оценка плотности транспортных средств на основе необработанных данных
Видео наблюдения SAI Computing Conference 2016
13-15 июля 2016 г. Лондон, Великобритания.
[2] Селил Озкурт, Автоматическая оценка плотности трафика и
Классификация транспортных средств для систем наблюдения за дорожным движением
Использование нейронных сетей, математических и вычислительных
Приложения, Том. 14, № 3, с. 187-196, 2009.
[3] М. Алюрюк, начальник отдела информационных технологий в Стамбуле. Компания по управлению дорожным движением (ISBAK), июньское интервью
2008.
[4] Чэнь Сяо-фэн, Ши Чжун-кэ и Чжао Кай, «Исследование
об интеллектуальном контроллере сигналов светофора, IEEE 2003 г.
[5] Р.Сен, А.Маурья, Б.Раман, Р.Мехта, Р.Калянараман, С.Ро
у, и П.Шарма. Kyunqueue: система сенсорной сети для
следить за дорожными очередями. В Sensys, ноябрь 2012 г.
[6] Р. Сен, П. Сириа и Б. Раман. Чувство звука дороги:
Мониторинг загруженности дорог на основе акустического зондирования в г.
развивающиеся регионы. В IEEE SECON, июнь 2011 г.
[7] Сарпонг Квадво Асаре, Роберт А. Сова, «Дизайн и
разработка светофора на микроконтроллере
Система управления с использованием методов обработки изображений: -A
прототип тематического исследования для Legon-Okponglo
Джанкшен, Ганский университет».IEEE 2012.
[8] Мохаммад Шахаб Уддин Айон Кумар Дас, штат Мэриленд Абу
Талеб, «Оценка плотности трафика в реальном времени на основе площади»
по обработке изображений для системы управления дорожными сигналами:
Взгляд Бангладеш», IEEE, 21–23 мая 2015 г. ,
.
[9] Билал Газаль, Халед ЭйХатиб, Халед Шахин, Мохамад
Херфан, «Интеллектуальная система управления светофором IEEE 2016.
».
[10] М. Ашвин Кумар, Г. Акшай Кумар, С.М. Шыни
―Усовершенствованная система управления светофором с использованием шлагбаума
Ворота и GSM, 2016 Международная конференция по
Вычисление мощности, информация об энергии и
Связь (ICCPEIC).
Ключевые слова
Сигнальная система, плотность движения
PIC-микроконтроллер, ИК-датчик.
Проект интеллектуального контроллера сигналов дорожного движения на основе микроконтроллера
[1] Чжэнчжоу Юань. Управление дорожным движением и контроль. Пекин.Народная дорожная пресса. (2007).
[2] Срок действия системы управления городскими светофорами. Пекин. Пресса китайских стандартов. (2004).
[3] ЛейЮань Чжан, АйБин Шу. Этап проектирования и практический метод сигнализации пересечения дорог. Выдающиеся материалы Ежегодного интеллектуального транспорта в Китае.159-168.
[4] Хайцзюнь Чжан, Сяо Гуан Ян, Ю Чжан. Сравнение двух методов проектирования фазы сигнала пересечения.Трафик и компьютер. (2003).
[5] Гуйпин Ван. Принцип и применение нового одночипового микрокомпьютера.Пекин. Пресса механической промышленности. (2009).
[6] Тяньсян Го. Учебник по языку С. Пекин. Пресса электронной промышленности.(2009).
Основная задача этого светофорного контроллера pr
Основная цель этого контроллера светофора — обеспечить сложный контроль и координацию, чтобы обеспечить максимально плавное и безопасное движение. В этом проекте используются светодиодные индикаторы для индикации, а микроконтроллер используется для автоматического изменения сигнала в заданном интервале времени.Светодиоды автоматически включаются и выключаются, переводя соответствующий вывод порта микроконтроллера в состояние «HIGH».
Работа контроллера светофора
На приведенной выше принципиальной схеме контроллера светофора семисегментный дисплей используется в качестве счетчика, а три светодиода используются для управления светофором. Микроконтроллер 8051 является мозгом всего этого проекта и используется для включения сигнала светофора на перекрестках на дороге. Эта принципиальная схема использует кварцевый генератор для генерации тактовых импульсов частоты.Светодиоды подключены к нулевому порту микроконтроллера и питаются от источника питания 5 В. Семисегментный индикатор подключен к выводам port2 микроконтроллера 8051 с конфигурацией общего анода.
Светодиоды автоматически включаются и выключаются при установке высокого уровня на соответствующих выводах порта микроконтроллера на основе микроконтроллера 8051 и его программирования, выполненного с помощью программного обеспечения KEIL. В определенный период времени горит только зеленый свет, а остальные остаются выключенными, и через некоторое время происходит переключение управления светофором с зеленого на красный путем последовательного переключения на свечение желтого светодиода.Этот процесс продолжается как цикл, и время смены светодиодов может отображаться с использованием семисегментного светодиодного индикатора в этом проекте
. Эта система управления светофором может быть дополнительно усовершенствована таким образом, чтобы управлять светофорами автоматически на основе на плотность движения на дорогах с помощью модулей ИК-датчиков с автоматическим отключением при отсутствии транспортных средств по обеим сторонам дороги, что приводит к энергопотреблению.
Система управления светофором на основе плотности
Прототип системы управления светофором изготовлен с использованием инфракрасных датчиков вместе с основными компонентами микроконтроллера и светодиодов, которые используются для управления светофорами в зависимости от плотности движения. Рассматриваемый перекресток представляет собой четырехсторонний перекресток с движением транспорта с каждой стороны только в одном направлении. Эта система управления светофором состоит из следующих трех основных компонентов:
Блок индикации: состоит из 3 светодиодов: зеленого, красного и оранжевого с каждой стороны перекрестка – всего на перекрестке размещено 12 светодиодов трех цветов.
Детекторный блок: Он состоит из комбинированного устройства фотодиода и ИК-светодиода на каждом перекрестке для обнаружения присутствия транспортных средств на основе изменения сопротивления.
упрощенных светофоров с использованием встроенного контроллера (MDE) 8051 Maxim DS89C4XX, авторы Ротими-Уильямс Белло, Даниэль Адебии Олубуммо :: SSRN
Азиатский журнал математических наук, 2019 г.
8 страниц Опубликовано: 12 апр 2021
Дата написания: 15 сентября 2019 г.
Аннотация
Светофоры — это сигнальные устройства, устанавливаемые на перекрестках дорог, пешеходных переходах и в других местах для управления транспортными потоками.Настоящий светофор чередует правильный путь участников дорожного движения, отображая огни стандартного цвета (красный, желтый/желтый и зеленый) с использованием универсального цветового кода (и точной последовательности, позволяющей понять людям, страдающим дальтонизмом). В типичной последовательности цветных огней (1) загорание зеленого света позволяет движению двигаться в указанном направлении; (2) загорание желтого/янтарного огня, означающего готовность двигаться в указанном направлении; и (3) загорание красного сигнала запрещает движение любого транспорта.Обычно красный свет содержит немного оранжевого в своем оттенке, а зеленый свет содержит немного синего, для пользы людей с красно-зеленой цветовой слепотой, а зеленый свет во многих областях на самом деле является синими линзами на желтом свете (которые вместе кажутся зелеными). Для комплекта тренажера MDE была написана программа для управления выводами микроконтроллера в заданной последовательности. К выходам микроконтроллера подключены зеленый и красный светодиоды (LED). Во-первых, программы на языке ассемблера были написаны так, чтобы включать только один светодиод, а затем выключать тот же светодиод.Далее программа улучшается, заставляя мигать светодиод, а затем считываются входные переключатели. Кнопка ходьбы и другая, указывающая на автомобиль на светофоре, включены. Поскольку переключатели являются механическими объектами, в программу также закладывается некоторое время устранения дребезга (запрограммированное таймером время простоя 50 мс). Свет управляется до тех пор, пока каждый светодиод с одним переключателем нажат, и светодиод включен, а когда переключатель не нажат, светодиод выключен. Затем светодиод будет мигать один раз в секунду, пока соответствующий переключатель находится в положении ON.Наконец, программа улучшается, когда добавляется подпрограмма, в которой контроллер светофора горит зеленым, а красный остается включенным, пока соответствующий переключатель включен. Если активировано более одного переключателя, то ВКЛ. для красного света. Светодиоды имитируют светофоры, а переключатели имитируют кнопку ходьбы и датчик присутствия автомобиля на перекрестке.
Ключевые слова: светофор, красный свет, зеленый свет, желтый свет, светодиоды, выключатель, микроконтроллер
Рекомендуемое цитирование: Рекомендуемая ссылка
Белло, Ротими-Уильямс и Олубуммо, Даниэль Адебии, Упрощенные светофоры с использованием встроенного контроллера 8051 Maxim DS89C4XX (MDE) (15 сентября 2019 г.).Азиатский журнал математических наук, 2019 г., доступно в SSRN: https://ssrn.com/abstract=3813018.Микроконтроллер 51 управляет цветными точками светофора в виде песочных часов
В этой статье описывается использование цветной точечной матрицы, а также использование решетки 51SCM, сделанной в виде песочных часов светофора, мы хотим сделать с решетчатыми курсами, которые студенты могут помочь.
Во-первых, результаты показывают
Во-вторых, использование цветной матрицы
Есть цветная матричная 32 контакта, вид сзади, чтобы объяснить здесь:
Если смотреть сзади на решетчатую модель (возможность видеть строку цифр и английский язык), верхний ряд слева направо
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
Верхний элемент управления строкой ввода Column:Low зеленый Верхний элемент управления строкой ввода
Нижний ряд слева направо
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32
Столбец: Низкий светится красным Колонка: Низкий свет горит синим
Рекомендуется Вход уровня, подключенный к подтягивающему резистору IO и контроль различных цветов IO Различные лампы вывода низкого освещения порта, три цветовых тона, управляя разными цветами, так называемая цветовая точка.
Задняя часть печатной платы окрашена самостоятельно51Минимальная система чипа, подключенная к линейному тесту51Минимальная система может, я используюP0Как входной порт высокого уровняP1Управление красным светом,P2Управление зеленым светом, поэтомуP0Сварка ряда подтягивающих резисторов, желтый светофор красный плюс зеленый фальшивит, к синему он бесполезен.
три. Описание функции
Красные и желтые огни с требуемой точкой зеленого и желтого цвета окрашиваются с помощью динамического сканирования, затем точка зеленого света загорается красным, где функция Adjustmentdelay() может изменить цвет, как указано выше yellowdelay(1)Changedelay(20), Может быть окрашен в зеленый и желтый цвета, представляя зеленый свет на относительно долгое время, настроить другие цвета, теоретически тоже иметь возможность воспитывать 7 цветов.
IV Примечания
1. нельзя использоватьVCCПитание напрямую к решетке, легко перегоретьLEDlight
2.