Тема: Ардуино для чайников!

Содержание

Новичок Регистрация 19.12.2010 Возраст 51 Сообщений 4 Вес репутации 0

Ардуино для чайников!

Администратор Регистрация 08.06.2007 Возраст 51 Сообщений 13,352 Вес репутации 10

Re: Ардуино для чайников!

Местный Регистрация 10.11.2010 Сообщений 144 Вес репутации 164

Re: Ардуино для чайников!

Сообщение от eyler

Новичок Регистрация 19.12.2010 Возраст 51 Сообщений 4 Вес репутации 0

Re: Ардуино для чайников!

Новичок Регистрация 28.09.2013 Сообщений 16 Вес репутации 104

Re: Ардуино для чайников!

Новичок Регистрация 06.10.2014 Сообщений 7 Вес репутации 89

Re: Ардуино для чайников!

Здравствуйте.
Очень понравились Ваши советы. Следуя им я написал скетчь и у меня появились вопросы.Это прибор который отслеживает качество покрытия проволоки.Три датчика информируют о браке и посылают сигнал о нём.Счётчик считает кол-во оборотов колеса и переводит их в метры. Вся информация выводиться на экран. Проект сделан на Arduino Nano V 4.0. Вот скетчь .

boolean Impuls , OldImpuls ;
boolean Im , OldIm ;
boolean Imp , OldImp ;
boolean Impu , OldImpu ;
boolean Impul , OldImpul ;
int a = 0 ;
byte inprobelPin = 2 ;
byte innarostPin = 3 ;
byte insbrosPin = 4 ;
byte inshetPin = 5 ;
byte inkoneshPin = 6 ;
byte ledPin = 7 ;
byte lampPin = 8 ;
byte sirenaPin = 9 ;

void setup () // начальные установки
<

Serial . begin ( 9600 ); // установка скорости работы серийного порта на 9600 бит/сек
pinMode ( inprobelPin , INPUT ); // установка 2-его порта на ввод данных пробел
pinMode ( innarostPin , INPUT ); // установка 3-его порта на ввод данных нарост
pinMode ( insbrosPin , INPUT ); // установка 4-ого порта на ввод данных пробел 2
pinMode ( inshetPin , INPUT ); // установка 5-ого порта на ввод данных счётчик
pinMode ( inkoneshPin , INPUT ); // установка 6-ого порта на ввод данных конец счёта
pinMode ( ledPin , OUTPUT ); // установка 7-ого порта на вывод данных лампа 1
pinMode ( lampPin , OUTPUT ); // установка 8-ого порта на вывод данных лампа 2
pinMode ( sirenaPin , OUTPUT ); // установка 9-ого порта на вывод данных сирена

// Программа проверяет порты на наличие на нём сигнала и посылает ответ в
// виде текстового сообщения на последовательный порт компьютера
void loop () // тело программы
<
OldImp = Imp ;
if ( digitalRead ( inprobelPin ) == HIGH ) // условие на опрос 2го порта
<
Imp = true ;
digitalWrite ( ledPin , HIGH ); //включился лампа 1
digitalWrite ( sirenaPin , HIGH ); //включился сирена
>
else
<
Imp = false ;
digitalWrite ( ledPin , LOW ); //выключился лампа 1
digitalWrite ( sirenaPin , LOW ); //выключился сирена
>
if ( Imp ! OldImp )
<

Serial . println ( v ()); // отправка сообщения в виде цифры равной метражу на COM-порт
Serial . println ( ‘P’ ); // отправка сообщения в виде буквы «probel» на COM-порт

>
OldImpu = Impu ;
if ( digitalRead ( innarostPin ) == HIGH ) // условие на опрос 3 го порта
<
Impu = true ;
digitalWrite ( lampPin , HIGH ); //включился лампа 2
digitalWrite ( sirenaPin , HIGH ); //включился сирена
>
else
<
Impu = false ;
digitalWrite ( lampPin , LOW ); //выключился лампа 2
digitalWrite ( sirenaPin , LOW ); //выключился сирена
>
if ( Impu ! OldImpu )
<
Serial . println ( v ()); //отправка сообщения в виде цифры равной метражу на COM-порт
Serial . println ( ‘N’ ); // отправка сообщения в виде буквы «narost» на COM-порт
>
OldImpul = Impul ;
OldIm = Im ;
if ( digitalRead ( insbrosPin ) == HIGH ) // условие на опрос 4го порта
<
Im = true ;
digitalWrite ( ledPin , HIGH ); //включился лампа 1
digitalWrite ( sirenaPin , HIGH ); //включился сирена
>
else
<
Im = false ;
digitalWrite ( ledPin , LOW ); //выключился лампа 1
digitalWrite ( sirenaPin , LOW ); //выключился сирена
>
if ( Im ! OldIm )
<
Serial . println ( v ()); // отправка сообщения в виде цифры равной метражу на COM-порт
Serial . println ( ‘P’ ); // отправка сообщения в виде буквы «probel» на COM-порт;
>
OldImpuls = Impuls ;
if ( digitalRead ( inshetPin ) == HIGH ) // условие на опрос 5го порта
<
Impuls = true ;
>
else
<
Impuls = false ;
>
if ( Impuls ! OldImpuls )
<
a ++;
>

if ( digitalRead ( inkoneshPin ) == HIGH ) // условие на опрос 6 го порта
<
Impul = true ;
>
else
<
Impul = false ;
>
if ( Impul ! OldImpul )
<
Serial . println ( v ()); // отправка сообщения в виде цифры равной метражу на COM-порт
Serial . println ( ‘E’ ); // отправка сообщения в виде буквы «end» на COM-порт
>
>

float v ()
<
float s ;
s = a ;
s *= 1.2 ;
return s ;
>


Источник: www.compcar.ru