Begemot911

Begemot911

на Пикабу
поставил 10789 плюсов и 3047 минусов
отредактировал 24 поста
проголосовал за 34 редактирования
31К рейтинг 46 подписчиков 10К комментариев 60 постов 5 в горячем
1 награда
5 лет на Пикабу
3

Игрушки своими руками

Дракон печатался одним куском, три крупные детали: крылья, туловище. Сегменты неразъемные.
Окупится ли печать на заказ? Только с хорошим принтером, в который вложишься при покупке. То одна деталь отойдет от стола, то заело нить пластика и он напечатал только половину.

Игрушки своими руками 3D принтер, Качество печати 3D принтера, Дракон, Игрушки, Длиннопост
Игрушки своими руками 3D принтер, Качество печати 3D принтера, Дракон, Игрушки, Длиннопост
Игрушки своими руками 3D принтер, Качество печати 3D принтера, Дракон, Игрушки, Длиннопост
Игрушки своими руками 3D принтер, Качество печати 3D принтера, Дракон, Игрушки, Длиннопост
Показать полностью 3
53

Продолжение поста «Платформа на радиоуправлении» 

В продолжении развития самодельного ровера на радиоуправлении.

Изменена конструкция платформы, теперь клиренс выше и не застревает в глубоком снегу, плюс резиновые накладки на траки для лучшего сцепления. Ну и добавил питания, теперь 3 батареи 18650 и жрет три ампера, что позволяет стартовать бодро с места.

Корпус печатался частями и склеивался космофеном (опасно, пары ядовиты, а от пальцев не очищайте лезвием).

Радио модуль Nrf24L01 хорошо себя показал по стабильности передачи и дальности связи.

Продолжение поста «Платформа на радиоуправлении» Arduino, Самоделки, Радиоуправляемые модели, 3D принтер, 3D печать, Видео, Ответ на пост
Показать полностью 1 1
26

Платформа на радиоуправлении

Имея в распоряжении 3Д принтер и желание прокрастинировать собрал вот такую платформу. Исходная модель www.thingiverse.com/thing:1906831 . Либо из-за не соответствия размеров, приведших к изменению деталей гусеницы, колесо плохо входило в зацепление и заедало, егоп ришлось модифицировать, сделав зубчики немного меньше и более скругленными.
Управление по радиоканалу с микросхемой nrf24l01+ , управление джойстиком. Недостатки - низкая посадка, застревал, траки слишком гладкие, снег не зацеплялся и в итоге буксовал. Источник питания 2 последовательно включенные батареи 18650, драйвер LN298, 4 DC мотора.

Вес примерно 500 грамм, ушло много на траки из АБС пластика.

Платформа на радиоуправлении Arduino, Самоделки, Радиоуправляемые модели, 3D принтер, 3D печать, Видео
Показать полностью 1
-6

Новогодняя игрушка

Напечатано на 3Д принтере, покрыто белой акриловой грунтовкой и раскрашено масляными красками кривыми руками художника от слова "худо"

Новогодняя игрушка 3D принтер, Игрушки, Кривые руки, Длиннопост
Новогодняя игрушка 3D принтер, Игрушки, Кривые руки, Длиннопост
Новогодняя игрушка 3D принтер, Игрушки, Кривые руки, Длиннопост

И наконец, как это получается у людей с прямыми руками
https://www.thingiverse.com/thing:164804

Новогодняя игрушка 3D принтер, Игрушки, Кривые руки, Длиннопост
Показать полностью 2
-5

Радар на ультразвуковом датчике

Информации о том, как подключить к Ардуино ультразвуковой датчик hc-sr04, как он работает навалом, даже как радар собрать. Чем отличается данный пост? Подключен цветной IPS  экран 240 х 240 на контроллере ST7789 и выводится информация в виде графика в полярных координатах.

Радар на ультразвуковом датчике Arduino, Электроника, Программирование, Гифка, Длиннопост
Радар на ультразвуковом датчике Arduino, Электроника, Программирование, Гифка, Длиннопост

Проблема данного дисплея в том, что он подключается по SPI протоколу, но на плате отсутствует вывод CS chip select.

Радар на ультразвуковом датчике Arduino, Электроника, Программирование, Гифка, Длиннопост

Кто-то припаивает дополнительные проводки, но благо нашлись люди, написавшие библиотеку для данного случая https://github.com/ananevilya/Arduino-ST7789-Library

и нам понадобится ещё для работы с дисплеем https://github.com/adafruit/Adafruit-GFX-Library


Библиотека для серво двигателя Servo.h но она есть при установке программы Arduino IDE.

Из железа: Arduino UNO, серво двигатель, УЗ датчик hc-sr04, дисплей ST7789. УЗ датчик крепится к серводвигателю и получаем аналог антенны. Свой радар печатал на 3Д принтере.


Алгоритм работы программы:

1. Подключить дисплей, сбросить экран.

2. Установить  положение вала серводвигателя в начальное положение i=0

3. Провести измерение расстояния до объекта distance_sm .

4. Отобразить на экране расстояние в виде числа, построить линию с длинной пропорциональной расстоянию до объекта и углом, соответствующим углу вала сервы.

5. Повернуть "антенну" на шаг в 1 градус.

6. Повторить п.3-п.5 при изменении угла поворота от 0 до 180 градусов.

7. Повторить п.3-п.5 от 180 до 0 градусов.

Повтор организуется циклом при увеличении счетчика


Теперь про отрисовку: экран обладает своим контроллером, мы не пишем программу для непосредственной отрисовки пикселей на уровне железа, нам достаточно знать протокол передачи данных и использовать команды, используемые экраном, в библиотеке всё реализовано на естественном языке. Когда мы передаем в экран информацию, которую хотим отобразить, она там так и остается, пока ей на замену не придет новая. И вот тут интересный подводный камень: если мы выведем число "42", а затем "57", то пиксели второго числа наложатся на пиксели первого и будет каша. Можно очистить весь экран, сбросить, и отрисовать новый кадр изображения заново, но это займет кучу машинного времени и изображение будет мигать при смене информации. Делаем по другому: в начале выводим число "42" зеленого цвета, а перед отрисовкой "57" мы рисуем "42" цветом фона, например черным, а потом рисуем уже новое число. Также надо делать и с линиями.


Приведем основные команды, имеющиеся в библиотеке для работы с экраном:


tft.init(240, 240); //инициализация экрана, задаем его размер

tft.fillScreen(BLACK); //закрасить черным


tft.setCursor(0,0); //установить курсор

tft.setTextColor(GREEN); //цвет текста

tft.setTextSize(0); //размер от 1 до 5

tft.print("Angle:"); //вывод текста

tft.println("Angle:"); //вывод текста, новый текст будет с новой строки

tft.drawLine(x1, y1,x2, y2, color); //линия

tft.drawRect(x1, y1 ,x2, y2, color); //прямоугольник

tft.fillRect(x1, y1 ,x2, y2, color); //прямоугольник закрашенный

tft.drawCircle(x, y, radius, color); //круг

tft.fillCircle(x, y, radius, color); //круг заполненный


Цвета задаются в шестнадцетиричном код или десятичном от 0x0000 до 0xFFFF, либо по  соответствующих в библиотеке именам: BLACK, BLUE, RED, GREEN, MAGENTA, YELLOW, WHITE.


Теперь небольшой пример программы для дисплея


#include <Adafruit_GFX.h> // библиотека для графики
#include <Arduino_ST7789.h> // бибилотека для ST7789 (с или без CS пина)
#include <SPI.h>
#define TFT_DC 8
#define TFT_RST 9
#define TFT_MOSI 11 // (sda вывод на экране)
#define TFT_SCLK 13 // (scl вывод на экране)
Arduino_ST7789 tft = Arduino_ST7789(TFT_DC, TFT_RST); //для дисплеев без CS
void setup(void) {
Serial.begin(9600);
Serial.print("Hello! ST7789 TFT Test");
tft.init(240, 240); // инициализация чипа ST7789, размер экрана 240x240
Serial.println("Initialized");
// large block of text
tft.fillScreen(BLACK);
tft.setCursor(0,0);
tft.setTextColor(GREEN);
tft.setTextSize(3);
tft.println("TEST");
delay(1000);
}
void loop() {
tft.fillScreen(BLACK);
for (int x=0; x < tft.width(); x+=6) {
tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, random(64000));
delay(100);
}
}

Итоговый код программы, используемой в проекте: https://www.dropbox.com/s/t1hu976zxwk6te7/radar_ekran.rar?dl...


Показать полностью 1
-16

Паркуюсь как могу

На фото запечатлен автомобиль, припаркованный на пешеходном переходе, загородивший часть прохода. Но всякое бывает, может места не было, а нужно срочно остановиться!?

Паркуюсь как могу Неправильная парковка, Мастер парковки, Водитель, Нарушение ПДД

А нет, все нормально, свободного места навалом на пол километра вперёд .  И кстати,  рядом есть придомовая парковка со свободными местами.

Паркуюсь как могу Неправильная парковка, Мастер парковки, Водитель, Нарушение ПДД
Отличная работа, все прочитано!