1. Сигнал +12 заводим след образом на рис.1.1 и 1.2 два варианта. в обоих случаях нужно подключить внутренний подтягивающий резистор, по простому установить командой digitalWrite (10, HIGH); и на изменение уровня с HIGH на LOW уже назначать действие см пример кода.
Измерить бортовое Напряжение аналоговым портом, допустим А0 см на рис.1.3 данный делитель даст на выходе 4.2в по формуле U out = U in * R1 / (R1+R2) 25v * 1k/(5k+1k) ссылка на вольтметр на Arduino только принятое значение не отсылать компу как в примере по ссылке, а записывать в переменную и с полученными данными уже работать. полное описание всех возможностей и програмирования Arduino
2. любой ISO конвертер или оптопарой как на рис.1.4 читать сигнал либо Uart (Serial.read) , но в это время не будет возможности прочитать сигнал и отправить для просмотра в комп, это возможно только на Arduino Mega так как она имеет несколько Uart портов. библиотеки с програмными портами не советую, они либо работают не коректно, либо занимают таймер который в постедствии использует другая функция и начинаются траблы, в таких случаях нужно точно знать какой библиотекой пользуещься и как она работает. Можно по внешним прирываниям о них подробно написанно по ссылке выше. но я бы использовал единственный Uart без отправки в комп.
3. Думаю все понятно.
4. какой датчик? свой?
5. Все возможно, но нужно мутить делитель и калибровать програмно. подключая к аналоговому порту.
6. я бы взял тачскрин. он использует меньше выходов какую модель дисплея использовать планируешь? нужно конкретно знать что бы посчитать что после ее подключения останется.
7. что за генератор прямоугольников, для чего?
8. с вентилятором то же самое что и с сигналом нейтралки.
9. герконы заводим так же. не понял с герконами, как это работает? герконов 2 а скоростей 5
10. можно использоать 2 аналоговых выхода для управления релюшками. что бы установить аналоговый выход как дигитальный нужно учесть сколько дигитальных выходов на плате. например UNO имеет 14 (0-13). значит что бы установить А0 как дигитальный выхот нужно прописать pinMode(14, OUTPUT); соответственно А1, А2, А3... будут 15, 16, 17...
11. от светодиода советую отказаться, либо повесить его если останется свободный выход.
Сэкономить выхода можно путем завода лог сигналов в аналоговый порт средством резистивного делителя, но здесь уже внешную схемку мутить надо. рис.1.5
предварительный деагноз: если хорошо аганизовать то можно на Uno все повесить, на Leanardo полюбому все встанет.
сейчас немного туго со временем, как освобожусь накидаю примерчик скеча для Arduino.




 
			
			 
					
						 Re: Бортовой компьютер мотоцикла
 Re: Бортовой компьютер мотоцикла
				 
					
					
					
						 Ответить с цитированием
  Ответить с цитированием