Ви не увійшли.
Сторінки 1
актуально
Есть атмега8, без кварца, работает на частоте 8 мГц и прошивается через USBasp в среде Arduino IDE. Нужен код, который позволил бы получить на аналоговом выходе частоту 30 кГц. Подозреваю, что нужно использование 8-битного таймера.
На 16-битном получается получить 15 кГц и строчки кода такие:
TCCR1B=TCCR1B&0b11111000|0x01;
analogWrite(9,95);
Нету ни времени ни желания разбираться с таймерами прямо сейчас, поэтому за пару строчек кода готов заплатить 50 грн. на карту любого банка после проверки работоспособности кода.
заказывал на itead.cc
то есть 2 переменные, текущее время и последнее время, после каждого срабатывания перезаписываем в переменные?
Всем привет. Сколхозил я себе а-ля модуль для ардуино на лампах ИН-12 и ИН-3. В результате все заработало как нужно. Запитал лампы и ардуино от преобразователя на мс34063. Код был собран с горем пополам - то библиотека не подходила, то еще что-то. Короче, запустил,часы пошли. Но остался не совсем доволен, так как хотелось бы, что бы в коде еще отрабатывал перебор всех цифр каждого индикатора во избежание отравления катодов. Не хватает скилов, что бы сообразить, за счет чего это лучше сделать, то ли прерыванием, то ли как-то по другому. И как сделать прерывание по времени? Например, каждые 3 минуты запускать подпрограмму?
все оказалось гораздо прозаичней - проблема была в питании. Уно был подключен к USB и еще дополнительно подключил крону - без неё шил вообще не работает. Так вот, проблема в том, что батарейка подсела и напряжение в ней упало до 7 вольт. После того как подключил блок питания 9 В все заработало как часы независимо от того, какие пины использовать. С 0 и 1 тоже нормально работает. Вообщем, GSM Shield очень требовательное к питанию устройство
всем привет. не получается подключить gsm шилд на базе SIM900. Подключаю к Funduino UNO. Подключил плату "бутербродом". Перемычки на плате установил : D0-GTX и D1-GRX.
Далее загрузил скетч для тестирования:
#include <SoftwareSerial.h>
SoftwareSerial GPRS(0, 1);
unsigned char buffer[64]; // buffer array for data recieve over serial port
int count=0; // counter for buffer array
void setup()
{
GPRS.begin(19200); // the GPRS baud rate
Serial.begin(19200); // the Serial port of Arduino baud rate.
}
void loop()
{
if (GPRS.available()) // if date is comming from softwareserial port ==> data is comming from gprs shield
{
while(GPRS.available()) // reading data into char array
{
buffer[count++]=GPRS.read(); // writing data into array
if(count == 64)break;
}
Serial.write(buffer,count); // if no data transmission ends, write buffer to hardware serial port
clearBufferArray(); // call clearBufferArray function to clear the storaged data from the array
count = 0; // set counter of while loop to zero
}
if (Serial.available()) // if data is available on hardwareserial port ==> data is comming from PC or notebook
GPRS.write(Serial.read()); // write it to the GPRS shield
}
void clearBufferArray() // function to clear buffer array
{
for (int i=0; i<count;i++)
}
Далее в терминале отправляю команду, например AT или AT+IPR=19200. Строка появляется, но плата не отвечает. Подскажите, где искать ошибку.
Сторінки 1