RobotC 26.10.2024
Всем привет!
У меня есть большой китайский набор электроники, а точнее клон итальянского Arduino UNO. Сам набор Arduino UNO у меня тоже есть, но там мало электродеталий, и он воляется где-то в подвале. Этот набор тоже лежал в подвале, но недавно я его принёс домой. В колледже мы программировали робота Lego на американской программе RobotC.
Так выглядет китайский набор электроники якобы совместимый с итальянским Arduino, и там очень много радиодеталей:
После установки RobotC появятся иконки на рабочем столе:
А вот так выглядет американская среда разработки RobotC:
В настройках нужно выбрать Arduino UNO:
А вот новый файл NewFile_Template001.c, можно начать программировать:
Продолжим, у всех одноплатников есть на плате лампочка, спомощью которой можно поморгать. Лампочка у Arduno UNO вроде бы находится на 13-м pin-е. см. https://otvet.mail.ru/question/240423198
1. Короче нужно в меню Robot выбрать Motors and Sensors Setup см.:
2. Возможно в 13-м порту/пине нужно выбрать LED to Vcc см.:
3. В результате получится что-то типа такого, т.е. после настройки сгенерируется такой код:
#pragma config(CircuitBoardType, typeCktBoardUNO) #pragma config(Sensor, dgtl13, , sensorLEDtoVCC) //*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//
4. А чтобы записать в порт, нужно так программировать:
SensorValue[dgtl13] = число; // Ну пусть будет 1 см.: SensorValue[dgtl13] = 1;
5. Вот полный код, но я его ещё не тестировал:
#pragma config(CircuitBoardType, typeCktBoardUNO) #pragma config(Sensor, dgtl13, , sensorLEDtoVCC) //*!!Code automatically generated by 'ROBOTC' configuration wizard !!*// task main() { SensorValue[dgtl13] = 1; }
В Arduino IDE вроде бы вместо #pragma config(Sensor, dgtl13, , sensorLEDtoVCC) нужно писать void setup() { pinMode(LED_BUILTIN, OUTPUT); }, а вместо task main() { }, нужно писать void loop() { }
Так-же можно программировать китайца спомощью библиотек Johnny-Five на ЯП JavaScript см. https://johnny-five.io/, вот речь об Arduino Uno см. https://johnny-five.io/platform-support/#arduino-uno.
Вот небольшой пример на JavaScript, чтобы помигать лампой:
var five = require("johnny-five"); var board = new five.Board(); board.on("ready", function() { var led = new five.Led(13); led.blink(500); });
Короче продолжим болтавню. Недавно фирма Eitech выпустила конструктор. Спомощью этого конструктора можно собрать модель машины, и управлять её спомощью App или самому программировать, вот статья см. https://www-faz-net.translate.goog/aktuell/technik-motor/t.... Единственное нужно купить отдельно ещё аккумулятор. Но меня жаба мучает, и место нет в квартире. Программист писал в этом форуме см. https://foren.germany.ru/haus/f/26080888.html#Post26080888.
Ага, Eitech - классная штука :) Только парню надо чтобы двигалось, а это уже надо докупать шестиренки, моторчики итд. Да и fischertechnik мне лично больше нравится :) Но принцип тот же - если моторчики, шестеренки итд не в наборе, то их можно (и нужно) купить отдельно. Но и цены на большие наборы опять таки от 80Евро.
Короче я думаю а может нужно в мой вот такой конструктор интегрировать одноплатник Arduino Uno:
Одноплатник клон Arduino UNO, Elegoo UNO:
У одноплатника есть отверствия, и я наверное смогу прикрутить плату к модели собраной из конструктора, отверствия я пометил красным кружочком: