Подборка интересного видео на тему DIY электроники и Arduino №6
Arduino столик с Тетрисом, Змейкой и "Марио"
Робот "SPARKI"
Радар на Ардуино
"Туннельные" часы на ардуино
13 летний японец и его "смарт очки" на ардуино
Arduino столик с Тетрисом, Змейкой и "Марио"
Робот "SPARKI"
Радар на Ардуино
"Туннельные" часы на ардуино
13 летний японец и его "смарт очки" на ардуино
Название проекта: Drogerdy - танк, управляемый Raspberry Pi
Платформа: Raspberry Pi
Описание:
Небольшой танк, распечатанный на 3D-принтере. Простой, но на многое способный. Модель позволяет разместить плату Raspberry Pi, чип MCP3008 ADC, ряд аналоговых датчиков, включая инфракрасный дальномер Sharp 2Y0A02.
Использованные компоненты: Raspberry Pi, чип MCP3008, инфракрасный дальномер Sharp 2Y0A02, двигатели
Страничка проекта:
Перевод.
Итак, когда-то после средней школы я хотел сделать одну из них … но я только сейчас имею достаточно знаний и поддержку, чтобы сделать это, … с открытым исходным кодом GameBoy :) На самом деле, это немного меньше, чем GameBoy, но это 1000% круче (на мой взгляд), потому что он использует Arduino, как «ядро», и несколько модулей и шилды, которые уже существуют.
Я использовал:
Arduino Uno Rev3 ATmega328
Input Shield
TouchShield
Вот несколько других фотографий о Gamepack (это как Gadget Pack, за исключением свободного места, я поместил Input Shield) … и мне очень хочеться, чтобы он был «hand model», как в Zoolander — ха:
Вот исходный код, который работает на Arduino:
#include
#define RXPIN 3
#define TXPIN 2
AFSoftSerial mySerial = AFSoftSerial(RXPIN, TXPIN);
unsigned char x=0;
void setup()
{
mySerial.begin(9600);
/* Sync up by waiting for character */
while(mySerial.read() != ‘U’);
}
void loop()
{
/* The first analog pin sent */
x=0;
/* send 6 Analog Pin values */
while (x <>
{
serial_sendAnalog(x);
x++;
}
delay(10);
x=0;
while(x<>
{
serial_sendDigital(x);
x++;
}
delay(100);
}
void serial_sendDigital(unsigned char digitalPin)
{
if ( (digitalPin <> 13) )
return;
mySerial.print((unsigned char)digitalRead(digitalPin));
delay(2);
}
void serial_sendAnalog(unsigned char analogPin)
{
unsigned char lowByte, highByte;
unsigned int val;
/* Pin number range check */
if (analogPin > 6)
return;
/* Get the value */
val = analogRead(analogPin);
/* Separate the value into 2 bytes */
lowByte = (unsigned char)val;
highByte = (unsigned char)(val >> 8);
/* Send the high byte */
mySerial.print(highByte);
/* Write delay */
delay(1);
/* Send the low byte */
mySerial.print(lowByte);
/* Write delay */
delay(1);
}
И вот исходный код, который идет на TouchShield:
COLOR green = { 0, 255, 0 };
COLOR blue = {0,0,255};
COLOR yellow = {255,255,0};
COLOR black = {0,0,0};
COLOR white = {255,255,255};
COLOR grey = {0x77,0x77,0x77};
COLOR red = {255,0,0};
POINT my_point;
unsigned int analogValues[6];
unsigned char digitalValues[10];
LCD_RECT digitalRect = { 118, 15, 127, 115 };
LCD_RECT analogRect = {0, 60, 32, 121 };
unsigned char x;
void setup()
{
Serial.begin(9600);
delay(3000);
/* The sync character */
Serial.print(‘U’);
}
unsigned int oldx, oldy, newx, newy;
int erasemode = 2;
int pencolor = 1;
void loop()
{
//digitalValues[0] — digital pin 4, button A MODEA
//digitalValues[1] — digital pin 5, button B MODEA
//digitalValues[4] — digital pin 8, button A MODEB
//digitalValues[5] — digital pin 9, button B MODEB
//analogValues[5] — joystick y, MODEA
//analogValues[4] — joystick x, MODEA
//analogValues[3] — joystick y, MODEB
//analogValues[2] — joystick x, MODEB
//Read analog values
analogValues[0] = (Serial.read() <
analogValues[1] = (Serial.read() <
analogValues[2] = (Serial.read() <
analogValues[3] = (Serial.read() <
analogValues[4] = (Serial.read() <
analogValues[5] = (Serial.read() <
//Read digital values:
//Read digital values
digitalValues[0] = Serial.read();
digitalValues[1] = Serial.read();
digitalValues[2] = Serial.read();
digitalValues[3] = Serial.read();
digitalValues[4] = Serial.read();
digitalValues[5] = Serial.read();
digitalValues[6] = Serial.read();
digitalValues[7] = Serial.read();
digitalValues[8] = Serial.read();
digitalValues[9] = Serial.read();
if (touch_get_cursor(&my_point)) {
lcd_clearScreen( black);
}
newx=3+(1023-analogValues[5])*.12;
newy=3+(1023-analogValues[4])*.12;
if (erasemode && ((oldx != newx) (oldy != newy))) {
lcd_circle(oldx,oldy,5, black, black);
}
if (pencolor == 1) {
lcd_circle(newx,newy,5, blue, blue);
} else if (pencolor == 2) {
lcd_circle(newx,newy,5, green, green);
} else if (pencolor == 3) {
lcd_circle(newx,newy,5, red, red);
} else {
lcd_circle(newx,newy,5, white, white);
}
if (!digitalValues[0]) {
erasemode = !erasemode;
}
if (!digitalValues[1]) {
pencolor++;
if (pencolor == 5) {
pencolor = 1;
}
}
oldx=newx;
oldy=newy;
}
Также хочю заметить что можно написать свою игру для него, но она будет простой в плане графики
Константин Навалов:
Не так давно задумался о хорошем power bank, чтобы был не китайский в*сер, а достойный источник питания, применимый в походных и экстремальных условиях. Габаритами решил пренебречь (в разумных, естественно, пределах). Построить устройство было решено с минимальным применением паяльника, дабы сохранять фабричный вид и не заморачиваться с корпусом, хоть я и люблю паять "с нуля".
На всем известном сайте поднебесной был найден бокс на 8 элементов 18650 по приемлемой цене и с неплохими характеристиками: 2 порта на выход, 2.1 и 1 ампер ( порты развязаны), 2 порта на вход ( параллель) + бонусом 2 светодиода 5 мм средней яркости и КПД на уровне 87-93 процентов ( по описанию у продавца). Бокс оказался вполне приличным, на надежных, правда одноразовых защелках и обошелся в 367 р. Вопрос стоял в аккумуляторах: заказывать с алиэкспресс - большая вероятность наткнуться на подделки, с других сайтов - или цена космическая, или по платежам обманывают.
Все решилось внезапно, когда на форуме Фонаревки ( известный сайт о фонарях и аккумуляторах) был найден обзор на самые популярные и емкие элементы 18650. Решил не мелочиться и заказать самые емкие NCR18650B производства Panasonic, Япония. В обзоре все элементы были протестированы на заряд/разряд и измерена их емкость, к каждому виду элементов прикреплялись ссылки на магазины.
Так я попал на сайт Гербеста, где и заказал все 8 элементов скопом по 536 р за 2 шт ( на алиэкспресс ценника ниже 760 за пару мне найти не удалось). Итак, месяц ожидания и в один день пришли и корпус и батареи. Проверил заряд - все как по линейке: по 3,64 на каждой банке. Ну а дальше никаких сложностей не возникало: установил элементы на законные места, защелкнул крышку и вперед! Первая зарядка устройства длилась больше суток ( с 34 до 100%), далее решил пробовать в деле.
Заряжал iPhone 4S емкостью 1430 mah с живой батареей через оригинальный провод в режиме автономности (чтобы чистоту эксперимента сохранить). Итог - хватило на 14,5 зарядок с уровня 1-2% до 98-100%. Результат считаю неплохим, т.к. потери были и в преобразователе power bank'a, и в контроллере телефона. Ток зарядки держался на уровне 0,8 А (просто телефон больше не брал, вообще токи с портов можно получить номинальные), напряжение 4,85 В.
Расчетная емкость составила (по даташиту элементов): минимальная - 24800 mah, максимальная - 27200 mah.
Реальная емкость с учетом потерь - 21025 mah. КПД на уровне 85%, что вполне приемлемо.
Недостатками такого устройства можно считать только неполный разряд элементов (до 2,96 В вместо 2,75 допустимых), все остальное вроде в порядке. Стоимость реализации устройства - около 2400 р.
Ребята всем привет а кто нить из вас хотел бы на простой сирийный автомобиль установить ламбо двери?
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.